xSMRPS00300_교육대상자등록.xrw 44 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902
  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. <list1>
  11. <educlist/>
  12. <educlist1/>
  13. </list1>
  14. <list2>
  15. <eductrgtmanlist/>
  16. </list2>
  17. <list3>
  18. <emplist/>
  19. </list3>
  20. <list4>
  21. <excellist/>
  22. </list4>
  23. </main>
  24. <send>
  25. <retrparams1>
  26. <instcd/>
  27. <appyy/>
  28. <mainbdunit/>
  29. <educflag/>
  30. </retrparams1>
  31. <retrparams2>
  32. <instcd/>
  33. <educdg/>
  34. <appyy/>
  35. <educcd/>
  36. </retrparams2>
  37. <retrparams3>
  38. <instcd/>
  39. <dutunitcd/>
  40. <dutunitnm/>
  41. <prfshipflag/>
  42. <holyordflag/>
  43. <grupjoblncd/>
  44. <njobgradcd/>
  45. <jobkindcd/>
  46. <jobrespcd/>
  47. <frentcodd/>
  48. <toentcodd/>
  49. <frcorddd/>
  50. <tocorddd/>
  51. <educinstcd/>
  52. <educdg/>
  53. <appyy/>
  54. <educcd/>
  55. <anual/>
  56. <gender/>
  57. </retrparams3>
  58. </send>
  59. <init>
  60. <tempnode>
  61. <appyy/>
  62. <value/>
  63. <label>
  64. <전체/>
  65. </label>
  66. </tempnode>
  67. <rowcount>0</rowcount>
  68. <item>
  69. <value/>
  70. <label>전체</label>
  71. </item>
  72. <item>
  73. <value>M</value>
  74. <label>남</label>
  75. </item>
  76. <item>
  77. <value>F</value>
  78. <label>여</label>
  79. </item>
  80. <itemset>
  81. <set1>
  82. <value/>
  83. <label>전체</label>
  84. </set1>
  85. </itemset>
  86. </init>
  87. <temp/>
  88. </root>
  89. </instance>
  90. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  91. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  92. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  93. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  94. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  95. <script type="javascript" src="../../../mis/educationmngtweb/js/RPS001.js"/>
  96. <script type="javascript" ev:event="xforms-ready">
  97. <![CDATA[
  98. fInit();
  99. ]]>
  100. </script>
  101. <script type="javascript" ev:event="xforms-model-construct-done">
  102. <![CDATA[
  103. grd_emplist.fixedcellcheckbox(0,1)=true; // 그리드에 있는 전체선택 체크박스
  104. grd_eductrgtmanlist.fixedcellcheckbox(0,5)=true;
  105. ]]>
  106. </script>
  107. <script type="javascript">
  108. <![CDATA[
  109. var sAllSelYn = "N";
  110. function fInit() {
  111. model.setValue("/root/send/retrparams1/appyy", getCurrentDate().substr(0, 4));
  112. misfComboComCdListMulti("Z0007,Z0007,R0058,R0066,R0059,R0064,R0061,R0063", "cmb_instcd,cmb_dutinstcd,cmb_prfshipflag,cmb_holyordflag,cmb_grupjoblncd,cmb_njobgradcd,cmb_jobkindcd,cmb_jobrespcd", null, "Y");
  113. //rpsEducSetComboList(model.getValue("/root/send/retrparams1/appyy") ,"M01-002,M01-001", "cmb_mainbdunit,cmb_lrgcd", "Y"); --> rpsEducSetComboList("M01-002,M01-001", "cmb_mainbdunit,cmb_lrgcd", "N");
  114. //M02-000 --> M01-002
  115. rpsEducSetComboList("M01-002,M01-001", "cmb_educflag,cmb_mainbdunit", "Y");
  116. model.removenode("/root/main/list1/educlist");
  117. model.removenode("/root/main/list1/educlist1");
  118. model.removenode("/root/main/list2/eductrgtmanlist");
  119. model.removenode("/root/main/list3/emplist");
  120. misfMsterDetailSet(grd_educlist, null, "TRRPS00301", "N", "byRow");
  121. misfMsterDetailSet(grd_eductrgtmanlist, null, "TRRPS00302", "Y");
  122. misfMsterDetailSet(grd_emplist, null, "TRRPS00303", "N");
  123. misfGetUserAuth();
  124. model.setValue("/root/send/retrparams3/instcd", getUserInfo("dutplceinstcd"));
  125. model.setValue("/root/init/tempnode/appyy", "/root/send/retrparams1/appyy");
  126. model.setValue("/root/send/retrparams3/frentcodd", "19000101");
  127. model.setValue("/root/send/retrparams3/toentcodd", getCurrentDate());
  128. model.refresh();
  129. grd_educlist.rowHeight(0) = 35;
  130. grd_educlist1.rowHeight(0) = 35;
  131. }
  132. function fEducListRetrieve()
  133. {
  134. var iRowIdx = grd_educlist.row;
  135. submit("TRRPS00301");
  136. // grid의 교육명부분만 merge시키고 background-color를 변경
  137. // grd_educlist.mergeCells = "bycol";
  138. // grd_educlist.mergeCol(grd_educlist.colRef("educcdnm")) = true;
  139. // grd_educlist.mergeCol(grd_educlist.colRef("educdg")) = false;
  140. // grd_educlist.mergeCol(grd_educlist.colRef("emplcnt")) = false;
  141. // grd_educlist.mergeCol(grd_educlist.colRef("educcapa")) = false;
  142. // grd_educlist.colStyle(grd_educlist.colRef("educcdnm"), "all","background-color") = "#ffff99";
  143. //
  144. // grd_educlist.merge();
  145. fListAddCombo() ;
  146. if(grd_educlist.rows > 1) {
  147. if(iRowIdx == -1) iRowIdx = 1;
  148. else
  149. if(iRowIdx > grd_educlist.rows) iRowIdx = grd_educlist.rows - 1;
  150. grd_educlist.row = iRowIdx;
  151. grd_educlist.select(iRowIdx, 1, iRowIdx, 10) = true;
  152. grd_educlist.dispatch("onrowchanged");
  153. }
  154. else {
  155. model.removeNodeset("/root/main/list2/eductrgtmanlist");
  156. model.refresh();
  157. }
  158. }
  159. function fEducTrgtManListRetrieve() {
  160. model.setValue("/root/send/retrparams2/instcd", grd_educlist1.valueMatrix(grd_educlist1.row, grd_educlist1.colRef("instcd")));
  161. model.setValue("/root/send/retrparams2/educdg", grd_educlist1.valueMatrix(grd_educlist1.row, grd_educlist1.colRef("educdg")));
  162. model.setValue("/root/send/retrparams2/appyy", grd_educlist1.valueMatrix(grd_educlist1.row, grd_educlist1.colRef("appyy")));
  163. model.setValue("/root/send/retrparams2/educcd", grd_educlist1.valueMatrix(grd_educlist1.row, grd_educlist1.colRef("educcd")));
  164. submit("TRRPS00302");
  165. }
  166. function fEmpListRetrieve() {
  167. sYn = "N";
  168. model.setValue("/root/send/retrparams3/educinstcd", grd_educlist1.valueMatrix(grd_educlist1.row, grd_educlist1.colRef("instcd")));
  169. model.setValue("/root/send/retrparams3/educdg", grd_educlist1.valueMatrix(grd_educlist1.row, grd_educlist1.colRef("educdg")));
  170. model.setValue("/root/send/retrparams3/appyy", grd_educlist1.valueMatrix(grd_educlist1.row, grd_educlist1.colRef("appyy")));
  171. model.setValue("/root/send/retrparams3/educcd", grd_educlist1.valueMatrix(grd_educlist1.row, grd_educlist1.colRef("educcd")));
  172. submit("TRRPS00303");
  173. }
  174. function fRgstTrgtManList() {
  175. if(grd_educlist.rows == 1) {
  176. messageBox("교육내용을", "C002");
  177. return;
  178. }
  179. var educcapa = model.getValue("/root/main/list1/educlist["+grd_educlist.row+"]/educcapa");
  180. var emplcnt = opt_cnt.value;
  181. if( educcapa == emplcnt) {
  182. messageBox("정원이 초과되어 더이상 등록","E001");
  183. return;
  184. }
  185. var apppsn = parseInt(educcapa) - parseInt(emplcnt);
  186. var cnt = 0;
  187. for(var i=0; i<=grd_emplist.rows; i++) {
  188. var sChk = grd_emplist.valueMatrix(i, grd_emplist.colRef("chk"));
  189. if( cnt == apppsn) {
  190. messageBox("정원이 초과되어 더이상 등록","E001");
  191. return;
  192. }
  193. if(sChk == "Y") {
  194. cnt++;
  195. var sEmplno = model.getValue(grd_emplist.nodeset + "[" + i + "]/emplno");
  196. var iRowIdx = grd_eductrgtmanlist.findRow(sEmplno, 0, grd_eductrgtmanlist.colRef("emplno"));
  197. if(iRowIdx != -1) continue;
  198. misfGridIUD(grd_eductrgtmanlist, "A");
  199. fSetTrgtManInfo(grd_eductrgtmanlist.row, i);
  200. }
  201. }
  202. }
  203. function fSetTrgtManInfo(iTrgtManRowIdx, iEmpListRowIdx)
  204. {
  205. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/instcd", model.getValue(grd_educlist.nodeset + "[" + grd_educlist.row + "]/instcd"));
  206. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/educdg", model.getValue(grd_educlist.nodeset + "[" + grd_educlist.row + "]/educdg"));
  207. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/educcd", model.getValue(grd_educlist.nodeset + "[" + grd_educlist.row + "]/educcd"));
  208. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/appyy", model.getValue(grd_educlist.nodeset + "[" + grd_educlist.row + "]/appyy"));
  209. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/emplno", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/emplno"));
  210. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/emplnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/emplnm"));
  211. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/prfshipflag", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/prfshipflag"));
  212. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/prfshipnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/prfshipnm"));
  213. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/dutinstcd", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/dutinstcd"));
  214. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/dutinstnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/dutinstnm"));
  215. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/dutdeptcd", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/dutdeptcd"));
  216. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/dutdeptnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/dutdeptnm"));
  217. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/holyordflag", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/holyordflag"));
  218. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/holyordnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/holyordnm"));
  219. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/grupjoblncd", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/grupjoblncd"));
  220. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/grupjoblnnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/grupjoblnnm"));
  221. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/njobgradcd", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/njobgradcd"));
  222. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/njobgradnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/njobgradnm"));
  223. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/anual", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/anual"));
  224. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/jobkindcd", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/jobkindcd"));
  225. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/jobkindnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/jobkindnm"));
  226. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/jobrespcd", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/jobrespcd"));
  227. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/jobrespnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/jobrespnm"));
  228. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/gender", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/gender"));
  229. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/entcodd", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/entcodd"));
  230. }
  231. function fSave() {
  232. misfSave("TXRPS00301");
  233. fEducTrgtManListRetrieve();
  234. fEmpListRetrieve();
  235. }
  236. function fLoadExcel() {
  237. if(grd_educlist.rows == 1)
  238. {
  239. messageBox("교육내용을", "C002");
  240. return;
  241. }
  242. var fileName = window.fileDialog("open", ",", false, "", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  243. grd_loadexcel.loadExcel(fileName);
  244. grd_loadexcel.rebuild();
  245. var sEmplno = "";
  246. var iRowIdx = -1;
  247. for(var i=1; i<grd_loadexcel.rows; i++)
  248. {
  249. sEmplno = grd_loadexcel.valueMatrix(i, grd_loadexcel.colRef("emplno"));
  250. if(sEmplno == "") continue;
  251. iRowIdx = grd_eductrgtmanlist.findRow(sEmplno, 0, grd_eductrgtmanlist.colRef("emplno"));
  252. if(iRowIdx != -1)
  253. {
  254. continue;
  255. }
  256. else
  257. {
  258. misfGridIUD(grd_eductrgtmanlist, "A");
  259. model.setValue(grd_eductrgtmanlist.nodeset + "[" + grd_eductrgtmanlist.row + "]/instcd", model.getValue(grd_educlist.nodeset + "[" + grd_educlist.row + "]/instcd"));
  260. model.setValue(grd_eductrgtmanlist.nodeset + "[" + grd_eductrgtmanlist.row + "]/educdg", model.getValue(grd_educlist.nodeset + "[" + grd_educlist.row + "]/educdg"));
  261. model.setValue(grd_eductrgtmanlist.nodeset + "[" + grd_eductrgtmanlist.row + "]/educcd", model.getValue(grd_educlist.nodeset + "[" + grd_educlist.row + "]/educcd"));
  262. model.setValue(grd_eductrgtmanlist.nodeset + "[" + grd_eductrgtmanlist.row + "]/appyy", model.getValue(grd_educlist.nodeset + "[" + grd_educlist.row + "]/appyy"));
  263. model.setValue(grd_eductrgtmanlist.nodeset + "[" + grd_eductrgtmanlist.row + "]/emplno", model.getValue(grd_loadexcel.nodeset + "[" + i + "]/emplno"));
  264. }
  265. }
  266. model.refresh();
  267. }
  268. function fPsnCnt() {
  269. opt_cnt.value = grd_eductrgtmanlist.rows;
  270. opt_cnt.refresh();
  271. }
  272. function fCheckAppYN() {
  273. var educcapa = model.getValue("/root/main/list1/educlist/educcapa");
  274. var emplcnt = model.getValue("/root/main/list1/educlist/emplcnt");
  275. for(var i = grd_educlist.fixedRows; i < grd_educlist.row; i++) {
  276. if( educcapa == emplcnt ) {
  277. grd_educlist.backColorFrozen = "YELLOW";
  278. }
  279. }
  280. }
  281. function fListAddCombo() {
  282. // 교육명 세팅
  283. for(var i = grd_educlist.fixedRows, j = grd_educlist1.fixedRows; i < grd_educlist.rows; i++ ) {
  284. if( i == "1" ) { // grd_educlist1에 아무내용도 없을때는 무조건 addrow
  285. grd_educlist1.addRow(false);
  286. grd_educlist1.valueMatrix(i,grd_educlist1.colRef("appyy")) = grd_educlist.valueMatrix(i,grd_educlist.colRef("appyy"));
  287. grd_educlist1.valueMatrix(i,grd_educlist1.colRef("instcd")) = grd_educlist.valueMatrix(i,grd_educlist.colRef("instcd"));
  288. grd_educlist1.valueMatrix(i,grd_educlist1.colRef("educcd")) = grd_educlist.valueMatrix(i,grd_educlist.colRef("educcd"));
  289. grd_educlist1.valueMatrix(i,grd_educlist1.colRef("educcdnm")) = grd_educlist.valueMatrix(i,grd_educlist.colRef("educcdnm"));
  290. j++;
  291. }
  292. else if( grd_educlist.valueMatrix(i,grd_educlist.colRef("educcd")) == grd_educlist1.valueMatrix(1,grd_educlist1.colRef("educcd")) ) {
  293. continue;
  294. }
  295. else if( grd_educlist.valueMatrix(i,grd_educlist.colRef("educcd")) == grd_educlist1.valueMatrix(j,grd_educlist1.colRef("educcd")) ) {
  296. continue;
  297. }
  298. else if( grd_educlist.valueMatrix(i,grd_educlist.colRef("educcd")) != grd_educlist1.valueMatrix(j-1,grd_educlist1.colRef("educcd")) ) {
  299. // educcd가 다른경우
  300. grd_educlist1.addRow(false);
  301. grd_educlist1.valueMatrix(j,grd_educlist1.colRef("appyy")) = grd_educlist.valueMatrix(i,grd_educlist.colRef("appyy"));
  302. grd_educlist1.valueMatrix(j,grd_educlist1.colRef("instcd")) = grd_educlist.valueMatrix(i,grd_educlist.colRef("instcd"));
  303. grd_educlist1.valueMatrix(j,grd_educlist1.colRef("educcd")) = grd_educlist.valueMatrix(i,grd_educlist.colRef("educcd"));
  304. grd_educlist1.valueMatrix(j,grd_educlist1.colRef("educcdnm")) = grd_educlist.valueMatrix(i,grd_educlist.colRef("educcdnm"));
  305. j++;
  306. }
  307. }
  308. // 차수 콤보 세팅
  309. var dg = 1;
  310. for(var i = grd_educlist.fixedRows, j = grd_educlist1.fixedRows; i < grd_educlist.rows; i++ ) {
  311. if( i == grd_educlist.fixedRows && j == grd_educlist1.fixedRows) { // 맨첫번째 row일때
  312. model.makeNode("/root/init/itemset/set"+i+"["+dg+"]/value");
  313. model.makeNode("/root/init/itemset/set"+i+"["+dg+"]/label");
  314. model.setValue("/root/init/itemset/set"+i+"["+dg+"]/value","");
  315. model.setValue("/root/init/itemset/set"+i+"["+dg+"]/label","전체");
  316. dg++;
  317. model.makeNode("/root/init/itemset/set"+i+"["+dg+"]/value");
  318. model.makeNode("/root/init/itemset/set"+i+"["+dg+"]/label");
  319. model.setValue("/root/init/itemset/set"+i+"["+dg+"]/value",grd_educlist.valueMatrix(i,grd_educlist.colRef("educdg")));
  320. model.setValue("/root/init/itemset/set"+i+"["+dg+"]/label",grd_educlist.valueMatrix(i,grd_educlist.colRef("educdg")));
  321. }
  322. else if( grd_educlist.valueMatrix(i,grd_educlist.colRef("educcd")) == grd_educlist1.valueMatrix(1,grd_educlist1.colRef("educcd")) ) {
  323. // 첫번째 row의 educcd와 현재진행중인row의 educcd가 같으면 차수만 추가
  324. dg++;
  325. model.makeNode("/root/init/itemset/set"+j+"["+dg+"]/value");
  326. model.makeNode("/root/init/itemset/set"+j+"["+dg+"]/label");
  327. model.setValue("/root/init/itemset/set"+j+"["+dg+"]/value",grd_educlist.valueMatrix(i,grd_educlist.colRef("educdg")));
  328. model.setValue("/root/init/itemset/set"+j+"["+dg+"]/label",grd_educlist.valueMatrix(i,grd_educlist.colRef("educdg")));
  329. }
  330. else if( grd_educlist.valueMatrix(i,grd_educlist.colRef("educcd")) == grd_educlist1.valueMatrix(j,grd_educlist1.colRef("educcd")) ) {
  331. dg++;
  332. model.makeNode("/root/init/itemset/set"+j+"["+dg+"]/value");
  333. model.makeNode("/root/init/itemset/set"+j+"["+dg+"]/label");
  334. model.setValue("/root/init/itemset/set"+j+"["+dg+"]/value",grd_educlist.valueMatrix(i,grd_educlist.colRef("educdg")));
  335. model.setValue("/root/init/itemset/set"+j+"["+dg+"]/label",grd_educlist.valueMatrix(i,grd_educlist.colRef("educdg")));
  336. }
  337. else if( grd_educlist.valueMatrix(i,grd_educlist.colRef("educcd")) != grd_educlist1.valueMatrix(j,grd_educlist1.colRef("educcd")) ) {
  338. // educcd가 다른경우
  339. dg = 1;
  340. j++
  341. model.makeNode("/root/init/itemset/set"+j+"["+dg+"]/value");
  342. model.makeNode("/root/init/itemset/set"+j+"["+dg+"]/label");
  343. model.setValue("/root/init/itemset/set"+j+"["+dg+"]/value","");
  344. model.setValue("/root/init/itemset/set"+j+"["+dg+"]/label","전체");
  345. dg++;
  346. model.makeNode("/root/init/itemset/set"+j+"["+dg+"]/value");
  347. model.makeNode("/root/init/itemset/set"+j+"["+dg+"]/label");
  348. model.setValue("/root/init/itemset/set"+j+"["+dg+"]/value",grd_educlist.valueMatrix(i,grd_educlist.colRef("educdg")));
  349. model.setValue("/root/init/itemset/set"+j+"["+dg+"]/label",grd_educlist.valueMatrix(i,grd_educlist.colRef("educdg")));
  350. }
  351. }
  352. // itemset을 row별로 설정..
  353. for(var i = grd_educlist1.fixedRows; i < grd_educlist1.rows; i++ ) {
  354. grd_educlist1.cellComboNodeset(i, 4) = "/root/init/itemset/set"+i;
  355. }
  356. grd_educlist1.row = 1; // grd_educlist1그리드의 1번 row를 선택한것과 같음.
  357. model.refresh();
  358. }
  359. ]]>
  360. </script>
  361. <submission id="TRRPS00301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/retrparams1" resultref="/root/main/list1"/>
  362. <submission id="TRRPS00302" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/retrparams2" resultref="/root/main/list2"/>
  363. <submission id="TRRPS00303" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/retrparams3" resultref="/root/main/list3"/>
  364. <submission id="TXRPS00301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/list2/eductrgtmanlist" resultref="/root/temp"/>
  365. <bind id="bind1" ref="/root/init/rowcount" calculate="count(/root/main/list2/eductrgtmanlist)" type="xsd:int"/>
  366. </model>
  367. </xhtml:head>
  368. <xhtml:body pagewidth="1211" pageheight="784" guideline="1,1195;" style="margin-left:8; margin-right:8; ">
  369. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  370. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">교육대상자등록</caption>
  371. </group>
  372. <group id="group2" scroll="auto" style="left:0px; top:38px; width:1195px; height:744px; ">
  373. <shape id="roundrect2" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:346px; top:315px; width:848px; height:77px; background-color:#fffbf2; border-color:#ffd799; "/>
  374. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:9px; width:1194px; height:37px; background-color:#fffbf2; border-color:#ffd799; "/>
  375. <line id="line13" class="line_4" style="x1:1095px; y1:14px; x2:1095px; y2:40px; "/>
  376. <caption id="caption1" class="search_name" style="left:236px; top:19px; width:97px; height:17px; ">주체기관 :</caption>
  377. <line id="line8" class="line_1" style="x1:345px; y1:415px; x2:1194px; y2:415px; "/>
  378. <caption id="caption20" class="tit_2" style="left:10px; top:382px; width:169px; height:13px; ">교육대상자등록</caption>
  379. <caption id="caption10" class="search_name" style="left:22px; top:19px; width:90px; height:17px; ">년 도 :</caption>
  380. <caption id="caption2" class="search_name" style="left:535px; top:19px; width:86px; height:17px; ">주체단위 :</caption>
  381. <caption id="caption3" class="search_name" style="left:781px; top:19px; width:91px; height:17px; ">교육구분 :</caption>
  382. <line id="line5" class="line_1" style="x1:0px; y1:75px; x2:1194px; y2:76px; "/>
  383. <caption id="caption9" class="tit_2" style="left:5px; top:60px; width:169px; height:13px; ">교육과정</caption>
  384. <caption id="caption7" class="search_name" style="left:1013px; top:344px; width:87px; height:17px; ">성직구분 :</caption>
  385. <line id="line1" class="line_4" style="x1:1120px; y1:369px; x2:1120px; y2:386px; "/>
  386. <caption id="caption8" class="search_name" style="left:350px; top:321px; width:116px; height:17px; ">근 무 기 관 :</caption>
  387. <caption id="caption5" class="search_name" style="left:643px; top:321px; width:87px; height:17px; ">교직구분 :</caption>
  388. <caption id="caption12" class="search_name" style="left:653px; top:344px; width:85px; height:17px; ">직 군 :</caption>
  389. <caption id="caption11" class="search_name" style="left:806px; top:344px; width:87px; height:17px; ">직 종 :</caption>
  390. <caption id="caption14" class="search_name" style="left:653px; top:367px; width:85px; height:17px; ">직 책 :</caption>
  391. <caption id="caption15" class="search_name" style="left:806px; top:321px; width:87px; height:17px; ">신 직 급 :</caption>
  392. <select1 id="cmb_instcd" ref="/root/send/retrparams1/instcd" class="combo_search" appearance="minimal" style="left:325px; top:18px; width:159px; height:19px; ">
  393. <choices>
  394. <itemset>
  395. <label/>
  396. <value/>
  397. </itemset>
  398. </choices>
  399. <script type="javascript" ev:event="xforms-value-changed">
  400. <![CDATA[
  401. fEducListRetrieve();
  402. ]]>
  403. </script>
  404. </select1>
  405. <input id="ipt_yyyy" ref="/root/send/retrparams1/appyy" class="input_s_essential" inputtype="date" format="yyyy" style="left:110px; top:18px; width:82px; height:19px; text-align:center; ">
  406. <script type="javascript" ev:event="xforms-value-changed">
  407. <![CDATA[
  408. model.setValue("/root/init/tempnode/appyy", "/root/send/retrparams1/appyy");
  409. fEducListRetrieve();
  410. ]]>
  411. </script>
  412. </input>
  413. <select1 id="cmb_mainbdunit" ref="/root/send/retrparams1/mainbdunit" class="combo_search" appearance="minimal" style="left:625px; top:18px; width:100px; height:19px; ">
  414. <choices>
  415. <itemset>
  416. <label/>
  417. <value/>
  418. </itemset>
  419. </choices>
  420. <script type="javascript" ev:event="xforms-value-changed">
  421. <![CDATA[
  422. fEducListRetrieve();
  423. ]]>
  424. </script>
  425. </select1>
  426. <select1 id="cmb_educflag" ref="/root/send/retrparams1/educflag" class="combo_search" appearance="minimal" style="left:868px; top:18px; width:142px; height:19px; ">
  427. <choices>
  428. <itemset>
  429. <label/>
  430. <value/>
  431. </itemset>
  432. </choices>
  433. <script type="javascript" ev:event="xforms-value-changed">
  434. <![CDATA[
  435. fEducListRetrieve();
  436. ]]>
  437. </script>
  438. </select1>
  439. <line id="line2" class="line_1" style="x1:342px; y1:79px; x2:343px; y2:741px; "/>
  440. <caption id="caption13" class="tit_2" style="left:350px; top:60px; width:169px; height:13px; ">대상자목록</caption>
  441. <caption id="caption16" class="tit_2" style="left:347px; top:400px; width:169px; height:13px; ">교직원목록</caption>
  442. <datagrid id="grd_educlist1" nodeset="/root/main/list1/educlist1" autoresize="true" caption="적용년도^기관^교육코드^교육명^차수^신청인원&#xA;/정원^신청인원&#xA;/정원" colsep="^" colwidth="28, 26, 23, 230, 45, 30, 30" dataheight="25" mergecellsfixedrows="bycolrec" rowheader="25" rowsep="|" style="left:0px; top:79px; width:340px; height:661px; ">
  443. <col ref="appyy" visibility="hidden"/>
  444. <col ref="instcd" visibility="hidden"/>
  445. <col ref="educcd" visibility="hidden"/>
  446. <col ref="educcdnm" style="text-align:left; "/>
  447. <col ref="educdg" type="combo" style="text-align:center; ">
  448. <choices>
  449. <itemset nodeset="/root/init/itemset/set1">
  450. <label ref="label"/>
  451. <value ref="value"/>
  452. </itemset>
  453. </choices>
  454. </col>
  455. <col ref="emplcnt" style="text-align:right; "/>
  456. <col ref="educcapa" style="text-align:right; "/>
  457. <script type="javascript" ev:event="onrowchanged">
  458. <![CDATA[
  459. // row를 선택했을때 교육코드에 따라 차수콤보를 변경한다.
  460. var rowcnt = grd_eductrgtmanlist.rows-1;
  461. for( var i = 0; i < rowcnt; i++ ) {
  462. grd_eductrgtmanlist.fixedcellischeck(0, 5) = false; // 전체 체크박스를 초기화
  463. model.removenode("/root/main/list2/eductrgtmanlist");
  464. }
  465. grd_eductrgtmanlist.refresh();
  466. fEducTrgtManListRetrieve();
  467. ]]>
  468. </script>
  469. <script type="javascript" ev:event="xforms-value-changed">
  470. <![CDATA[
  471. // 콤보박스의 내용이 변경되었을때...
  472. for(var i = grd_educlist.fixedRows; i < grd_educlist.rows; i++ ) {
  473. if( grd_educlist.valueMatrix(i,grd_educlist.colRef("educcd")) == grd_educlist1.valueMatrix(grd_educlist1.row,grd_educlist1.colRef("educcd")) ) {
  474. if(grd_educlist.valueMatrix(i,grd_educlist.colRef("educdg")) == grd_educlist1.valueMatrix(grd_educlist1.row,grd_educlist1.colRef("educdg")) ) {
  475. grd_educlist1.valueMatrix(grd_educlist1.row,grd_educlist1.colRef("emplcnt")) = grd_educlist.valueMatrix(i,grd_educlist.colRef("emplcnt"));
  476. grd_educlist1.valueMatrix(grd_educlist1.row,grd_educlist1.colRef("educcapa")) = grd_educlist.valueMatrix(i,grd_educlist.colRef("educcapa"));
  477. }
  478. else if( grd_educlist1.valueMatrix(grd_educlist1.row,grd_educlist1.colRef("educdg")) == "" ) {
  479. // 전체를 선택하면 신청인원/정원을 공백으로 설정한다.
  480. grd_educlist1.valueMatrix(grd_educlist1.row,grd_educlist1.colRef("emplcnt")) = "";
  481. grd_educlist1.valueMatrix(grd_educlist1.row,grd_educlist1.colRef("educcapa")) = "";
  482. }
  483. }
  484. else if( grd_educlist.valueMatrix(i,grd_educlist.colRef("educcd")) != grd_educlist1.valueMatrix(grd_educlist1.row,grd_educlist1.colRef("educcd")) ) {
  485. // educcd가 다른경우
  486. continue;
  487. }
  488. }
  489. fEducTrgtManListRetrieve();
  490. ]]>
  491. </script>
  492. </datagrid>
  493. <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, 42, 66" dataheight="25" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:346px; top:420px; width:849px; height:320px; ">
  494. <col checkvalue="Y,N" ref="chk" type="checkbox"/>
  495. <col ref="emplno" style="text-align:center; "/>
  496. <col ref="emplnm" style="text-align:center; "/>
  497. <col ref="prfshipflag" visibility="hidden"/>
  498. <col ref="prfshipnm"/>
  499. <col ref="dutinstcd" visibility="hidden"/>
  500. <col ref="dutinstnm"/>
  501. <col ref="dutdeptcd" visibility="hidden"/>
  502. <col ref="dutdeptnm"/>
  503. <col ref="holyordflag" visibility="hidden"/>
  504. <col ref="holyordnm"/>
  505. <col ref="grupjoblncd" visibility="hidden"/>
  506. <col ref="grupjoblnnm"/>
  507. <col ref="njobgradcd" visibility="hidden"/>
  508. <col ref="njobgradnm"/>
  509. <col ref="anual" style="text-align:right; "/>
  510. <col ref="jobkindcd" visibility="hidden"/>
  511. <col ref="jobkindnm"/>
  512. <col ref="jobrespcd" visibility="hidden"/>
  513. <col ref="jobrespnm"/>
  514. <col disabled="true" ref="gender" type="combo" style="text-align:center; ">
  515. <choices>
  516. <itemset nodeset="/root/init/item">
  517. <label ref="label"/>
  518. <value ref="value"/>
  519. </itemset>
  520. </choices>
  521. </col>
  522. <col ref="entcodd" format="yyyy-mm-dd" style="text-align:center; "/>
  523. <script type="javascript" ev:event="onaftersort">
  524. <![CDATA[
  525. grd_emplist.gridToInstance();
  526. ]]>
  527. </script>
  528. <script type="javascript" ev:event="ondblclick">
  529. <![CDATA[
  530. if(grd_educlist.rows == 1) {
  531. messageBox("교육내용을", "C002");
  532. return;
  533. }
  534. var sEmplno = model.getValue(grd_emplist.nodeset + "[" + grd_emplist.row + "]/emplno");
  535. var iRowIdx = grd_eductrgtmanlist.findRow(sEmplno, 0, grd_eductrgtmanlist.colRef("emplno"));
  536. if(iRowIdx != -1) {
  537. messageBox("중복 등록", "E008");
  538. return;
  539. }
  540. misfGridIUD(grd_eductrgtmanlist, "A");
  541. fSetTrgtManInfo(grd_eductrgtmanlist.row, grd_emplist.row);
  542. ]]>
  543. </script>
  544. </datagrid>
  545. <caption id="caption17" class="search_name" style="left:806px; top:367px; width:89px; height:17px; ">관리부서 :</caption>
  546. <button id="btn_search" class="btn1_letter2" style="left:1119px; top:17px; width:56px; height:22px; ">
  547. <caption>조회</caption>
  548. <script type="javascript" ev:event="DOMActivate">
  549. <![CDATA[
  550. fEducListRetrieve(); // 그리드에 교육명과 차수 콤보만드는 함수
  551. fEducTrgtManListRetrieve(); // 선택된 교육에 따른 대상자 보여주는 함수
  552. ]]>
  553. </script>
  554. </button>
  555. <button id="btn_search2" class="btn1_letter2" style="left:1125px; top:367px; width:56px; height:22px; ">
  556. <caption>조회</caption>
  557. <script type="javascript" ev:event="DOMActivate">
  558. <![CDATA[
  559. fEmpListRetrieve();
  560. ]]>
  561. </script>
  562. </button>
  563. <select1 id="cmb_dutinstcd" ref="/root/send/retrparams3/instcd" class="combo_s_essential" appearance="minimal" style="left:463px; top:321px; width:175px; height:19px; ">
  564. <choices>
  565. <itemset>
  566. <label/>
  567. <value/>
  568. </itemset>
  569. </choices>
  570. </select1>
  571. <input id="ipt_dutunitcd" ref="/root/send/retrparams3/dutunitcd" class="input_search" navindex="2" visibility="hidden" maxlength="10" style="left:895px; top:390px; width:81px; height:19px; text-align:center; ">
  572. <script type="javascript" ev:event="xforms-value-changed">
  573. <![CDATA[
  574. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_dutinstcd.value, "instcd");
  575. model.refresh();
  576. ]]>
  577. </script>
  578. <script type="javascript" ev:event="onkeypress">
  579. <![CDATA[
  580. if(event.keyCode == 13)
  581. {
  582. ipt_dutunitcd.value = ipt_dutunitcd.currentText;
  583. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_dutinstcd.value, "instcd");
  584. model.refresh();
  585. }
  586. ]]>
  587. </script>
  588. </input>
  589. <input id="ipt_dutunitnm" ref="/root/send/retrparams3/dutunitnm" class="input_search" navindex="3" style="left:892px; top:367px; width:90px; height:19px; ">
  590. <script type="javascript" ev:event="xforms-value-changed">
  591. <![CDATA[
  592. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_dutinstcd.value, "instcd");
  593. model.refresh();
  594. ]]>
  595. </script>
  596. <script type="javascript" ev:event="onkeypress">
  597. <![CDATA[
  598. if(event.keyCode == 13) {
  599. ipt_dutunitnm.value = ipt_dutunitnm.currentText;
  600. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_dutinstcd.value, "instcd");
  601. model.refresh();
  602. }
  603. ]]>
  604. </script>
  605. </input>
  606. <button id="btn_dutunit" class="icon_search" style="left:985px; top:367px; width:16px; height:16px; ">
  607. <caption/>
  608. <script type="javascript" ev:event="DOMActivate">
  609. <![CDATA[
  610. misfOpenPopUpList("02", ipt_dutunitnm, "", "dutunitcd,dutunitnm", cmb_dutinstcd.value, "instcd");
  611. model.refresh();
  612. ]]>
  613. </script>
  614. </button>
  615. <select1 id="cmb_prfshipflag" ref="/root/send/retrparams3/prfshipflag" class="combo_search" appearance="minimal" style="left:728px; top:321px; width:75px; height:19px; ">
  616. <choices>
  617. <itemset>
  618. <label/>
  619. <value/>
  620. </itemset>
  621. </choices>
  622. </select1>
  623. <select1 id="cmb_holyordflag" ref="/root/send/retrparams3/holyordflag" class="combo_search" appearance="minimal" style="left:1098px; top:344px; width:81px; height:19px; ">
  624. <choices>
  625. <itemset>
  626. <label/>
  627. <value/>
  628. </itemset>
  629. </choices>
  630. </select1>
  631. <select1 id="cmb_grupjoblncd" ref="/root/send/retrparams3/grupjoblncd" class="combo_search" appearance="minimal" style="left:728px; top:344px; width:75px; height:19px; ">
  632. <choices>
  633. <itemset>
  634. <label/>
  635. <value/>
  636. </itemset>
  637. </choices>
  638. </select1>
  639. <select1 id="cmb_njobgradcd" ref="/root/send/retrparams3/njobgradcd" class="combo_search" appearance="minimal" style="left:891px; top:321px; width:116px; height:19px; ">
  640. <choices>
  641. <itemset>
  642. <label/>
  643. <value/>
  644. </itemset>
  645. </choices>
  646. </select1>
  647. <select1 id="cmb_jobkindcd" ref="/root/send/retrparams3/jobkindcd" class="combo_search" appearance="minimal" style="left:891px; top:344px; width:116px; height:19px; ">
  648. <choices>
  649. <itemset>
  650. <label/>
  651. <value/>
  652. </itemset>
  653. </choices>
  654. </select1>
  655. <select1 id="cmb_jobrespcd" ref="/root/send/retrparams3/jobrespcd" class="combo_search" appearance="minimal" style="left:728px; top:367px; width:75px; height:19px; ">
  656. <choices>
  657. <itemset>
  658. <label/>
  659. <value/>
  660. </itemset>
  661. </choices>
  662. </select1>
  663. <datagrid id="grd_eductrgtmanlist" nodeset="/root/main/list2/eductrgtmanlist" caption="교육기관^교육차수^교육코드^적용년월^^사원번호^성명^교직구분코드^교직구분^근무기관코드^근무기관^근무부서코드^근무부서^성직구분코드^성직구분^직군코드^직군^신직급코드^신직급^년차^직종코드^직종^직책코드^직책^성별^입사일자" colsep="^" colwidth="0, 0, 0, 0, 25, 65, 60, 0, 60, 0, 110, 0, 100, 0, 54, 0, 70, 0, 53, 35, 0, 67, 0, 40, 41, 66" dataheight="25" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:346px; top:79px; width:849px; height:231px; ">
  664. <col ref="instcd"/>
  665. <col ref="educdg"/>
  666. <col ref="educcd"/>
  667. <col ref="appyy"/>
  668. <col checkvalue="Y,N" ref="chk" type="checkbox"/>
  669. <col ref="emplno" style="text-align:center; "/>
  670. <col ref="emplnm" style="text-align:center; "/>
  671. <col ref="prfshipflag" visibility="hidden"/>
  672. <col ref="prfshipnm"/>
  673. <col ref="dutinstcd" visibility="hidden"/>
  674. <col ref="dutinstnm"/>
  675. <col ref="dutdeptcd" visibility="hidden"/>
  676. <col ref="dutdeptnm"/>
  677. <col ref="holyordflag" visibility="hidden"/>
  678. <col ref="holyordnm"/>
  679. <col ref="grupjoblncd" visibility="hidden"/>
  680. <col ref="grupjoblnnm"/>
  681. <col ref="njobgradcd" visibility="hidden"/>
  682. <col ref="njobgradnm"/>
  683. <col ref="anual" style="text-align:right; "/>
  684. <col ref="jobkindcd" visibility="hidden"/>
  685. <col ref="jobkindnm"/>
  686. <col ref="jobrespcd" visibility="hidden"/>
  687. <col ref="jobrespnm"/>
  688. <col disabled="true" ref="gender" type="combo" style="text-align:center; ">
  689. <choices>
  690. <itemset nodeset="/root/init/item">
  691. <label ref="label"/>
  692. <value ref="value"/>
  693. </itemset>
  694. </choices>
  695. </col>
  696. <col ref="entcodd" format="yyyy-mm-dd" style="text-align:center; "/>
  697. <script type="javascript" ev:event="onaftersort">
  698. <![CDATA[
  699. grd_eductrgtmanlist.gridToInstance();
  700. ]]>
  701. </script>
  702. </datagrid>
  703. <button id="btn_addtrgtman" class="btn2_letter5" style="left:1118px; top:395px; width:75px; height:19px; ">
  704. <caption>대상자등록</caption>
  705. <script type="javascript" ev:event="DOMActivate">
  706. <![CDATA[
  707. fRgstTrgtManList();
  708. fPsnCnt();
  709. ]]>
  710. </script>
  711. </button>
  712. <button id="btn_allselect" class="btn2_letter4" visibility="hidden" style="left:1053px; top:395px; width:64px; height:19px; ">
  713. <caption>전체선택</caption>
  714. <script type="javascript" ev:event="DOMActivate">
  715. <![CDATA[
  716. // grid에 자체적인 체크박스 전체선택 기능이 있음으로 "전체선택" 버튼을 비활성화 시켜놨음.
  717. // 나중에 혹시 사용하게 될까봐 소스 남겨놓습니다.
  718. if(sYn == "N")
  719. {
  720. for(var i=1; i<grd_emplist.rows; i++)
  721. {
  722. grd_emplist.valueMatrix(i, grd_emplist.colRef("chk")) = "Y";
  723. }
  724. sYn = "Y";
  725. }
  726. else
  727. {
  728. for(var i=1; i<grd_emplist.rows; i++)
  729. {
  730. grd_emplist.valueMatrix(i, grd_emplist.colRef("chk")) = "N";
  731. }
  732. sYn = "N";
  733. }
  734. ]]>
  735. </script>
  736. </button>
  737. <button id="btn_saveexcel" class="btn2_letter4" style="left:1007px; top:54px; width:64px; height:19px; ">
  738. <caption>엑셀저장</caption>
  739. <script type="javascript" ev:event="DOMActivate">
  740. <![CDATA[
  741. alert("아직 안돼요~~~");
  742. // misfSaveExcel(grd_eductrgtmanlist);
  743. ]]>
  744. </script>
  745. </button>
  746. <button id="btn_loadexcel" class="btn2_letter4" style="left:1072px; top:54px; width:64px; height:19px; ">
  747. <caption>엑셀입력</caption>
  748. <script type="javascript" ev:event="DOMActivate">
  749. <![CDATA[
  750. alert("아직 안돼요~~~");
  751. // fLoadExcel();
  752. ]]>
  753. </script>
  754. </button>
  755. <button id="btn_delrow" class="btn2_letter3" style="left:1140px; top:54px; width:53px; height:19px; ">
  756. <caption>행삭제</caption>
  757. <script type="javascript" ev:event="DOMActivate">
  758. <![CDATA[
  759. var rowcnt = grd_eductrgtmanlist.rows;
  760. for( var i = 1; i < rowcnt; i++ ) {
  761. if( grd_eductrgtmanlist.valueMatrix(i, grd_eductrgtmanlist.colRef("chk")) == "Y" ) {
  762. grd_eductrgtmanlist.removeStatus(i, "insert");
  763. grd_eductrgtmanlist.addStatus(i, "delete");
  764. }
  765. }
  766. grd_eductrgtmanlist.refresh();
  767. ]]>
  768. </script>
  769. </button>
  770. <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:215px; width:120px; height:96px; ">
  771. <col ref="emplno" style="text-align:center; "/>
  772. </datagrid>
  773. <caption id="caption18" class="search_name" style="left:350px; top:367px; width:112px; height:17px; ">직책발령일자 :</caption>
  774. <input id="input1" ref="/root/send/retrparams3/frcorddd" class="input_search" inputtype="date" style="left:462px; top:367px; width:88px; height:19px; "/>
  775. <input id="input2" ref="/root/send/retrparams3/tocorddd" class="input_search" inputtype="date" style="left:561px; top:367px; width:88px; height:19px; "/>
  776. <caption id="caption19" style="left:550px; top:367px; width:13px; height:17px; ">~</caption>
  777. <caption id="caption21" class="search_name" style="left:350px; top:344px; width:121px; height:17px; ">입 사 일 자 :</caption>
  778. <caption id="caption22" style="left:550px; top:344px; width:11px; height:20px; ">~</caption>
  779. <input id="ipt_frentcodd" ref="/root/send/retrparams3/frentcodd" class="input_s_essential" inputtype="date" style="left:462px; top:344px; width:88px; height:19px; "/>
  780. <input id="ipt_toentcodd" ref="/root/send/retrparams3/toentcodd" class="input_s_essential" inputtype="date" style="left:561px; top:344px; width:88px; height:19px; "/>
  781. <output id="opt_cnt" ref="/root/init/rowcount" class="output_fix" format="#,###" style="left:920px; top:54px; width:60px; height:19px; text-align:right; "/>
  782. <caption id="caption24" class="ex_3" style="left:810px; top:56px; width:115px; height:16px; ">총 대상자 인원 :</caption>
  783. <caption id="caption23" class="search_name" style="left:1013px; top:321px; width:85px; height:17px; ">년 차 :</caption>
  784. <input id="input3" ref="/root/send/retrparams3/anual" class="input_search" format="99" style="left:1098px; top:321px; width:81px; height:19px; text-align:center; "/>
  785. <caption id="caption25" class="search_name" style="left:1013px; top:367px; width:75px; height:17px; ">성별 :</caption>
  786. <select1 id="cmb_gender" ref="/root/send/retrparams3/gender" class="combo_search" appearance="minimal" style="left:1072px; top:367px; width:45px; height:19px; ">
  787. <choices>
  788. <itemset nodeset="/root/init/item">
  789. <label ref="label"/>
  790. <value ref="value"/>
  791. </itemset>
  792. </choices>
  793. </select1>
  794. <datagrid id="grd_educlist" nodeset="/root/main/list1/educlist" visibility="hidden" autoresize="true" caption="적용년도^기관^교육코드^교육명^차수^신청인원&#xA;/정원^신청인원&#xA;/정원^교육내용^주관부서코드^주관부서명^교육&#xA;시작일자^교육&#xA;종료일자^교육신청&#xA;시작일자^교육신청&#xA;종료일자^교육장소^교육시간" colsep="^" colwidth="0, 0, 0, 230, 45, 30, 30, 100, 0, 100, 75, 75, 75, 75, 100, 55" dataheight="25" mergecellsfixedrows="bycolrec" rowheader="25" rowsep="|" style="left:0px; top:480px; width:340px; height:170px; ">
  795. <col ref="appyy" visibility="hidden"/>
  796. <col ref="instcd" visibility="hidden"/>
  797. <col ref="educcd" visibility="hidden"/>
  798. <col ref="educcdnm" style="text-align:left; "/>
  799. <col ref="educdg" style="text-align:center; "/>
  800. <col ref="emplcnt" style="text-align:right; "/>
  801. <col ref="educcapa" style="text-align:right; "/>
  802. <col ref="educcnts" visibility="hidden"/>
  803. <col ref="chrgdeptcd" visibility="hidden"/>
  804. <col ref="chrgdeptnm" visibility="hidden"/>
  805. <col ref="educfromdd" visibility="hidden" format="yyyy-mm-dd" style="text-align:center; "/>
  806. <col ref="eductodd" visibility="hidden" format="yyyy-mm-dd" style="text-align:center; "/>
  807. <col ref="educappfromdd" visibility="hidden" format="yyyy-mm-dd" style="text-align:center; "/>
  808. <col ref="educapptodd" visibility="hidden" format="yyyy-mm-dd" style="text-align:center; "/>
  809. <col ref="educplce" visibility="hidden"/>
  810. <col ref="eductm" visibility="hidden" format="hh:nn" style="text-align:center; "/>
  811. <script type="javascript" ev:event="onrowchanged">
  812. <![CDATA[
  813. // var rowcnt = grd_eductrgtmanlist.rows-1;
  814. // for( var i = 0; i < rowcnt; i++ ) {
  815. // grd_eductrgtmanlist.fixedcellischeck(0, 5) = false; // 전체 체크박스를 초기화
  816. // model.removenode("/root/main/list2/eductrgtmanlist");
  817. // }
  818. // grd_eductrgtmanlist.refresh();
  819. // misfMsterDetailSet(grd_eductrgtmanlist, null, "TRRPS00302", "Y");
  820. //
  821. // fEducTrgtManListRetrieve();
  822. //
  823. // grd_educlist.dispatch("onmouseup");
  824. ]]>
  825. </script>
  826. </datagrid>
  827. </group>
  828. <group id="grp_btn" scroll="auto" style="left:0px; top:12px; width:1195px; height:27px; ">
  829. <button id="button89" class="btn6_letter2" visibility="hidden" style="left:5px; top:5px; width:56px; height:22px; ">
  830. <caption>출력</caption>
  831. </button>
  832. <button id="btn_save" class="btn4_letter2" navindex="20000" style="left:1139px; top:3px; width:56px; height:22px; ">
  833. <caption>저장</caption>
  834. <script type="javascript" ev:event="DOMActivate">
  835. <![CDATA[
  836. var rowcnt = grd_eductrgtmanlist.rows-1;
  837. for( var i = 0; i < rowcnt; i++ ) {
  838. grd_eductrgtmanlist.fixedcellischeck(0, 5) = false; // 전체 체크박스를 초기화
  839. grd_eductrgtmanlist.fixedcellischeck(i, 5) = false;
  840. }
  841. grd_eductrgtmanlist.refresh();
  842. fSave();
  843. fCheckAppYN();
  844. fEducListRetrieve();
  845. ]]>
  846. </script>
  847. </button>
  848. </group>
  849. </xhtml:body>
  850. </xhtml:html>