SMRWP23000_직무기술관리.xrw 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet ype="text/css" href="../../../com/commonweb/css/common.css" ?>
  3. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  4. <xhtml:head>
  5. <xhtml:title>직무기술서 관리</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <jobdsccrptnlist>
  11. <emplno/>
  12. <emplnm/>
  13. <deptcd/>
  14. <deptnm/>
  15. <teamcd/>
  16. <teamnm/>
  17. <unitcd/>
  18. <unitnm/>
  19. <dutplcedeptnm/>
  20. <jobposcd/>
  21. <jobposnm/>
  22. <jobgradcd/>
  23. <jobgradnm/>
  24. <ability/>
  25. <business/>
  26. <career/>
  27. <confirm/>
  28. <confirmdate/>
  29. <education/>
  30. <etc/>
  31. <jobdate/>
  32. <jobdesc/>
  33. <jobname/>
  34. <jobobject/>
  35. <license/>
  36. <major/>
  37. <scholar/>
  38. <valuer/>
  39. <valuerdate/>
  40. <writer/>
  41. <writerdate/>
  42. <dutplcedeptcd/>
  43. <dutunitcd/>
  44. <dutunitnm/>
  45. <jobdescd/>
  46. <jobdescm/>
  47. <jobseq/>
  48. </jobdsccrptnlist>
  49. <empInfolst>
  50. <empllist/>
  51. </empInfolst>
  52. <jobdsccrptndesclist/>
  53. </main>
  54. <send>
  55. <save>
  56. </save>
  57. <emplno/>
  58. <emplnm/>
  59. <dutunitcd/>
  60. <dutunitnm/>
  61. <jobdate/>
  62. <initemplno/>
  63. <initemplnm/>
  64. <refcond/>
  65. <instcd/>
  66. <indexseq/>
  67. <delitem>
  68. <demplno/>
  69. <djobdate/>
  70. <djobseq/>
  71. <djobflag/>
  72. </delitem>
  73. </send>
  74. <temp>
  75. </temp>
  76. <init>
  77. </init>
  78. <hidden>
  79. <savelist>
  80. <jobdsccrptnlist/>
  81. <jobdsccrptndesclist/>
  82. </savelist>
  83. </hidden>
  84. <init2>
  85. <jobposerlist/>
  86. <jobposer/>
  87. </init2>
  88. <srch>
  89. <jobdsccrptnlist>
  90. <emplno/>
  91. <emplnm/>
  92. <deptcd/>
  93. <deptnm/>
  94. <teamcd/>
  95. <teamnm/>
  96. <unitcd/>
  97. <unitnm/>
  98. <dutplcedeptnm/>
  99. <jobposcd/>
  100. <jobposnm/>
  101. <jobgradcd/>
  102. <jobgradnm/>
  103. <ability/>
  104. <business/>
  105. <career/>
  106. <confirm/>
  107. <confirmdate/>
  108. <education/>
  109. <etc/>
  110. <jobdate/>
  111. <jobdesc/>
  112. <jobname/>
  113. <jobobject/>
  114. <license/>
  115. <major/>
  116. <scholar/>
  117. <valuer/>
  118. <valuerdate/>
  119. <writer/>
  120. <writerdate/>
  121. <dutplcedeptcd/>
  122. <dutunitcd/>
  123. <dutunitnm/>
  124. </jobdsccrptnlist>
  125. </srch>
  126. <temp2>
  127. <jobdescd/>
  128. <jobdescm/>
  129. <jobseq/>
  130. <jobdate/>
  131. </temp2>
  132. </root>
  133. </instance>
  134. <submission id="TRRWP23001" mediatype="application/x-www-form-urlencoded" method="get" ref="/root/send" replace="instance" resultref="/root/main/"/>
  135. <submission id="TRRWP23002" mediatype="application/x-www-form-urlencoded" method="get" ref="/root/send" replace="instance" resultref="/root/init2"/>
  136. <submission id="TXRWP23001" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/hidden/savelist" replace="instance" resultref="/root/temp"/>
  137. <submission id="TXRWP23002" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/delitem" replace="instance" resultref="/root/temp"/>
  138. <submission id="TRRWP23003" mediatype="application/x-www-form-urlencoded" method="get" ref="/root/send" replace="instance" resultref="/root/main/empInfolst"/>
  139. </model>
  140. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  141. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  142. <script type="javascript" src="../../../com/commonweb/js/utilHelper.js"/>
  143. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  144. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  145. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  146. <script type="javascript" src="../../../mis/paybaseinfomngtweb/js/RWC001.js"/>
  147. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  148. <script type="javascript" src="../../../mis/paybaseinfomngtweb/js/RWC001.js"/>
  149. <script type="javascript" src="../../../mis/miscommonweb/js/RAC001.js"/>
  150. <script type="javascript" src="../../../mis/acntcommonweb/js/RAD001.js"/>
  151. <script type="javascript" ev:event="xforms-ready">
  152. <![CDATA[
  153. fInitialize();
  154. ]]>
  155. </script>
  156. <script type="javascript">
  157. <![CDATA[
  158. function fInitialize()
  159. {
  160. model.setValue("/root/send/initemplno", getUserInfo("userid"));
  161. model.setValue("/root/send/initemplnm", getUserInfo("usernm"));
  162. model.setValue("/root/send/jobdate", getCurrentDate());
  163. model.setValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  164. model.setValue("/root/send/refcond", "emplno");
  165. submit("TRRWP23002");
  166. misfComboComCdListMulti("R0062,R0064","cmb_jobpos,cmb_jobgrad");
  167. model.removenode("/root/main/jobdsccrptnlist");
  168. btn_search.dispatch("DOMActivate");
  169. if( getNodesetCount("/root/main/jobdsccrptnlist") < 1){
  170. btn_init.dispatch("DOMActivate");
  171. }
  172. // 부서가 총무팀, 로그인아이디가 97089일 경우, 사번 전체조회가능
  173. var logindeptcd = getUserInfo("dutplcecd");
  174. var loginid = getUserInfo("userid");
  175. if( logindeptcd == "4020323000" || logindeptcd == "4020327000" || loginid == "97089" ){
  176. ipt_emplno.disabled = false;
  177. btn_emplno.disabled = false;
  178. }else{
  179. ipt_emplno.disabled = true;
  180. btn_emplno.disabled = true;
  181. }
  182. model.refresh();
  183. }
  184. function fSave()
  185. {
  186. if(model.getValue("/root/main/jobdsccrptnlist/emplno") == "" )
  187. {
  188. messageBox("사원번호를 입력해주세요.", "E999");
  189. return;
  190. }
  191. if(model.getValue("/root/main/jobdsccrptnlist/jobdate") == "" )
  192. {
  193. messageBox("직무기간을 입력해주세요.", "E999");
  194. return;
  195. }
  196. model.setValue("/root/main/jobdsccrptnlist/writer", getUserInfo("userid"));
  197. model.setValue("/root/main/jobdsccrptnlist/confirmdate", getCurrentDate());
  198. model.setValue("/root/main/jobdsccrptnlist/writerdate", getCurrentDate());
  199. model.setValue("/root/main/jobdsccrptnlist/valuerdate", getCurrentDate());
  200. model.copyNode("/root/hidden/savelist/jobdsccrptnlist", "/root/main/jobdsccrptnlist");
  201. model.makeValue("/root/hidden/savelist/jobdsccrptnlist/desclist", dtg_desclist.getUpdateData());
  202. if( submit("TXRWP23001") ){
  203. messageBox("저장되었습니다.", "I000");
  204. btn_search.dispatch("DOMActivate");
  205. }
  206. model.refresh();
  207. }
  208. function fDel(){
  209. if( model.getValue("/root/main/jobdsccrptnlist/emplno") == "" ){
  210. messageBox("직무기술서 내역을 조회한 후 진행하십시오.", "E999", "");
  211. return;
  212. }
  213. if( messageBox("삭제하시겠습니까", "Q999") == 6 ){
  214. model.setValue("/root/send/delitem/demplno", model.getValue("/root/main/jobdsccrptnlist/emplno") );
  215. model.setValue("/root/send/delitem/djobdate", model.getValue("/root/main/jobdsccrptnlist/jobdate") );
  216. model.setValue("/root/send/delitem/djobseq", "" );
  217. model.setValue("/root/send/delitem/djobflag", "1" );
  218. if( submit("TXRWP23002") ){
  219. messageBox("삭제되었습니다.", "I000");
  220. btn_search.dispatch("DOMActivate");
  221. }
  222. }
  223. model.refresh();
  224. }
  225. function fPrint(){
  226. model.removeNodeset("/root/prntlst/jobdsccrptnlist");
  227. model.removeNodeset("/root/prntlst/jobdesclist");
  228. model.makeNode("/root/prntlst/jobdsccrptnlist");
  229. model.makeNode("/root/prntlst/jobdesclist");
  230. model.copyNode("/root/prntlst/jobdsccrptnlist", "/root/main/jobdsccrptnlist");
  231. model.setValue("/root/prntlst/jobdsccrptnlist/jobgradnm", cmb_jobgrad.label );
  232. model.setValue("/root/prntlst/jobdsccrptnlist/jobposnm", cmb_jobpos.label );
  233. model.setValue("/root/prntlst/jobdsccrptnlist/valuer", cmb_valuer.label );
  234. model.setValue("/root/prntlst/jobdsccrptnlist/writer", model.getValue("/root/main/jobdsccrptnlist/emplnm") );
  235. model.setValue("/root/prntlst/jobdsccrptnlist/confirm", cmb_confirm.label );
  236. var desc = model.getValue("/root/temp2/jobdescm") + "\n\n" + model.getValue("/root/temp2/jobdescd");
  237. var split;
  238. var cnt = 1;
  239. split = desc.split("\n");
  240. for( var i = 0 ; i < split.length ; i++){
  241. model.makeNode("/root/prntlst/jobdesclist[" + (i+1) + "]");
  242. model.makeValue("/root/prntlst/jobdesclist[" + (i+1) + "]/desc", split[i] );
  243. cnt++;
  244. }
  245. model.makeValue("/root/prntlst/jobdsccrptnlist/lastcnt", cnt);
  246. exeReportPreview("RPRWP23001", "XMLSTR");
  247. model.refresh();
  248. }
  249. function fOpenPopupUserHelp(pCtrl, pInstance){
  250. misfOpenPopUpList("01", pCtrl, "", pInstance);
  251. model.refresh();
  252. }
  253. ]]>
  254. </script>
  255. </xhtml:head>
  256. <xhtml:body pagewidth="1220" pageheight="600" style="margin-left:8; margin-right:8; ">
  257. <group id="group2" scroll="auto" style="left:5px; top:25px; width:1195px; height:545px; ">
  258. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:2px; width:1190px; height:40px; "/>
  259. <caption id="caption278" class="tit_2" style="left:0px; top:50px; width:162px; height:13px; ">기본직무 정보</caption>
  260. <button id="btn_search" class="btn1_letter2" navindex="3" style="left:1113px; top:11px; width:56px; height:22px; text-align:left; ">
  261. <caption>조회</caption>
  262. <script type="javascript" ev:event="DOMActivate">
  263. <![CDATA[
  264. model.removenode("/root/main/jobdsccrptnlist");
  265. model.setValue("/root/temp2/jobdescd", "");
  266. model.setValue("/root/temp2/jobdescm", "");
  267. model.setValue("/root/temp2/jobseq", "");
  268. model.setValue("/root/temp2/jobdate", "");
  269. if(model.getValue("/root/send/initemplno") == "" )
  270. {
  271. messageBox("사원번호를 입력해주세요.", "E999");
  272. return;
  273. }
  274. model.removeNodeset("/root/main/jobdsccrptndesclist");
  275. if( submit("TRRWP23001") ){
  276. if( getNodesetCount("/root/main/jobdsccrptnlist") < 1){
  277. btn_init.dispatch("DOMActivate");
  278. }
  279. var len = dtg_desclist.rows-1;
  280. if( len < 1 ){
  281. txt_jobdescd.disabled = true;
  282. ipt_jobdescm.disabled = true;
  283. }else{
  284. dtg_desclist.row = 1;
  285. model.setValue("/root/temp2/jobdescd", model.getValue("/root/main/jobdsccrptndesclist[1]/jobdescd") );
  286. model.setValue("/root/temp2/jobdescm", model.getValue("/root/main/jobdsccrptndesclist[1]/jobdescm") );
  287. txt_jobdescd.disabled = false;
  288. ipt_jobdescm.disabled = false;
  289. }
  290. dtg_desclist.clearStatus();
  291. }
  292. model.refresh();
  293. ]]>
  294. </script>
  295. </button>
  296. <line id="line3" class="line_4" style="x1:1080px; y1:8px; x2:1080px; y2:36px; border-color:#ffe4bb; border-left-style:solid; "/>
  297. <caption id="caption1" class="search_name" style="left:20px; top:14px; width:86px; height:17px; ">사원번호 :</caption>
  298. <input id="ipt_emplnm" ref="/root/send/initemplnm" class="input_search" disabled="true" navindex="3" style="left:205px; top:12px; width:150px; height:19px; "/>
  299. <button id="btn_emplno" class="icon_search" style="left:185px; top:13px; width:16px; height:16px; ">
  300. <caption/>
  301. <script type="javascript" ev:event="DOMActivate">
  302. <![CDATA[
  303. fOpenPopupUserHelp(ipt_emplno, "initemplno,initemplnm");
  304. model.setValue("/root/send/emplno", model.getValue("/root/send/initemplno"));
  305. submit("TRRWP23003");
  306. model.setValue("/root/send/initemplnm", model.getValue("/root/main/empInfolst/empllist/emplnm"));
  307. model.refresh();
  308. ]]>
  309. </script>
  310. </button>
  311. <input id="ipt_emplno" ref="/root/send/initemplno" class="input_search" navindex="1" style="left:111px; top:12px; width:70px; height:19px; text-align:center; ">
  312. <script type="javascript" ev:event="onkeypress">
  313. <![CDATA[
  314. if(event.keyCode == 13)
  315. {
  316. if(ipt_emplno.value == ipt_emplno.currentText) return;
  317. ipt_emplno.value = ipt_emplno.currentText;
  318. model.setValue("/root/send/emplno", model.getValue("/root/send/initemplno"));
  319. submit("TRRWP23003");
  320. model.setValue("/root/send/initemplnm", model.getValue("/root/main/empInfolst/empllist/emplnm"));
  321. model.refresh();
  322. // btn_search.dispatch("DOMActivate");
  323. }
  324. ]]>
  325. </script>
  326. <script type="javascript" ev:event="xforms-value-changed">
  327. <![CDATA[
  328. model.setValue("/root/send/emplno", model.getValue("/root/send/initemplno"));
  329. submit("TRRWP23003");
  330. model.setValue("/root/send/initemplnm", model.getValue("/root/main/empInfolst/empllist/emplnm"));
  331. model.refresh();
  332. ]]>
  333. </script>
  334. </input>
  335. <line id="line1" class="line_1" style="x1:0px; y1:70px; x2:600px; y2:69px; "/>
  336. <input id="ipt_fstappntdd" ref="/root/main/jobdsccrptnlist/jobdate" navindex="9" inputtype="date" style="left:73px; top:126px; width:118px; height:19px; "/>
  337. <input id="ipt_hemplno" ref="/root/main/jobdsccrptnlist/emplno" navindex="8" maxlength="5" style="left:73px; top:74px; width:72px; height:19px; ">
  338. <script type="javascript" ev:event="xforms-value-changed">
  339. <![CDATA[
  340. model.setValue("/root/send/emplno", model.getValue("/root/main/jobdsccrptnlist/emplno"));
  341. if( submit("TRRWP23003") ){
  342. model.setValue("/root/main/jobdsccrptnlist/emplnm", model.getValue("/root/main/empInfolst/empllist/emplnm"));
  343. model.setValue("/root/main/jobdsccrptnlist/dutunitcd" , model.getValue("/root/main/empInfolst/empllist/dutunitcd"));
  344. model.setValue("/root/main/jobdsccrptnlist/dutunitnm" , model.getValue("/root/main/empInfolst/empllist/dutunitnm"));
  345. model.setValue("/root/main/jobdsccrptnlist/dutplcedeptcd", model.getValue("/root/main/empInfolst/empllist/dutplcedeptcd"));
  346. model.setValue("/root/main/jobdsccrptnlist/dutplcedeptnm", model.getValue("/root/main/empInfolst/empllist/dutplcedeptnm"));
  347. model.setValue("/root/main/jobdsccrptnlist/jobposcd" , model.getValue("/root/main/empInfolst/empllist/jobposcd"));
  348. model.setValue("/root/main/jobdsccrptnlist/jobgradcd" , model.getValue("/root/main/empInfolst/empllist/jobgradcd"));
  349. }
  350. model.refresh();
  351. ]]>
  352. </script>
  353. </input>
  354. <caption id="caption319" class="cell_1" style="left:268px; top:99px; width:70px; height:21px; vertical-align:middle; ">근무부서</caption>
  355. <caption id="caption7" class="cell_1" style="left:0px; top:99px; width:70px; height:21px; ">소속부서</caption>
  356. <caption id="caption164" class="cell_1" style="left:0px; top:74px; width:70px; height:19px; ">사원번호</caption>
  357. <input id="ipt_hemplnm" ref="/root/main/jobdsccrptnlist/emplnm" disabled="true" style="left:168px; top:74px; width:97px; height:19px; "/>
  358. <input id="ipt_cntctel" ref="/root/main/jobdsccrptnlist/dutplcedeptnm" disabled="true" style="left:73px; top:100px; width:192px; height:19px; "/>
  359. <input id="ipt_hosinseqno" ref="/root/main/jobdsccrptnlist/dutunitnm" disabled="true" style="left:341px; top:100px; width:259px; height:19px; "/>
  360. <caption id="caption9" class="cell_1" style="left:268px; top:74px; width:70px; height:20px; vertical-align:middle; ">직 급</caption>
  361. <caption id="caption12" class="cell_1" style="left:433px; top:74px; width:70px; height:20px; vertical-align:middle; ">직 위</caption>
  362. <line id="line8" class="line_3" style="x1:0px; y1:122px; x2:600px; y2:122px; "/>
  363. <line id="line2" class="line_3" style="x1:0px; y1:96px; x2:600px; y2:96px; "/>
  364. <select1 id="cmb_jobgrad" ref="/root/main/jobdsccrptnlist/jobgradcd" disabled="true" navindex="7" appearance="minimal" style="left:341px; top:74px; width:89px; height:19px; ">
  365. <choices>
  366. <itemset>
  367. <label/>
  368. <value/>
  369. </itemset>
  370. </choices>
  371. </select1>
  372. <select1 id="cmb_jobpos" ref="/root/main/jobdsccrptnlist/jobposcd" disabled="true" navindex="7" appearance="minimal" style="left:506px; top:74px; width:94px; height:19px; ">
  373. <choices>
  374. <itemset>
  375. <label/>
  376. <value/>
  377. </itemset>
  378. </choices>
  379. </select1>
  380. <line id="line4" class="line_3" style="x1:0px; y1:148px; x2:600px; y2:148px; "/>
  381. <caption id="caption16" class="cell_1" style="left:0px; top:125px; width:70px; height:21px; ">직무기간</caption>
  382. <button id="button1" class="icon_search" style="left:148px; top:76px; width:16px; height:16px; ">
  383. <caption/>
  384. <script type="javascript" ev:event="DOMActivate">
  385. <![CDATA[
  386. fOpenPopupUserHelp(ipt_hemplno, "emplno,emplnm");
  387. model.setValue("/root/send/emplno", model.getValue("/root/main/jobdsccrptnlist/emplno"));
  388. if( submit("TRRWP23003") ) {
  389. model.setValue("/root/main/jobdsccrptnlist/emplnm", model.getValue("/root/main/empInfolst/empllist/emplnm"));
  390. model.setValue("/root/main/jobdsccrptnlist/dutunitcd" , model.getValue("/root/main/empInfolst/empllist/dutunitcd"));
  391. model.setValue("/root/main/jobdsccrptnlist/dutunitnm" , model.getValue("/root/main/empInfolst/empllist/dutunitnm"));
  392. model.setValue("/root/main/jobdsccrptnlist/dutplcedeptcd", model.getValue("/root/main/empInfolst/empllist/dutplcedeptcd"));
  393. model.setValue("/root/main/jobdsccrptnlist/dutplcedeptnm", model.getValue("/root/main/empInfolst/empllist/dutplcedeptnm"));
  394. model.setValue("/root/main/jobdsccrptnlist/jobposcd" , model.getValue("/root/main/empInfolst/empllist/jobposcd"));
  395. model.setValue("/root/main/jobdsccrptnlist/jobgradcd" , model.getValue("/root/main/empInfolst/empllist/jobgradcd"));
  396. }
  397. model.refresh();
  398. ]]>
  399. </script>
  400. </button>
  401. <caption id="caption2" class="cell_1" style="left:194px; top:125px; width:70px; height:21px; vertical-align:middle; ">직 무 명</caption>
  402. <input id="input1" ref="/root/main/jobdsccrptnlist/jobname" navindex="10" style="left:267px; top:126px; width:333px; height:19px; "/>
  403. <caption id="caption3" class="cell_1" style="left:0px; top:152px; width:70px; height:42px; vertical-align:middle; ">직무개요 -목적/내용</caption>
  404. <line id="line5" class="line_3" style="x1:0px; y1:197px; x2:600px; y2:197px; "/>
  405. <textarea id="textarea1" ref="/root/main/jobdsccrptnlist/jobobject" navindex="11" style="left:73px; top:152px; width:525px; height:42px; "/>
  406. <caption id="caption4" class="tit_2" style="left:0px; top:210px; width:162px; height:13px; ">직무수행 요건</caption>
  407. <line id="line6" class="line_1" style="x1:0px; y1:230px; x2:600px; y2:229px; "/>
  408. <line id="line7" class="line_3" style="x1:0px; y1:256px; x2:600px; y2:256px; "/>
  409. <caption id="caption5" class="cell_1" style="left:268px; top:233px; width:70px; height:21px; vertical-align:middle; ">전 공</caption>
  410. <input id="input2" ref="/root/main/jobdsccrptnlist/major" navindex="13" style="left:341px; top:234px; width:259px; height:19px; "/>
  411. <caption id="caption8" class="cell_1" style="left:0px; top:233px; width:70px; height:21px; ">학 력</caption>
  412. <input id="input3" ref="/root/main/jobdsccrptnlist/ability" navindex="12" style="left:73px; top:234px; width:192px; height:19px; "/>
  413. <input id="input4" ref="/root/main/jobdsccrptnlist/license" navindex="14" style="left:73px; top:260px; width:527px; height:19px; "/>
  414. <caption id="caption10" class="cell_1" style="left:0px; top:259px; width:70px; height:21px; ">자격/면허</caption>
  415. <line id="line9" class="line_3" style="x1:-2px; y1:282px; x2:598px; y2:282px; "/>
  416. <caption id="caption11" class="cell_1" style="left:1px; top:285px; width:70px; height:42px; vertical-align:middle; ">교 육</caption>
  417. <textarea id="textarea2" ref="/root/main/jobdsccrptnlist/education" navindex="15" style="left:74px; top:285px; width:527px; height:42px; "/>
  418. <line id="line10" class="line_3" style="x1:2px; y1:330px; x2:602px; y2:330px; "/>
  419. <line id="line11" class="line_3" style="x1:0px; y1:356px; x2:600px; y2:356px; "/>
  420. <caption id="caption13" class="cell_1" style="left:1px; top:333px; width:70px; height:21px; ">경 력</caption>
  421. <input id="input5" ref="/root/main/jobdsccrptnlist/career" navindex="16" style="left:74px; top:334px; width:527px; height:19px; "/>
  422. <line id="line12" class="line_3" style="x1:0px; y1:382px; x2:600px; y2:382px; "/>
  423. <caption id="caption14" class="cell_1" style="left:1px; top:359px; width:70px; height:21px; ">기 타</caption>
  424. <input id="input6" ref="/root/main/jobdsccrptnlist/etc" navindex="17" style="left:74px; top:360px; width:527px; height:19px; "/>
  425. <line id="line13" class="line_3" style="x1:1px; y1:430px; x2:601px; y2:430px; "/>
  426. <caption id="caption15" class="cell_1" style="left:0px; top:385px; width:70px; height:42px; vertical-align:middle; ">학술지식 및 기술</caption>
  427. <textarea id="textarea3" ref="/root/main/jobdsccrptnlist/scholar" navindex="18" style="left:73px; top:385px; width:527px; height:42px; "/>
  428. <line id="line14" class="line_3" style="x1:1px; y1:479px; x2:601px; y2:479px; "/>
  429. <caption id="caption17" class="cell_1" style="left:0px; top:434px; width:70px; height:42px; vertical-align:middle; ">실무지식 및 기술</caption>
  430. <textarea id="textarea4" ref="/root/main/jobdsccrptnlist/business" navindex="19" style="left:73px; top:434px; width:527px; height:42px; "/>
  431. <caption id="caption18" class="tit_2" style="left:610px; top:50px; width:142px; height:13px; ">직무내용</caption>
  432. <line id="line15" class="line_1" style="x1:610px; y1:69px; x2:1190px; y2:68px; "/>
  433. <textarea id="txt_jobdescd" ref="/root/temp2/jobdescd" navindex="27" style="left:698px; top:98px; width:492px; height:435px; ">
  434. <script type="javascript" ev:event="xforms-value-changed">
  435. <![CDATA[
  436. var len = dtg_desclist.rows-1;
  437. for( var i = 1 ; i <= len ; i++){
  438. if( model.getValue("/root/temp2/jobseq") == model.getValue("/root/main/jobdsccrptndesclist[" + i + "]/jobseq") ){
  439. model.setValue("/root/main/jobdsccrptndesclist[" + dtg_desclist.row + "]/jobdescd", model.getValue("/root/temp2/jobdescd") );
  440. }
  441. }
  442. model.refresh();
  443. ]]>
  444. </script>
  445. </textarea>
  446. <caption id="caption19" class="tit_2" style="left:0px; top:490px; width:162px; height:13px; ">작성자 / 평가자 / 확인자</caption>
  447. <line id="line16" class="line_1" style="x1:0px; y1:510px; x2:600px; y2:509px; "/>
  448. <select1 id="cmb_valuer" ref="/root/main/jobdsccrptnlist/valuer" navindex="20" appearance="minimal" editmode="inputsearch" style="left:277px; top:514px; width:120px; height:19px; ">
  449. <choices>
  450. <itemset nodeset="/root/init2/jobposerlist/jobposer">
  451. <label ref="emplnm"/>
  452. <value ref="emplno"/>
  453. </itemset>
  454. </choices>
  455. </select1>
  456. <caption id="caption20" class="cell_1" style="left:199px; top:514px; width:75px; height:20px; vertical-align:middle; ">평 가 자</caption>
  457. <line id="line17" class="line_3" style="x1:0px; y1:536px; x2:600px; y2:536px; "/>
  458. <select1 id="cmb_write" ref="/root/main/jobdsccrptnlist/writer" navindex="7" visibility="hidden" appearance="minimal" style="left:170px; top:485px; width:124px; height:19px; ">
  459. <choices>
  460. <itemset>
  461. <label/>
  462. <value/>
  463. </itemset>
  464. </choices>
  465. </select1>
  466. <caption id="caption21" class="cell_1" style="left:0px; top:514px; width:70px; height:20px; vertical-align:middle; ">작 성 자</caption>
  467. <caption id="caption22" class="cell_1" style="left:401px; top:514px; width:75px; height:20px; vertical-align:middle; ">확 인 자</caption>
  468. <select1 id="cmb_confirm" ref="/root/main/jobdsccrptnlist/confirm" navindex="21" appearance="minimal" editmode="inputsearch" style="left:479px; top:514px; width:120px; height:19px; ">
  469. <choices>
  470. <itemset nodeset="/root/init2/jobposerlist/jobposer">
  471. <label ref="emplnm"/>
  472. <value ref="emplno"/>
  473. </itemset>
  474. </choices>
  475. </select1>
  476. <line id="line18" class="line_3" style="x1:609px; y1:536px; x2:1190px; y2:536px; "/>
  477. <caption id="caption23" class="search_name" style="left:369px; top:14px; width:86px; height:17px; ">직무일자 :</caption>
  478. <input id="input7" ref="/root/send/jobdate" class="input_search" navindex="2" inputtype="date" format="yyyy-mm-dd" style="left:459px; top:13px; width:101px; height:19px; text-align:center; "/>
  479. <input id="input8" ref="/root/main/jobdsccrptnlist/emplnm" disabled="true" style="left:72px; top:514px; width:125px; height:19px; "/>
  480. <line id="line19" class="line_3" style="x1:610px; y1:94px; x2:1190px; y2:94px; "/>
  481. <button id="button3" class="btn2_letter2" navindex="22" style="left:1103px; top:46px; width:42px; height:19px; ">
  482. <caption>추가</caption>
  483. <script type="javascript" ev:event="DOMActivate">
  484. <![CDATA[
  485. if(model.getValue("/root/main/jobdsccrptnlist/emplno") == ""){
  486. messageBox("직무기술서 내역을 조회한 후 진행하십시오.", "E999", "");
  487. return;
  488. }
  489. // JOBSEQ 따기
  490. var len = dtg_desclist.rows-1;
  491. misfGridIUD(dtg_desclist,"A");
  492. var seq = 1;
  493. if( len > 0 ){
  494. seq = parseInt(model.getValue("/root/main/jobdsccrptndesclist[" + len + "]/jobseq"))+1;
  495. }
  496. model.setValue("/root/main/jobdsccrptndesclist[" + (dtg_desclist.rows-1) + "]/jobseq", seq );
  497. model.setValue("/root/main/jobdsccrptndesclist[" + (dtg_desclist.rows-1) + "]/emplno", model.getValue("/root/main/jobdsccrptnlist/emplno"));
  498. model.setValue("/root/main/jobdsccrptndesclist[" + (dtg_desclist.rows-1) + "]/jobdate", model.getValue("/root/main/jobdsccrptnlist/jobdate"));
  499. model.setValue("/root/temp2/jobdescd", "" );
  500. model.setValue("/root/temp2/jobdescm", "" );
  501. model.setValue("/root/temp2/jobseq", seq );
  502. txt_jobdescd.disabled = false;
  503. ipt_jobdescm.disabled = false;
  504. model.refresh();
  505. ]]>
  506. </script>
  507. </button>
  508. <input id="ipt_jobdescm" ref="/root/temp2/jobdescm" navindex="26" style="left:762px; top:73px; width:428px; height:19px; ">
  509. <script type="javascript" ev:event="xforms-value-changed">
  510. <![CDATA[
  511. var len = dtg_desclist.rows-1;
  512. for( var i = 1 ; i <= len ; i++){
  513. if( model.getValue("/root/temp2/jobseq") == model.getValue("/root/main/jobdsccrptndesclist[" + i + "]/jobseq") ){
  514. model.setValue("/root/main/jobdsccrptndesclist[" + dtg_desclist.row + "]/jobdescm", model.getValue("/root/temp2/jobdescm") );
  515. }
  516. }
  517. model.refresh();
  518. ]]>
  519. </script>
  520. </input>
  521. <button id="button5" class="btn2_letter2" navindex="22" style="left:1147px; top:46px; width:42px; height:19px; ">
  522. <caption>삭제</caption>
  523. <script type="javascript" ev:event="DOMActivate">
  524. <![CDATA[
  525. if( dtg_desclist.row != "" ){
  526. misfGridIUD(dtg_desclist, "D");
  527. dtg_desclist.rowStatus(dtg_desclist.row) = 4;
  528. if( messageBox("삭제하시겠습니까", "Q999") == 6 ){
  529. model.setValue("/root/send/delitem/demplno", model.getValue("/root/main/jobdsccrptnlist/emplno") );
  530. model.setValue("/root/send/delitem/djobdate", model.getValue("/root/temp2/jobdate") );
  531. model.setValue("/root/send/delitem/djobseq", model.getValue("/root/temp2/jobseq") );
  532. model.setValue("/root/send/delitem/djobflag", "2" );
  533. if( submit("TXRWP23002") ){
  534. messageBox("삭제되었습니다.", "I000");
  535. btn_search.dispatch("DOMActivate");
  536. }
  537. }else{
  538. return;
  539. }
  540. }else{
  541. messageBox("직무내용LIST의 삭제할 SEQ를 선택한 후 진행해주세요.", "E999", "");
  542. return;
  543. }
  544. ]]>
  545. </script>
  546. </button>
  547. <datagrid id="dtg_desclist" nodeset="/root/main/jobdsccrptndesclist" caption="SEQ^제목^상세내용^VIEW SEQ^사번^직무기간" colsep="^" colwidth="41, 52, 31, 39, 154, 165" dataheight="25" ellipsis="true" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" tooltip="true" style="left:610px; top:73px; width:85px; height:460px; ">
  548. <col ref="jobseq"/>
  549. <col ref="jobdescm" visibility="hidden"/>
  550. <col ref="jobdescd" visibility="hidden"/>
  551. <col ref="viewjobseq" visibility="hidden"/>
  552. <col ref="emplno" visibility="hidden"/>
  553. <col ref="jobdate" visibility="hidden"/>
  554. <script type="javascript" ev:event="onclick">
  555. <![CDATA[
  556. if( dtg_desclist.rows > 1 ){
  557. model.setValue("/root/temp2/jobdescd", model.getValue("/root/main/jobdsccrptndesclist[" + dtg_desclist.row + "]/jobdescd"));
  558. model.setValue("/root/temp2/jobdescm", model.getValue("/root/main/jobdsccrptndesclist[" + dtg_desclist.row + "]/jobdescm"));
  559. model.setValue("/root/temp2/jobseq", model.getValue("/root/main/jobdsccrptndesclist[" + dtg_desclist.row + "]/jobseq"));
  560. model.setValue("/root/temp2/jobdate", model.getValue("/root/main/jobdsccrptndesclist[" + dtg_desclist.row + "]/jobdate"));
  561. ipt_jobdescm.disabled = false;
  562. txt_jobdescd.disabled = false;
  563. }
  564. model.refresh();
  565. ]]>
  566. </script>
  567. </datagrid>
  568. <caption id="caption24" class="cell_1" style="left:698px; top:73px; width:62px; height:20px; vertical-align:middle; ">제 목</caption>
  569. </group>
  570. <group id="grp_btn" scroll="auto" style="left:0px; top:0px; width:1195px; height:27px; ">
  571. <button id="btn_print" class="btn4_letter2" navindex="7" style="left:1135px; top:3px; width:56px; height:22px; ">
  572. <caption>저장</caption>
  573. <script type="javascript" ev:event="DOMActivate">
  574. <![CDATA[
  575. if( model.getValue("/root/main/jobdsccrptnlist/jobname").length > 26 ){
  576. messageBox("직무명의 글자수가 정해진 자리수 이상의 길이입니다. ", "E999", "");
  577. return;
  578. }
  579. if( model.getValue("/root/main/jobdsccrptnlist/ability").length > 13 ){
  580. messageBox("학력의 글자수가 정해진 자리수 이상의 길이입니다. ", "E999", "");
  581. return;
  582. }
  583. if( model.getValue("/root/main/jobdsccrptnlist/license").length > 13 ){
  584. messageBox("자격/면허의 글자수가 정해진 자리수 이상의 길이입니다. ", "E999", "");
  585. return;
  586. }
  587. if( model.getValue("/root/main/jobdsccrptnlist/major").length > 16 ){
  588. messageBox("전공의 글자수가 정해진 자리수 이상의 길이입니다. ", "E999", "");
  589. return;
  590. }
  591. if( model.getValue("/root/main/jobdsccrptnlist/education").length > 93 ){
  592. messageBox("교육의 글자수가 정해진 자리수 이상의 길이입니다. ", "E999", "");
  593. return;
  594. }
  595. if( model.getValue("/root/main/jobdsccrptnlist/career").length > 93 ){
  596. messageBox("경력의 글자수가 정해진 자리수 이상의 길이입니다. ", "E999", "");
  597. return;
  598. }
  599. if( model.getValue("/root/main/jobdsccrptnlist/etc").length > 93 ){
  600. messageBox("기타의 글자수가 정해진 자리수 이상의 길이입니다. ", "E999", "");
  601. return;
  602. }
  603. if( model.getValue("/root/main/jobdsccrptnlist/scholar").length > 93 ){
  604. messageBox("학술지식 및 기술의 글자수가 정해진 자리수 이상의 길이입니다. ", "E999", "");
  605. return;
  606. }
  607. if( model.getValue("/root/main/jobdsccrptnlist/jobobject").length > 93 ){
  608. messageBox("직무개요(목적/내용)의 글자수가 정해진 자리수 이상의 길이입니다. ", "E999", "");
  609. return;
  610. }
  611. if( model.getValue("/root/main/jobdsccrptnlist/business").length > 93 ){
  612. messageBox("실무지식 및 기술의 글자수가 정해진 자리수 이상의 길이입니다. ", "E999", "");
  613. return;
  614. }
  615. fSave();
  616. ]]>
  617. </script>
  618. </button>
  619. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:13px; ">직무기술서 관리</caption>
  620. <button id="button2" class="btn3_letter7" navindex="5" style="left:961px; top:3px; width:116px; height:22px; ">
  621. <caption>직무기술서출력</caption>
  622. <script type="javascript" ev:event="DOMActivate">
  623. <![CDATA[
  624. fPrint();
  625. ]]>
  626. </script>
  627. </button>
  628. <button id="btn_init" class="btn3_letter3" navindex="4" style="left:892px; top:3px; width:68px; height:22px; ">
  629. <caption>초기화</caption>
  630. <script type="javascript" ev:event="DOMActivate">
  631. <![CDATA[
  632. model.removenode("/root/main/jobdsccrptnlist");
  633. model.makeValue("/root/main/jobdsccrptnlist/emplno" , "" );
  634. model.makeValue("/root/main/jobdsccrptnlist/emplnm" , "" );
  635. model.makeValue("/root/main/jobdsccrptnlist/deptcd" , "" );
  636. model.makeValue("/root/main/jobdsccrptnlist/deptnm" , "" );
  637. model.makeValue("/root/main/jobdsccrptnlist/teamcd" , "" );
  638. model.makeValue("/root/main/jobdsccrptnlist/teamnm" , "" );
  639. model.makeValue("/root/main/jobdsccrptnlist/unitcd" , "" );
  640. model.makeValue("/root/main/jobdsccrptnlist/unitnm" , "" );
  641. model.makeValue("/root/main/jobdsccrptnlist/dutplcedeptcd" , "" );
  642. model.makeValue("/root/main/jobdsccrptnlist/dutplcedeptnm" , "" );
  643. model.makeValue("/root/main/jobdsccrptnlist/dutunitcd" , "" );
  644. model.makeValue("/root/main/jobdsccrptnlist/dutunitnm" , "" );
  645. model.makeValue("/root/main/jobdsccrptnlist/jobposcd" , "" );
  646. model.makeValue("/root/main/jobdsccrptnlist/jobposnm" , "" );
  647. model.makeValue("/root/main/jobdsccrptnlist/jobgradcd" , "" );
  648. model.makeValue("/root/main/jobdsccrptnlist/jobgradnm" , "" );
  649. model.makeValue("/root/main/jobdsccrptnlist/ability" , "" );
  650. model.makeValue("/root/main/jobdsccrptnlist/business" , "" );
  651. model.makeValue("/root/main/jobdsccrptnlist/career" , "" );
  652. model.makeValue("/root/main/jobdsccrptnlist/confirm" , "" );
  653. model.makeValue("/root/main/jobdsccrptnlist/confirmdate" , "" );
  654. model.makeValue("/root/main/jobdsccrptnlist/education" , "" );
  655. model.makeValue("/root/main/jobdsccrptnlist/etc" , "" );
  656. model.makeValue("/root/main/jobdsccrptnlist/jobdate" , "" );
  657. model.makeValue("/root/main/jobdsccrptnlist/jobdesc" , "" );
  658. model.makeValue("/root/main/jobdsccrptnlist/jobname" , "" );
  659. model.makeValue("/root/main/jobdsccrptnlist/jobobject" , "" );
  660. model.makeValue("/root/main/jobdsccrptnlist/license" , "" );
  661. model.makeValue("/root/main/jobdsccrptnlist/major" , "" );
  662. model.makeValue("/root/main/jobdsccrptnlist/scholar" , "" );
  663. model.makeValue("/root/main/jobdsccrptnlist/valuer" , "" );
  664. model.makeValue("/root/main/jobdsccrptnlist/valuerdate" , "" );
  665. model.makeValue("/root/main/jobdsccrptnlist/writer" , "" );
  666. model.makeValue("/root/main/jobdsccrptnlist/writerdate" , "" );
  667. model.resetInstanceNode("/root/main/jobdsccrptndesclist");
  668. model.setValue("/root/temp2/jobseq", "");
  669. model.setValue("/root/temp2/jobdate", "");
  670. model.setValue("/root/temp2/jobdescd", "");
  671. model.setValue("/root/temp2/jobdescm", "");
  672. model.refresh();
  673. ]]>
  674. </script>
  675. </button>
  676. <button id="button4" class="btn4_letter2" navindex="6" style="left:1078px; top:3px; width:56px; height:22px; ">
  677. <caption>삭제</caption>
  678. <script type="javascript" ev:event="DOMActivate">
  679. <![CDATA[
  680. fDel();
  681. ]]>
  682. </script>
  683. </button>
  684. </group>
  685. </xhtml:body>
  686. </xhtml:html>