SMRPV06200_동료평가.xrw 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357
  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. <grid>
  11. <rpvdcolglist/>
  12. <rpvdcovulist/>
  13. </grid>
  14. <control>
  15. <select/>
  16. <row_rpvdcolg/>
  17. </control>
  18. </main>
  19. <send>
  20. <valuyy/>
  21. <emplno/>
  22. <emplnm/>
  23. </send>
  24. <init/>
  25. <temp/>
  26. </root>
  27. </instance>
  28. <submission id="TRRPV06201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/grid/rpvdcolglist"/>
  29. <submission id="TXRPV06201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp"/>
  30. <submission id="TRRPV06202" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/control/row_rpvdcolg" resultref="/root/main/grid/rpvdcovulist"/>
  31. <submission id="TXRPV06202" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/grid/rpvdcolglist" resultref="/root/temp"/>
  32. </model>
  33. <script type="javascript" ev:event="xforms-ready">
  34. <![CDATA[
  35. fInitialize();
  36. model.refresh();
  37. ]]>
  38. </script>
  39. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  40. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  41. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  42. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  43. <script type="javascript" src="../../../mis/miscommonweb/js/RSZ001.js"/>
  44. <script type="javascript" src="../../../mis/valuationmngtweb/js/RPV001.js"/>
  45. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  46. <script type="javascript">
  47. <![CDATA[
  48. // 화면 open시와 초기화 버튼 클릭시 화면 초기화 기능을 수행한다.
  49. function fInitialize() {
  50. //그리드 초기화
  51. misfGridInit(grd_rpvdcolglist);
  52. misfGridInit(grd_rpvdcovulist);
  53. misfMsterDetailSet(grd_rpvdcolglist, null, "TRRPV06201", "Y"); // 동료 평가 피평가자 List
  54. misfMsterDetailSet(grd_rpvdcovulist, null, "TRRPV06202", "Y"); // 핵심 역량 평가 List
  55. // 현재 년도 설정.
  56. model.setValue(ipt_valuyy.attribute("ref"), getCurrentDate().toDate().getDateFormat("YYYY"));
  57. // 기본 값 설정.
  58. model.setValue(ipt_emplno.attribute("ref"), getUserInfo("userid")); // 사번
  59. model.setValue(ipt_emplnm.attribute("ref"), getUserInfo("usernm")); // 이름
  60. rpvfComboValuCdList(ipt_valuyy.value , "PROCSTAT,ABLTYDEFINECD,VALUSCORBIZ", "grd_rpvdcolglist.procstat,grd_rpvdcovulist.abltydefinecd,grd_rpvdcovulist.colegvaluescor");
  61. btn_lastcnfmyn.disabled = true;
  62. btn_make.disabled = true;
  63. // 평가기간에 따른 권한 부여.
  64. if(model.getValue("/root/temp/trgtflag") != ""){
  65. // rpvfCheckDayFlag(getCurrentDate().toDate().getDateFormat("YYYY"), getUserInfo("userid"), model.getValue("/root/temp/trgtflag"), model.getValue("/root/temp/program"),"btn_lastcnfmyn,btn_save,btn_make");
  66. }else{
  67. // rpvfCheckDayFlag(getCurrentDate().toDate().getDateFormat("YYYY"), getUserInfo("userid"), "03", "SMRPV06200", "btn_lastcnfmyn,btn_save,btn_make");
  68. }
  69. //화면 권한 설정
  70. //btn_save.disabled = !(checkAuth("X"));
  71. }
  72. ]]>
  73. </script>
  74. </xhtml:head>
  75. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  76. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  77. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">동료 평가</caption>
  78. </group>
  79. <group id="group2" scroll="auto" style="left:0px; top:38; width:1195px; height:744; ">
  80. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" ellipsewidth="20" ellipseheight="20" style="left:0; top:10; width:1195; height:35px; "/>
  81. <button id="btn_search" class="btn1_letter2" style="left:1125px; top:16px; width:56px; height:22px; ">
  82. <caption>조회</caption>
  83. <script type="javascript" ev:event="DOMActivate">
  84. <![CDATA[
  85. if(!isRequiredControls("ipt_valuyy")) return;
  86. if(!isRequiredControls("ipt_emplno")) return;
  87. misfGridInit(grd_rpvdcovulist);
  88. submit("TRRPV06201");
  89. // 조회 내용이 있을시..
  90. if(grd_rpvdcolglist.rows != grd_rpvdcolglist.fixedRows)
  91. {
  92. grd_rpvdcolglist.row = grd_rpvdcolglist.fixedRows;
  93. grd_rpvdcolglist.dispatch("onrowchanged");
  94. btn_lastcnfmyn.disabled = false;
  95. btn_make.disabled = false;
  96. grd_rpvdcolglist.select(grd_rpvdcolglist.row, grd_rpvdcolglist.fixedCols+2) = true;
  97. }else
  98. {
  99. btn_lastcnfmyn.disabled = true;
  100. btn_make.disabled = true;
  101. }
  102. model.refresh();
  103. ]]>
  104. </script>
  105. </button>
  106. <line id="line13" class="line_4" style="x1:1110px; y1:16px; x2:1110px; y2:38px; "/>
  107. <datagrid id="grd_rpvdcovulist" nodeset="/root/main/grid/rpvdcovulist" autoresize="true" caption="역량정의^핵심어^행동지표^평가점수^환산점수" colsep="^" colwidth="215, 85, 473, 56, 58, 100, 100, 100, 100, 100, 100, 100, 100" ellipsis="true" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" tooltip="true" style="left:255px; top:74px; width:939px; height:668px; ">
  108. <col disabled="true" ref="abltydefinecd" type="combo">
  109. <choices>
  110. <itemset>
  111. <label/>
  112. <value/>
  113. </itemset>
  114. </choices>
  115. </col>
  116. <col ref="corelang" style="text-align:center; "/>
  117. <col ref="actidx" style="text-align:left; "/>
  118. <col class="gridcombo" ref="colegvaluescor" type="combo" style="text-align:center; ">
  119. <choices>
  120. <itemset>
  121. <label/>
  122. <value/>
  123. </itemset>
  124. </choices>
  125. </col>
  126. <col ref="colegvaluexchscor" style="text-align:right; "/>
  127. <col ref="valupsnemplno" visibility="hidden"/>
  128. <col ref="valuclscd" visibility="hidden"/>
  129. <col ref="valumdlcd" visibility="hidden"/>
  130. <col ref="valuclsdetlcd" visibility="hidden"/>
  131. <col ref="valuyy" visibility="hidden"/>
  132. <col ref="emplno" visibility="hidden"/>
  133. <col ref="corelangcd" visibility="hidden"/>
  134. <col ref="lastcnfmyn" visibility="hidden"/>
  135. </datagrid>
  136. <caption id="caption4" class="tit_2" style="left:255px; top:54px; width:230px; height:14px; vertical-align:middle; ">핵심 역량 평가 List</caption>
  137. <line id="line1" class="line_1" style="x1:255px; y1:69px; x2:1194px; y2:69px; "/>
  138. <input id="ipt_valuyy" ref="/root/send/valuyy" class="input_s_essential" inputtype="date" maxlength="4" format="yyyy" style="left:105px; top:17px; width:80px; height:19px; text-align:center; ">
  139. <script type="javascript" ev:event="xforms-value-changed">
  140. <![CDATA[
  141. if(!isRequiredControls("ipt_valuyy")) return;
  142. model.removeNodeset(grd_rpvdcolglist.nodeset);
  143. model.removeNodeset(grd_rpvdcovulist.nodeset);
  144. model.removeNodeset("/root/init/valucd");
  145. model.refresh();
  146. rpvfComboValuCdList(ipt_valuyy.value , "PROCSTAT,ABLTYDEFINECD,VALUSCORBIZ", "grd_rpvdcolglist.procstat,grd_rpvdcovulist.abltydefinecd,grd_rpvdcovulist.colegvaluescor");
  147. model.refresh();
  148. ]]>
  149. </script>
  150. </input>
  151. <caption id="cap_valuyy" class="search_name" style="left:15px; top:18px; width:90px; height:17px; vertical-align:middle; ">평가년도 :</caption>
  152. <input id="ipt_emplno" ref="/root/send/emplno" class="input_search" style="left:313px; top:17px; width:80px; height:19px; text-align:center; ">
  153. <script type="javascript" ev:event="xforms-value-changed">
  154. <![CDATA[
  155. rpbfValidationCheck("EMPLNO", "emplno,emplnm");
  156. model.refresh();
  157. btn_search.dispatch("DOMActivate");
  158. ]]>
  159. </script>
  160. </input>
  161. <button id="btn_emplno" class="icon_search" style="left:396px; top:17px; width:16px; height:16px; ">
  162. <caption/>
  163. <script type="javascript" ev:event="DOMActivate">
  164. <![CDATA[
  165. rpbfOpenPopUpList("SPRPB00101", ipt_emplno, "emplno,emplnm", "", "N", "N");
  166. model.refresh();
  167. ]]>
  168. </script>
  169. </button>
  170. <caption id="cap_emplno" class="search_name" style="left:218px; top:18px; width:94px; height:17px; font-weight:bold; ">평가자사번:</caption>
  171. <input id="ipt_emplnm" ref="/root/send/emplnm" class="input_search" style="left:415px; top:17px; width:135px; height:19px; text-align:center; ">
  172. <script type="javascript" ev:event="xforms-value-changed">
  173. <![CDATA[
  174. rpbfValidationCheck("EMPLNM", "emplno,emplnm");
  175. model.refresh();
  176. btn_search.dispatch("DOMActivate");
  177. ]]>
  178. </script>
  179. </input>
  180. <caption id="caption1" class="tit_2" style="left:0px; top:54px; width:230px; height:14px; vertical-align:middle; ">피 평가자 List</caption>
  181. <line id="line2" class="line_1" style="x1:0px; y1:69px; x2:250px; y2:69px; "/>
  182. <datagrid id="grd_rpvdcolglist" nodeset="/root/main/grid/rpvdcolglist" autoresize="true" caption="사번^성명^진행상태^caption2^caption1" colsep="^" colwidth="75, 67, 63, 100, 100, 100" ellipsis="true" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" tooltip="true" style="left:0px; top:74px; width:250px; height:668px; ">
  183. <col ref="emplno" style="text-align:center; "/>
  184. <col ref="emplnm" style="text-align:center; "/>
  185. <col disabled="true" ref="procstat" type="combo" style="text-align:center; ">
  186. <choices>
  187. <itemset>
  188. <label/>
  189. <value/>
  190. </itemset>
  191. </choices>
  192. </col>
  193. <col ref="colegvaluemplno" visibility="hidden"/>
  194. <col ref="colegvaluemplnm" visibility="hidden"/>
  195. <col ref="valuyy" visibility="hidden"/>
  196. <col ref="lastcnfmyn" visibility="hidden"/>
  197. <script type="javascript" ev:event="onrowchanged">
  198. <![CDATA[
  199. grd_rpvdcolglist.dispatch("onmouseup");
  200. // 역량 평가 List 조회
  201. model.copyNode("/root/main/control/row_rpvdcolg" , grd_rpvdcolglist.nodeset + "[" + grd_rpvdcolglist.row + "]");
  202. submit("TRRPV06202");
  203. // if(grd_rpvdcolglist.valueMatrix(grd_rpvdcolglist.row, grd_rpvdcolglist.colRef("procstat")) == '01')
  204. // {
  205. // grd_rpvdcovulist.disabled = true;
  206. // }else{
  207. // grd_rpvdcovulist.disabled = false;
  208. // }
  209. model.refresh();
  210. ]]>
  211. </script>
  212. <script type="javascript" ev:event="xforms-value-changed">
  213. <![CDATA[
  214. // if(grd_rpvdcolglist.col == grd_rpvdcolglist.colRef("procstat"))
  215. // {
  216. // if(grd_rpvdcolglist.valueMatrix(grd_rpvdcolglist.row, grd_rpvdcolglist.colRef("procstat")) == '01')
  217. // {
  218. // grd_rpvdcovulist.disabled = true;
  219. // }else{
  220. // grd_rpvdcovulist.disabled = false;
  221. // }
  222. // }
  223. // model.refresh();
  224. ]]>
  225. </script>
  226. </datagrid>
  227. </group>
  228. <group id="grp_btn" scroll="auto" style="left:0px; top:12px; width:1195px; height:27px; ">
  229. <line id="line6" class="line_6" style="x1:0px; y1:25; x2:1195px; y2:25; "/>
  230. <button id="btn_init" class="btn4_letter3" style="left:1124px; top:3px; width:68px; height:22px; ">
  231. <caption>초기화</caption>
  232. <script type="javascript" ev:event="DOMActivate">
  233. <![CDATA[
  234. fInitialize();
  235. model.refresh();
  236. ]]>
  237. </script>
  238. </button>
  239. <button id="btn_save" class="btn4_letter2" style="left:1064px; top:3px; width:56px; height:22px; ">
  240. <caption>저장</caption>
  241. <script type="javascript" ev:event="DOMActivate">
  242. <![CDATA[
  243. var updtdata = getGridUpdateData(grd_rpvdcolglist) + getGridUpdateData(grd_rpvdcovulist);
  244. if (updtdata == "")
  245. {
  246. messageBox("변경된 데이터가","I004");
  247. return;
  248. }
  249. rtn = messageBox("", "Q002");
  250. if(rtn != "6" ) return false;
  251. misfSave("TXRPV06201");
  252. btn_search.dispatch("DOMActivate");
  253. ]]>
  254. </script>
  255. </button>
  256. <button id="btn_make" class="btn4_letter6" style="left:956px; top:3px; width:104px; height:22px; ">
  257. <caption>평가항목생성</caption>
  258. <script type="javascript" ev:event="DOMActivate">
  259. <![CDATA[
  260. // if(!isRequiredControls("ipt_valuyy")) return;
  261. // if(!isRequiredControls("ipt_emplno")) return;
  262. // if( grd_rpvdcolglist.fixedRows == grd_rpvdcolglist.rows )
  263. // {
  264. // messageBox("피 평가자가 있어야 합니다.", "I999");
  265. // return;
  266. // }
  267. if(grd_rpvdcolglist.row == (grd_rpvdcolglist.fixedRows-1))
  268. {
  269. messageBox("피 평가자를 선택 하세요.", "I999");
  270. return;
  271. }
  272. if(grd_rpvdcovulist.fixedRows == grd_rpvdcovulist.rows)
  273. {
  274. rtn = messageBox("평가항목을 생성 합니다.\n", "Q003");
  275. if(rtn != "6" ) return;
  276. grd_rpvdcolglist.addStatus(grd_rpvdcolglist.row, "insert");
  277. misfSave("TXRPV06202");
  278. misfGridInit(grd_rpvdcolglist);
  279. btn_search.dispatch("DOMActivate");
  280. }else{
  281. messageBox("핵심 역량 평가 List에 평가항목이 있습니다.\n평가항목을 생성할 수 없습니다.", "I999");
  282. }
  283. ]]>
  284. </script>
  285. </button>
  286. <button id="btn_lastcnfmyn" class="btn4_letter4" style="left:872px; top:3px; width:80px; height:22px; ">
  287. <caption>평가확정</caption>
  288. <script type="javascript" ev:event="DOMActivate">
  289. <![CDATA[
  290. if(messageBox("모든 평가를 완료 하시겠습니까", "Q999") == '7') return;
  291. for(var i = grd_rpvdcolglist.fixedRows; i < grd_rpvdcolglist.rows; i++)
  292. {
  293. grd_rpvdcolglist.valueMatrix( i, grd_rpvdcolglist.colRef("procstat")) = "01";
  294. grd_rpvdcolglist.valueMatrix( i, grd_rpvdcolglist.colRef("lastcnfmyn")) = "Y";
  295. grd_rpvdcolglist.addStatus(i, "update");
  296. }
  297. misfSave("TXRPV06201");
  298. btn_search.dispatch("DOMActivate");
  299. ]]>
  300. </script>
  301. </button>
  302. <button id="btn_cancel" class="btn4_letter4" style="left:787px; top:3px; width:80px; height:22px; ">
  303. <caption>평가취소</caption>
  304. <script type="javascript" ev:event="DOMActivate">
  305. <![CDATA[
  306. if(messageBox("모든 평가 진행상태를 취소 하시겠습니까", "Q999") == '7') return;
  307. for(var i = grd_rpvdcolglist.fixedRows; i < grd_rpvdcolglist.rows; i++)
  308. {
  309. grd_rpvdcolglist.valueMatrix( i, grd_rpvdcolglist.colRef("procstat")) = "02";
  310. grd_rpvdcolglist.valueMatrix( i, grd_rpvdcolglist.colRef("lastcnfmyn")) = "N";
  311. grd_rpvdcolglist.addStatus(i, "update");
  312. }
  313. misfSave("TXRPV06201");
  314. btn_search.dispatch("DOMActivate");
  315. ]]>
  316. </script>
  317. </button>
  318. </group>
  319. </xhtml:body>
  320. </xhtml:html>