SMRPS03500_교육신청및변경승인.xrw 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819
  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>SMRPS03500_교육신청및변경승인</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <list1>
  11. <educprcslist/>
  12. <educprcslist1/>
  13. </list1>
  14. <list2>
  15. <eductrgtemplist/>
  16. </list2>
  17. </main>
  18. <send>
  19. <retrparams1>
  20. <instcd/>
  21. <appyy/>
  22. <mainbdunit/>
  23. <educflag/>
  24. <dutunitcd/>
  25. <dutunitnm/>
  26. <emplno/>
  27. <emplnm/>
  28. <cmpltyn/>
  29. <dutinstcd/>
  30. <dutinstnm/>
  31. <instnm/>
  32. </retrparams1>
  33. <retrparams2>
  34. <educcd/>
  35. <educdg/>
  36. <instcd/>
  37. <dutdeptcd/>
  38. <appyy/>
  39. <dutinstcd/>
  40. <cmpltyn/>
  41. <emplno/>
  42. <gubun/>
  43. </retrparams2>
  44. <retrparams3>
  45. </retrparams3>
  46. </send>
  47. <init>
  48. <item>
  49. <value>N</value>
  50. <label>미처리</label>
  51. </item>
  52. <item>
  53. <value>Y</value>
  54. <label>승인</label>
  55. </item>
  56. <item>
  57. <value>R</value>
  58. <label>반려</label>
  59. </item>
  60. <itemset>
  61. <set1>
  62. <value/>
  63. <label/>
  64. </set1>
  65. </itemset>
  66. </init>
  67. <temp/>
  68. </root>
  69. </instance>
  70. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  71. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  72. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  73. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  74. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  75. <script type="javascript" src="../../../mis/educationmngtweb/js/RPS001.js"/>
  76. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  77. <script type="javascript" ev:event="xforms-ready">
  78. <![CDATA[
  79. fInit();
  80. ]]>
  81. </script>
  82. <script type="javascript">
  83. <![CDATA[
  84. var sAllSelYn = "N";
  85. function fInit()
  86. {
  87. model.setValue("/root/send/retrparams1/appyy", getCurrentDate().substr(0, 4));
  88. rpsEducSetComboList("M01-001,M01-002", "cmb_mainbdunit,cmb_educflag", "Y");
  89. model.removenode("/root/main/list1/educprcslist");
  90. model.removenode("/root/main/list1/educprcslist1");
  91. model.removenode("/root/main/list2/eductrgtemplist");
  92. misfMsterDetailSet(grd_educprcslist, null, "TRRPS03501", "N", "byRow");
  93. misfMsterDetailSet(grd_eductrgtemplist, null, "TRRPS03502", "Y");
  94. // 기관, 부서를 user session에 있는 내용을 세팅한다.
  95. model.setValue("/root/send/retrparams1/instnm", getUserInfo("dutplceinstnm"));
  96. model.setValue("/root/send/retrparams1/instcd", getUserInfo("dutplceinstcd"));
  97. model.setValue("/root/send/retrparams1/dutunitcd", getUserInfo("dutplcecd"));
  98. model.setValue("/root/send/retrparams1/dutunitnm", getUserInfo("dutplcenm"));
  99. model.setValue("/root/send/retrparams1/dutinstcd", getUserInfo("dutplceinstcd"));
  100. model.setValue("/root/send/retrparams1/dutinstnm", getUserInfo("dutplceinstnm"));
  101. grd_educprcslist1.rowHeight(0) = 43;
  102. grd_eductrgtemplist.fixedcellcheckbox(1,grd_eductrgtemplist.colRef("deptchk"))=true; // 그리드에 있는 전체선택 체크박스
  103. grd_eductrgtemplist.fixedcellcheckbox(1,grd_eductrgtemplist.colRef("lastchk"))=true;
  104. fCheck() ;
  105. model.removenode("/root/main/list2/eductrgtemplist");
  106. model.refresh();
  107. }
  108. function fCheck() {
  109. btn_search.disabled = !checkAuth("R") ;
  110. btn_save.disabled = !checkAuth("X") ;
  111. if( checkAuth("X") ) {
  112. var userinstcd = getUserInfo("dutplceinstcd");
  113. var userdeptcd = getUserInfo("dutplcecd");
  114. if( userinstcd == '001' || userinstcd == '012' ) {
  115. ipt_dutinstcd.disabled = false;
  116. ipt_dutinstnm.disabled = false;
  117. ipt_instcd.disabled = false;
  118. ipt_instnm.disabled = false;
  119. btn_inst.disabled = false;
  120. btn_dutinst.disabled = false;
  121. }
  122. else {
  123. ipt_dutinstcd.disabled = true;
  124. ipt_dutinstnm.disabled = true;
  125. ipt_instcd.disabled = true;
  126. ipt_instnm.disabled = true;
  127. btn_inst.disabled = true;
  128. btn_dutinst.disabled = true;
  129. }
  130. // 인사팀의 경우 전체부서를 볼수 있으므로 활성화 시켜둔다.
  131. // 인사팀은 부서장이 부재시 대신 승인할수도 있어야 하므로, 부서장 승인도 활성화 시켜둔다.
  132. // 인사팀용 화면이므로 인사팀 말고는 이 화면에 대한 권한이 없어야 한다.
  133. ipt_dutunitcd.disabled = false;
  134. ipt_dutunitnm.disabled = false;
  135. btn_dutunit.disabled = false;
  136. grd_eductrgtemplist.fixedcellcheckbox(1,grd_eductrgtemplist.colRef("deptchk"))=true; // 그리드에 있는 전체선택 체크박스
  137. grd_eductrgtemplist.colDisabled(grd_eductrgtemplist.colRef("deptchk") ) = false;
  138. grd_eductrgtemplist.colDisabled(grd_eductrgtemplist.colRef("deptaprvyn") ) = false;
  139. grd_eductrgtemplist.colDisabled(grd_eductrgtemplist.colRef("deptreturn") ) = false;
  140. }
  141. }
  142. function fEducListRetrieve()
  143. {
  144. model.removeNodeset("/root/main/list2/eductrgtemplist");
  145. grd_eductrgtemplist.refresh();
  146. var iRowIdx = grd_educprcslist.row;
  147. submit("TRRPS03501");
  148. fListAddCombo() ;
  149. if(grd_educprcslist.rows > 1)
  150. {
  151. if(iRowIdx == -1) iRowIdx = 1;
  152. else
  153. if(iRowIdx > grd_educprcslist.rows) iRowIdx = grd_educprcslist.rows - 1;
  154. grd_educprcslist.row = iRowIdx;
  155. grd_educprcslist.select(iRowIdx, 1, iRowIdx, 10) = true;
  156. grd_educprcslist.dispatch("ondblclick");
  157. }
  158. else
  159. {
  160. model.removeNodeset("/root/main/list2/eductrgtemplist");
  161. model.refresh();
  162. }
  163. }
  164. function feducdtlistRetrieve()
  165. {
  166. model.setValue("/root/send/retrparams2/educcd", grd_educprcslist1.valueMatrix(grd_educprcslist1.row, grd_educprcslist1.colRef("educcd"))); // 교육코드
  167. model.setValue("/root/send/retrparams2/educdg", grd_educprcslist1.valueMatrix(grd_educprcslist1.row, grd_educprcslist1.colRef("educdg"))); // 교육차수
  168. model.setValue("/root/send/retrparams2/gubun", grd_educprcslist1.valueMatrix(grd_educprcslist1.row, grd_educprcslist1.colRef("gubun"))); // 교육차수
  169. model.setValue("/root/send/retrparams2/appyy", ipt_yyyy.value); // 적용년도
  170. model.setValue("/root/send/retrparams2/instcd", ipt_instcd.value); // 주체기관코드
  171. model.setValue("/root/send/retrparams2/cmpltyn", rdo_cmpltyn.value); // 승인여부
  172. model.setValue("/root/send/retrparams2/emplno", ipt_emplno.value); // 사원번호
  173. var userinstcd = getUserInfo("dutplceinstcd");
  174. var userdeptcd = getUserInfo("dutplcecd");
  175. if( userinstcd == '001' || (userinstcd == '012' && ( userdeptcd == '4020500000' || userdeptcd == '4020503000' ))) {
  176. // 의료원이면 전체기관을 볼수있으므로 null을 넘긴다.
  177. model.setValue("/root/send/retrparams2/dutinstcd", ""); // 근무기관
  178. }
  179. else
  180. model.setValue("/root/send/retrparams2/dutinstcd", ipt_dutinstcd.value); // 근무기관
  181. if( userdeptcd == '4020500000' || userdeptcd == '4020503000' ) {
  182. // 인사팀의 경우 전체부서를 볼수 있으므로 null을 넘겨준다.
  183. model.setValue("/root/send/retrparams2/dutdeptcd", ""); // 근무부서
  184. }
  185. else {
  186. model.setValue("/root/send/retrparams2/dutdeptcd", ipt_dutunitcd.value); // 근무부서
  187. }
  188. submit("TRRPS03502");
  189. if( grd_educprcslist1.valueMatrix(grd_educprcslist1.row, grd_educprcslist1.colRef("gubun")) == "N" ) {
  190. grd_eductrgtemplist.fixedcellcheckbox(1,grd_eductrgtemplist.colRef("deptchk"))=false;
  191. grd_eductrgtemplist.colDisabled(grd_eductrgtemplist.colRef("deptaprvyn") ) = true;
  192. grd_eductrgtemplist.colDisabled(grd_eductrgtemplist.colRef("deptchk") ) = true;
  193. grd_eductrgtemplist.colDisabled(grd_eductrgtemplist.colRef("deptreturn") ) = true;
  194. grd_eductrgtemplist.fixedcellcheckbox(1,grd_eductrgtemplist.colRef("lastchk"))=false;
  195. grd_eductrgtemplist.colDisabled(grd_eductrgtemplist.colRef("lastaprvyn") ) = true;
  196. grd_eductrgtemplist.colDisabled(grd_eductrgtemplist.colRef("lastchk") ) = true;
  197. grd_eductrgtemplist.colDisabled(grd_eductrgtemplist.colRef("lastreturn") ) = true;
  198. }
  199. else {
  200. grd_eductrgtemplist.fixedcellcheckbox(1,grd_eductrgtemplist.colRef("deptchk"))=true;
  201. grd_eductrgtemplist.colDisabled(grd_eductrgtemplist.colRef("deptaprvyn") ) = false;
  202. grd_eductrgtemplist.colDisabled(grd_eductrgtemplist.colRef("deptchk") ) = false;
  203. grd_eductrgtemplist.colDisabled(grd_eductrgtemplist.colRef("deptreturn") ) = false;
  204. grd_eductrgtemplist.fixedcellcheckbox(1,grd_eductrgtemplist.colRef("lastchk"))=true;
  205. grd_eductrgtemplist.colDisabled(grd_eductrgtemplist.colRef("lastaprvyn") ) = false;
  206. grd_eductrgtemplist.colDisabled(grd_eductrgtemplist.colRef("lastchk") ) = false;
  207. grd_eductrgtemplist.colDisabled(grd_eductrgtemplist.colRef("lastreturn") ) = false;
  208. }
  209. // fCheck() ;
  210. }
  211. function fRgstTrgtManList()
  212. {
  213. if(grd_educprcslist.rows == 1)
  214. {
  215. messageBox("교육내용을", "C002");
  216. return;
  217. }
  218. for(var i=1; i<grd_emplist.rows; i++)
  219. {
  220. var sChk = grd_emplist.valueMatrix(i, grd_emplist.colRef("chk"));
  221. if(sChk == "Y")
  222. {
  223. var sEmplno = model.getValue(grd_emplist.nodeset + "[" + i + "]/emplno");
  224. var iRowIdx = grd_eductrgtemplist.findRow(sEmplno, 0, grd_eductrgtemplist.colRef("emplno"));
  225. if(iRowIdx != -1) continue;
  226. misfGridIUD(grd_eductrgtemplist, "A");
  227. }
  228. }
  229. }
  230. function fSave()
  231. {
  232. model.makeNode("/root/send/retrparams3");
  233. model.setValue("/root/send/retrparams3", grd_eductrgtemplist.getUpdateData());
  234. if( submit("TXRPS03501") )
  235. messageBox("","I001");
  236. }
  237. function fListAddCombo() {
  238. // 교육명 세팅
  239. for(var i = grd_educprcslist.fixedRows, j = grd_educprcslist1.fixedRows; i < grd_educprcslist.rows; i++ ) {
  240. if( i == "1" ) { // grd_educprcslist1에 아무내용도 없을때는 무조건 addrow
  241. grd_educprcslist1.addRow(false);
  242. grd_educprcslist1.valueMatrix(i,grd_educprcslist1.colRef("educcd")) = grd_educprcslist.valueMatrix(i,grd_educprcslist.colRef("educcd"));
  243. grd_educprcslist1.valueMatrix(i,grd_educprcslist1.colRef("educcdnm")) = grd_educprcslist.valueMatrix(i,grd_educprcslist.colRef("educcdnm"));
  244. grd_educprcslist1.valueMatrix(i,grd_educprcslist1.colRef("gubun")) = grd_educprcslist.valueMatrix(i,grd_educprcslist.colRef("gubun"));
  245. j++;
  246. }
  247. else if( grd_educprcslist.valueMatrix(i,grd_educprcslist.colRef("educcd")) == grd_educprcslist1.valueMatrix(1,grd_educprcslist1.colRef("educcd")) ) {
  248. continue;
  249. }
  250. else if( grd_educprcslist.valueMatrix(i,grd_educprcslist.colRef("educcd")) == grd_educprcslist1.valueMatrix(j,grd_educprcslist1.colRef("educcd")) ) {
  251. continue;
  252. }
  253. else if( grd_educprcslist.valueMatrix(i,grd_educprcslist.colRef("educcd")) != grd_educprcslist1.valueMatrix(j-1,grd_educprcslist1.colRef("educcd")) ) {
  254. // educcd가 다른경우
  255. grd_educprcslist1.addRow(false);
  256. grd_educprcslist1.valueMatrix(j,grd_educprcslist1.colRef("educcd")) = grd_educprcslist.valueMatrix(i,grd_educprcslist.colRef("educcd"));
  257. grd_educprcslist1.valueMatrix(j,grd_educprcslist1.colRef("educcdnm")) = grd_educprcslist.valueMatrix(i,grd_educprcslist.colRef("educcdnm"));
  258. grd_educprcslist1.valueMatrix(j,grd_educprcslist1.colRef("gubun")) = grd_educprcslist.valueMatrix(i,grd_educprcslist.colRef("gubun"));
  259. j++;
  260. }
  261. }
  262. // 차수 콤보 세팅
  263. var dg = 1;
  264. for(var i = grd_educprcslist.fixedRows, j = grd_educprcslist1.fixedRows; i < grd_educprcslist.rows; i++ ) {
  265. if( i == grd_educprcslist.fixedRows && j == grd_educprcslist1.fixedRows) { // 맨첫번째 row일때
  266. model.makeNode("/root/init/itemset/set"+i+"["+dg+"]/value");
  267. model.makeNode("/root/init/itemset/set"+i+"["+dg+"]/label");
  268. model.setValue("/root/init/itemset/set"+i+"["+dg+"]/value","");
  269. model.setValue("/root/init/itemset/set"+i+"["+dg+"]/label","전체");
  270. dg++;
  271. model.makeNode("/root/init/itemset/set"+i+"["+dg+"]/value");
  272. model.makeNode("/root/init/itemset/set"+i+"["+dg+"]/label");
  273. model.setValue("/root/init/itemset/set"+i+"["+dg+"]/value",grd_educprcslist.valueMatrix(i,grd_educprcslist.colRef("educdg")));
  274. model.setValue("/root/init/itemset/set"+i+"["+dg+"]/label",grd_educprcslist.valueMatrix(i,grd_educprcslist.colRef("educdg")));
  275. }
  276. else if( grd_educprcslist.valueMatrix(i,grd_educprcslist.colRef("educcd")) == grd_educprcslist1.valueMatrix(1,grd_educprcslist1.colRef("educcd")) ) {
  277. // 첫번째 row의 educcd와 현재진행중인row의 educcd가 같으면 차수만 추가
  278. dg++;
  279. model.makeNode("/root/init/itemset/set"+j+"["+dg+"]/value");
  280. model.makeNode("/root/init/itemset/set"+j+"["+dg+"]/label");
  281. model.setValue("/root/init/itemset/set"+j+"["+dg+"]/value",grd_educprcslist.valueMatrix(i,grd_educprcslist.colRef("educdg")));
  282. model.setValue("/root/init/itemset/set"+j+"["+dg+"]/label",grd_educprcslist.valueMatrix(i,grd_educprcslist.colRef("educdg")));
  283. }
  284. else if( grd_educprcslist.valueMatrix(i,grd_educprcslist.colRef("educcd")) == grd_educprcslist1.valueMatrix(j,grd_educprcslist1.colRef("educcd")) ) {
  285. dg++;
  286. model.makeNode("/root/init/itemset/set"+j+"["+dg+"]/value");
  287. model.makeNode("/root/init/itemset/set"+j+"["+dg+"]/label");
  288. model.setValue("/root/init/itemset/set"+j+"["+dg+"]/value",grd_educprcslist.valueMatrix(i,grd_educprcslist.colRef("educdg")));
  289. model.setValue("/root/init/itemset/set"+j+"["+dg+"]/label",grd_educprcslist.valueMatrix(i,grd_educprcslist.colRef("educdg")));
  290. }
  291. else if( grd_educprcslist.valueMatrix(i,grd_educprcslist.colRef("educcd")) != grd_educprcslist1.valueMatrix(j,grd_educprcslist1.colRef("educcd")) ) {
  292. // educcd가 다른경우
  293. dg = 1;
  294. j++
  295. model.makeNode("/root/init/itemset/set"+j+"["+dg+"]/value");
  296. model.makeNode("/root/init/itemset/set"+j+"["+dg+"]/label");
  297. model.setValue("/root/init/itemset/set"+j+"["+dg+"]/value","");
  298. model.setValue("/root/init/itemset/set"+j+"["+dg+"]/label","전체");
  299. dg++;
  300. model.makeNode("/root/init/itemset/set"+j+"["+dg+"]/value");
  301. model.makeNode("/root/init/itemset/set"+j+"["+dg+"]/label");
  302. model.setValue("/root/init/itemset/set"+j+"["+dg+"]/value",grd_educprcslist.valueMatrix(i,grd_educprcslist.colRef("educdg")));
  303. model.setValue("/root/init/itemset/set"+j+"["+dg+"]/label",grd_educprcslist.valueMatrix(i,grd_educprcslist.colRef("educdg")));
  304. }
  305. }
  306. // itemset을 row별로 설정..
  307. for(var i = grd_educprcslist1.fixedRows; i < grd_educprcslist1.rows; i++ ) {
  308. grd_educprcslist1.cellComboNodeset(i, 2) = "/root/init/itemset/set"+i;
  309. }
  310. grd_educprcslist1.row = 1; // grd_educprcslist1그리드의 1번 row를 선택한것과 같음.
  311. model.refresh();
  312. }
  313. function fCheckYN( row, col ) {
  314. if( grd_eductrgtemplist.colRef("deptchk") == col && grd_eductrgtemplist.valueMatrix(row,grd_eductrgtemplist.colRef("deptchk")) == 'Y' ) {
  315. grd_eductrgtemplist.valueMatrix(row,grd_eductrgtemplist.colRef("flagd")) = "D";
  316. }
  317. else if( grd_eductrgtemplist.colRef("deptchk") == col
  318. && grd_eductrgtemplist.valueMatrix(row,grd_eductrgtemplist.colRef("deptchk")) == 'N' ) {
  319. grd_eductrgtemplist.valueMatrix(row,grd_eductrgtemplist.colRef("flagd")) = "D";
  320. }
  321. if( grd_eductrgtemplist.colRef("lastchk") == col && grd_eductrgtemplist.valueMatrix(row,grd_eductrgtemplist.colRef("lastchk")) == 'Y' ) {
  322. grd_eductrgtemplist.valueMatrix(row,grd_eductrgtemplist.colRef("flagl")) = "L";
  323. }
  324. else if( grd_eductrgtemplist.colRef("lastchk") == col ) {
  325. }
  326. if( grd_eductrgtemplist.colRef("deptaprvyn") == col ) {
  327. grd_eductrgtemplist.valueMatrix(row,grd_eductrgtemplist.colRef("flagd")) = "D";
  328. }
  329. if( grd_eductrgtemplist.colRef("deptreturn") == col ) {
  330. grd_eductrgtemplist.valueMatrix(row,grd_eductrgtemplist.colRef("flagd")) = "D";
  331. }
  332. if( grd_eductrgtemplist.colRef("lastaprvyn") == col ) {
  333. grd_eductrgtemplist.valueMatrix(row,grd_eductrgtemplist.colRef("flagl")) = "L";
  334. }
  335. if( grd_eductrgtemplist.colRef("lastreturn") == col ) {
  336. grd_eductrgtemplist.valueMatrix(row,grd_eductrgtemplist.colRef("flagl")) = "L";
  337. }
  338. }
  339. function fSetColor() {
  340. grd_eductrgtemplist.rebuildStyle();
  341. for( var idx = grd_eductrgtemplist.fixedRows; idx <= grd_eductrgtemplist.rows; idx ++ ) {
  342. if( grd_eductrgtemplist.valueMatrix(idx, grd_eductrgtemplist.colRef("deptaprvyn")) == 'Y' ) { // 부서장승인상태이면
  343. grd_eductrgtemplist.rowStyle(idx, "data", "color") = "blue";
  344. }
  345. else if( grd_eductrgtemplist.valueMatrix(idx, grd_eductrgtemplist.colRef("lastaprvyn")) == 'Y' ) { // 인사팀확인상태이면
  346. grd_eductrgtemplist.rowStyle(idx, "data", "color") = "blue";
  347. }
  348. else if( grd_eductrgtemplist.valueMatrix(idx, grd_eductrgtemplist.colRef("deptaprvyn")) == 'R' ) { // 부서장승인상태이면
  349. grd_eductrgtemplist.rowStyle(idx, "data", "color") = "red";
  350. }
  351. else if( grd_eductrgtemplist.valueMatrix(idx, grd_eductrgtemplist.colRef("lastaprvyn")) == 'R' ) { // 인사팀확인상태이면
  352. grd_eductrgtemplist.rowStyle(idx, "data", "color") = "red";
  353. }
  354. }
  355. model.refresh();
  356. }
  357. ]]>
  358. </script>
  359. <submission id="TRRPS03501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/retrparams1" resultref="/root/main/list1"/>
  360. <submission id="TRRPS03502" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/retrparams2" resultref="/root/main/list2"/>
  361. <submission id="TXRPS03501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/retrparams3" resultref="root/temp"/>
  362. </model>
  363. </xhtml:head>
  364. <xhtml:body pagewidth="1211" pageheight="784" guideline="1,1195;" style="text-align:center; margin-left:8; margin-right:8; ">
  365. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  366. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">교육신청 및 변경승인 (인사팀용)</caption>
  367. </group>
  368. <group id="group2" scroll="auto" style="left:0px; top:39px; width:1195px; height:744px; ">
  369. <datagrid id="grd_eductrgtemplist" nodeset="/root/main/list2/eductrgtemplist" autoresize="true" caption="이전차수^차수^기관^부서^사번^이 름^교육기간^교육기간^변경사유^이수여부^부서장^부서장^부서장^인사팀^인사팀^인사팀^flagD^flagL^caption1^caption2^caption3|이전차수^차수^기관^부서^사번^이 름^From^To^변경사유^이수여부^^승인여부^반려사유^^확인여부^반려사유^flagD^flagL^caption1^caption2^caption3" colsep="^" colwidth="36, 35, 110, 100, 60, 65, 90, 90, 200, 35, 30, 70, 100, 30, 70, 100, 44, 44, 6, 5, 5" dataheight="25" explorerbar="sortshow" extendlastcol="scroll" mergecellsfixedrows="byrowrec" rowheader="update" rowsep="|" style="left:281px; top:91px; width:912px; height:649px; text-align:center; ">
  370. <col ref="appdg" visibility="hidden"/>
  371. <col ref="educdg" visibility="visible" style="text-align:center; "/>
  372. <col ref="dutinstcd"/>
  373. <col ref="deptnm"/>
  374. <col ref="emplno" visibility="visible" style="text-align:center; "/>
  375. <col ref="emplnm" visibility="visible"/>
  376. <col disabled="true" ref="educfromdd" type="inputdate" format="yyyy-mm-dd" style="text-align:center; "/>
  377. <col disabled="true" ref="eductodd" type="inputdate" format="yyyy-mm-dd" style="text-align:center; "/>
  378. <col ref="updtresn" visibility="visible" style="text-align:left; "/>
  379. <col checkvalue="Y,N" disabled="true" ref="cmpltcursstdyyn" type="checkbox" visibility="hidden"/>
  380. <col checkvalue="Y,N" ref="deptchk" type="checkbox"/>
  381. <col disabled="true" ref="deptaprvyn" type="combo">
  382. <choices>
  383. <itemset nodeset="/root/init/item">
  384. <label ref="label"/>
  385. <value ref="value"/>
  386. </itemset>
  387. </choices>
  388. </col>
  389. <col ref="deptreturn" type="input" style="text-align:left; "/>
  390. <col checkvalue="Y,N" ref="lastchk" type="checkbox"/>
  391. <col ref="lastaprvyn" type="combo">
  392. <choices>
  393. <itemset nodeset="/root/init/item">
  394. <label ref="label"/>
  395. <value ref="value"/>
  396. </itemset>
  397. </choices>
  398. </col>
  399. <col ref="lastreturn" type="input" style="text-align:left; "/>
  400. <col ref="flagd" visibility="hidden"/>
  401. <col ref="flagl" visibility="hidden"/>
  402. <col ref="instcd" visibility="hidden"/>
  403. <col ref="appyy" visibility="hidden"/>
  404. <col ref="educcd" visibility="hidden"/>
  405. <script type="javascript" ev:event="onaftersort">
  406. <![CDATA[
  407. grd_eductrgtemplist.gridToInstance();
  408. // gridToInstance : 현재 화면에 보이는 값으로 그리드의 인스턴스를 재구성
  409. ]]>
  410. </script>
  411. <script type="javascript" ev:event="xforms-value-changed">
  412. <![CDATA[
  413. // 셀의 데이터가 변경되었을때 발생하는 이벤트..변경된 데이터가 부서장승인인지, 인사팀 승인인지 구분하기 위해서 필요..
  414. var row = grd_eductrgtemplist.row;
  415. var col = grd_eductrgtemplist.col;
  416. fCheckYN(row,col);
  417. ]]>
  418. </script>
  419. <script type="javascript" ev:event="onmouseup">
  420. <![CDATA[
  421. var row = grd_eductrgtemplist.row;
  422. var col = grd_eductrgtemplist.col;
  423. if( grd_eductrgtemplist.valueMatrix(1,grd_eductrgtemplist.colRef("deptchk")) == grd_eductrgtemplist.valueMatrix(row,col) ) {
  424. // 부서장승인여부 전체선택이 클릭되었을때
  425. }
  426. else if( grd_eductrgtemplist.valueMatrix(1,grd_eductrgtemplist.colRef("lastchk")) == grd_eductrgtemplist.valueMatrix(row,col) ) {
  427. // 인사팀확인여부 전체선택이 클릭되었을때
  428. }
  429. ]]>
  430. </script>
  431. </datagrid>
  432. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1194px; height:62px; background-color:#fffbf2; border-color:#ffd799; "/>
  433. <line id="line13" class="line_4" style="x1:1105px; y1:6px; x2:1105px; y2:55px; "/>
  434. <caption id="caption1" class="search_name" style="left:546px; top:9px; width:97px; height:17px; ">주체기관 :</caption>
  435. <caption id="caption20" class="tit_2" style="left:10px; top:374px; width:169px; height:13px; ">교육대상자등록</caption>
  436. <caption id="caption10" class="search_name" style="left:17px; top:9px; width:90px; height:17px; ">년 도 :</caption>
  437. <caption id="caption2" class="search_name" style="left:255px; top:9px; width:86px; height:17px; ">주체단위 :</caption>
  438. <caption id="caption3" class="search_name" style="left:806px; top:9px; width:91px; height:17px; ">교육구분 :</caption>
  439. <line id="line5" class="line_1" style="x1:0px; y1:87px; x2:1194px; y2:88px; "/>
  440. <caption id="caption9" class="tit_2" style="left:5px; top:72px; width:169px; height:14px; ">교육과정 리스트</caption>
  441. <input id="ipt_yyyy" ref="/root/send/retrparams1/appyy" class="input_s_essential" inputtype="date" format="yyyy" style="left:102px; top:9px; width:82px; height:19px; text-align:center; ">
  442. <script type="javascript" ev:event="xforms-value-changed">
  443. <![CDATA[
  444. model.setValue("/root/send/retrparams2/appyy", "/root/send/retrparams1/appyy");
  445. fEducListRetrieve();
  446. ]]>
  447. </script>
  448. </input>
  449. <select1 id="cmb_mainbdunit" ref="/root/send/retrparams1/mainbdunit" class="combo_search" appearance="minimal" style="left:340px; top:9px; width:100px; height:19px; ">
  450. <choices>
  451. <itemset>
  452. <label/>
  453. <value/>
  454. </itemset>
  455. </choices>
  456. <script type="javascript" ev:event="xforms-value-changed">
  457. <![CDATA[
  458. fEducListRetrieve();
  459. ]]>
  460. </script>
  461. </select1>
  462. <select1 id="cmb_educflag" ref="/root/send/retrparams1/educflag" class="combo_search" appearance="minimal" style="left:891px; top:9px; width:144px; height:19px; ">
  463. <choices>
  464. <itemset>
  465. <label/>
  466. <value/>
  467. </itemset>
  468. </choices>
  469. <script type="javascript" ev:event="xforms-value-changed">
  470. <![CDATA[
  471. fEducListRetrieve();
  472. ]]>
  473. </script>
  474. </select1>
  475. <line id="line2" class="line_1" style="x1:277px; y1:87px; x2:278px; y2:741px; "/>
  476. <caption id="caption13" class="tit_2" style="left:280px; top:72px; width:169px; height:13px; ">직원 리스트</caption>
  477. <datagrid id="grd_educprcslist1" nodeset="/root/main/list1/educprcslist1" autoresize="true" caption="교육코드^과정명^개인&#xA;신청^차수" colsep="^" colwidth="78, 180, 40, 50" dataheight="25" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="25" rowsep="|" style="left:0px; top:91px; width:275px; height:649px; ">
  478. <col ref="educcd" visibility="hidden" style="text-align:left; "/>
  479. <col ref="educcdnm" style="text-align:left; "/>
  480. <col ref="gubun" type="output"/>
  481. <col ref="educdg" type="combo" style="text-align:center; ">
  482. <choices>
  483. <itemset nodeset="/root/init/itemset/set1">
  484. <label ref="label"/>
  485. <value ref="value"/>
  486. </itemset>
  487. </choices>
  488. </col>
  489. <script type="javascript" ev:event="ondblclick">
  490. <![CDATA[
  491. var rowcnt = grd_eductrgtemplist.rows-1;
  492. for( var i = 0; i < rowcnt; i++ ) {
  493. model.removenode("/root/main/list2/eductrgtemplist");
  494. }
  495. grd_eductrgtemplist.refresh();
  496. misfMsterDetailSet(grd_eductrgtemplist, null, "TRRPS03502", "Y");
  497. feducdtlistRetrieve();
  498. fSetColor(); // 직원리스트의 색상변경
  499. ]]>
  500. </script>
  501. <script type="javascript" ev:event="xforms-value-changed">
  502. <![CDATA[
  503. // 콤보박스의 내용이 변경되었을때...
  504. for(var i = grd_educprcslist.fixedRows; i < grd_educprcslist.rows; i++ ) {
  505. if( grd_educprcslist.valueMatrix(i,grd_educprcslist.colRef("educcd")) == grd_educprcslist1.valueMatrix(grd_educprcslist1.row,grd_educprcslist1.colRef("educcd"))
  506. && grd_educprcslist.valueMatrix(i,grd_educprcslist.colRef("educdg")) == grd_educprcslist1.valueMatrix(grd_educprcslist1.row,grd_educprcslist1.colRef("educdg")) ) {
  507. grd_educprcslist1.valueMatrix(grd_educprcslist1.row,grd_educprcslist1.colRef("emplcnt")) = grd_educprcslist.valueMatrix(i,grd_educprcslist.colRef("emplcnt"));
  508. grd_educprcslist1.valueMatrix(grd_educprcslist1.row,grd_educprcslist1.colRef("educcapa")) = grd_educprcslist.valueMatrix(i,grd_educprcslist.colRef("educcapa"));
  509. }
  510. else if( grd_educprcslist.valueMatrix(i,grd_educprcslist.colRef("educcd")) != grd_educprcslist1.valueMatrix(grd_educprcslist1.row,grd_educprcslist1.colRef("educcd")) ) {
  511. // educcd가 다른경우
  512. continue;
  513. }
  514. }
  515. feducdtlistRetrieve();
  516. fSetColor();
  517. ]]>
  518. </script>
  519. </datagrid>
  520. <button id="btn_search" class="btn1_letter2" style="left:1122px; top:21px; width:56px; height:22px; ">
  521. <caption>조회</caption>
  522. <script type="javascript" ev:event="DOMActivate">
  523. <![CDATA[
  524. grd_eductrgtemplist.fixedcellischeck(1,10) = false; // 전체 체크박스를 초기화
  525. grd_eductrgtemplist.fixedcellischeck(1,13) = false; // 전체 체크박스를 초기화
  526. if( grd_educprcslist1.rows != grd_educprcslist1.fixedRows ) {
  527. ;
  528. }
  529. else {
  530. fEducListRetrieve();
  531. }
  532. feducdtlistRetrieve(); // 직원리스트 세팅
  533. fSetColor(); // 직원리스트의 색상변경
  534. ]]>
  535. </script>
  536. </button>
  537. <button id="btn_saveexcel" class="btn2_letter4" style="left:969px; top:66px; width:64px; height:19px; ">
  538. <caption>엑셀저장</caption>
  539. <script type="javascript" ev:event="DOMActivate">
  540. <![CDATA[
  541. var fileName = window.fileDialog("save", ",", false, "excel", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  542. grd_eductrgtemplist.saveExcel(fileName,"sheetname:sheet1;colhiddenextend:false;rowhiddenextend:false;col_2:label;col_11:label;col_13:label;");
  543. ]]>
  544. </script>
  545. </button>
  546. <caption id="caption16" class="search_name" style="left:255px; top:33px; width:100px; height:17px; ">부 서 :</caption>
  547. <caption id="caption24" class="search_name" style="left:546px; top:33px; width:100px; height:17px; ">사원번호 :</caption>
  548. <caption id="caption26" class="search_name" style="left:17px; top:33px; width:100px; height:17px; ">기 관 :</caption>
  549. <button id="btn_empl" class="icon_search" style="left:705px; top:33px; width:16px; height:16px; ">
  550. <caption/>
  551. <script type="javascript" ev:event="DOMActivate">
  552. <![CDATA[
  553. rpbfOpenPopUpList("SPRPB00101", ipt_emplno, "emplno,emplnm", "", "N");
  554. model.setValue("/root/send/retrparams2/emplno", ipt_emplno.value);
  555. model.refresh();
  556. ]]>
  557. </script>
  558. </button>
  559. <input id="ipt_emplnm" ref="/root/send/retrparams1/emplnm" class="input_search" navindex="7" style="left:724px; top:33px; width:69px; height:19px; text-align:center; "/>
  560. <input id="ipt_emplno" ref="/root/send/retrparams1/emplno" class="input_s_essential" navindex="6" style="left:631px; top:33px; width:70px; height:19px; text-align:center; "/>
  561. <caption id="caption4" class="search_name" style="left:806px; top:33px; width:91px; height:17px; ">승인여부 :</caption>
  562. <select1 id="rdo_cmpltyn" ref="/root/send/retrparams1/cmpltyn" appearance="full" cellspacing="2" cols="4" overflow="visible" style="left:891px; top:33px; width:199px; height:20px; border-style:none; ">
  563. <choices>
  564. <item>
  565. <label>전체</label>
  566. <value/>
  567. </item>
  568. <item>
  569. <label>미처리</label>
  570. <value>N</value>
  571. </item>
  572. <item>
  573. <label>승인</label>
  574. <value>Y</value>
  575. </item>
  576. <item>
  577. <label>반려</label>
  578. <value>R</value>
  579. </item>
  580. </choices>
  581. </select1>
  582. <button id="btn_dutunit" class="icon_search" disabled="true" style="left:423px; top:33px; width:16px; height:16px; ">
  583. <caption/>
  584. <script type="javascript" ev:event="DOMActivate">
  585. <![CDATA[
  586. misfOpenPopUpList("02", ipt_dutunitnm, "", "dutunitcd,dutunitnm", ipt_dutinstcd.value, "instcd");
  587. model.refresh();
  588. ]]>
  589. </script>
  590. </button>
  591. <input id="ipt_dutunitnm" ref="/root/send/retrparams1/dutunitnm" class="input_search" disabled="true" navindex="3" style="left:440px; top:33px; width:90px; height:19px; ">
  592. <script type="javascript" ev:event="xforms-value-changed">
  593. <![CDATA[
  594. misfValidationCheck("02", "", "dutunitcd,dutunitnm", ipt_dutinstcd.value, "instcd");
  595. model.refresh();
  596. ]]>
  597. </script>
  598. <script type="javascript" ev:event="onkeypress">
  599. <![CDATA[
  600. if(event.keyCode == 13) {
  601. ipt_dutunitnm.value = ipt_dutunitnm.currentText;
  602. misfValidationCheck("02", "", "dutunitcd,dutunitnm", ipt_dutinstcd.value, "instcd");
  603. model.refresh();
  604. }
  605. ]]>
  606. </script>
  607. </input>
  608. <input id="ipt_dutunitcd" ref="/root/send/retrparams1/dutunitcd" class="input_search" disabled="true" navindex="2" maxlength="10" style="left:340px; top:33px; width:81px; height:19px; text-align:center; ">
  609. <script type="javascript" ev:event="xforms-value-changed">
  610. <![CDATA[
  611. misfValidationCheck("02", "", "dutunitcd,dutunitnm", ipt_dutinstcd.value, "instcd");
  612. model.refresh();
  613. ]]>
  614. </script>
  615. <script type="javascript" ev:event="onkeypress">
  616. <![CDATA[
  617. if(event.keyCode == 13)
  618. {
  619. ipt_dutunitcd.value = ipt_dutunitcd.currentText;
  620. misfValidationCheck("02", "", "dutunitcd,dutunitnm", ipt_dutinstcd.value, "instcd");
  621. model.refresh();
  622. }
  623. ]]>
  624. </script>
  625. </input>
  626. <datagrid id="grd_educprcslist" nodeset="/root/main/list1/educprcslist" visibility="hidden" autoresize="true" caption="교육코드^과정명^구분^차수" colsep="^" colwidth="78, 180, 100, 50" dataheight="25" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="25" rowsep="|" style="left:0px; top:350px; width:275px; height:184px; ">
  627. <col ref="educcd" visibility="hidden" style="text-align:left; "/>
  628. <col ref="educcdnm" style="text-align:left; "/>
  629. <col ref="gubun"/>
  630. <col ref="educdg" style="text-align:center; "/>
  631. </datagrid>
  632. <button id="button1" class="btn5_letter2" style="left:1040px; top:66px; width:42px; height:19px; ">
  633. <caption>승인</caption>
  634. <script type="javascript" ev:event="DOMActivate">
  635. <![CDATA[
  636. if( messageBox("승인 하시겠습니까?","Q999") == '6' ) {
  637. for(var i = grd_eductrgtemplist.fixedRows; i < grd_eductrgtemplist.rows; i++){
  638. if(grd_eductrgtemplist.valueMatrix(i,grd_eductrgtemplist.colRef("deptchk")) == "Y") {
  639. grd_eductrgtemplist.addStatus(i, "update");
  640. grd_eductrgtemplist.valueMatrix(i,grd_eductrgtemplist.colRef("flagd")) = "D";
  641. grd_eductrgtemplist.valueMatrix(i,grd_eductrgtemplist.colRef("deptaprvyn")) = "Y";
  642. }
  643. else ;
  644. if(grd_eductrgtemplist.valueMatrix(i,grd_eductrgtemplist.colRef("lastchk")) == "Y") {
  645. grd_eductrgtemplist.addStatus(i, "update");
  646. grd_eductrgtemplist.valueMatrix(i,grd_eductrgtemplist.colRef("flagl")) = "L";
  647. grd_eductrgtemplist.valueMatrix(i,grd_eductrgtemplist.colRef("lastaprvyn")) = "Y";
  648. }
  649. else ;
  650. }
  651. }
  652. ]]>
  653. </script>
  654. </button>
  655. <button id="button2" class="btn5_letter2" style="left:1083px; top:66px; width:42px; height:19px; ">
  656. <caption>반려</caption>
  657. <script type="javascript" ev:event="DOMActivate">
  658. <![CDATA[
  659. if( messageBox("반려 하시겠습니까?","Q999") == '6' ) {
  660. for(var i = grd_eductrgtemplist.fixedRows; i < grd_eductrgtemplist.rows; i++){
  661. if(grd_eductrgtemplist.valueMatrix(i,grd_eductrgtemplist.colRef("deptchk")) == "Y") {
  662. grd_eductrgtemplist.addStatus(i, "update");
  663. grd_eductrgtemplist.valueMatrix(i,grd_eductrgtemplist.colRef("flagd")) = "D";
  664. grd_eductrgtemplist.valueMatrix(i,grd_eductrgtemplist.colRef("deptaprvyn")) = "R";
  665. }
  666. else if(grd_eductrgtemplist.valueMatrix(i,grd_eductrgtemplist.colRef("lastchk")) == "Y") {
  667. grd_eductrgtemplist.addStatus(i, "update");
  668. grd_eductrgtemplist.valueMatrix(i,grd_eductrgtemplist.colRef("flagl")) = "L";
  669. grd_eductrgtemplist.valueMatrix(i,grd_eductrgtemplist.colRef("lastaprvyn")) = "R";
  670. }
  671. else ;
  672. }
  673. }
  674. ]]>
  675. </script>
  676. </button>
  677. <button id="btn_dutinst" class="icon_search" style="left:230px; top:35px; width:16px; height:16px; ">
  678. <caption/>
  679. <script type="javascript" ev:event="DOMActivate">
  680. <![CDATA[
  681. var recv_list = "dutinstcd,dutinstnm";
  682. misfOpenPopUpList("03", ipt_dutinstnm,"Z0007", recv_list, "", "") ;
  683. model.refresh();
  684. ]]>
  685. </script>
  686. </button>
  687. <button id="btn_inst" class="icon_search" style="left:772px; top:11px; width:16px; height:16px; ">
  688. <caption/>
  689. <script type="javascript" ev:event="DOMActivate">
  690. <![CDATA[
  691. var recv_list = "instcd,instnm";
  692. misfOpenPopUpList("03", ipt_instnm,"Z0007", recv_list, "", "") ;
  693. model.refresh();
  694. ]]>
  695. </script>
  696. </button>
  697. <input id="ipt_dutinstnm" ref="/root/send/retrparams1/dutinstnm" class="input_search" appearance="input" style="left:102px; top:35px; width:124px; height:19px; ">
  698. <script type="javascript" ev:event="xforms-value-changed">
  699. <![CDATA[
  700. if( ipt_dutinstnm.value.getByteLength() == '0' ) {
  701. ipt_dutinstcd.value = "" ;
  702. }
  703. model.refresh();
  704. ]]>
  705. </script>
  706. </input>
  707. <input id="ipt_dutinstcd" ref="/root/send/retrparams1/dutinstcd" disabled="true" visibility="hidden" style="left:155px; top:55px; width:50px; height:19px; "/>
  708. <input id="ipt_instnm" ref="/root/send/retrparams1/instnm" class="input_search" appearance="input" style="left:630px; top:10px; width:140px; height:19px; ">
  709. <script type="javascript" ev:event="xforms-value-changed">
  710. <![CDATA[
  711. if( ipt_instnm.value.getByteLength() == '0' ) {
  712. ipt_instcd.value = "" ;
  713. }
  714. model.refresh();
  715. ]]>
  716. </script>
  717. </input>
  718. <input id="ipt_instcd" ref="/root/send/retrparams1/instcd" disabled="true" visibility="hidden" style="left:700px; top:0px; width:50px; height:19px; "/>
  719. <button id="button3" class="btn2_letter4" style="left:1130px; top:66px; width:64px; height:19px; ">
  720. <caption>교육취소</caption>
  721. <script type="javascript" ev:event="DOMActivate">
  722. <![CDATA[
  723. if( messageBox("교육을 취소하시겠습니까?","Q999") == '6' ) {
  724. for(var i = grd_eductrgtemplist.fixedRows; i < grd_eductrgtemplist.rows; i++){
  725. if(grd_eductrgtemplist.row == i ) {
  726. grd_eductrgtemplist.addStatus(i, "delete");
  727. }
  728. else ;
  729. }
  730. }
  731. ]]>
  732. </script>
  733. </button>
  734. </group>
  735. <group id="grp_btn" scroll="auto" style="left:0px; top:12px; width:1195px; height:27px; ">
  736. <button id="button89" class="btn6_letter2" visibility="hidden" style="left:5px; top:5px; width:56px; height:22px; ">
  737. <caption>출력</caption>
  738. </button>
  739. <button id="btn_save" class="btn4_letter2" navindex="20000" style="left:1139px; top:3px; width:56px; height:22px; ">
  740. <caption>저장</caption>
  741. <script type="javascript" ev:event="DOMActivate">
  742. <![CDATA[
  743. fSave();
  744. submit("TRRPS03502");
  745. grd_eductrgtemplist.fixedcellischeck(1,10) = false; // 전체 체크박스를 초기화
  746. grd_eductrgtemplist.fixedcellischeck(1,13) = false; // 전체 체크박스를 초기화
  747. for(var i = grd_eductrgtemplist.fixedRows; i < grd_eductrgtemplist.rows; i++){
  748. if(grd_eductrgtemplist.valueMatrix(i,grd_eductrgtemplist.colRef("deptchk")) == "Y") {
  749. grd_eductrgtemplist.valueMatrix(i,grd_eductrgtemplist.colRef("deptchk")) = "N";
  750. }
  751. if(grd_eductrgtemplist.valueMatrix(i,grd_eductrgtemplist.colRef("lastchk")) == "Y") {
  752. grd_eductrgtemplist.valueMatrix(i,grd_eductrgtemplist.colRef("lastchk")) = "N"
  753. }
  754. }
  755. fSetColor(); // 직원리스트의 색상변경
  756. model.refresh();
  757. ]]>
  758. </script>
  759. </button>
  760. </group>
  761. </xhtml:body>
  762. </xhtml:html>