SMRPV01800_자기계발계획서등록.xrw 55 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233
  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>자기계발계획서등록</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <list>
  11. <jobrole>
  12. <mstgrthlist/>
  13. <jobrolelist/>
  14. <grthgoallist/>
  15. <mainafcrlist/>
  16. <empllist>
  17. <instcd/>
  18. <instnm/>
  19. <unitcd/>
  20. <deptnm/>
  21. <njobgradcd/>
  22. <njobgradnm/>
  23. <jobkindcd/>
  24. <jobkindnm/>
  25. <entcodd/>
  26. <fnlschl/>
  27. </empllist>
  28. <valutrglist>
  29. <valutrgtflag/>
  30. </valutrglist>
  31. </jobrole>
  32. </list>
  33. <jobrole>
  34. <mstgrthlist>
  35. <instcd/>
  36. <writeyy/>
  37. <plandocflag/>
  38. <emplno/>
  39. <genrdd/>
  40. <grthconcfild/>
  41. <concresn/>
  42. <planvaluhope/>
  43. <execrsltvalu/>
  44. <prestchrgbiz/>
  45. <bizsatsfct/>
  46. <bizexptns/>
  47. <bizdgrdifclt/>
  48. <bizqty/>
  49. <jobrolemoveneedyn/>
  50. <movepriod/>
  51. <jobrolemoveresn/>
  52. <jobrolemngtvalupsnopin/>
  53. <jobrolemngtvalupsn/>
  54. <jobrolemoveetcresn/>
  55. <cnfmyn/>
  56. <deptchfcnfmyn/>
  57. </mstgrthlist>
  58. </jobrole>
  59. </main>
  60. <send>
  61. <jobrole>
  62. <instcd/>
  63. <writeyy/>
  64. <emplno/>
  65. <emplnm/>
  66. <plandocflag>1</plandocflag>
  67. <cnfmyn/>
  68. <deptchfcnfmyn/>
  69. </jobrole>
  70. <save>
  71. <mstgrthlist/>
  72. <jobrolelist/>
  73. <grthgoallist/>
  74. <mainafcrlist/>
  75. </save>
  76. </send>
  77. <init>
  78. <cnfmyn>
  79. <code/>
  80. <cdnm>선택안함</cdnm>
  81. <code>Y</code>
  82. <cdnm>확정</cdnm>
  83. <code>N</code>
  84. <cdnm>미확정</cdnm>
  85. </cnfmyn>
  86. <cnfmynnm/>
  87. <deptchfcnfmynnm/>
  88. <cnfmynnm2/>
  89. <deptchcnfmynnm2/>
  90. </init>
  91. <target/>
  92. </root>
  93. </instance>
  94. <script type="javascript" ev:event="xforms-ready">
  95. <![CDATA[
  96. /* Grid 초기화 */
  97. misfGridInit(grd_mstgrth);
  98. misfGridInit(grd_grthgoal);
  99. misfGridInit(grd_jobrole);
  100. misfGridInit(grd_mainafcrlist);
  101. /* Submit의 ref에 참조 될 Node들은 꼭 Instance에 생성 해야 함.*/
  102. /* Grid의 Mater, Detail관계 설정
  103. misfMsterDetailSet(관계설정할 Grid, Mater가 될 Grid, submit ID, 저장여부) */
  104. misfMsterDetailSet(grd_mstgrth,null, "TRRPV01801" ,"Y");
  105. misfMsterDetailSet(grd_grthgoal,null, "TRRPV01801" ,"Y");
  106. misfMsterDetailSet(grd_jobrole,null, "TRRPV01801" ,"Y");
  107. misfMsterDetailSet(grd_mainafcrlist,null, "TRRPV01801" ,"Y");
  108. var curdate = getCurrentDate();
  109. model.setValue(ipt_writeyy.attribute("ref") , curdate.substr(0, 4));
  110. model.setValue(ipt_emplnos.attribute("ref") , getUserInfo("userid"));
  111. model.setValue(ipt_emplnms.attribute("ref") , getUserInfo("usernm"));
  112. model.setValue("/root/send/jobrole/instcd", getUserInfo("dutplceinstcd"));
  113. //현재화면이 팝업으로 Load 되었을 시.....
  114. if(instance1.selectNodes("/root/target/*").length > 0)
  115. {
  116. fPopupDataSet("valuyy,trgtemplno,trgtemplnm","ipt_writeyy,ipt_emplnos,ipt_emplnms");
  117. model.setValue("/root/send/jobrole/instcd", model.getValue("/root/target/dutinst"));
  118. }
  119. finitialize();
  120. ]]>
  121. </script>
  122. <submission id="TRRPV01801" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/jobrole" resultref="/root/main/list/jobrole"/>
  123. <submission id="TXRPV01804" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" resultref="/root/hidden/temp"/>
  124. <submission id="TXRPV01806" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/jobrole" resultref="/root/hidden/temp"/>
  125. <script type="javascript" ev:event="xforms-model-destruct">
  126. <![CDATA[
  127. if (btn_save.disabled = false) {
  128. if (getGridUpdateData(grd_mstgrth) != "" || getGridUpdateData(grd_grthgoal) != "" || getGridUpdateData(grd_jobrole) != "" || getGridUpdateData(grd_mainafcrlist) != "") {
  129. var save_val = messageBox("변경된 자료가 존재 합니다. ", "Q002");
  130. if (save_val == "6") {
  131. btn_save.dispatch("DOMActivate");
  132. }
  133. }
  134. }
  135. ]]>
  136. </script>
  137. </model>
  138. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  139. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  140. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  141. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  142. <script type="javascript" src="../../../mis/valuationmngtweb/js/RPV001.js"/>
  143. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  144. <script type="javascript">
  145. <![CDATA[
  146. function finitialize() {
  147. model.setValue(rbo_cnfmYN.attribute("ref") , "");
  148. model.setValue(rbo_DeptChfCnfmYN.attribute("ref") , "");
  149. rpvfComboValuCdList(model.getValue(ipt_writeyy.attribute("ref")),"GRTHGOALFLAGCD,GRTHCONCFILD,BIZSATSFCT,BIZEXPTNS,BIZDGRDIFCLT,BIZQTY,JOBROLEMOVENEEDYN,JOBROLEMOVERESN,MOVEPRIOD,CHOIDG","grd_grthgoal.grthgoalflagcd,rbo_grthconcfild,rbo_Bizsatsfct,rbo_BizExptns,rbo_BizDgrdifclt,rbo_BizQty,rbo_JobRoleMoveNeedYN,rbo_JobRoleMoveResn,rbo_MovePriod,grd_jobrole.choidg");
  150. rpvfComboInstCdList("grd_jobrole.hopeinstcd");
  151. rpvfComboInstCdList("grd_mainafcrlist.postinstcd");
  152. // 평가기간에 따른 권한 부여.
  153. //당분간막음 2008-04-01
  154. // if(model.getValue("/root/temp/trgtflag") != ""){
  155. // rpvfCheckDayFlag(ipt_writeyy.value, getUserInfo("userid"), model.getValue("/root/temp/trgtflag"), model.getValue("/root/temp/program"),
  156. // "btn_cnfmyn,btn_noncnfmyn,btn_init,btn_save,btn_insert,btn_delete,btn_createafcr,btn_afinsert,btn_afdelete,btn_jobinsert,btn_jobdelete");
  157. // }else{
  158. // rpvfCheckDayFlag(ipt_writeyy.value, getUserInfo("userid"), "03", "SMRPV01800",
  159. // "btn_cnfmyn,btn_noncnfmyn,btn_init,btn_save,btn_insert,btn_delete,btn_createafcr,btn_afinsert,btn_afdelete,btn_jobinsert,btn_jobdelete");
  160. // }
  161. var instcd = getUserInfo("dutplceinstcd");
  162. var emplno = getUserInfo("userid");
  163. rpvfGetUserAuth(instcd,emplno);
  164. if(DUTY_VALU_YN =='Y'){
  165. ipt_emplnos.disabled = false;
  166. ipt_emplnms.disabled = false;
  167. btn_emplno.disabled = false;
  168. }else{
  169. ipt_emplnos.disabled = true;
  170. ipt_emplnms.disabled = true;
  171. btn_emplno.disabled = true;
  172. }
  173. model.refresh();
  174. btn_search.dispatch("DOMActivate");
  175. if(grd_mstgrth.valueMatrix(grd_mstgrth.row, grd_mstgrth.colRef("deptchfcnfmyn")) == "Y"){
  176. messageBox("계획사항에 대한 부서장확정이 이루어진 상태입니다. 본인이 달성한 성과의 내용은 작성 후 직무관리부문 선택하여 저장 하십시요!.","I999");
  177. }
  178. }
  179. //현재화면이 팝업화면으로 Loadding 될때 넘겨받은값을 설정.
  180. function fPopupDataSet()
  181. {
  182. var fgetValueNode = "/root/target/";
  183. var fNodeName = arguments[0].split(",");
  184. var fSetControl = arguments[1].split(",");
  185. for(var i = 0; i < fSetControl.length; i++)
  186. {
  187. document.controls(fSetControl[i]).value = model.getValue(fgetValueNode + fNodeName[i]);
  188. }
  189. }
  190. function fControlDisableSet1(pBool) {
  191. rbo_grthconcfild.disabled = pBool;
  192. txt_concresn.disabled = pBool;
  193. grd_grthgoal.colDisabled(grd_grthgoal.colRef("grthgoalflagcd")) = pBool;
  194. grd_grthgoal.colDisabled(grd_grthgoal.colRef("elvttrgtitem")) = pBool;
  195. grd_grthgoal.colDisabled(grd_grthgoal.colRef("ownefforteducnm")) = pBool;
  196. grd_grthgoal.colDisabled(grd_grthgoal.colRef("goalfromdd")) = pBool;
  197. grd_grthgoal.colDisabled(grd_grthgoal.colRef("goaltodd")) = pBool;
  198. grd_grthgoal.colDisabled(grd_grthgoal.colRef("elvtgoal")) = pBool;
  199. btn_insert.disabled = pBool;
  200. btn_delete.disabled = pBool;
  201. }
  202. function fControlDisableSet2(pBool) {
  203. grd_grthgoal.colDisabled(grd_grthgoal.colRef("achvmntfact")) = pBool;
  204. for (var i = 1; i < grd_mainafcrlist.cols; i++) {
  205. grd_mainafcrlist.colDisabled(i) = pBool;
  206. }
  207. btn_createafcr.disabled = pBool;
  208. btn_afinsert.disabled = pBool;
  209. btn_afdelete.disabled = pBool;
  210. txt_PrestChrgBiz.disabled = pBool;
  211. rbo_Bizsatsfct.disabled = pBool;
  212. rbo_BizExptns.disabled = pBool;
  213. rbo_BizDgrdifclt.disabled = pBool;
  214. rbo_BizQty.disabled = pBool;
  215. rbo_JobRoleMoveNeedYN.disabled = pBool;
  216. rbo_MovePriod.disabled = pBool;
  217. rbo_JobRoleMoveResn.disabled = pBool;
  218. btn_jobinsert.disabled = pBool;
  219. btn_jobdelete.disabled = pBool;
  220. for (var k = 1; k < grd_jobrole.cols; k++) {
  221. grd_jobrole.colDisabled(k) = pBool;
  222. }
  223. }
  224. ]]>
  225. </script>
  226. </xhtml:head>
  227. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  228. <group id="group1" style="left:0px; top:0px; width:1195; height:13px; ">
  229. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:199px; height:14px; ">자기계발계획서 등록</caption>
  230. </group>
  231. <group id="group3" style="left:0px; top:38px; width:1195; height:744; ">
  232. <!--<datagrid id="datagrid1" nodeset="/root/example" class="datagrid2" caption="구분^확정^목표^시작일자^종료일자^가중치" colsep="^" colwidth="48, 16, 80, 40, 50, 20" dataheight="23" defaultrows="23" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" style="left:317px; top:110px; width:876px; height:481px; ">-->
  233. <group id="grdmain" style="left:0px; top:45px; width:1195px; height:699px; ">
  234. <caption id="caption8" class="tit_2" style="left:5px; top:10px; width:165px; height:13px; ">성장목표 등록</caption>
  235. <line id="line5" class="line_1" style="x1:0px; y1:25px; x2:1193px; y2:25px; "/>
  236. <group id="grpmain2" style="left:0px; top:29px; width:1195px; height:670px; ">
  237. <button id="button3" class="btn_sw" group="tab" selected="true" style="left:0px; top:5px; width:100px; height:22px; ">
  238. <caption>자기계발부문</caption>
  239. <script type="javascript" ev:event="DOMActivate">
  240. <![CDATA[
  241. model.toggle("case1");
  242. if(grd_mstgrth.valueMatrix(grd_mstgrth.row, grd_mstgrth.colRef("cnfmyn")) == "Y"){
  243. model.setValue(opt_cnfmnm.attribute("ref"),"확정");
  244. fControlDisableSet1(true);
  245. }
  246. else{
  247. model.setValue(opt_cnfmnm.attribute("ref"),"미확정");
  248. fControlDisableSet1(false);
  249. }
  250. if(grd_mstgrth.valueMatrix(grd_mstgrth.row, grd_mstgrth.colRef("deptchfcnfmyn")) == "Y"){
  251. model.setValue(opt_DeptChfCnfmnm.attribute("ref"),"확정");
  252. }
  253. else{
  254. model.setValue(opt_DeptChfCnfmnm.attribute("ref"),"미확정");
  255. }
  256. if(grd_mstgrth.valueMatrix(grd_mstgrth.row, grd_mstgrth.colRef("deptchfcnfmyn")) == "Y"){
  257. btn_save.disabled = true;
  258. btn_cnfmyn.disabled = true;
  259. btn_noncnfmyn.disabled = true;
  260. }
  261. else {
  262. if(grd_mstgrth.valueMatrix(grd_mstgrth.row, grd_mstgrth.colRef("cnfmyn")) == "Y"){
  263. btn_save.disabled = true;
  264. btn_cnfmyn.disabled = true;
  265. btn_noncnfmyn.disabled = false;
  266. }
  267. else {
  268. btn_save.disabled = false;
  269. btn_cnfmyn.disabled = false;
  270. btn_noncnfmyn.disabled = true;
  271. }
  272. }
  273. model.refresh();
  274. ]]>
  275. </script>
  276. </button>
  277. <button id="button4" class="btn_sw" group="tab" style="left:99px; top:5px; width:100px; height:22px; ">
  278. <caption>직무관리부문</caption>
  279. <script type="javascript" ev:event="DOMActivate">
  280. <![CDATA[
  281. model.toggle("case2");
  282. if(grd_mstgrth.valueMatrix(grd_mstgrth.row, grd_mstgrth.colRef("cnfmyn2")) == "Y"){
  283. model.setValue(opt_cnfmnm2.attribute("ref"),"확정");
  284. //alert("확정");
  285. fControlDisableSet2(true);
  286. }
  287. else{
  288. //alert("미확정");
  289. model.setValue(opt_cnfmnm2.attribute("ref"),"미확정");
  290. fControlDisableSet2(false);
  291. }
  292. if(grd_mstgrth.valueMatrix(grd_mstgrth.row, grd_mstgrth.colRef("deptchfcnfmyn2")) == "Y"){
  293. model.setValue(opt_DeptChCnfmnm2.attribute("ref"),"확정");
  294. }
  295. else{
  296. model.setValue(opt_DeptChCnfmnm2.attribute("ref"),"미확정");
  297. }
  298. if(grd_mstgrth.valueMatrix(grd_mstgrth.row, grd_mstgrth.colRef("deptchfcnfmyn2")) == "Y"){
  299. btn_save.disabled = true;
  300. btn_cnfmyn.disabled = true;
  301. btn_noncnfmyn.disabled = true;
  302. }
  303. else {
  304. if(grd_mstgrth.valueMatrix(grd_mstgrth.row, grd_mstgrth.colRef("cnfmyn2")) == "Y"){
  305. btn_save.disabled = true;
  306. btn_cnfmyn.disabled = true;
  307. btn_noncnfmyn.disabled = false;
  308. }
  309. else {
  310. btn_save.disabled = false;
  311. btn_cnfmyn.disabled = false;
  312. btn_noncnfmyn.disabled = true;
  313. }
  314. }
  315. model.refresh();
  316. ]]>
  317. </script>
  318. </button>
  319. <switch id="swt_select" style="left:0px; top:26px; width:1195px; height:634px; ">
  320. <case id="case1" selected="true">
  321. <line id="line3" class="line_3" style="x1:0px; y1:631px; x2:1193px; y2:631px; "/>
  322. <line id="line17" class="line_3" style="x1:0px; y1:117px; x2:1193px; y2:117px; "/>
  323. <line id="line1" class="line_2" style="x1:0px; y1:27px; x2:1193px; y2:27px; "/>
  324. <line id="line16" class="line_2" style="x1:0px; y1:51px; x2:1193px; y2:51px; "/>
  325. <caption id="caption26" class="cell_1" style="left:289px; top:5px; width:105px; height:23px; text-align:center; vertical-align:middle; ">부 서</caption>
  326. <caption id="caption3" class="cell_1" style="left:578px; top:5px; width:105px; height:23px; text-align:center; vertical-align:middle; ">직 급</caption>
  327. <output id="opt_deptnm" ref="/root/main/list/jobrole/empllist/deptnm" style="left:396px; top:7px; width:180px; height:19px; "/>
  328. <output id="opt_jobgradnm" ref="/root/main/list/jobrole/empllist/njobgradnm" style="left:685px; top:6px; width:180px; height:19px; "/>
  329. <caption id="caption4" class="cell_1" style="left:0px; top:29px; width:105px; height:23px; text-align:center; vertical-align:middle; ">직 종</caption>
  330. <output id="opt_jobkindnm" ref="/root/main/list/jobrole/empllist/jobkindnm" style="left:107px; top:31px; width:180px; height:19px; "/>
  331. <caption id="caption5" class="cell_1" style="left:0px; top:5px; width:105px; height:23px; text-align:center; vertical-align:middle; ">기 관</caption>
  332. <output id="opt_instnm" ref="/root/main/list/jobrole/empllist/instnm" style="left:107px; top:7px; width:180; height:19px; "/>
  333. <output id="opt_entcodd" ref="/root/main/list/jobrole/empllist/entcodd" format="yyyy-mm-dd" style="left:396px; top:31px; width:180px; height:19px; "/>
  334. <caption id="caption7" class="cell_1" style="left:289px; top:29px; width:105px; height:23px; text-align:center; vertical-align:middle; ">입 사 일</caption>
  335. <caption id="caption9" class="cell_1" style="left:578px; top:29px; width:105px; height:23px; text-align:center; vertical-align:middle; ">최종 출신교(전공)</caption>
  336. <output id="opt_schoolnm" ref="/root/main/list/jobrole/empllist/fnlschl" style="left:685px; top:32px; width:180px; height:19px; "/>
  337. <caption id="caption10" class="cell_1" style="left:867px; top:29px; width:105px; height:23px; text-align:center; vertical-align:middle; ">성장관심분야</caption>
  338. <select1 id="rbo_grthconcfild" ref="/root/main/jobrole/mstgrthlist/grthconcfild" appearance="full" cols="100" overflow="visible" style="left:974px; top:32px; width:160px; height:19px; border-style:none; ">
  339. <choices>
  340. <itemset>
  341. <label/>
  342. <value/>
  343. </itemset>
  344. </choices>
  345. </select1>
  346. <line id="line2" class="line_1" style="x1:0px; y1:142px; x2:1193px; y2:142px; "/>
  347. <caption id="caption11" class="tit_2" style="left:5px; top:127px; width:306px; height:13px; ">성장목표 달성을 위한 자기계발 계획 / 이행 결과</caption>
  348. <datagrid id="grd_grthgoal" nodeset="/root/main/list/jobrole/grthgoallist" autoresize="true" caption="목표구분^향상대상항목^자기노력 또는 교육명^기간(FROM)^기간(TO)^향상목표^달성결과/내용" colsep="^" colwidth="127, 213, 163, 100, 100, 185, 259, 214, 34, 100, 100, 100" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:1px; top:147px; width:1192px; height:330px; ">
  349. <col class="gridcombo" ref="grthgoalflagcd" type="combo" _key="true">
  350. <choices>
  351. <itemset>
  352. <label/>
  353. <value/>
  354. </itemset>
  355. </choices>
  356. </col>
  357. <col ref="elvttrgtitem" type="input"/>
  358. <col ref="ownefforteducnm" type="input"/>
  359. <col ref="goalfromdd" type="inputdate" format="yyyy-mm-dd"/>
  360. <col ref="goaltodd" type="inputdate" format="yyyy-mm-dd"/>
  361. <col ref="elvtgoal" type="input"/>
  362. <col ref="achvmntfact" type="input" maxbyte="100"/>
  363. <col ref="instcd" visibility="hidden"/>
  364. <col ref="writeyy" visibility="hidden"/>
  365. <col ref="plandocflag" visibility="hidden"/>
  366. <col ref="emplno" visibility="hidden"/>
  367. <col ref="seqno" visibility="hidden"/>
  368. <col ref="oldgrthgoalflagcd" visibility="hidden"/>
  369. <script type="javascript" ev:event="onbuttonclick">
  370. <![CDATA[
  371. if(grd_grthgoal.rowStatus(grd_grthgoal.row) != "0" && grd_grthgoal.rowStatus(grd_grthgoal.row) != "2" && grd_grthgoal.col == grd_grthgoal.colRef("elvttrgtitemnm"))
  372. {
  373. model.removenode("/root/copynode");
  374. model.removenode(gvParamPath +"/SMRPV99100_/SMRPV99100_value");
  375. model.makeNode("/root/copynode");
  376. rpvfOpenPopUpList("24",grd_grthgoal,"ELVTTRGTITEMCD","grthgoalflagcd,grthgoalflagnm","","","valucd,valucdnm");
  377. var cur_row = grd_grthgoal.row;
  378. var status = grd_grthgoal.valueMatrix(cur_row, grd_grthgoal.colRef("m"));
  379. var CSV = model.getValue(gvParamPath +"/SMRPV99100_/SMRPV99100_value");
  380. setCSVToNode("/root/copynode", CSV, "valucodelist");
  381. var node = "/root/copynode";
  382. var nodename = "valucodelist";
  383. var codynode = instance1.selectNodes(node + "/*");
  384. var addRow = grd_grthgoal.rows - grd_grthgoal.fixedRows;
  385. var nocopy = false;
  386. if(model.getValue(grd_grthgoal.nodeset + "[" + addRow + "]/elvttrgtitemcd").length > 0)addRow = addRow + 1;
  387. for (var j = 1; j <= codynode.length ; j++) {
  388. nocopy = false;
  389. if(addRow > grd_grthgoal.rows - grd_grthgoal.fixedRows)
  390. {
  391. misfGridIUD(grd_grthgoal,"A");
  392. addRow = grd_grthgoal.rows - grd_grthgoal.fixedRows;
  393. }
  394. model.setValue(grd_grthgoal.nodeset + "[" + addRow + "]/elvttrgtitemcd" , model.getValue(node +"/" + nodename + "[" + j + "]/valucd"));
  395. model.setValue(grd_grthgoal.nodeset + "[" + addRow + "]/elvttrgtitemnm" , model.getValue(node +"/" + nodename + "[" + j + "]/valucdnm"));
  396. addRow = addRow + 1;
  397. }
  398. model.refresh();
  399. }
  400. ]]>
  401. </script>
  402. </datagrid>
  403. <caption id="caption12" class="tit_2" style="left:5px; top:487px; width:95px; height:13px; ">평가자 확인</caption>
  404. <line id="line4" class="line_1" style="x1:0px; y1:502px; x2:1193px; y2:502px; "/>
  405. <button id="btn_insert" class="btn2_letter3" style="left:1085px; top:122px; width:53px; height:19px; ">
  406. <caption>행추가</caption>
  407. <script type="javascript" ev:event="DOMActivate">
  408. <![CDATA[
  409. if ( !isRequiredControls("ipt_valuyy","ipt_emplnos") ) {
  410. return false;
  411. }
  412. misfGridIUD(grd_grthgoal, "A");
  413. ]]>
  414. </script>
  415. </button>
  416. <button id="btn_delete" class="btn2_letter3" style="left:1140px; top:122px; width:53px; height:19px; ">
  417. <caption>행삭제</caption>
  418. <script type="javascript" ev:event="DOMActivate">
  419. <![CDATA[
  420. misfGridIUD(grd_grthgoal, "D");
  421. ]]>
  422. </script>
  423. </button>
  424. <caption id="caption13" class="cell_1" style="left:0px; top:507px; width:100px; height:125px; vertical-align:middle; ">1차평가자 확인</caption>
  425. <caption id="caption14" class="cell_2" style="left:101px; top:507px; width:86px; height:125px; vertical-align:middle; ">
  426. <![CDATA[ 기획에 대한
  427. 기대 의견]]>
  428. </caption>
  429. <textarea id="txt_PlanValuHope" ref="/root/main/jobrole/mstgrthlist/planvaluhope" editable="false" style="left:189px; top:509px; width:448px; height:121px; "/>
  430. <caption id="caption15" class="cell_2" style="left:639px; top:507px; width:108px; height:125px; vertical-align:middle; ">
  431. <![CDATA[이행결과에
  432. 대한 의견]]>
  433. </caption>
  434. <textarea id="txt_ExecRsltValu" ref="/root/main/jobrole/mstgrthlist/execrsltvalu" editable="false" style="left:749px; top:509px; width:441px; height:121px; "/>
  435. <caption id="caption30" class="cell_1" style="left:0px; top:53px; width:105px; height:65px; text-align:center; vertical-align:middle; ">관심사유</caption>
  436. <textarea id="txt_concresn" ref="/root/main/jobrole/mstgrthlist/concresn" style="left:107px; top:55px; width:1075px; height:61px; "/>
  437. <line id="line15" class="line_1" style="x1:0px; y1:0px; x2:1193px; y2:0px; "/>
  438. <caption id="opt_cnfmnm" ref="/root/init/cnfmynnm" style="left:1005px; top:6px; width:55px; height:20px; font-weight:bold; "/>
  439. <caption id="caption1" style="left:943px; top:7px; width:60px; height:17px; font-weight:bold; ">개인확정:</caption>
  440. <caption id="caption2" style="left:1062px; top:7px; width:72px; height:17px; font-weight:bold; ">부서장확정:</caption>
  441. <caption id="opt_DeptChfCnfmnm" ref="/root/init/deptchfcnfmynnm" style="left:1137px; top:6px; width:55px; height:20px; font-weight:bold; "/>
  442. </case>
  443. <case id="case2">
  444. <line id="line21" class="line_3" style="x1:0px; y1:292px; x2:1193px; y2:292px; "/>
  445. <line id="line12" class="line_3" style="x1:0px; y1:631px; x2:1193px; y2:631px; "/>
  446. <line id="line10" class="line_3" style="x1:0px; y1:365px; x2:1193px; y2:365px; "/>
  447. <line id="line9" class="line_2" style="x1:0px; y1:341px; x2:1193px; y2:341px; "/>
  448. <line id="line19" class="line_2" style="x1:0px; y1:242px; x2:1193px; y2:242px; "/>
  449. <line id="line18" class="line_2" style="x1:0px; y1:218px; x2:1193px; y2:218px; "/>
  450. <line id="line20" class="line_2" style="x1:0px; y1:266px; x2:1193px; y2:266px; "/>
  451. <caption id="caption16" class="tit_2" style="left:5px; top:10px; width:165px; height:13px; ">입사후 경력(최근기준)</caption>
  452. <line id="line6" class="line_1" style="x1:0px; y1:25px; x2:1193px; y2:25px; "/>
  453. <button id="btn_afinsert" class="btn2_letter3" style="left:835px; top:3px; width:53px; height:19px; ">
  454. <caption>행추가</caption>
  455. <script type="javascript" ev:event="DOMActivate">
  456. <![CDATA[
  457. if ( !isRequiredControls("ipt_valuyy","ipt_emplnos") ) {
  458. return false;
  459. }
  460. misfGridIUD(grd_mainafcrlist, "A");
  461. ]]>
  462. </script>
  463. </button>
  464. <button id="btn_afdelete" class="btn2_letter3" style="left:890px; top:3px; width:53px; height:19px; ">
  465. <caption>행삭제</caption>
  466. <script type="javascript" ev:event="DOMActivate">
  467. <![CDATA[
  468. misfGridIUD(grd_mainafcrlist, "D");
  469. ]]>
  470. </script>
  471. </button>
  472. <datagrid id="grd_mainafcrlist" nodeset="/root/main/list/jobrole/mainafcrlist" caption="시작일자^종료일자^소속기관코드^부서^직위^직책^담당업무^기관^작성년도^계획서구분^사원번호^소속부서코드^직위코드^직책코드" colsep="^" colwidth="106, 103, 152, 164, 85, 119, 418, 72, 67, 88, 48, 56, 88, 77" dataheight="25" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" style="left:0px; top:30px; width:1193px; height:140px; ">
  473. <col ref="fromdd" type="inputdate"/>
  474. <col ref="todd" type="inputdate"/>
  475. <col ref="postinstcd" type="combo">
  476. <choices>
  477. <itemset>
  478. <label/>
  479. <value/>
  480. </itemset>
  481. </choices>
  482. </col>
  483. <col ref="deptnm" type="inputbutton"/>
  484. <col ref="jobposnm" type="inputbutton"/>
  485. <col ref="jobrespnm" type="inputbutton"/>
  486. <col ref="chrgjob" type="input"/>
  487. <col ref="instcd" visibility="hidden"/>
  488. <col ref="writeyy" visibility="hidden"/>
  489. <col ref="plandocflag" visibility="hidden"/>
  490. <col ref="emplno" visibility="hidden"/>
  491. <col ref="posdeptcd" visibility="hidden"/>
  492. <col ref="jobposcd" visibility="hidden"/>
  493. <col ref="jobrespcd" visibility="hidden"/>
  494. <col ref="oldfromdd" visibility="hidden"/>
  495. <script type="javascript" ev:event="onbuttonclick">
  496. <![CDATA[
  497. if (grd_mainafcrlist.col == grd_mainafcrlist.colRef("deptnm")) {
  498. var recv_list = "posdeptcd,deptnm";
  499. var instcd = grd_mainafcrlist.valueMatrix(grd_mainafcrlist.row, grd_mainafcrlist.colRef("postinstcd"));
  500. rpbfOpenDeptCdHelp(grd_mainafcrlist,recv_list, instcd, "instcd");
  501. model.refresh();
  502. }
  503. else if (grd_mainafcrlist.col == grd_mainafcrlist.colRef("jobposnm")) {
  504. var recv_list = "jobposcd,jobposnm";
  505. rpbfOpenComCdHelp(grd_mainafcrlist,"R0062", recv_list);
  506. model.refresh();
  507. }
  508. else if (grd_mainafcrlist.col == grd_mainafcrlist.colRef("jobrespnm")) {
  509. var recv_list = "jobrespcd,jobrespnm";
  510. rpbfOpenComCdHelp(grd_mainafcrlist,"R0063", recv_list);
  511. model.refresh();
  512. }
  513. ]]>
  514. </script>
  515. </datagrid>
  516. <caption id="caption17" class="tit_2" style="left:5px; top:176px; width:165px; height:13px; ">현재 담당업무</caption>
  517. <line id="line7" class="line_1" style="x1:0px; y1:191px; x2:1193px; y2:191px; "/>
  518. <caption id="caption19" class="cell_1" style="left:0px; top:196px; width:67px; height:94px; text-align:center; vertical-align:middle; ">
  519. <![CDATA[현재
  520. 업무
  521. 내용]]>
  522. </caption>
  523. <textarea id="txt_PrestChrgBiz" ref="/root/main/jobrole/mstgrthlist/prestchrgbiz" style="left:69px; top:198px; width:685px; height:90px; "/>
  524. <caption id="caption20" class="cell_1" style="left:760px; top:196px; width:88px; height:23px; text-align:center; vertical-align:middle; ">업무의 만족도</caption>
  525. <select1 id="rbo_Bizsatsfct" ref="/root/main/jobrole/mstgrthlist/bizsatsfct" appearance="full" cols="100" overflow="visible" style="left:850px; top:199; width:330px; height:20px; border-style:none; ">
  526. <choices>
  527. <itemset>
  528. <label/>
  529. <value/>
  530. </itemset>
  531. </choices>
  532. </select1>
  533. <caption id="caption21" class="cell_1" style="left:760px; top:220px; width:88px; height:23px; text-align:center; vertical-align:middle; ">업무의 숙련도</caption>
  534. <select1 id="rbo_BizExptns" ref="/root/main/jobrole/mstgrthlist/bizexptns" appearance="full" cols="100" overflow="visible" style="left:850px; top:223; width:330px; height:20px; border-style:none; ">
  535. <choices>
  536. <itemset>
  537. <label/>
  538. <value/>
  539. </itemset>
  540. </choices>
  541. </select1>
  542. <caption id="caption22" class="cell_1" style="left:760px; top:244px; width:88px; height:23px; text-align:center; vertical-align:middle; ">업무의 난이도</caption>
  543. <select1 id="rbo_BizDgrdifclt" ref="/root/main/jobrole/mstgrthlist/bizdgrdifclt" appearance="full" cols="100" overflow="visible" style="left:850px; top:247px; width:330px; height:20px; border-style:none; ">
  544. <choices>
  545. <itemset>
  546. <label/>
  547. <value/>
  548. </itemset>
  549. </choices>
  550. </select1>
  551. <caption id="caption23" class="cell_1" style="left:760px; top:268px; width:88px; height:23; text-align:center; vertical-align:middle; ">업무의 양</caption>
  552. <select1 id="rbo_BizQty" ref="/root/main/jobrole/mstgrthlist/bizqty" appearance="full" cols="100" overflow="visible" style="left:850px; top:271; width:330px; height:20px; border-style:none; ">
  553. <choices>
  554. <itemset>
  555. <label/>
  556. <value/>
  557. </itemset>
  558. </choices>
  559. </select1>
  560. <caption id="caption24" class="tit_2" style="left:5px; top:299px; width:165px; height:13px; ">직무이동</caption>
  561. <line id="line8" class="line_1" style="x1:0px; y1:314px; x2:1193px; y2:314px; "/>
  562. <caption id="caption25" class="cell_1" style="left:0px; top:319px; width:67px; height:23px; text-align:center; vertical-align:middle; ">필요성</caption>
  563. <select1 id="rbo_JobRoleMoveNeedYN" ref="/root/main/jobrole/mstgrthlist/jobrolemoveneedyn" appearance="full" cols="100" overflow="visible" style="left:70px; top:320px; width:685px; height:23px; border-style:none; ">
  564. <choices>
  565. <itemset>
  566. <label/>
  567. <value/>
  568. </itemset>
  569. </choices>
  570. <script type="javascript" ev:event="xforms-value-changed">
  571. <![CDATA[
  572. alert(grd_mstgrth.valueMatrix(grd_mstgrth.row, grd_mstgrth.colRef("cnfmyn2")));
  573. if(grd_mstgrth.valueMatrix(grd_mstgrth.row, grd_mstgrth.colRef("cnfmyn2")) != "Y"){
  574. if(model.getValue(rbo_JobRoleMoveNeedYN.attribute("ref")) == "02"){
  575. rbo_JobRoleMoveResn.disabled = "true";
  576. model.setValue(rbo_JobRoleMoveResn.attribute("ref"),"");
  577. rbo_JobRoleMoveResn.refresh();
  578. }
  579. else{
  580. rbo_JobRoleMoveResn.disabled = "false";
  581. }
  582. }
  583. ]]>
  584. </script>
  585. </select1>
  586. <caption id="caption18" class="cell_1" style="left:760px; top:319px; width:88px; height:20px; text-align:center; vertical-align:middle; ">이동시기</caption>
  587. <select1 id="rbo_MovePriod" ref="/root/main/jobrole/mstgrthlist/movepriod" appearance="full" cols="100" overflow="visible" style="left:850px; top:320px; width:330px; height:20px; border-style:none; ">
  588. <choices>
  589. <itemset>
  590. <label/>
  591. <value/>
  592. </itemset>
  593. </choices>
  594. </select1>
  595. <caption id="caption27" class="cell_1" style="left:0px; top:343px; width:67px; height:23px; text-align:center; vertical-align:middle; ">사유</caption>
  596. <select1 id="rbo_JobRoleMoveResn" ref="/root/main/jobrole/mstgrthlist/jobrolemoveresn" appearance="full" cols="100" overflow="visible" style="left:70px; top:345px; width:685px; height:23px; border-style:none; ">
  597. <choices>
  598. <itemset>
  599. <label/>
  600. <value/>
  601. </itemset>
  602. </choices>
  603. </select1>
  604. <datagrid id="grd_jobrole" nodeset="/root/main/list/jobrole/jobrolelist" caption="지망^기관^부서^업무" colsep="^" colwidth="95, 178, 167, 711, 100, 100, 100, 100, 100, 100" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:0px; top:367px; width:1193px; height:142px; ">
  605. <col ref="choidg" type="combo" _key="true">
  606. <choices>
  607. <itemset>
  608. <label/>
  609. <value/>
  610. </itemset>
  611. </choices>
  612. </col>
  613. <col ref="hopeinstcd" type="combo">
  614. <choices>
  615. <itemset>
  616. <label/>
  617. <value/>
  618. </itemset>
  619. </choices>
  620. </col>
  621. <col ref="hopedeptnm" type="inputbutton"/>
  622. <col ref="hopebiz" type="input"/>
  623. <col ref="instcd" visibility="hidden"/>
  624. <col ref="apptodd" visibility="hidden"/>
  625. <col ref="writeyy" visibility="hidden"/>
  626. <col ref="plandocflag" visibility="hidden"/>
  627. <col ref="emplno" visibility="hidden"/>
  628. <col ref="hopedeptcd" visibility="hidden"/>
  629. <script type="javascript" ev:event="onbuttonclick">
  630. <![CDATA[
  631. if(grd_jobrole.col == grd_jobrole.colRef("hopedeptnm")){
  632. var instcd = grd_jobrole.valueMatrix(grd_jobrole.row, grd_jobrole.colRef("hopeinstcd"));
  633. if(instcd.length>0){
  634. rpvfOpenDeptCdHelp(grd_jobrole,"hopedeptcd,hopedeptnm",instcd,"instcd","deptcd,deptnm");
  635. }
  636. }
  637. ]]>
  638. </script>
  639. </datagrid>
  640. <button id="btn_jobinsert" class="btn2_letter3" style="left:1084px; top:293px; width:53px; height:19px; ">
  641. <caption>행추가</caption>
  642. <script type="javascript" ev:event="DOMActivate">
  643. <![CDATA[
  644. if ( !isRequiredControls("ipt_valuyy","ipt_emplnos") ) {
  645. return false;
  646. }
  647. if (grd_jobrole.rows - grd_jobrole.fixedRows == 3) {
  648. messageBox("직무이동은 3지망 까지만 입력가능 합니다. 행 추가 할 수","I004");
  649. return;
  650. }
  651. misfGridIUD(grd_jobrole, "A");
  652. if (grd_jobrole.rows - grd_jobrole.fixedRows == 1) {
  653. grd_jobrole.valueMatrix(grd_jobrole.row, grd_jobrole.colRef("choidg")) = "01";
  654. }
  655. else if (grd_jobrole.rows - grd_jobrole.fixedRows == 2) {
  656. grd_jobrole.valueMatrix(grd_jobrole.row, grd_jobrole.colRef("choidg")) = "02";
  657. }
  658. else if (grd_jobrole.rows - grd_jobrole.fixedRows == 3) {
  659. grd_jobrole.valueMatrix(grd_jobrole.row, grd_jobrole.colRef("choidg")) = "03";
  660. }
  661. ]]>
  662. </script>
  663. </button>
  664. <button id="btn_jobdelete" class="btn2_letter3" style="left:1139px; top:293px; width:53px; height:19px; ">
  665. <caption>행삭제</caption>
  666. <script type="javascript" ev:event="DOMActivate">
  667. <![CDATA[
  668. misfGridIUD(grd_jobrole, "D");
  669. ]]>
  670. </script>
  671. </button>
  672. <line id="line11" class="line_1" style="x1:0px; y1:535px; x2:1193px; y2:535px; "/>
  673. <caption id="caption28" class="tit_2" style="left:5px; top:519px; width:165px; height:13px; ">평가자 의견</caption>
  674. <caption id="caption29" class="cell_1" style="left:0px; top:540px; width:67px; height:92px; text-align:center; vertical-align:middle; ">
  675. <![CDATA[1차
  676. 평가자
  677. 의견]]>
  678. </caption>
  679. <textarea id="txt_JobRoleMngtValuPsnOpin" ref="/root/main/jobrole/mstgrthlist/jobrolemngtvalupsnopin" editable="false" style="left:70px; top:542px; width:1118px; height:88px; "/>
  680. <datagrid id="grd_mstgrth" nodeset="/root/main/list/jobrole/mstgrthlist" visibility="hidden" caption="기관코드^작성년도^계획서구분^사원번호^작성일자^성장관심분야^관심사유^계획에대한평가자기대의견^이행결과에대한평가자의견^현재담당업무^업무의만족도^업무의숙련도^업무의난이도^업무의양^직무이동필요성^이동시기^직무이동사유^직무관리평가자의견^직무관리평가자사원번호^직무이동기타사유^확정여부^부서장확정여부" colsep="^" colwidth="48, 56, 88, 77, 63, 96, 707, 960, 960, 357, 80, 72, 96, 48, 136, 72, 120, 960, 144, 707, 48, 104" dataheight="25" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" style="left:105px; top:500px; width:839px; height:100px; ">
  681. <col ref="instcd"/>
  682. <col ref="writeyy"/>
  683. <col ref="plandocflag"/>
  684. <col ref="emplno"/>
  685. <col ref="genrdd"/>
  686. <col ref="grthconcfild"/>
  687. <col ref="concresn"/>
  688. <col ref="planvaluhope"/>
  689. <col ref="execrsltvalu"/>
  690. <col ref="prestchrgbiz"/>
  691. <col ref="bizsatsfct"/>
  692. <col ref="bizexptns"/>
  693. <col ref="bizdgrdifclt"/>
  694. <col ref="bizqty"/>
  695. <col ref="jobrolemoveneedyn"/>
  696. <col ref="movepriod"/>
  697. <col ref="jobrolemoveresn"/>
  698. <col ref="jobrolemngtvalupsnopin"/>
  699. <col ref="jobrolemngtvalupsn"/>
  700. <col ref="jobrolemoveetcresn"/>
  701. <col ref="cnfmyn"/>
  702. <col ref="deptchfcnfmyn"/>
  703. <col ref="cnfmyn2"/>
  704. <col ref="deptchcnfmyn2"/>
  705. </datagrid>
  706. <button id="btn_createafcr" class="btn5_letter4" visibility="visible" style="left:765px; top:3px; width:64px; height:19px; ">
  707. <caption>자료생성</caption>
  708. <script type="javascript" ev:event="DOMActivate">
  709. <![CDATA[
  710. if ( !isRequiredControls("ipt_valuyy","ipt_emplnos") ) {
  711. return false;
  712. }
  713. submit("TXRPV01806");
  714. btn_search.dispatch("DOMActivate");
  715. ]]>
  716. </script>
  717. </button>
  718. <caption id="opt_cnfmnm2" ref="/root/init/cnfmynnm2" style="left:1009px; top:3px; width:55px; height:20px; font-weight:bold; "/>
  719. <caption id="caption34" style="left:951px; top:4px; width:60px; height:17px; font-weight:bold; ">개인확정:</caption>
  720. <caption id="caption35" style="left:1063px; top:4px; width:72px; height:17px; font-weight:bold; ">부서장확정:</caption>
  721. <caption id="opt_DeptChCnfmnm2" ref="/root/init/deptchcnfmynnm2" style="left:1133px; top:3px; width:55px; height:20px; font-weight:bold; "/>
  722. </case>
  723. </switch>
  724. <input id="ipt_valutrgtflag" ref="/root/main/list/jobrole/valutrglist/valutrgtflag" visibility="hidden" style="left:1045px; top:5px; width:25px; height:19px; "/>
  725. </group>
  726. <caption id="caption31" visibility="hidden" style="left:115px; top:5px; width:112px; height:17px; font-weight:bold; ">개인확정여부 :</caption>
  727. <caption id="caption32" visibility="hidden" style="left:377px; top:5px; width:125px; height:17px; font-weight:bold; ">부서장확정여부 :</caption>
  728. <select1 id="rbo_cnfmYN" ref="/root/send/jobrole/cnfmyn" visibility="hidden" appearance="full" cols="3" overflow="visible" style="left:205px; top:5px; width:170px; height:16px; border-style:none; ">
  729. <choices>
  730. <itemset nodeset="/root/init/cnfmyn">
  731. <label ref="cdnm"/>
  732. <value ref="code"/>
  733. </itemset>
  734. </choices>
  735. </select1>
  736. <select1 id="rbo_DeptChfCnfmYN" ref="/root/send/jobrole/deptchfcnfmyn" visibility="hidden" appearance="full" cols="3" overflow="visible" style="left:481px; top:5px; width:170px; height:16px; border-style:none; ">
  737. <choices>
  738. <itemset nodeset="/root/init/cnfmyn">
  739. <label ref="cdnm"/>
  740. <value ref="code"/>
  741. </itemset>
  742. </choices>
  743. </select1>
  744. </group>
  745. <group id="group6" style="left:0px; top:10px; width:1195px; height:35px; ">
  746. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" ellipsewidth="20" ellipseheight="20" style="left:0px; top:0px; width:1195px; height:35px; "/>
  747. <line id="line14" class="line_4" style="x1:1109px; y1:6px; x2:1109px; y2:28px; "/>
  748. <caption id="cap_valuyy" class="search_name" style="left:15px; top:9px; width:100px; height:17px; vertical-align:middle; ">기준년도 :</caption>
  749. <input id="ipt_writeyy" ref="/root/send/jobrole/writeyy" class="input_s_essential" inputtype="date" format="yyyy" style="left:100px; top:9px; width:125px; height:19px; ">
  750. <script type="javascript" ev:event="xforms-value-changed">
  751. <![CDATA[
  752. misfGridInit(grd_mstgrth);
  753. misfGridInit(grd_grthgoal);
  754. misfGridInit(grd_jobrole);
  755. misfGridInit(grd_mainafcrlist);
  756. finitialize();
  757. ]]>
  758. </script>
  759. </input>
  760. <caption id="cap_emplnos" class="search_name" style="left:236px; top:10px; width:94px; height:17px; font-weight:bold; ">사번:</caption>
  761. <button id="btn_emplno" class="icon_search" disabled="true" style="left:380px; top:11px; width:16px; height:16px; ">
  762. <caption/>
  763. <script type="javascript" ev:event="DOMActivate">
  764. <![CDATA[
  765. var recv_list = "emplno,emplnm" ;
  766. rpbfOpenPopUpList("SPRPB00101", ipt_emplnos, recv_list,"","","","emplno,emplnm");
  767. model.refresh();
  768. btn_search.dispatch("DOMActivate");
  769. ]]>
  770. </script>
  771. </button>
  772. <input id="ipt_emplnos" ref="/root/send/jobrole/emplno" class="input_default" style="left:291px; top:9px; width:87px; height:19px; ">
  773. <script type="javascript" ev:event="xforms-value-changed">
  774. <![CDATA[
  775. var recv_list = "emplno,emplnm" ;
  776. rpbfValidationCheck("EMPLNO", recv_list,"","emplno,emplnm");
  777. model.refresh();
  778. ]]>
  779. </script>
  780. </input>
  781. <input id="ipt_emplnms" ref="/root/send/jobrole/emplnm" class="input_default" style="left:397px; top:9px; width:146px; height:19px; ">
  782. <script type="javascript" ev:event="xforms-value-changed">
  783. <![CDATA[
  784. var recv_list = "emplno,emplnm" ;
  785. rpbfValidationCheck("EMPLNM", recv_list,"","emplno,emplnm");
  786. model.refresh();
  787. ]]>
  788. </script>
  789. </input>
  790. <button id="btn_search" class="btn1_letter2" style="left:1134px; top:6px; width:56px; height:22px; ">
  791. <caption>조회</caption>
  792. <script type="javascript" ev:event="DOMActivate">
  793. <![CDATA[
  794. if ( !isRequiredControls("ipt_valuyy" , "ipt_emplnos") ) {
  795. return false;
  796. }
  797. model.resetInstanceNode("/root/main/jobrole/mstgrthlist");
  798. misfGridInit(grd_mstgrth);
  799. misfGridInit(grd_grthgoal);
  800. misfGridInit(grd_jobrole);
  801. misfGridInit(grd_mainafcrlist);
  802. model.setValue(opt_cnfmnm.attribute("ref"),"");
  803. model.setValue(opt_DeptChfCnfmnm.attribute("ref"),"");
  804. submit("TRRPV01801");
  805. if(rpvfCheckManFlag(model.getValue(ipt_writeyy.attribute("ref")),model.getValue(ipt_emplnos.attribute("ref"))) != '01'){
  806. messageBox("해당 화면의 ","E002");
  807. rpvfSetControlBy("btn_cnfmyn,btn_noncnfmyn,btn_init,btn_save,btn_insert,btn_delete","Y");
  808. return;
  809. }
  810. var valutrgtflag = model.getValue("/root/main/list/jobrole/valutrglist/valutrgtflag");
  811. if (valutrgtflag == "4") {
  812. messageBox("평가 대상자가 아닙 니다. 사용 할 수","I004");
  813. rpvfSetControlBy("btn_cnfmyn,btn_noncnfmyn,btn_init,btn_save,btn_insert,btn_delete","Y");
  814. return;
  815. }
  816. if(grd_mstgrth.rows - grd_mstgrth.fixedRows== 0) misfGridIUD(grd_mstgrth, "A");
  817. grd_mstgrth.row = grd_mstgrth.fixedRows;
  818. if(swt_select.selectedIndex == 0) {
  819. if(grd_mstgrth.valueMatrix(grd_mstgrth.row, grd_mstgrth.colRef("cnfmyn")) == "Y"){
  820. model.setValue(opt_cnfmnm.attribute("ref"),"확정");
  821. fControlDisableSet1(true);
  822. }
  823. else{
  824. model.setValue(opt_cnfmnm.attribute("ref"),"미확정");
  825. fControlDisableSet1(false);
  826. }
  827. if(grd_mstgrth.valueMatrix(grd_mstgrth.row, grd_mstgrth.colRef("deptchfcnfmyn")) == "Y"){
  828. model.setValue(opt_DeptChfCnfmnm.attribute("ref"),"확정");
  829. }
  830. else{
  831. model.setValue(opt_DeptChfCnfmnm.attribute("ref"),"미확정");
  832. }
  833. if(grd_mstgrth.valueMatrix(grd_mstgrth.row, grd_mstgrth.colRef("deptchfcnfmyn")) == "Y"){
  834. btn_save.disabled = true;
  835. btn_cnfmyn.disabled = true;
  836. btn_noncnfmyn.disabled = true;
  837. }
  838. else {
  839. if(grd_mstgrth.valueMatrix(grd_mstgrth.row, grd_mstgrth.colRef("cnfmyn")) == "Y"){
  840. btn_save.disabled = true;
  841. btn_cnfmyn.disabled = true;
  842. btn_noncnfmyn.disabled = false;
  843. }
  844. else {
  845. btn_save.disabled = false;
  846. btn_cnfmyn.disabled = false;
  847. btn_noncnfmyn.disabled = true;
  848. }
  849. }
  850. }
  851. else {
  852. if(grd_mstgrth.valueMatrix(grd_mstgrth.row, grd_mstgrth.colRef("cnfmyn2")) == "Y"){
  853. model.setValue(opt_cnfmnm2.attribute("ref"),"확정");
  854. fControlDisableSet2(true);
  855. }
  856. else{
  857. model.setValue(opt_cnfmnm2.attribute("ref"),"미확정");
  858. fControlDisableSet2(false);
  859. }
  860. if(grd_mstgrth.valueMatrix(grd_mstgrth.row, grd_mstgrth.colRef("deptchfcnfmyn2")) == "Y"){
  861. model.setValue(opt_DeptChCnfmnm2.attribute("ref"),"확정");
  862. }
  863. else{
  864. model.setValue(opt_DeptChCnfmnm2.attribute("ref"),"미확정");
  865. }
  866. if(grd_mstgrth.valueMatrix(grd_mstgrth.row, grd_mstgrth.colRef("deptchfcnfmyn2")) == "Y"){
  867. btn_save.disabled = true;
  868. btn_cnfmyn.disabled = true;
  869. btn_noncnfmyn.disabled = true;
  870. }
  871. else {
  872. if(grd_mstgrth.valueMatrix(grd_mstgrth.row, grd_mstgrth.colRef("cnfmyn2")) == "Y"){
  873. btn_save.disabled = true;
  874. btn_cnfmyn.disabled = true;
  875. btn_noncnfmyn.disabled = false;
  876. }
  877. else {
  878. btn_save.disabled = false;
  879. btn_cnfmyn.disabled = false;
  880. btn_noncnfmyn.disabled = true;
  881. }
  882. }
  883. }
  884. model.copyNode("/root/main/jobrole/mstgrthlist","/root/main/list/jobrole/mstgrthlist");
  885. if(grd_mstgrth.valueMatrix(grd_mstgrth.row, grd_mstgrth.colRef("cnfmyn2")) != "Y"){
  886. if(model.getValue(rbo_JobRoleMoveNeedYN.attribute("ref")) == "02"){
  887. rbo_JobRoleMoveResn.disabled = "true";
  888. model.setValue(rbo_JobRoleMoveResn.attribute("ref"),"");
  889. rbo_JobRoleMoveResn.refresh();
  890. }
  891. else{
  892. rbo_JobRoleMoveResn.disabled = "false";
  893. }
  894. }
  895. model.refresh();
  896. var curdate = getCurrentDate();
  897. if (ipt_writeyy.value < curdate.substr(0, 4) ||
  898. (txt_PlanValuHope.value != "" && (curdate.substr(4, 2) == "11" || curdate.substr(4, 2) == "12" || curdate.substr(4, 2) == "01" || curdate.substr(4, 2) == "02" )) ) {
  899. for(var i = grd_grthgoal.fixedRows; i < grd_grthgoal.rows; i++)
  900. {
  901. grd_grthgoal.isReadOnly(i, grd_grthgoal.colRef("achvmntfact")) = false;
  902. }
  903. button4.disabled = false;
  904. }
  905. else {
  906. for(var i = grd_grthgoal.fixedRows; i < grd_grthgoal.rows; i++)
  907. {
  908. grd_grthgoal.isReadOnly(i, grd_grthgoal.colRef("achvmntfact")) = true;
  909. }
  910. button4.disabled = true;
  911. }
  912. // if (txt_PlanValuHope.value == "") {
  913. // for(var i = grd_grthgoal.fixedRows; i < grd_grthgoal.rows; i++)
  914. // {
  915. // grd_grthgoal.isReadOnly(i, grd_grthgoal.colRef("achvmntfact")) = true;
  916. //
  917. // }
  918. // button4.disabled = true;
  919. // }
  920. // else {
  921. // for(var i = grd_grthgoal.fixedRows; i < grd_grthgoal.rows; i++)
  922. // {
  923. // grd_grthgoal.isReadOnly(i, grd_grthgoal.colRef("achvmntfact")) = false;
  924. //
  925. // }
  926. // button4.disabled = false;
  927. // }
  928. grd_grthgoal.rebuild();
  929. model.refresh();
  930. ]]>
  931. </script>
  932. </button>
  933. </group>
  934. </group>
  935. <!--<line id="line3" class="line_1" style="x1:0px; y1:67px; x2:1195px; y2:67px; "/>-->
  936. <group id="group4" style="left:0px; top:12px; width:1195px; height:27px; ">
  937. <line id="line13" class="line_6" style="x1:0px; y1:25px; x2:1195px; y2:25px; "/>
  938. <button id="btn_cnfmyn" class="btn4_letter2" style="left:984px; top:3px; width:56px; height:22px; ">
  939. <caption>확정</caption>
  940. <script type="javascript" ev:event="DOMActivate">
  941. <![CDATA[
  942. if (swt_select.selectedIndex == 0 ) {
  943. if(model.getValue("/root/main/list/jobrole/mstgrthlist/deptchfcnfmyn") == "Y"){
  944. messageBox("부서장 확정이 되었으므로 확정을","E001");
  945. return;
  946. }
  947. if(model.getValue("/root/main/list/jobrole/mstgrthlist/cnfmyn") == "Y"){
  948. messageBox("이미 개인 확정이 되었으므로 확정을","E001");
  949. return;
  950. }
  951. for (var i = grd_grthgoal.fixedRows; i < grd_grthgoal.rows; i++) {
  952. if (grd_grthgoal.valueMatrix(i, grd_grthgoal.colRef("elvtgoal")) == "") {
  953. messageBox("향상목표가 미입력 되어서 확정을","E001");
  954. return;
  955. }
  956. if (grd_grthgoal.valueMatrix(i, grd_grthgoal.colRef("goaltodd")) == "") {
  957. messageBox("기간(TO)가 미입력 되어서 확정을","E001");
  958. return;
  959. }
  960. if (grd_grthgoal.valueMatrix(i, grd_grthgoal.colRef("goalfromdd")) == "") {
  961. messageBox("기간(FROM)이 미입력 되어서 확정을","E001");
  962. return;
  963. }
  964. if (grd_grthgoal.valueMatrix(i, grd_grthgoal.colRef("ownefforteducnm")) == "") {
  965. messageBox("자기 노력 또는 교육명이 미입력 되어서 확정을","E001");
  966. return;
  967. }
  968. if (grd_grthgoal.valueMatrix(i, grd_grthgoal.colRef("elvttrgtitem")) == "") {
  969. messageBox("향상 대상 항목이 미입력 되어서 확정을","E001");
  970. return;
  971. }
  972. }
  973. model.setValue("/root/main/jobrole/mstgrthlist/cnfmyn","Y");
  974. }
  975. else {
  976. if(model.getValue("/root/main/list/jobrole/mstgrthlist/cnfmyn") != "Y"){
  977. messageBox("자기 계발 부문 개인 미확정 상태 입니다. 직무 관리 확정을","E001");
  978. return;
  979. }
  980. if(model.getValue("/root/main/list/jobrole/mstgrthlist/deptchfcnfmyn") != "Y"){
  981. messageBox("자기 계발 부문 부서장 미확정 상태 입니다. 직무 관리 확정을","E001");
  982. return;
  983. }
  984. if(model.getValue("/root/main/list/jobrole/mstgrthlist/deptchcnfmyn2") == "Y"){
  985. messageBox("부서장 확정이 되었으므로 확정을","E001");
  986. return;
  987. }
  988. if(model.getValue("/root/main/list/jobrole/mstgrthlist/cnfmyn2") == "Y"){
  989. messageBox("이미 개인 확정이 되었으므로 확정을","E001");
  990. return;
  991. }
  992. for (var i = grd_grthgoal.fixedRows; i < grd_grthgoal.rows; i++) {
  993. if (grd_grthgoal.valueMatrix(i, grd_grthgoal.colRef("achvmntfact")) == "") {
  994. messageBox("달성결과/내용이 미입력 되어서 확정을","E001");
  995. return;
  996. }
  997. }
  998. model.setValue("/root/main/jobrole/mstgrthlist/cnfmyn2","Y");
  999. }
  1000. model.removenode("/root/send/save");
  1001. model.makeNode("/root/send/save/mstgrthlist");
  1002. model.makeNode("/root/send/save/jobrolelist");
  1003. model.makeNode("/root/send/save/grthgoallist");
  1004. model.makeNode("/root/send/save/mainafcrlist");
  1005. misfGridRowStatusChange(grd_mstgrth,"/root/main/list/jobrole" ,"/root/main/jobrole");
  1006. grd_mstgrth.refresh();
  1007. model.setValue("/root/send/save/mstgrthlist",grd_mstgrth.getUpdateData());
  1008. model.setValue("/root/send/save/jobrolelist",grd_jobrole.getUpdateData());
  1009. model.setValue("/root/send/save/grthgoallist",grd_grthgoal.getUpdateData());
  1010. model.setValue("/root/send/save/mainafcrlist",grd_mainafcrlist.getUpdateData());
  1011. submit("TXRPV01804");
  1012. if (model.getValue(gvErrorMsgPath + "/type") != "error"){
  1013. btn_search.dispatch("DOMActivate");
  1014. }
  1015. ]]>
  1016. </script>
  1017. </button>
  1018. <button id="btn_noncnfmyn" class="btn4_letter4" style="left:1041px; top:3px; width:80px; height:22px; ">
  1019. <caption>확정취소</caption>
  1020. <script type="javascript" ev:event="DOMActivate">
  1021. <![CDATA[
  1022. if (swt_select.selectedIndex == 0 ) {
  1023. if(model.getValue("/root/main/list/jobrole/mstgrthlist/deptchfcnfmyn") == "Y"){
  1024. messageBox("부서장 확정이 되었으므로 확정취소","E001");
  1025. return;
  1026. }
  1027. if(model.getValue("/root/main/list/jobrole/mstgrthlist/cnfmyn") != "Y"){
  1028. messageBox("개인확정이 되지 않았으므로 확정취소","E001");
  1029. return;
  1030. }
  1031. model.setValue("/root/main/jobrole/mstgrthlist/cnfmyn","N");
  1032. }
  1033. else {
  1034. if(model.getValue("/root/main/list/jobrole/mstgrthlist/deptchcnfmyn2") == "Y"){
  1035. messageBox("부서장 확정이 되었으므로 확정취소","E001");
  1036. return;
  1037. }
  1038. if(model.getValue("/root/main/list/jobrole/mstgrthlist/cnfmyn2") != "Y"){
  1039. messageBox("개인확정이 되지 않았으므로 확정취소","E001");
  1040. return;
  1041. }
  1042. model.setValue("/root/main/jobrole/mstgrthlist/cnfmyn2","N");
  1043. }
  1044. if(!checkKeyColumn("grd_mstgrth","grd_grthgoal","grd_jobrole")) return;
  1045. model.removenode("/root/send/save");
  1046. model.makeNode("/root/send/save/mstgrthlist");
  1047. model.makeNode("/root/send/save/jobrolelist");
  1048. model.makeNode("/root/send/save/grthgoallist");
  1049. model.makeNode("/root/send/save/mainafcrlist");
  1050. misfGridRowStatusChange(grd_mstgrth,"/root/main/list/jobrole" ,"/root/main/jobrole");
  1051. grd_mstgrth.refresh();
  1052. model.setValue("/root/send/save/mstgrthlist",grd_mstgrth.getUpdateData());
  1053. model.setValue("/root/send/save/jobrolelist",grd_jobrole.getUpdateData());
  1054. model.setValue("/root/send/save/grthgoallist",grd_grthgoal.getUpdateData());
  1055. model.setValue("/root/send/save/mainafcrlist",grd_mainafcrlist.getUpdateData());
  1056. submit("TXRPV01804");
  1057. if (model.getValue(gvErrorMsgPath + "/type") != "error"){
  1058. btn_search.dispatch("DOMActivate");
  1059. }
  1060. ]]>
  1061. </script>
  1062. </button>
  1063. <button id="btn_init" class="btn4_letter3" style="left:1122px; top:3px; width:68px; height:22px; ">
  1064. <caption>초기화</caption>
  1065. <script type="javascript" ev:event="DOMActivate">
  1066. <![CDATA[
  1067. window.reload() ;
  1068. ]]>
  1069. </script>
  1070. </button>
  1071. <button id="btn_save" class="btn4_letter2" style="left:926px; top:3px; width:56px; height:22px; ">
  1072. <caption>저장</caption>
  1073. <script type="javascript" ev:event="DOMActivate">
  1074. <![CDATA[
  1075. if (swt_select.selectedIndex == 0 ) {
  1076. // if(model.getValue("/root/main/list/jobrole/mstgrthlist/cnfmyn") == "Y"){
  1077. // messageBox("개인 확정이 되었으므로 수정","E001");
  1078. // return;
  1079. // }
  1080. // if(model.getValue("/root/main/list/jobrole/mstgrthlist/deptchfcnfmyn") == "Y"){
  1081. // messageBox("부서장 확정되었으므로 수정","E001");
  1082. // return;
  1083. // }
  1084. }
  1085. else {
  1086. if(model.getValue("/root/main/list/jobrole/mstgrthlist/cnfmyn2") == "Y"){
  1087. messageBox("개인 확정이 되었으므로 수정","E001");
  1088. return;
  1089. }
  1090. if(model.getValue("/root/main/list/jobrole/mstgrthlist/deptchcnfmyn2") == "Y"){
  1091. messageBox("부서장 확정되었으므로 수정","E001");
  1092. return;
  1093. }
  1094. }
  1095. if(!checkKeyColumn("grd_mstgrth","grd_grthgoal","grd_jobrole")) return;
  1096. model.removenode("/root/send/save");
  1097. model.makeNode("/root/send/save/mstgrthlist");
  1098. model.makeNode("/root/send/save/jobrolelist");
  1099. model.makeNode("/root/send/save/grthgoallist");
  1100. model.makeNode("/root/send/save/emplafcrlist");
  1101. model.makeNode("/root/send/save/mainafcrlist");
  1102. misfGridRowStatusChange(grd_mstgrth,"/root/main/list/jobrole" ,"/root/main/jobrole");
  1103. grd_mstgrth.refresh();
  1104. model.setValue("/root/send/save/mstgrthlist",grd_mstgrth.getUpdateData());
  1105. model.setValue("/root/send/save/jobrolelist",grd_jobrole.getUpdateData());
  1106. model.setValue("/root/send/save/grthgoallist",grd_grthgoal.getUpdateData());
  1107. model.setValue("/root/send/save/mainafcrlist",grd_mainafcrlist.getUpdateData());
  1108. submit("TXRPV01804");
  1109. if (model.getValue(gvErrorMsgPath + "/type") != "error"){
  1110. btn_search.dispatch("DOMActivate");
  1111. }
  1112. ]]>
  1113. </script>
  1114. </button>
  1115. <button id="btn_print" class="btn4_letter2" style="left:867px; top:2px; width:56px; height:22px; ">
  1116. <caption>출력</caption>
  1117. <script type="javascript" ev:event="DOMActivate">
  1118. <![CDATA[
  1119. //model.setValue("/root/send/bizgoalskpi/workgbn","P");
  1120. //submit("TRRPV05804");
  1121. if(swt_select.selectedIndex=='0'){
  1122. exeReportPreview("RPRPV01801", "XMLSTR", "/root/send/report");
  1123. }else if(swt_select.selectedIndex=='1'){
  1124. exeReportPreview("RPRPV01803", "XMLSTR", "/root/send/report");
  1125. }
  1126. ]]>
  1127. </script>
  1128. </button>
  1129. </group>
  1130. </xhtml:body>
  1131. </xhtml:html>