SMRPS04400_부서연간교육계획.xrw 30 KB

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