SMRPV06500_역량평가.xrw 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933
  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>역량 평가 1차 평가</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <grid>
  11. <rpvmrsltlist/>
  12. <rpvdabvulist/>
  13. <rpvdabcklist/>
  14. </grid>
  15. <valupsncnts1/>
  16. <send_rpvmrsltlist>
  17. </send_rpvmrsltlist>
  18. <valupsncnts2/>
  19. <smsdata>
  20. <bizabbr/>
  21. <replytelno/>
  22. <rsrvyn/>
  23. <rsrvdate/>
  24. <rsrvtime/>
  25. <msgcnts/>
  26. <closeflag/>
  27. <recvrlist>
  28. <chk/>
  29. <recvrnm/>
  30. <recvrtelno/>
  31. </recvrlist>
  32. </smsdata>
  33. <valuempllist/>
  34. </main>
  35. <send>
  36. <valuyy/>
  37. <emplno/>
  38. <emplnm/>
  39. <valuclscd/>
  40. </send>
  41. <init>
  42. <score>
  43. <indpscor/>
  44. <valuscor1/>
  45. <adjtscor/>
  46. </score>
  47. </init>
  48. <temp>
  49. <allselect/>
  50. </temp>
  51. <result/>
  52. <target/>
  53. </root>
  54. </instance>
  55. <submission id="TRRPV06501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/grid/rpvmrsltlist"/>
  56. <submission id="TRRPV06502" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/send_rpvmrsltlist" resultref="/root/main/grid/rpvdabvulist"/>
  57. <submission id="TXRPV06501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp"/>
  58. <submission id="TRRPV06503" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/send_rpvmrsltlist" resultref="/root/main/grid/rpvdabcklist"/>
  59. <script type="javascript" ev:event="xforms-model-destruct">
  60. <![CDATA[
  61. if (getGridUpdateData(grd_rpvmrsltlist) != "" || getGridUpdateData(grd_rpvdabvulist) != "" || getGridUpdateData(grd_rpvdabcklist) != "") {
  62. var save_val = messageBox("변경된 자료가 존재 합니다. ", "Q002");
  63. if (save_val == "6") {
  64. btn_save.dispatch("DOMActivate");
  65. }
  66. }
  67. ]]>
  68. </script>
  69. <submission id="TRRPV99912" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/valuempllist"/>
  70. </model>
  71. <script type="javascript" ev:event="xforms-ready">
  72. <![CDATA[
  73. //그리드 초기화
  74. misfGridInit(grd_rpvmrsltlist);
  75. misfGridInit(grd_rpvdabvulist);
  76. misfGridInit(grd_rpvdabcklist);
  77. misfMsterDetailSet(grd_rpvmrsltlist, null, "TRRPV06501", "Y"); // 역량 평가 피평가자 List
  78. misfMsterDetailSet(grd_rpvdabvulist, null, "TRRPV06502", "Y"); // 역량 평가 List
  79. misfMsterDetailSet(grd_rpvdabcklist, null, "TRRPV06503", "Y"); // 중간점검결과 List
  80. // 현재 년도 설정.
  81. model.setValue(ipt_valuyy.attribute("ref"), getCurrentDate().toDate().getDateFormat("YYYY"));
  82. //model.setValue(ipt_valuyy.attribute("ref"), "2008");
  83. // 기본 값 설정.
  84. model.setValue(ipt_emplno.attribute("ref"), getUserInfo("userid")); // 사번
  85. model.setValue(ipt_emplnm.attribute("ref"), getUserInfo("usernm")); // 이름
  86. //현재화면이 팝업으로 Load 되었을 시.....
  87. if(instance1.selectNodes("/root/target/*").length > 0)
  88. {
  89. fPopupDataSet("valuyy,trgtemplno,trgtemplnm","ipt_valuyy,ipt_emplno,ipt_emplnm");
  90. }
  91. rpvfComboValuCdList(ipt_valuyy.value , "VALUCLSCD,ABLTCNFMFLAG,VALUSCORBIZ,VALUSCORBIZ,ABLTYDEFINECD,ABLTYDEFINECD,VALUCLSDETLCDA", "cmb_valuclsdetlcd,grd_rpvmrsltlist.valupsncnfmflag1,grd_rpvdabvulist.ownvaluscor,grd_rpvdabvulist.valupsnscor1,grd_rpvdabvulist.abltydefinecd,grd_rpvdabcklist.chkabltydefinecd,grd_rpvdabvulist.valuclsdetlcd");
  92. addComboItem( "cmb_valuclsdetlcd", "[-- 전체 --]", "", "above");
  93. fInitialize();
  94. model.refresh();
  95. ]]>
  96. </script>
  97. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  98. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  99. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  100. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  101. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  102. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  103. <script type="javascript" src="../../../mis/miscommonweb/js/RSZ001.js"/>
  104. <script type="javascript" src="../../../mis/valuationmngtweb/js/RPV001.js"/>
  105. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  106. <script type="javascript">
  107. <![CDATA[
  108. var gridrow = -1;
  109. // 화면 open시와 초기화 버튼 클릭시 화면 초기화 기능을 수행한다.
  110. function fInitialize() {
  111. // 컨트롤 disabled
  112. //fdisabledControl(true);
  113. //model.refresh();
  114. // 평가기간에 따른 권한 부여.
  115. if(model.getValue("/root/temp/trgtflag") != ""){
  116. rpvfCheckDayFlag(ipt_valuyy.value, getUserInfo("userid"), model.getValue("/root/temp/trgtflag"), model.getValue("/root/temp/program"),"btn_cancel,btn_complete,btn_save,btn_init,btn_b,btn_a,btn_sdelete");
  117. }else{
  118. rpvfCheckDayFlag(ipt_valuyy.value, getUserInfo("userid"), "01", "SMRPV06500", "btn_cancel,btn_complete,btn_save,btn_init,btn_b,btn_a,btn_sdelete");
  119. }
  120. //화면 권한 설정
  121. //btn_save.disabled = !(checkAuth("X"));
  122. var instcd = getUserInfo("dutplceinstcd");
  123. var emplno = getUserInfo("userid");
  124. rpvfGetUserAuth(instcd,emplno);
  125. if(DUTY_VALU_YN =='Y'){
  126. ipt_emplno.disabled = false;
  127. btn_fsthfyyvalupsn1.disabled = false;
  128. ipt_emplnm.disabled = false;
  129. }else{
  130. ipt_emplno.disabled = true;
  131. btn_fsthfyyvalupsn1.disabled = true;
  132. ipt_emplnm.disabled = true;
  133. }
  134. }
  135. //현재화면이 팝업화면으로 Loadding 될때 넘겨받은값을 설정.
  136. function fPopupDataSet()
  137. {
  138. var fgetValueNode = "/root/target/";
  139. var fNodeName = arguments[0].split(",");
  140. var fSetControl = arguments[1].split(",");
  141. for(var i = 0; i < fSetControl.length; i++)
  142. {
  143. document.controls(fSetControl[i]).value = model.getValue(fgetValueNode + fNodeName[i]);
  144. }
  145. }
  146. function fdisabledControl(BOOL)
  147. {
  148. switch1.disabled = BOOL;
  149. btn_a.disabled = BOOL;
  150. btn_b.disabled = BOOL;
  151. btn_complete.disabled = BOOL;
  152. bol_allchoice.disabled = BOOL;
  153. txt_valupsncnts1.disabled = BOOL;
  154. btn_valupsncnts1.disabled = BOOL;
  155. btn_valupsncnts2.disabled = BOOL;
  156. btn_dabck.disabled = BOOL;
  157. }
  158. //1차평가 평가확정 여부 판별.
  159. function fcompletecheck()
  160. {
  161. var bool = false;
  162. if( grd_rpvmrsltlist.valueMatrix(grd_rpvmrsltlist.row, grd_rpvmrsltlist.colRef("valupsncnfmyn1")) == "Y" )
  163. {
  164. bool = true;
  165. }
  166. //switch1.disabled = bool;
  167. btn_a.disabled = bool;
  168. btn_b.disabled = bool;
  169. btn_complete.disabled = bool;
  170. bol_allchoice.disabled = bool;
  171. txt_valupsncnts1.disabled = bool;
  172. //btn_sdelete.disabled = bool;
  173. btn_save.disabled = bool;
  174. btn_clearscor.disabled = bool;
  175. // for(var i = grd_rpvdabvulist.fixedRows; i < grd_rpvdabvulist.rows; i++)
  176. // {
  177. // grd_rpvdabvulist.isReadOnly(i, grd_rpvdabvulist.colRef("valupsnscor1")) = bool;
  178. // }
  179. if( grd_rpvmrsltlist.valueMatrix(grd_rpvmrsltlist.row, grd_rpvmrsltlist.colRef("valupsncnfmflag2")) == "A" )
  180. {
  181. btn_cancel.disabled = true;
  182. }
  183. else {
  184. if (bool == true) {
  185. btn_cancel.disabled = false;
  186. }
  187. else {
  188. btn_cancel.disabled = true;
  189. }
  190. }
  191. }
  192. function fGridAdd()
  193. {
  194. misfGridIUD(grd_rpvdabcklist, "A");
  195. grd_rpvdabcklist.valueMatrix(grd_rpvdabcklist.row, grd_rpvdabcklist.colRef("corelang")) = grd_rpvdabvulist.valueMatrix(grd_rpvdabvulist.row, grd_rpvdabvulist.colRef("corelang")) ; //핵심어명칭
  196. grd_rpvdabcklist.valueMatrix(grd_rpvdabcklist.row, grd_rpvdabcklist.colRef("actidx")) = grd_rpvdabvulist.valueMatrix(grd_rpvdabvulist.row, grd_rpvdabvulist.colRef("actidx")) ; //행동지표
  197. grd_rpvdabcklist.valueMatrix(grd_rpvdabcklist.row, grd_rpvdabcklist.colRef("chkvaluclscd")) = grd_rpvdabvulist.valueMatrix(grd_rpvdabvulist.row, grd_rpvdabvulist.colRef("valuclscd"));
  198. grd_rpvdabcklist.valueMatrix(grd_rpvdabcklist.row, grd_rpvdabcklist.colRef("chkvalumdlcd")) = grd_rpvdabvulist.valueMatrix(grd_rpvdabvulist.row, grd_rpvdabvulist.colRef("valumdlcd"));
  199. grd_rpvdabcklist.valueMatrix(grd_rpvdabcklist.row, grd_rpvdabcklist.colRef("chkvaluclsdetlcd")) = grd_rpvdabvulist.valueMatrix(grd_rpvdabvulist.row, grd_rpvdabvulist.colRef("valuclsdetlcd"));
  200. grd_rpvdabcklist.valueMatrix(grd_rpvdabcklist.row, grd_rpvdabcklist.colRef("chkabltydefinecd")) = grd_rpvdabvulist.valueMatrix(grd_rpvdabvulist.row, grd_rpvdabvulist.colRef("abltydefinecd")) ;
  201. grd_rpvdabcklist.valueMatrix(grd_rpvdabcklist.row, grd_rpvdabcklist.colRef("chkcorelangcd")) = grd_rpvdabvulist.valueMatrix(grd_rpvdabvulist.row, grd_rpvdabvulist.colRef("corelangcd")) ;
  202. grd_rpvdabcklist.valueMatrix(grd_rpvdabcklist.row, grd_rpvdabcklist.colRef("valuyy")) = grd_rpvdabvulist.valueMatrix(grd_rpvdabvulist.row, grd_rpvdabvulist.colRef("valuyy")) ;
  203. grd_rpvdabcklist.valueMatrix(grd_rpvdabcklist.row, grd_rpvdabcklist.colRef("emplno")) = grd_rpvdabvulist.valueMatrix(grd_rpvdabvulist.row, grd_rpvdabvulist.colRef("emplno")) ;
  204. grd_rpvdabcklist.valueMatrix(grd_rpvdabcklist.row, grd_rpvdabcklist.colRef("chkdd")) = getCurrentDate();
  205. grd_rpvdabcklist.refresh();
  206. }
  207. // 문자메세지 전송.
  208. // * 수신자의 전화번호는 10자리를 넘어야만 전송이 가능하며, 발신자의 전화번호도 10자리를 넘어야만한다.
  209. //
  210. // fgrid_target : 수신자 리스트 데이터가 있는 그리드.
  211. // fphoneno : 발신자 전화번호 - "01010092456"
  212. // fmsg : 전송할 문자 내용 - "하고싶은말을 적으면 됩니다."
  213. // checkYN : 체크되었는 사용자만 전송할건지 전부 전송할건지 유무! - "Y" or "N" or ""
  214. function fSendMsg( fgrid_target,fphoneno, fmsg, checkYN)
  215. {
  216. /// 발신자 정보 설정.
  217. misfGridInit(grd_msg);
  218. var fPhone = '';
  219. var sPhone = '';
  220. var tPhone = '';
  221. tPhone = fphoneno.split("-");
  222. fphoneno = '';
  223. for(var r = 0; r < tPhone.length; r++ )
  224. {
  225. fphoneno += tPhone[r];
  226. }
  227. model.setValue("/root/main/smsdata/bizabbr", "mis"); // 그룹명, ex> mis, com, tis, his...등등...
  228. model.setValue("/root/main/smsdata/replytelno", fphoneno); // 발신자 전화번호
  229. model.setValue("/root/main/smsdata/rsrvyn", 0); // 예약전송 구분
  230. model.setValue("/root/main/smsdata/rsrvdate", getCurrentDate()); // 전송 날자
  231. model.setValue("/root/main/smsdata/rsrvtime", getCurrentTime().substr(0,4)); // 전송 시간
  232. model.setValue("/root/main/smsdata/msgcnts", fmsg); // 전송할 메세지
  233. model.setValue("/root/main/smsdata/closeflag", "Y"); // 메시지 전송 팝업화면을 바로 닫기위한 구분자.
  234. /// 수신자 정보설정.
  235. /// 아래에 있는 소스는 수신자의 리스트를 정리한다. 현제 DB에 전화번호가 010-2321-1231 이렇게 되어 있으므로 '-' 이것을 제외한 01023211231 로 변환.
  236. /// 그리드에 체크 유무에 따라 수신자 리스트에 추가를 하도록 되어있다.
  237. ///
  238. for(var i = fgrid_target.fixedRows; i < fgrid_target.rows; i++ )
  239. {
  240. // 체크된 사람만 보낼건지 전체를 보낼건지 구분.
  241. if(checkYN == "Y")
  242. {
  243. // 체크된사람 유무.
  244. if(fgrid_target.valueMatrix(i, fgrid_target.colRef("selyn")) == "Y")
  245. {
  246. if(fgrid_target.valueMatrix(i, fgrid_target.colRef("phone")) != '')
  247. {
  248. misfGridIUD(grd_msg, "A");
  249. fPhone = fgrid_target.valueMatrix(i, fgrid_target.colRef("phone")).split("-");
  250. sPhone = '';
  251. for(var p = 0; p < fPhone.length; p++ )
  252. {
  253. sPhone += fPhone[p];
  254. }
  255. grd_msg.valueMatrix(grd_msg.row, grd_msg.colRef("chk")) = 'Y'; // 여기서 Y의 의미는 문자메세지를 보낼때 팝업화면에서 전송받을 수신자의 선택유무다. 무조건 보내기 위해 Y 로 설정.
  256. grd_msg.valueMatrix(grd_msg.row, grd_msg.colRef("recvrnm")) = fgrid_target.valueMatrix(i, fgrid_target.colRef("emplnm")); // 수신자 이름 설정.
  257. grd_msg.valueMatrix(grd_msg.row, grd_msg.colRef("recvrtelno")) = sPhone; // 수신자 전화번호 설정.
  258. }
  259. }
  260. }else{
  261. if(fgrid_target.valueMatrix(i, fgrid_target.colRef("phone")) != '')
  262. {
  263. misfGridIUD(grd_msg, "A");
  264. fPhone = fgrid_target.valueMatrix(i, fgrid_target.colRef("phone")).split("-");
  265. sPhone = '';
  266. for(var p = 0; p < fPhone.length; p++ )
  267. {
  268. sPhone += fPhone[p];
  269. }
  270. grd_msg.valueMatrix(grd_msg.row, grd_msg.colRef("chk")) = 'Y'; // 여기서 Y의 의미는 문자메세지를 보낼때 팝업화면에서 전송받을 수신자의 선택유무다. 무조건 보내기 위해 Y 로 설정.
  271. grd_msg.valueMatrix(grd_msg.row, grd_msg.colRef("recvrnm")) = fgrid_target.valueMatrix(i, fgrid_target.colRef("emplnm")); // 수신자 이름 설정.
  272. grd_msg.valueMatrix(grd_msg.row, grd_msg.colRef("recvrtelno")) = sPhone; // 수신자 전화번호 설정.
  273. }
  274. }
  275. }
  276. // 메시지 전송창 화면 밖으로 이동(rpvfOpenSMS 사용하실때에는 꼭 closeflag 를 'Y' 로 설정 하시기 바랍니다. )
  277. rpvfOpenSMS("/root/main/smsdata");
  278. // 메시지 전송창 화면 중간으로 이동
  279. //zmsfOpenSMS("/root/main/smsdata");
  280. }
  281. ]]>
  282. </script>
  283. </xhtml:head>
  284. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  285. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  286. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">역량 평가 1차 평가</caption>
  287. </group>
  288. <group id="group2" scroll="auto" style="left:0px; top:38; width:1195px; height:744; ">
  289. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" ellipsewidth="20" ellipseheight="20" style="left:0; top:10; width:1195; height:35px; "/>
  290. <button id="btn_search" class="btn1_letter2" style="left:1125px; top:16px; width:56px; height:22px; ">
  291. <caption>조회</caption>
  292. <script type="javascript" ev:event="DOMActivate">
  293. <![CDATA[
  294. if(!isRequiredControls("ipt_valuyy")) return;
  295. if(!isRequiredControls("ipt_fsthfyyvalupsn1")) return;
  296. submit("TRRPV99912");
  297. submit("TRRPV06501");
  298. //model.refresh();
  299. // 조회 내용이 있을시..
  300. var check = "Y";
  301. if(grd_rpvmrsltlist.rows != grd_rpvmrsltlist.fixedRows)
  302. {
  303. // 컨트롤 disabled
  304. //fdisabledControl(false);
  305. // grd_rpvmrsltlist.row = grd_rpvmrsltlist.fixedRows;
  306. // grd_rpvmrsltlist.dispatch("onrowchanged");
  307. // grd_rpvmrsltlist.select(grd_rpvmrsltlist.row, grd_rpvmrsltlist.fixedCols+3) = true;
  308. model.setFocus("grd_rpvmrsltlist");
  309. if (gridrow == -1 || gridrow == grd_rpvmrsltlist.rows - grd_rpvmrsltlist.fixedRows + 1) {
  310. grd_rpvmrsltlist.row = grd_rpvmrsltlist.fixedRows;
  311. }
  312. else {
  313. grd_rpvmrsltlist.row = gridrow + 1;
  314. }
  315. grd_rpvmrsltlist.select(grd_rpvmrsltlist.row, grd_rpvmrsltlist.colRef("emplno")) = true;
  316. // for(var i = grd_rpvmrsltlist.fixedRows; i < grd_rpvmrsltlist.rows; i++)
  317. // {
  318. // if( grd_rpvmrsltlist.valueMatrix(i, grd_rpvmrsltlist.colRef("valupsncnfmyn1")) == "Y" )
  319. // {
  320. // grd_rpvmrsltlist.isReadOnly(i, grd_rpvmrsltlist.colRef("selyn")) = true;
  321. // }else{
  322. //
  323. // grd_rpvmrsltlist.isReadOnly(i, grd_rpvmrsltlist.colRef("selyn")) = false;
  324. // check = "N";
  325. // }
  326. // }
  327. grd_rpvmrsltlist.dispatch("onrowchanged");
  328. }else{
  329. //fdisabledControl(true);
  330. }
  331. // 1차평가확정여부 판별.
  332. // fcompletecheck();
  333. // if (check != "Y") {
  334. // btn_complete.disabled = false;
  335. //
  336. // }
  337. // else {
  338. // btn_complete.disabled = true;
  339. //
  340. // }
  341. //model.refresh();
  342. ]]>
  343. </script>
  344. </button>
  345. <line id="line13" class="line_4" style="x1:1110px; y1:16px; x2:1110px; y2:38px; "/>
  346. <datagrid id="grd_rpvdabvulist" nodeset="/root/main/grid/rpvdabvulist" autoresize="true" caption="역량구분^역량정의^핵심어^행동지표^본인평가점수^평가점수|역량구분^역량정의^핵심어^행동지표^본인평가점수^평가점수" colsep="^" colwidth="100, 189, 77, 296, 53, 62, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100" ellipsis="true" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" tooltip="true" style="left:380px; top:75px; width:814px; height:440px; ">
  347. <col disabled="true" ref="valuclsdetlcd" type="combo">
  348. <choices>
  349. <itemset>
  350. <label/>
  351. <value/>
  352. </itemset>
  353. </choices>
  354. </col>
  355. <col disabled="true" ref="abltydefinecd" type="combo">
  356. <choices>
  357. <itemset>
  358. <label/>
  359. <value/>
  360. </itemset>
  361. </choices>
  362. </col>
  363. <col ref="corelang" style="text-align:center; "/>
  364. <col ref="actidx"/>
  365. <col disabled="true" ref="ownvaluscor" type="combo" style="text-align:center; ">
  366. <choices>
  367. <itemset>
  368. <label/>
  369. <value/>
  370. </itemset>
  371. </choices>
  372. </col>
  373. <col class="gridcombo" ref="valupsnscor1" type="combo" style="text-align:center; ">
  374. <choices>
  375. <itemset>
  376. <label/>
  377. <value/>
  378. </itemset>
  379. </choices>
  380. </col>
  381. <col ref="corelangcd" visibility="hidden"/>
  382. <col ref="valuyy" visibility="hidden"/>
  383. <col ref="valuclscd" visibility="hidden"/>
  384. <col ref="valumdlcd" visibility="hidden"/>
  385. <col ref="emplno" visibility="hidden"/>
  386. <col ref="rtnreqresn" visibility="hidden"/>
  387. <col ref="valupsncnfmflag1" visibility="hidden"/>
  388. <col ref="ownvaluexchscor" visibility="hidden" format="#,###.00"/>
  389. <col ref="valupsnexchscor1" visibility="hidden" format="#,###.00"/>
  390. <col ref="adjtscor" type="output" visibility="hidden" format="#,###.00" maxlength="5.2"/>
  391. <script type="javascript" ev:event="ondblclick">
  392. <![CDATA[
  393. if (grd_rpvdabvulist.col == grd_rpvdabvulist.colRef("valupsnscor1") ) return;
  394. if(btn_dabck.selected == true)
  395. {
  396. fGridAdd();
  397. }
  398. // if(grd_rpvdabvulist.col == grd_rpvdabvulist.colRef("ownvaluscor"))
  399. // {
  400. // model.copyNode("/root/temp", grd_rpvdabvulist.attribute("nodeset") + "[" + grd_rpvdabvulist.row + "]" );
  401. // modal("SMRPV06100", "", "", "", "popup", "/root/temp", "/root/temp");
  402. // }
  403. ]]>
  404. </script>
  405. </datagrid>
  406. <caption id="caption4" class="tit_2" style="left:380px; top:54px; width:230px; height:13px; vertical-align:middle; ">역량 평가 List</caption>
  407. <line id="line1" class="line_1" style="x1:380px; y1:69px; x2:1194px; y2:69px; "/>
  408. <input id="ipt_valuyy" ref="/root/send/valuyy" class="input_s_essential" inputtype="date" format="yyyy" style="left:105px; top:17px; width:80px; height:19px; text-align:center; ">
  409. <script type="javascript" ev:event="xforms-value-changed">
  410. <![CDATA[
  411. if(!isRequiredControls("ipt_valuyy")) return;
  412. fInitialize();
  413. //
  414. // model.removeNodeset(grd_rpvmrsltlist.nodeset);
  415. // model.removeNodeset(grd_rpvdabvulist.nodeset);
  416. // model.removeNodeset(cmb_valuclsdetlcd.attribute("ref"));
  417. // model.removeNodeset("/root/init/valucd");
  418. // model.refresh();
  419. //
  420. // rpvfComboValuCdList(ipt_valuyy.value , "VALUCLSCD,ABLTCNFMFLAG,VALUSCORBIZ,VALUSCORBIZ,ABLTYDEFINECD,ABLTYDEFINECD,VALUCLSDETLCDA", "cmb_valuclsdetlcd,grd_rpvmrsltlist.valupsncnfmflag1,grd_rpvdabvulist.ownvaluscor,grd_rpvdabvulist.valupsnscor1,grd_rpvdabvulist.abltydefinecd,grd_rpvdabcklist.chkabltydefinecd,grd_rpvdabvulist.valuclsdetlcd");
  421. // rpvfComboValuCdList(ipt_valuyy.value , "VALUCLSCD,APRVFLAG,VALUSCORBIZ,VALUSCORBIZ,ABLTYDEFINECD", "cmb_valuclsdetlcd,grd_rpvmrsltlist.valupsncnfmflag1,grd_rpvdabvulist.ownvaluscor,grd_rpvdabvulist.valupsnscor1,grd_rpvdabvulist.abltydefinecd");
  422. // addComboItem( "cmb_valuclsdetlcd", "[-- 전체 --]", "", "above");
  423. // model.refresh();
  424. // btn_search.dispatch("DOMActivate");
  425. ]]>
  426. </script>
  427. </input>
  428. <caption id="cap_valuyy" class="search_name" style="left:15px; top:18px; width:90px; height:17px; vertical-align:middle; ">평가년도 :</caption>
  429. <input id="ipt_emplno" ref="/root/send/emplno" class="input_s_essential" style="left:315px; top:17px; width:80px; height:19px; text-align:center; ">
  430. <script type="javascript" ev:event="xforms-value-changed">
  431. <![CDATA[
  432. rpbfValidationCheck("EMPLNO", "emplno,emplnm");
  433. model.refresh();
  434. ]]>
  435. </script>
  436. </input>
  437. <button id="btn_fsthfyyvalupsn1" class="icon_search" style="left:398px; top:17px; width:16px; height:16px; ">
  438. <caption/>
  439. <script type="javascript" ev:event="DOMActivate">
  440. <![CDATA[
  441. rpbfOpenPopUpList("SPRPB00101", ipt_emplno, "emplno,emplnm", "", "N", "N");
  442. model.refresh();
  443. ]]>
  444. </script>
  445. </button>
  446. <caption id="cap_fsthfyyvalupsn1" class="search_name" style="left:218px; top:18px; width:94px; height:17px; font-weight:bold; ">평가자사번:</caption>
  447. <input id="ipt_emplnm" ref="/root/send/emplnm" class="input_search" style="left:417px; top:17px; width:135px; height:19px; text-align:center; ">
  448. <script type="javascript" ev:event="xforms-value-changed">
  449. <![CDATA[
  450. rpbfValidationCheck("EMPLNM", "emplno,emplnm");
  451. model.refresh();
  452. ]]>
  453. </script>
  454. </input>
  455. <caption id="cap_valuclsdetlcd" class="search_name" style="left:590px; top:18px; width:56px; height:17px; vertical-align:middle; ">구분:</caption>
  456. <select1 id="cmb_valuclsdetlcd" ref="/root/send/valuclscd" class="combo_default" appearance="minimal" style="left:648px; top:17px; width:110px; height:19px; text-align:center; ">
  457. <choices>
  458. <itemset>
  459. <label/>
  460. <value/>
  461. </itemset>
  462. </choices>
  463. <script type="javascript" ev:event="xfroms-value-changed">
  464. <![CDATA[
  465. btn_search.dispatch("DOMActivate");
  466. ]]>
  467. </script>
  468. </select1>
  469. <datagrid id="grd_rpvmrsltlist" nodeset="/root/main/grid/rpvmrsltlist" autoresize="true" caption="^부서^사원번호^성명^상태^완료구분^반려|^부서^사원번호^성명^상태^완료구분^반려" colsep="^" colwidth="20, 113, 67, 59, 82, 21, 25, 100, 100, 100, 100, 102, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100" ellipsis="true" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" tooltip="true" style="left:1px; top:75px; width:375px; height:440px; ">
  470. <col checkvalue="Y,N" ref="selyn" type="checkbox" visibility="hidden"/>
  471. <col ref="deptnm" style="text-align:center; "/>
  472. <col ref="emplno" style="text-align:center; "/>
  473. <col ref="emplnm" style="text-align:center; "/>
  474. <col ref="preststat"/>
  475. <col disabled="true" ref="valupsncnfmflag1" type="combo" visibility="hidden" style="text-align:left; ">
  476. <choices>
  477. <itemset>
  478. <label/>
  479. <value/>
  480. </itemset>
  481. </choices>
  482. </col>
  483. <col ref="valupsnrtnyn"/>
  484. <col ref="fsthfyyvalupsn1" visibility="hidden"/>
  485. <col ref="valuyy" visibility="hidden"/>
  486. <col ref="deptcd" visibility="hidden"/>
  487. <col ref="valuclscd" visibility="hidden"/>
  488. <col ref="valumdlcd" visibility="hidden"/>
  489. <col ref="valupsncnts1" visibility="hidden"/>
  490. <col ref="valupsncnts2" visibility="hidden"/>
  491. <col ref="valupsncnfmyn1" visibility="hidden"/>
  492. <col ref="lastcnfmyn" visibility="hidden"/>
  493. <col ref="procstat" visibility="hidden"/>
  494. <col ref="ownvalucnfmyn" visibility="hidden"/>
  495. <col ref="scndhfyyvalupsn1" visibility="hidden"/>
  496. <col ref="phone" visibility="hidden"/>
  497. <col ref="email" visibility="hidden"/>
  498. <col ref="valupsncnfmflag2" visibility="hidden"/>
  499. <col ref="scndhfyyvalupsn2" visibility="hidden"/>
  500. <col ref="valuphone2" visibility="hidden"/>
  501. <col ref="valuemail2" visibility="hidden"/>
  502. <script type="javascript" ev:event="onrowchanged">
  503. <![CDATA[
  504. grd_rpvmrsltlist.dispatch("onmouseup");
  505. // 잠시 보류
  506. //btn_valupsncnts1.dispatch("onclick");
  507. // 역량 평가 List 조회
  508. model.copyNode("/root/main/send_rpvmrsltlist" , grd_rpvmrsltlist.nodeset + "[" + (grd_rpvmrsltlist.row-1) + "]");
  509. submit("TRRPV06502");
  510. submit("TRRPV06503");
  511. //평가 의견 및 반려요청사유 표시
  512. txt_valupsncnts1.value = grd_rpvmrsltlist.valueMatrix(grd_rpvmrsltlist.row, grd_rpvmrsltlist.colRef("valupsncnts1"));
  513. txt_valupsncnts2.value = grd_rpvmrsltlist.valueMatrix(grd_rpvmrsltlist.row, grd_rpvmrsltlist.colRef("valupsncnts2"));
  514. if (grd_rpvmrsltlist.valueMatrix(grd_rpvmrsltlist.row, grd_rpvmrsltlist.colRef("ownvalucnfmyn")) == "Y") {
  515. misfSetReadOnlyCol(grd_rpvdabvulist, "valupsnscor1", false);
  516. }
  517. else {
  518. misfSetReadOnlyCol(grd_rpvdabvulist, "valupsnscor1", true);
  519. }
  520. // 1차평가확정여부 판별.
  521. fcompletecheck();
  522. // ipt_indpscor.value = 0.0;
  523. // ipt_valuscor1.value = 0.0;
  524. // ipt_adjtscor.value = 0.0;
  525. var indpscor = 0.0;
  526. var valuscor1 = 0.0;
  527. var adjttot = 0.0;
  528. var totscor = 0.0;
  529. for(var i = grd_rpvdabvulist.fixedRows; i < grd_rpvdabvulist.rows; i++)
  530. {
  531. indpscor += parseFloat(grd_rpvdabvulist.valueMatrix(i, grd_rpvdabvulist.colRef("ownvaluexchscor")));
  532. valuscor1 += parseFloat(grd_rpvdabvulist.valueMatrix(i, grd_rpvdabvulist.colRef("valupsnexchscor1")));
  533. adjttot += parseFloat(grd_rpvdabvulist.valueMatrix(i, grd_rpvdabvulist.colRef("adjtscor")));
  534. }
  535. indpscor = indpscor / (grd_rpvdabvulist.rows - grd_rpvdabvulist.fixedRows);
  536. totscor = indpscor.toString();
  537. ipt_indpscor.value = totscor.getRound(-3, "DOWN");
  538. valuscor1 = valuscor1/(grd_rpvdabvulist.rows - grd_rpvdabvulist.fixedRows);
  539. totscor = valuscor1.toString();
  540. ipt_valuscor1.value = totscor.getRound(-3, "DOWN");
  541. adjttot = adjttot /(grd_rpvdabvulist.rows - grd_rpvdabvulist.fixedRows);
  542. totscor = adjttot.toString();
  543. ipt_adjtscor.value = totscor.getRound(-3, "DOWN");
  544. gridrow = grd_rpvmrsltlist.row;
  545. model.refresh();
  546. ]]>
  547. </script>
  548. </datagrid>
  549. <caption id="caption1" class="tit_2" style="left:0px; top:54px; width:230px; height:14px; vertical-align:middle; ">역량 평가 피평가자 List</caption>
  550. <line id="line2" class="line_1" style="x1:0px; y1:69px; x2:375px; y2:69px; "/>
  551. <button id="btn_valupsncnts1" class="btn_sw" group="tab" style="left:138px; top:524px; width:123px; height:22px; ">
  552. <caption>1차평가의견</caption>
  553. <toggle case="case1" ev:event="onclick"/>
  554. </button>
  555. <switch id="switch1" style="left:0px; top:545px; width:1190px; height:195px; ">
  556. <case id="case2">
  557. <textarea id="txt_valupsncnts2" ref="/root/main/valupsncnts2" editable="false" maxbyte="900" style="left:0px; top:25px; width:1186px; height:165px; "/>
  558. <caption id="cap_titlevalupsncnts2" class="tit_2" style="left:0px; top:4px; width:230px; height:14px; vertical-align:middle; ">2차평가의견</caption>
  559. <line id="line3" class="line_1" style="x1:0px; y1:20px; x2:1186px; y2:20px; "/>
  560. </case>
  561. <case id="case1">
  562. <textarea id="txt_valupsncnts1" ref="/root/main/valupsncnts1" maxbyte="900" style="left:0px; top:25px; width:1186px; height:165px; ">
  563. <script type="javascript" ev:event="xforms-value-changed">
  564. <![CDATA[
  565. grd_rpvmrsltlist.addStatus(grd_rpvmrsltlist.row, "update");
  566. grd_rpvmrsltlist.valueMatrix(grd_rpvmrsltlist.row, grd_rpvmrsltlist.colRef("valupsncnts1")) = txt_valupsncnts1.value;
  567. model.refresh();
  568. ]]>
  569. </script>
  570. </textarea>
  571. <caption id="caption16" class="tit_2" style="left:0px; top:4px; width:230px; height:14px; vertical-align:middle; ">1차평가의견</caption>
  572. <line id="line5" class="line_1" style="x1:0px; y1:20px; x2:1186px; y2:20px; "/>
  573. </case>
  574. <case id="case3" selected="true">
  575. <datagrid id="grd_rpvdabcklist" nodeset="/root/main/grid/rpvdabcklist" autoresize="true" caption="점검일자^역량정의^핵심어^행동지표^점검내용" colsep="^" colwidth="100, 200, 76, 331, 369, 100, 100, 100, 100, 100, 100, 100" ellipsis="true" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" tooltip="true" style="left:0px; top:25px; width:1188px; height:166px; ">
  576. <col ref="chkdd" type="inputdate" format="yyyy-mm-dd" style="text-align:center; "/>
  577. <col disabled="true" ref="chkabltydefinecd" type="combo" style="left:120px; top:23px; width:200px; height:23px; text-align:left; ">
  578. <choices>
  579. <itemset>
  580. <label/>
  581. <value/>
  582. </itemset>
  583. </choices>
  584. </col>
  585. <col ref="corelang" style="text-align:center; "/>
  586. <col ref="actidx" style="text-align:center; "/>
  587. <col ref="chkcnts" type="input" maxbyte="300"/>
  588. <col ref="valuyy" visibility="hidden"/>
  589. <col ref="emplno" visibility="hidden"/>
  590. <col ref="seqno" visibility="hidden"/>
  591. <col ref="chkvaluclscd" visibility="hidden"/>
  592. <col ref="chkvalumdlcd" visibility="hidden"/>
  593. <col ref="chkvaluclsdetlcd" visibility="hidden"/>
  594. <col ref="chkcorelangcd" visibility="hidden"/>
  595. </datagrid>
  596. <caption id="caption2" class="tit_2" style="left:0px; top:4px; width:230px; height:14px; vertical-align:middle; ">중간점검결과 List</caption>
  597. <line id="line4" class="line_1" style="x1:0px; y1:20px; x2:1186px; y2:20px; "/>
  598. <button id="btn_sdelete" class="btn2_letter8" style="left:1078px; top:1px; width:108px; height:19px; ">
  599. <caption>중간점검결과삭제</caption>
  600. <script type="javascript" ev:event="DOMActivate">
  601. <![CDATA[
  602. misfGridIUD(grd_rpvdabcklist, "D");
  603. ]]>
  604. </script>
  605. </button>
  606. </case>
  607. </switch>
  608. <bool id="bol_allchoice" visibility="hidden" ref="/root/temp/allselect" style="left:22px; top:90px; width:19px; height:20px; ">
  609. <script type="javascript" ev:event="xforms-value-changed">
  610. <![CDATA[
  611. if( bol_allchoice.value == "true" )
  612. {
  613. for(var i = grd_rpvmrsltlist.fixedRows; i < grd_rpvmrsltlist.rows; i++)
  614. {
  615. grd_rpvmrsltlist.valueMatrix( i, grd_rpvmrsltlist.colRef("selyn")) = 'Y';
  616. }
  617. }else
  618. {
  619. for(var i = grd_rpvmrsltlist.fixedRows; i < grd_rpvmrsltlist.rows; i++)
  620. {
  621. grd_rpvmrsltlist.valueMatrix( i, grd_rpvmrsltlist.colRef("selyn")) = 'N';
  622. }
  623. }
  624. model.refresh();
  625. ]]>
  626. </script>
  627. </bool>
  628. <button id="btn_a" class="btn2_letter2" visibility="hidden" style="left:332px; top:49px; width:42px; height:19px; ">
  629. <caption>승인</caption>
  630. <script type="javascript" ev:event="DOMActivate">
  631. <![CDATA[
  632. for(var i = grd_rpvmrsltlist.fixedRows; i < grd_rpvmrsltlist.rows; i++)
  633. {
  634. if(grd_rpvmrsltlist.valueMatrix( i, grd_rpvmrsltlist.colRef("selyn")) == "Y" )
  635. {
  636. grd_rpvmrsltlist.valueMatrix( i, grd_rpvmrsltlist.colRef("valupsncnfmflag1")) = "A";
  637. grd_rpvmrsltlist.addStatus(i, "update");
  638. }
  639. }
  640. ]]>
  641. </script>
  642. </button>
  643. <button id="btn_b" class="btn2_letter3" visibility="hidden" style="left:275px; top:49px; width:53px; height:19px; ">
  644. <caption>미승인</caption>
  645. <script type="javascript" ev:event="DOMActivate">
  646. <![CDATA[
  647. for(var i = grd_rpvmrsltlist.fixedRows; i < grd_rpvmrsltlist.rows; i++)
  648. {
  649. if(grd_rpvmrsltlist.valueMatrix( i, grd_rpvmrsltlist.colRef("selyn")) == "Y" )
  650. {
  651. grd_rpvmrsltlist.valueMatrix( i, grd_rpvmrsltlist.colRef("valupsncnfmflag1")) = "B";
  652. grd_rpvmrsltlist.addStatus(i, "update");
  653. }
  654. }
  655. ]]>
  656. </script>
  657. </button>
  658. <button id="btn_valupsncnts2" class="btn_sw" group="tab" style="left:262px; top:524px; width:136px; height:22px; ">
  659. <caption>2차평가의견</caption>
  660. <toggle case="case2" ev:event="onclick"/>
  661. </button>
  662. <button id="btn_dabck" class="btn_sw" group="tab" selected="true" style="left:1px; top:524px; width:136px; height:22px; ">
  663. <caption>중간점검결과</caption>
  664. <toggle case="case3" ev:event="onclick"/>
  665. </button>
  666. <input id="ipt_indpscor" ref="/root/init/score/indpscor" class="input_essential" disabled="true" format="#,###.##" style="left:708px; top:523px; width:97px; height:19px; text-align:right; "/>
  667. <caption id="cap_total" class="cell_1" style="left:640px; top:521px; width:65px; height:23px; vertical-align:middle; ">본인평가</caption>
  668. <input id="ipt_adjtscor" ref="/root/init/score/adjtscor" class="input_essential" disabled="true" format="#,###.##" style="left:1088px; top:523px; width:97px; height:19px; text-align:right; "/>
  669. <caption id="caption14" class="cell_1" style="left:830px; top:521px; width:65px; height:23px; vertical-align:middle; ">1차평가</caption>
  670. <caption id="caption15" class="cell_1" style="left:1020px; top:521px; width:65px; height:23px; vertical-align:middle; ">조정점수</caption>
  671. <input id="ipt_valuscor1" ref="/root/init/score/valuscor1" class="input_essential" disabled="true" format="#,###.##" style="left:898px; top:523px; width:97px; height:19px; text-align:right; "/>
  672. <datagrid id="grd_msg" nodeset="/root/main/smsdata/recvrlist" visibility="hidden" caption="체크여부^이름^전화번호" colsep="^" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:35px; top:245px; width:310px; height:125px; ">
  673. <col ref="chk"/>
  674. <col ref="recvrnm"/>
  675. <col ref="recvrtelno"/>
  676. </datagrid>
  677. <button id="btn_clearscor" class="btn5_letter4" disabled="true" style="left:1125px; top:48px; width:64px; height:19px; ">
  678. <caption>점수삭제</caption>
  679. <script type="javascript" ev:event="DOMActivate">
  680. <![CDATA[
  681. for(var i = grd_rpvdabvulist.fixedRows; i <= grd_rpvdabvulist.rows; i++) {
  682. grd_rpvdabvulist.valueMatrix(i, grd_rpvdabvulist.colRef("valupsnscor1")) = "";
  683. grd_rpvdabvulist.rowStatus(i) = "2";
  684. }
  685. btn_save.dispatch("DOMActivate");
  686. ]]>
  687. </script>
  688. </button>
  689. </group>
  690. <group id="grp_btn" scroll="auto" style="left:0px; top:12px; width:1195px; height:27px; ">
  691. <line id="line6" class="line_6" style="x1:0px; y1:25; x2:1195px; y2:25; "/>
  692. <button id="btn_init" class="btn4_letter3" style="left:1124px; top:3px; width:68px; height:22px; ">
  693. <caption>초기화</caption>
  694. <script type="javascript" ev:event="DOMActivate">
  695. <![CDATA[
  696. window.reload() ;
  697. ]]>
  698. </script>
  699. </button>
  700. <button id="btn_save" class="btn4_letter2" style="left:894px; top:3px; width:56px; height:22px; ">
  701. <caption>저장</caption>
  702. <script type="javascript" ev:event="DOMActivate">
  703. <![CDATA[
  704. var updtdata = getGridUpdateData(grd_rpvmrsltlist) + getGridUpdateData(grd_rpvdabvulist) + getGridUpdateData(grd_rpvdabcklist);
  705. if (updtdata == "")
  706. {
  707. messageBox("변경된 데이터가","I004");
  708. return;
  709. }
  710. rtn = messageBox("", "Q002");
  711. if(rtn != "6" ) return false;
  712. var check = "Y";
  713. for (var i = grd_rpvdabvulist.fixedRows; i < grd_rpvdabvulist.rows; i++ ) {
  714. if (grd_rpvdabvulist.valueMatrix(i, grd_rpvdabvulist.colRef("valupsnscor1")) == "" ) {
  715. check = "N";
  716. }
  717. }
  718. var valupsncnfmflag1 = "";
  719. if (check == "Y") {
  720. for (var i = grd_rpvdabvulist.fixedRows; i < grd_rpvdabvulist.rows; i++ ) {
  721. grd_rpvdabvulist.valueMatrix(i, grd_rpvdabvulist.colRef("valupsncnfmflag1")) = "01";
  722. valupsncnfmflag1 = "01";
  723. grd_rpvdabvulist.addStatus(i, "update");
  724. }
  725. }
  726. else {
  727. for (var i = grd_rpvdabvulist.fixedRows; i < grd_rpvdabvulist.rows; i++ ) {
  728. grd_rpvdabvulist.valueMatrix(i, grd_rpvdabvulist.colRef("valupsncnfmflag1")) = "02";
  729. valupsncnfmflag1 = "02";
  730. grd_rpvdabvulist.addStatus(i, "update");
  731. }
  732. }
  733. grd_rpvmrsltlist.valueMatrix(grd_rpvmrsltlist.row, grd_rpvmrsltlist.colRef("valupsncnfmflag1")) = valupsncnfmflag1;
  734. grd_rpvmrsltlist.addStatus(grd_rpvmrsltlist.row, "update");
  735. misfSave("TXRPV06501");
  736. btn_search.dispatch("DOMActivate");
  737. ]]>
  738. </script>
  739. </button>
  740. <button id="btn_complete" class="btn4_letter4" style="left:1039px; top:3px; width:80px; height:22px; ">
  741. <caption>평가완료</caption>
  742. <script type="javascript" ev:event="DOMActivate">
  743. <![CDATA[
  744. var emplno = "";
  745. var emplnm = "";
  746. for(var i = grd_rpvmrsltlist.fixedRows; i < grd_rpvmrsltlist.rows; i++)
  747. {
  748. if(grd_rpvmrsltlist.valueMatrix( i, grd_rpvmrsltlist.colRef("valupsncnfmflag1")) != '01' && grd_rpvmrsltlist.valueMatrix( i, grd_rpvmrsltlist.colRef("valupsncnfmflag1")) != '03')
  749. {
  750. emplno = grd_rpvmrsltlist.valueMatrix( i, grd_rpvmrsltlist.colRef("emplno"));
  751. emplnm = grd_rpvmrsltlist.valueMatrix( i, grd_rpvmrsltlist.colRef("emplnm"));
  752. messageBox(emplnm + "[" + emplno + "]는 평가 점수 입력이 완료 되지 않았습니다.", "I999");
  753. return;
  754. }
  755. }
  756. for(var i = grd_rpvmrsltlist.fixedRows; i < grd_rpvmrsltlist.rows; i++)
  757. {
  758. grd_rpvmrsltlist.valueMatrix( i, grd_rpvmrsltlist.colRef("valupsncnfmflag1")) = "03";
  759. grd_rpvmrsltlist.valueMatrix( i, grd_rpvmrsltlist.colRef("valupsncnfmyn1")) = "Y";
  760. grd_rpvmrsltlist.valueMatrix( i, grd_rpvmrsltlist.colRef("procstat")) = "02";
  761. grd_rpvmrsltlist.addStatus(i, "update");
  762. }
  763. misfSave("TXRPV06501");
  764. //사용자 정보 조회.(조회자의 전화번호 가져오기.)
  765. //rpvfGetUserInfo( ipt_emplno.value, getUserInfo("dutplceinstcd") );
  766. // 수신자 리스트 그리드id ,발신자 폰번호, 발신할 문자메세지
  767. //fSendMsg( grd_rpvmrsltlist, model.getValue("/root/init/info/userinfo/phone"), "역량평가 1차평가 평가완료 되었습니다.");
  768. // Email 그리고 Sms 전송
  769. // 보내는 사람의 Email 주소가 없을경우 Sms를 전송하도록...Email 주소, Sms 전화번호가 없을경우 경고 메세지 발생.
  770. // fGrid : Email 주소나 휴대전화번호가 있는 그리드 id.
  771. // fCmt : 전체적으로 보낼 전송메세지.
  772. // fEmailTitle : 이메일 전송시의 제목.
  773. // fCheckYN : 선택된 사람만 전송할지 유무.
  774. // fEmplno : 발신자의 정보 호출을 위한 발신자 사원번호.
  775. // fInstcd : 발신자의 정보 호출을 위한 발신자 기관코드.
  776. rpvfCheckEmailAndSms( grd_rpvmrsltlist, "[역량평가1차평가] 평가완료 되었습니다.", "역량평가 1차 평가 통보", 'N', ipt_emplno.value,"","","","","","Y");
  777. btn_search.dispatch("DOMActivate");
  778. ]]>
  779. </script>
  780. </button>
  781. <button id="btn_cancel" class="btn4_letter4" disabled="true" visibility="visible" style="left:954px; top:3px; width:80px; height:22px; ">
  782. <caption>평가취소</caption>
  783. <script type="javascript" ev:event="DOMActivate">
  784. <![CDATA[
  785. if(messageBox("평가확정을 취소하시겠습니까?", "Q999") != 6) return;
  786. var emplno = "";
  787. var emplnm = "";
  788. for(var i = grd_rpvmrsltlist.fixedRows; i < grd_rpvmrsltlist.rows; i++)
  789. {
  790. if (grd_rpvmrsltlist.valueMatrix(i, grd_rpvmrsltlist.colRef("valupsncnfmflag2")) == "A") {
  791. emplno = grd_rpvmrsltlist.valueMatrix( i, grd_rpvmrsltlist.colRef("emplno"));
  792. emplnm = grd_rpvmrsltlist.valueMatrix( i, grd_rpvmrsltlist.colRef("emplnm"));
  793. messageBox(emplnm + "[" + emplno + "]는 2차 평가 승인 상태 이므로 취소 할 수 없습니다.", "I999");
  794. return;
  795. }
  796. }
  797. for(var i = grd_rpvmrsltlist.fixedRows; i < grd_rpvmrsltlist.rows; i++)
  798. {
  799. grd_rpvmrsltlist.valueMatrix( i, grd_rpvmrsltlist.colRef("valupsncnfmflag1")) = "01";
  800. grd_rpvmrsltlist.valueMatrix( i, grd_rpvmrsltlist.colRef("valupsncnfmyn1")) = 'N';
  801. grd_rpvmrsltlist.valueMatrix( i, grd_rpvmrsltlist.colRef("procstat")) = "01";
  802. grd_rpvmrsltlist.addStatus(i, "update");
  803. }
  804. misfSave("TXRPV06501");
  805. rpvfCheckEmailAndSms( grd_rpvmrsltlist, "[역량평가1차평가] 평가취소 되었습니다.", "역량평가 1차 평가 통보", 'N', ipt_emplno.value,"","","","","","Y");
  806. // 수신자 리스트 그리드id ,발신자 폰번호, 발신할 문자메세지
  807. //fSendMsg( grd_rpvmrsltlist, model.getValue("/root/init/info/userinfo/phone"), "역량평가 1차평가 평가취소 되었습니다.");
  808. btn_search.dispatch("DOMActivate");
  809. ]]>
  810. </script>
  811. </button>
  812. <button id="btn_resultprt" class="btn4_letter6" visibility="visible" style="left:785px; top:2px; width:104px; height:22px; ">
  813. <caption>평가결과출력</caption>
  814. <script type="javascript" ev:event="DOMActivate">
  815. <![CDATA[
  816. model.removenode("/root/temp/source");
  817. model.makeNode("/root/temp/source");
  818. model.makeValue("/root/temp/source/valuyy", model.getValue("/root/send/valuyy"));
  819. model.makeValue("/root/temp/source/emplno", model.getValue("/root/send/emplno"));
  820. model.makeValue("/root/temp/source/emplnm", model.getValue("/root/send/emplnm"));
  821. model.makeValue("/root/temp/source/instcd", model.getValue("/root/main/valuempllist/dutinst"));
  822. model.makeValue("/root/temp/source/deptcd", model.getValue("/root/main/valuempllist/dutunitcd"));
  823. model.makeValue("/root/temp/source/deptnm", model.getValue("/root/main/valuempllist/deptnm"));
  824. model.makeValue("/root/temp/source/fstscndflag", "1");
  825. modal("SMRPV08100","","","","","/root/temp/source", "/root/temp/target" );
  826. ]]>
  827. </script>
  828. </button>
  829. </group>
  830. </xhtml:body>
  831. </xhtml:html>