SMRPS04500_오리엔테이션프로그램.xrw 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545
  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>SMRPS04500_오리엔테이션프로그램</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <grid>
  11. <educlist/>
  12. <filelist/>
  13. </grid>
  14. </main>
  15. <send>
  16. <search>
  17. <appyy/>
  18. <deptcd/>
  19. <deptnm/>
  20. <teamnm/>
  21. <teamcd/>
  22. <unitnm/>
  23. <unitcd/>
  24. <emplno/>
  25. <instcd/>
  26. <educcd/>
  27. <posinstcd/>
  28. <chrgdeptcd/>
  29. <chrgdeptnm/>
  30. <chrgteamnm/>
  31. <chrgteamcd/>
  32. <chrgunitnm/>
  33. <chrgunitcd/>
  34. <grdunitcd/>
  35. </search>
  36. <save>
  37. <educlist/>
  38. </save>
  39. <contents>
  40. <educgoal/>
  41. <educterm/>
  42. <deptot/>
  43. <jobroleot/>
  44. </contents>
  45. </send>
  46. <init>
  47. </init>
  48. <temp>
  49. <flag/>
  50. </temp>
  51. </root>
  52. </instance>
  53. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  54. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  55. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  56. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  57. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  58. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  59. <script type="javascript" src="../../../mis/educationmngtweb/js/RPS001.js"/>
  60. <script type="javascript" ev:event="xforms-ready">
  61. <![CDATA[
  62. misfGetUserAuth();
  63. fCheckAuth();
  64. fInitialize() ;
  65. ]]>
  66. </script>
  67. <script type="javascript">
  68. <![CDATA[
  69. //========================================================================================
  70. //버튼에 대한 화면 권한 체크(R : 읽기, X : 입력/수정/삭제, P : 출력)
  71. //========================================================================================
  72. function fCheckAuth() {
  73. btn_search.disabled = !checkAuth("R") ;
  74. }
  75. ]]>
  76. </script>
  77. <submission id="TRRPS04000" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/search" resultref="/root/init/emplinfo"/>
  78. <submission id="TRRPS04999" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/search" resultref="/root/init/deptadmin"/>
  79. <submission id="TRRPS04501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/search" resultref="/root/main/grid/educlist"/>
  80. <submission id="TXRPS04501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" resultref="/root/main/educlist"/>
  81. <submission id="TRRPS00204" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/search" resultref="/root/main/grid/filelist"/>
  82. <submission id="TXRPS00206" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/search" resultref="/root/main/list"/>
  83. </model>
  84. <script type="javascript">
  85. <![CDATA[
  86. function fInitialize() {
  87. var curdate = getCurrentDate();
  88. model.setValue(ipt_appyy.attribute("ref") , curdate.substr(0, 4));
  89. // user정보조회
  90. model.setValue(ipt_emplno.attribute("ref"),getUserInfo("userid"));
  91. submit("TRRPS04000");
  92. misfComboInstCdListMulti("cmb_instcd",getCurrentDate(),"","N","N");
  93. cmb_instcd.value = model.getValue("/root/init/emplinfo/dutplceinst");
  94. model.setValue(ipt_deptnm.attribute("ref"),model.getValue("/root/init/emplinfo/dutdeptnm"));
  95. model.setValue(ipt_deptcd.attribute("ref"), model.getValue("/root/init/emplinfo/dutdeptcd"));
  96. model.setValue(ipt_teamnm.attribute("ref"),model.getValue("/root/init/emplinfo/dutteamnm"));
  97. model.setValue(ipt_teamcd.attribute("ref"),model.getValue("/root/init/emplinfo/dutteamcd"));
  98. model.setValue(ipt_unitnm.attribute("ref"), model.getValue("/root/init/emplinfo/dutunitnm"));
  99. model.setValue(ipt_unitcd.attribute("ref"), model.getValue("/root/init/emplinfo/dutunitcd"));
  100. model.refresh();
  101. if ( DUTY_EDU_YN == "Y" || DUTY_RESP_YN == "Y" || getUserInfo("dutplcecd") == "4020500000" ) {
  102. ipt_deptnm.disabled = false;
  103. ipt_teamnm.disabled = false;
  104. ipt_unitnm.disabled = false;
  105. btn_dept.disabled = false;
  106. btn_team.disabled = false;
  107. btn_unit.disabled = false;
  108. }
  109. else {
  110. fCheckDisabled(); // 관리자인지 체크하여 기본 조회부분의 활성화/비활성화를 결정한다.
  111. }
  112. //그리드 초기화 작업
  113. model.removeNodeset(grd_educlist.nodeset);
  114. model.removeNodeset(grd_attach.nodeset);
  115. misfMsterDetailSet(grd_educlist, null, "TRRPS04501", "Y");
  116. // misfMsterDetailSet(grd_attach, grd_educlist, "TRRPS00204", "Y");
  117. grd_educlist.rowHeight(grd_educlist.fixedRows-1) = 50;
  118. model.refresh();
  119. }
  120. function fCheckAdmin() {
  121. // 부서교육관리자로 등록된 사람인지 체크
  122. model.setValue("/root/send/search/instcd", model.getValue("/root/init/emplinfo/dutplceinst"));
  123. model.setValue("/root/send/search/posinstcd", model.getValue("/root/init/emplinfo/dutplceinst"));
  124. submit("TRRPS04999");
  125. if( model.getValue("/root/init/deptadmin/emplno") == ipt_emplno.value ) {
  126. btn_search.disabled = false;
  127. }
  128. else {
  129. // btn_search.disabled = true;
  130. }
  131. model.refresh();
  132. }
  133. function fCheckDisabled () {
  134. model.setValue("/root/send/search/chrgdeptnm",model.getValue("/root/init/emplinfo/dutdeptnm"));
  135. model.setValue("/root/send/search/chrgdeptcd", model.getValue("/root/init/emplinfo/dutdeptcd"));
  136. model.setValue("/root/send/search/chrgteamnm",model.getValue("/root/init/emplinfo/dutteamnm"));
  137. model.setValue("/root/send/search/chrgteamcd",model.getValue("/root/init/emplinfo/dutteamcd"));
  138. model.setValue("/root/send/search/chrgunitnm", model.getValue("/root/init/emplinfo/dutunitnm"));
  139. model.setValue("/root/send/search/chrgunitcd", model.getValue("/root/init/emplinfo/dutunitcd"));
  140. fCheckAdmin();
  141. if( model.getValue("/root/init/deptadmin/teamyn") == "Y") {
  142. ipt_teamnm.disabled = false;
  143. btn_team.disabled = false;
  144. ipt_unitnm.disabled = false;
  145. btn_unit.disabled = false;
  146. }
  147. else if (model.getValue("/root/init/deptadmin/unityn") == "Y") {
  148. ipt_unitnm.disabled = false;
  149. btn_unit.disabled = false;
  150. }
  151. else {
  152. ipt_teamnm.disabled = true;
  153. ipt_unitnm.disabled = true;
  154. btn_team.disabled = true;
  155. btn_unit.disabled = true;
  156. }
  157. model.refresh();
  158. }
  159. ]]>
  160. </script>
  161. </xhtml:head>
  162. <xhtml:body style="margin-left:8; margin-right:8; ">
  163. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  164. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">부서오리엔테이션계획</caption>
  165. </group>
  166. <group id="group2" scroll="auto" style="left:0px; top:38px; width:1195px; height:744px; ">
  167. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:1px; width:1195px; height:34px; background-color:#fffbf2; border-color:#ffd799; "/>
  168. <line id="line8" class="line_1" style="x1:0px; y1:109px; x2:1192px; y2:109px; "/>
  169. <caption id="caption29" class="tit_2" style="left:5px; top:95px; width:169px; height:14px; ">교육목표(부서/직무 OT)</caption>
  170. <button id="btn_search" class="btn1_letter2" style="left:1126px; top:7px; width:56px; height:22px; ">
  171. <caption>조회</caption>
  172. <script type="javascript" ev:event="DOMActivate">
  173. <![CDATA[
  174. if(ipt_appyy.value == "") {
  175. messageBox("년도는","I003");
  176. model.setFocus("ipt_appyy");
  177. }
  178. else {
  179. model.setValue("/root/send/contents/educgoal", "");
  180. model.setValue("/root/send/contents/educterm", "");
  181. model.setValue("/root/send/contents/deptot" , "");
  182. model.setValue("/root/send/contents/jobroleot", "");
  183. misfMsterDetailRetrieve();
  184. model.removeNodeset(grd_attach.nodeset);
  185. model.setValue("/root/send/search/educcd",grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("educcd")));
  186. submit("TRRPS00204");
  187. model.refresh();
  188. }
  189. ]]>
  190. </script>
  191. </button>
  192. <line id="line13" class="line_4" style="x1:1110px; y1:5px; x2:1110px; y2:30px; "/>
  193. <caption id="cap_appyy" class="search_name" style="left:20px; top:9px; width:90px; height:17px; ">년 도 :</caption>
  194. <input id="ipt_appyy" ref="/root/send/search/appyy" class="input_s_essential" inputtype="date" format="yyyy" appearance="input" style="left:102px; top:9px; width:82px; height:19px; text-align:center; "/>
  195. <input id="ipt_unitnm" ref="/root/send/search/unitnm" class="input_search" disabled="true" appearance="input" style="left:960px; top:9px; width:113px; height:19px; text-align:center; ">
  196. <script type="javascript" ev:event="xforms-value-changed">
  197. <![CDATA[
  198. if( ipt_unitnm.value.getByteLength() == '0' ) {
  199. ipt_unitcd.value = "" ;
  200. }
  201. model.refresh();
  202. ]]>
  203. </script>
  204. </input>
  205. <input id="ipt_unitcd" ref="/root/send/search/unitcd" disabled="true" visibility="hidden" style="left:990px; top:21px; width:70px; height:19px; "/>
  206. <caption id="caption8" class="search_name" style="left:900px; top:10px; width:86px; height:17px; ">부서 :</caption>
  207. <input id="ipt_teamnm" ref="/root/send/search/teamnm" class="input_search" disabled="true" visibility="visible" appearance="input" style="left:739px; top:9px; width:117px; height:19px; text-align:center; ">
  208. <script type="javascript" ev:event="xforms-value-changed">
  209. <![CDATA[
  210. if( ipt_teamnm.value.getByteLength() == '0' ) {
  211. ipt_teamcd.value = "" ;
  212. }
  213. model.refresh();
  214. ]]>
  215. </script>
  216. </input>
  217. <input id="ipt_teamcd" ref="/root/send/search/teamcd" disabled="true" visibility="hidden" style="left:784px; top:21px; width:50px; height:19px; "/>
  218. <input id="ipt_deptnm" ref="/root/send/search/deptnm" class="input_search" disabled="true" navindex="3" visibility="visible" style="left:505px; top:9px; width:120px; height:19px; text-align:center; ">
  219. <script type="javascript" ev:event="xforms-value-changed">
  220. <![CDATA[
  221. if( ipt_deptnm.value.getByteLength() == '0' ) {
  222. ipt_deptcd.value = "" ;
  223. }
  224. model.refresh();
  225. ]]>
  226. </script>
  227. </input>
  228. <input id="ipt_deptcd" ref="/root/send/search/deptcd" class="input_search" disabled="true" navindex="2" visibility="hidden" maxlength="10" style="left:565px; top:21px; width:45px; height:19px; text-align:center; "/>
  229. <input id="ipt_emplno" ref="/root/send/search/emplno" visibility="hidden" style="left:800px; top:40px; width:90px; height:19px; "/>
  230. <button id="btn_unit" class="icon_search" disabled="true" style="left:1075px; top:10px; width:16px; height:17px; ">
  231. <caption/>
  232. <script type="javascript" ev:event="DOMActivate">
  233. <![CDATA[
  234. var unitcd = ipt_unitcd.value;
  235. var unitnm = ipt_unitnm.value;
  236. rpsfEducOpenPopUpList("07", ipt_unitnm, "", "unitcd,unitnm", cmb_instcd.value, "instcd");
  237. if ( DUTY_EDU_YN == 'Y' || DUTY_RESP_YN == "Y" || getUserInfo("dutplcecd") == "4020500000" ) {
  238. // unit이 달라지면 상위 부서도 가져온다..
  239. model.setValue("/root/send/search/posinstcd", cmb_instcd.value);
  240. model.setValue("/root/send/search/grdunitcd", ipt_unitcd.value);
  241. model.setValue("/root/send/search/emplno", "" );
  242. submit("TRRPS04000");
  243. model.setValue(ipt_emplno.attribute("ref"),getUserInfo("userid"));
  244. model.setValue("/root/send/search/deptnm", model.getValue("/root/init/emplinfo/dutdeptnm"));
  245. model.setValue("/root/send/search/deptcd", model.getValue("/root/init/emplinfo/dutdeptcd"));
  246. model.setValue("/root/send/search/teamnm", model.getValue("/root/init/emplinfo/dutteamnm"));
  247. model.setValue("/root/send/search/teamcd", model.getValue("/root/init/emplinfo/dutteamcd"));
  248. }
  249. else {
  250. fCheckAdmin(); // 관리자인지 체크한다.
  251. // unit이 달라지면 상위 부서도 가져온다..
  252. model.setValue("/root/send/search/posinstcd", cmb_instcd.value);
  253. model.setValue("/root/send/search/grdunitcd", ipt_unitcd.value);
  254. model.setValue("/root/send/search/emplno", "" );
  255. submit("TRRPS04000");
  256. // if( !btn_search.disabled &&
  257. // model.getValue("/root/send/search/deptcd") == model.getValue("/root/init/emplinfo/dutdeptcd") &&
  258. // model.getValue("/root/send/search/teamcd") == model.getValue("/root/init/emplinfo/dutteamcd") ) {
  259. model.setValue(ipt_emplno.attribute("ref"),getUserInfo("userid"));
  260. model.setValue("/root/send/search/deptnm", model.getValue("/root/init/emplinfo/dutdeptnm"));
  261. model.setValue("/root/send/search/deptcd", model.getValue("/root/init/emplinfo/dutdeptcd"));
  262. model.setValue("/root/send/search/teamnm", model.getValue("/root/init/emplinfo/dutteamnm"));
  263. model.setValue("/root/send/search/teamcd", model.getValue("/root/init/emplinfo/dutteamcd"));
  264. // }
  265. /* else {
  266. messageBox("당신의 관리부서가 아닙니다. 확인바랍니다.","I999");
  267. ipt_unitcd.value = unitcd;
  268. ipt_unitnm.value = unitnm;
  269. }
  270. */
  271. }
  272. model.refresh();
  273. ]]>
  274. </script>
  275. </button>
  276. <caption id="caption1" class="search_name" style="left:667px; top:10px; width:86px; height:17px; ">과(팀) :</caption>
  277. <caption id="caption2" class="search_name" style="left:432px; top:10px; width:86px; height:17px; ">부(실) :</caption>
  278. <button id="btn_team" class="icon_search" disabled="true" style="left:859px; top:11px; width:16px; height:16px; ">
  279. <caption/>
  280. <script type="javascript" ev:event="DOMActivate">
  281. <![CDATA[
  282. rpsfEducOpenPopUpList("06", ipt_teamnm, "", "teamcd,teamnm", cmb_instcd.value, "instcd");
  283. // 과(팀)을 변경하면 부서는 모두 공백으로 변경한다.
  284. model.setValue("/root/send/search/unitnm", "");
  285. model.setValue("/root/send/search/unitcd", "");
  286. model.refresh();
  287. ]]>
  288. </script>
  289. </button>
  290. <button id="btn_dept" class="icon_search" disabled="true" style="left:627px; top:11px; width:16px; height:16px; ">
  291. <caption/>
  292. <script type="javascript" ev:event="DOMActivate">
  293. <![CDATA[
  294. rpsfEducOpenPopUpList("05", ipt_deptnm, "", "deptcd,deptnm", cmb_instcd.value, "instcd");
  295. // 부(실)을 변경하면 과(팀), 부서는 모두 공백으로 변경한다.
  296. model.setValue("/root/send/search/teamnm", "");
  297. model.setValue("/root/send/search/teamcd", "");
  298. model.setValue("/root/send/search/unitnm", "");
  299. model.setValue("/root/send/search/unitcd", "");
  300. model.refresh();
  301. ]]>
  302. </script>
  303. </button>
  304. <caption id="caption3" class="search_name" style="left:200px; top:10px; width:86px; height:17px; ">기 관 :</caption>
  305. <select1 id="cmb_instcd" ref="/root/send/search/instcd" class="combo_s_essential" disabled="true" appearance="minimal" style="left:283px; top:9px; width:135px; height:19px; ">
  306. <choices>
  307. <itemset>
  308. <label/>
  309. <value/>
  310. </itemset>
  311. </choices>
  312. </select1>
  313. <caption id="caption4" class="tit_2" style="left:0px; top:300px; width:169px; height:13px; ">부서OT 교육주요내용</caption>
  314. <caption id="caption5" class="tit_2" style="left:0px; top:520px; width:186px; height:13px; ">직무OT(OJT) 교육주요내용</caption>
  315. <line id="line1" class="line_1" style="x1:0px; y1:315px; x2:1192px; y2:315px; "/>
  316. <line id="line2" class="line_1" style="x1:0px; y1:535px; x2:881px; y2:535px; "/>
  317. <caption id="caption7" style="left:15px; top:30px; width:903px; height:60px; font-size:10pt; font-weight:bold; color:#3366ff; ">
  318. <![CDATA[※ 입력방법
  319. - 각 부(실), 과(팀), 부서(Unit) 단위로 선택하여 해당 부서에서 주관하는 오리엔테이션(부서/직무) 교육에 대한 사항을 입력하시기 바랍니다.
  320. - 각 항목별 서술식으로 기재 및 저장 후, 교육일정표를 등록해 주시기 바랍니다.]]>
  321. </caption>
  322. <line id="line3" class="line_1" style="x1:0px; y1:209px; x2:1192px; y2:209px; "/>
  323. <caption id="caption9" class="tit_2" style="left:0px; top:195px; width:169px; height:14px; ">교육기간(부서/직무 OT)</caption>
  324. <caption id="caption10" style="left:10px; top:486px; width:923px; height:20px; font-size:10pt; font-weight:bold; color:#000000; ">※ 부서OT에는 부서 미션, 비전, 조직, 사업, 직원역할, 복무기준, 보안, 시설 및 재난대피에 대한 내용이 포함되어야 함.</caption>
  325. <caption id="caption11" class="tit_2" style="left:885px; top:300px; width:182px; height:13px; ">부서/직무 OT 교육일정표</caption>
  326. <button id="btn_delfile" class="btn2_letter4" disabled="true" style="left:1126px; top:295px; width:64px; height:19px; ">
  327. <caption>파일삭제</caption>
  328. <script type="javascript" ev:event="DOMActivate">
  329. <![CDATA[
  330. if( messageBox("삭제하시겠습니까?","Q999") == '6') {
  331. var cur_row = grd_attach.row;
  332. var seqno = model.getValue("/root/main/grid/filelist["+cur_row+"]/seqno");
  333. model.setValue("/root/send/dgsend/seqno",seqno);
  334. grd_attach.addStatus(cur_row, "delete");
  335. if( submit("TXRPS00206") ) {
  336. grd_attach.deleteRow(cur_row);
  337. submit("TRRPS00204");
  338. }
  339. }
  340. ]]>
  341. </script>
  342. </button>
  343. <button id="btn_upload" class="btn5_letter3" disabled="true" style="left:1071px; top:295px; width:53px; height:19px; ">
  344. <caption>업로드</caption>
  345. <script type="javascript" ev:event="DOMActivate">
  346. <![CDATA[
  347. if( grd_educlist.rowStatus(grd_educlist.row ) == '1' || grd_educlist.rowStatus(grd_educlist.row ) == '3' ) {
  348. messageBox("저장을 먼저 해주세요.","I999");
  349. return;
  350. }
  351. // data를 팝업창으로 넘겨 자동으로 조회하기위해 ...
  352. model.setValue("/root/send/search/educcd", grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("educcd")));
  353. ipt_flag.value = "";
  354. open("SMRPS00250","","20","20","popup", "/root/send/search" ,"/root/send") ;
  355. if( ipt_flag.value == "1") {
  356. // 첨부파일 조회
  357. model.removeNodeset(grd_attach.nodeset);
  358. model.makeNode("/root/send/attach");
  359. submit("TRRPS00204");
  360. model.refresh();
  361. }
  362. ]]>
  363. </script>
  364. </button>
  365. <datagrid id="grd_attach" nodeset="/root/main/grid/filelist" caption="순번^seqno^수정일^파일명^파일경로^파일크기^파일크기^교육코드^년도^기관" colsep="^" colwidth="35, 100, 88, 261, 76, 100, 50, 100, 100, 100" ellipsis="true" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" selectionmode="byrow" tooltip="true" style="left:884px; top:320px; width:307px; height:360px; ">
  366. <col ref="rownum" style="text-align:center; "/>
  367. <col ref="seqno" visibility="hidden" style="text-align:center; "/>
  368. <col disabled="true" ref="updatedt" visibility="hidden" format="yyyy-mm-dd"/>
  369. <col disabled="true" ref="filenm" style="text-align:center; "/>
  370. <col ref="filepath" visibility="hidden"/>
  371. <col ref="filesz" format="#,###" style="text-align:center; "/>
  372. <col ref="bytes"/>
  373. <col ref="educcd" visibility="hidden"/>
  374. <col ref="appyy" visibility="hidden"/>
  375. <col ref="instcd" visibility="hidden"/>
  376. <script type="javascript" ev:event="ondblclick">
  377. <![CDATA[
  378. var idx = grd_attach.row;
  379. model.copyNode("/root/send/attach","/root/main/grid/filelist["+idx+"]");
  380. var filepath = model.getValue("/root/send/attach/filepath");
  381. var filenm = model.getValue("/root/send/attach/filenm");
  382. var localfile = window.fileDialog("save","|",false,filenm,"","All Files(*.*)|*.*");
  383. if (localfile != "") {
  384. model.download(getActionURL("TRRPS00205")+"&filepath="+filepath,localfile);
  385. var rtn = messageBox("파일을", "Q004");
  386. if( rtn == 6 ) {
  387. window.exec(localfile);
  388. }
  389. }
  390. model.refresh();
  391. ]]>
  392. </script>
  393. </datagrid>
  394. <textarea id="txt_educgoal" ref="/root/send/contents/educgoal" style="left:3px; top:114px; width:1188px; height:71px; ">
  395. <script type="javascript" ev:event="xforms-value-changed">
  396. <![CDATA[
  397. if(!isRequiredControls("txt_educgoal")) return;
  398. if( grd_educlist.rows == grd_educlist.fixedRows ) {
  399. misfGridIUD(grd_educlist, "A");
  400. }
  401. else {
  402. grd_educlist.addStatus(grd_educlist.row, "update" );
  403. }
  404. grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("educgoal")) = txt_educgoal.value;
  405. model.refresh();
  406. ]]>
  407. </script>
  408. </textarea>
  409. <textarea id="txt_jobroleot" ref="/root/send/contents/jobroleot" style="left:3px; top:540px; width:878px; height:140px; ">
  410. <script type="javascript" ev:event="xforms-value-changed">
  411. <![CDATA[
  412. if(!isRequiredControls("txt_educgoal")) return;
  413. if( grd_educlist.rows == grd_educlist.fixedRows ) {
  414. misfGridIUD(grd_educlist, "A");
  415. }
  416. else {
  417. grd_educlist.addStatus(grd_educlist.row, "update" );
  418. }
  419. grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("jobroleot")) = txt_jobroleot.value;
  420. model.refresh();
  421. ]]>
  422. </script>
  423. </textarea>
  424. <textarea id="txt_educterm" ref="/root/send/contents/educterm" style="left:3px; top:214px; width:1188px; height:71px; ">
  425. <script type="javascript" ev:event="xforms-value-changed">
  426. <![CDATA[
  427. if(!isRequiredControls("txt_educgoal")) return;if( grd_educlist.rows == grd_educlist.fixedRows ) {
  428. misfGridIUD(grd_educlist, "A");
  429. }
  430. else {
  431. grd_educlist.addStatus(grd_educlist.row, "update" );
  432. }
  433. grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("educterm")) = txt_educterm.value;
  434. model.refresh();
  435. ]]>
  436. </script>
  437. </textarea>
  438. <textarea id="txt_deptot" ref="/root/send/contents/deptot" style="left:3px; top:320px; width:878px; height:165px; ">
  439. <script type="javascript" ev:event="xforms-value-changed">
  440. <![CDATA[
  441. if(!isRequiredControls("txt_educgoal")) return;if( grd_educlist.rows == grd_educlist.fixedRows ) {
  442. misfGridIUD(grd_educlist, "A");
  443. }
  444. else {
  445. grd_educlist.addStatus(grd_educlist.row, "update" );
  446. }
  447. grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("deptot")) = txt_deptot.value;
  448. model.refresh();
  449. ]]>
  450. </script>
  451. </textarea>
  452. <datagrid id="grd_educlist" nodeset="/root/main/grid/educlist" visibility="hidden" caption="교육목표^교육기간^부서OT^직무OT^년도^기관^dept^team^unit^교육코드" colsep="^" colwidth="56, 61, 58, 51, 49, 48, 48, 57, 51, 100" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:350px; top:230px; width:490px; height:75px; ">
  453. <col ref="educgoal"/>
  454. <col ref="educterm"/>
  455. <col ref="deptot"/>
  456. <col ref="jobroleot"/>
  457. <col ref="appyy"/>
  458. <col ref="instcd"/>
  459. <col ref="deptcd"/>
  460. <col ref="teamcd"/>
  461. <col ref="unitcd"/>
  462. <col ref="educcd"/>
  463. <script type="javascript" ev:event="onrowchanged">
  464. <![CDATA[
  465. model.setValue("/root/send/contents/educgoal" , grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("educgoal")));
  466. model.setValue("/root/send/contents/educterm" , grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("educterm")));
  467. model.setValue("/root/send/contents/deptot" , grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("deptot")));
  468. model.setValue("/root/send/contents/jobroleot" , grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("jobroleot")));
  469. model.setValue("/root/send/search/educcd" , grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("educcd")));
  470. if( grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("educcd")) != "" ) {
  471. btn_upload.disabled = false;
  472. btn_delfile.disabled = false;
  473. }
  474. else {
  475. btn_upload.disabled = true;
  476. btn_delfile.disabled = true;
  477. }
  478. submit("TRRPS00204");
  479. model.refresh();
  480. ]]>
  481. </script>
  482. </datagrid>
  483. </group>
  484. <group id="grp_btn" scroll="auto" style="left:0px; top:12px; width:1195px; height:27px; ">
  485. <button id="button1" class="btn4_letter2" style="left:1136px; top:2px; width:56px; height:22px; ">
  486. <caption>저장</caption>
  487. <script type="javascript" ev:event="DOMActivate">
  488. <![CDATA[
  489. if(ipt_appyy.value == "") {
  490. messageBox("년도는","I003");
  491. model.setFocus("ipt_appyy");
  492. }
  493. else {
  494. misfSave("TXRPS04501");
  495. if (model.getValue(gvErrorMsgPath + "/type") != "error"){
  496. btn_search.dispatch("DOMActivate");
  497. }
  498. }
  499. ]]>
  500. </script>
  501. </button>
  502. </group>
  503. <input id="ipt_flag" ref="/root/temp/flag" visibility="hidden" style="left:775px; top:535px; width:50px; height:19px; ">
  504. <script type="javascript" ev:event="xforms-value-changed">
  505. <![CDATA[
  506. if(ipt_flag.value == "1") {
  507. // 첨부파일 조회
  508. model.removeNodeset(grd_attach.nodeset);
  509. model.makeNode("/root/send/attach");
  510. submit("TRRPS00204");
  511. model.refresh();
  512. }
  513. ]]>
  514. </script>
  515. </input>
  516. </xhtml:body>
  517. </xhtml:html>