SMRPV06000_업무지표본인평가.xrw 59 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  3. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  4. <xhtml:head>
  5. <xhtml:title>업적 본인 평가</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <grid>
  11. <rpvdskpilist/>
  12. <rpvdfkpilist/>
  13. <ckpilist/>
  14. <rpvdskpi2list/>
  15. </grid>
  16. <component>
  17. <valupsncnts/>
  18. <totalpoint/>
  19. <procstat/>
  20. <ckpiscor/>
  21. <valucnts/>
  22. <valupsncnts2/>
  23. </component>
  24. <valuempllist/>
  25. <scrfileinfo>
  26. <fileinfolist/>
  27. </scrfileinfo>
  28. </main>
  29. <target/>
  30. <send>
  31. <valuyy/>
  32. <emplno/>
  33. <emplnm/>
  34. <fstscndhfyyflag/>
  35. <valuclscd/>
  36. <valumdlcd/>
  37. <valuclsdetlcd/>
  38. <valuclsdetlcd2/>
  39. <fileupcolumn>
  40. <valuyy/>
  41. <emplno/>
  42. <fstscndhfyyflag/>
  43. <valuclscd/>
  44. <valumdlcd/>
  45. <valuclsdetlcd/>
  46. <publbaseflag/>
  47. <idxcd/>
  48. <fileupload>
  49. <file>
  50. <filename/>
  51. </file>
  52. </fileupload>
  53. <deptcd/>
  54. </fileupcolumn>
  55. <instcd/>
  56. <deptcd/>
  57. <inoutflag/>
  58. </send>
  59. <init>
  60. <fstscndhfyyflag>
  61. <label>상반기</label>
  62. <value>1</value>
  63. <label>하반기</label>
  64. <value>2</value>
  65. </fstscndhfyyflag>
  66. </init>
  67. <temp/>
  68. </root>
  69. </instance>
  70. <submission id="TXRPV06001" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp"/>
  71. <submission id="TRRPV06001" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/grid"/>
  72. <submission id="TXRPV06002" mediatype="multipart/form-data" method="form-data-post" ref="/root/send/fileupcolumn" resultref="/root/temp"/>
  73. <submission id="TRRPV99912" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/valuempllist"/>
  74. <script type="javascript" ev:event="xforms-model-destruct">
  75. <![CDATA[
  76. if (getGridUpdateData(grd_rpvdskpilist) != "" || getGridUpdateData(grd_rpvdskpi2list) != "" || getGridUpdateData(grd_rpvdfkpilist) != "") {
  77. var save_val = messageBox("변경된 자료가 존재 합니다. ", "Q002");
  78. if (save_val == "6") {
  79. btn_save.dispatch("DOMActivate");
  80. }
  81. }
  82. ]]>
  83. </script>
  84. </model>
  85. <script type="javascript" ev:event="xforms-ready">
  86. <![CDATA[
  87. //화면 Control을 초기화한다
  88. // 그리드 초기화
  89. misfGridInit(grd_rpvdskpilist);
  90. misfGridInit(grd_rpvdfkpilist);
  91. misfGridInit(grd_rpvdskpi2list);
  92. misfMsterDetailSet(grd_rpvdskpilist,null, "TRRPV06001" ,"Y");
  93. misfMsterDetailSet(grd_rpvdskpi2list,null, "TRRPV06001" ,"Y");
  94. misfMsterDetailSet(grd_rpvdfkpilist,null, "TRRPV06001" ,"Y");
  95. // 기본 조회 정보 입력.
  96. model.setValue(ipt_valuyy.attribute("ref") , getCurrentDate().toDate().getDateFormat("YYYY"));
  97. model.setValue(ipt_valuclscd.attribute("ref"), "01"); // 분류코드
  98. model.setValue(ipt_valumdlcd.attribute("ref"), "001"); // 중분류
  99. model.setValue(ipt_valuclsdetlcd.attribute("ref"), "002"); // 세부코드 SKPI
  100. model.setValue(ipt_valuclsdetlcd2.attribute("ref"), "004"); // 세부코드 FKPI
  101. model.removeNodeset(grd_rpvdskpilist.nodeset);
  102. model.removeNodeset(grd_rpvdfkpilist.nodeset);
  103. model.removeNodeset("/root/init/valucd");
  104. fInitialize();
  105. model.refresh();
  106. ]]>
  107. </script>
  108. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  109. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  110. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  111. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  112. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  113. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  114. <script type="javascript" src="../../../mis/valuationmngtweb/js/RPV001.js"/>
  115. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  116. <script type="javascript">
  117. <![CDATA[
  118. var MESSAGEYN = "Y";
  119. function fInitialize()
  120. {
  121. misfGridInit(grd_rpvdskpilist);
  122. misfGridInit(grd_rpvdfkpilist);
  123. misfGridInit(grd_rpvdskpi2list);
  124. // 콤보 설정.
  125. rpvfComboValuCdList(ipt_valuyy.value , "PROCSTATBIZ,WTNSCOR,WTNSCORF,WTNSCOR,VALUSCORBIZ,VALUSCORBIZ,VALUSCORBIZ,FSTSCNDHFYYFLAG", "cmb_procstat,grd_rpvdskpilist.wtnscor,grd_rpvdfkpilist.wtnscor,grd_rpvdskpi2list.wtnscor,grd_rpvdskpilist.ownvaluscor,grd_rpvdskpi2list.ownvaluscor,grd_rpvdfkpilist.ownvaluscor,cmb_fstscndhfyyflag");
  126. //현재화면이 팝업으로 Load 되었을 시.....
  127. if(instance1.selectNodes("/root/target/trgtemplno").length > 0)
  128. {
  129. fPopupDataSet("valuyy,trgtemplno,trgtemplnm","ipt_valuyy,ipt_emplno,ipt_emplnm");
  130. }else if(model.getValue("/root/target/defaultvalue/emplno").length > 0){
  131. model.setValue(ipt_valuyy.attribute("ref"), model.getValue("/root/target/defaultvalue/valuyy")) //사용자 번호
  132. model.setValue(ipt_emplno.attribute("ref"), model.getValue("/root/target/defaultvalue/emplno")) //사용자 번호
  133. model.setValue(ipt_emplnm.attribute("ref"), model.getValue("/root/target/defaultvalue/emplnm")) //사용자 이름
  134. model.setValue(cmb_fstscndhfyyflag.attribute("ref"), model.getValue("/root/target/defaultvalue/fstscndhfyyflag")) //상하반기
  135. btn_search.dispatch("DOMActivate");
  136. }else{
  137. model.setValue(ipt_emplno.attribute("ref"), getUserInfo("userid")) //사용자 번호
  138. model.setValue(ipt_emplnm.attribute("ref"), getUserInfo("usernm")) //사용자 이름
  139. }
  140. fCancelButtonVisibility();
  141. if(DUTY_VALU_YN !='Y'){
  142. if(rpvfCheckManFlag(model.getValue(ipt_valuyy.attribute("ref")),getUserInfo("userid")) != '01'){
  143. messageBox("해당 화면의 ","E002");
  144. rpvfSetControlBy("btn_complete,btn_save,btn_search","Y");
  145. }else{
  146. btn_complete.disabled = false;
  147. btn_save.disabled = false;
  148. btn_search.disabled = false;
  149. // 평가기간에 따른 권한 부여.
  150. // if(model.getValue("/root/temp/trgtflag") != ""){
  151. // rpvfCheckDayFlag(ipt_valuyy.value, getUserInfo("userid"), model.getValue("/root/temp/trgtflag"), model.getValue("/root/temp/program"),"btn_complete,btn_save,btn_search,btn_init");
  152. // }else{
  153. // rpvfCheckDayFlag(ipt_valuyy.value, getUserInfo("userid"), "03", "SMRPV06000", "btn_complete,btn_save,btn_search,btn_init");
  154. // }
  155. }
  156. }
  157. }
  158. //현재화면이 팝업화면으로 Loadding 될때 넘겨받은값을 설정.
  159. function fPopupDataSet()
  160. {
  161. var fgetValueNode = "/root/target/";
  162. var fNodeName = arguments[0].split(",");
  163. var fSetControl = arguments[1].split(",");
  164. for(var i = 0; i < fSetControl.length; i++)
  165. {
  166. document.controls(fSetControl[i]).value = model.getValue(fgetValueNode + fNodeName[i]);
  167. }
  168. }
  169. //평가취소버튼 보여주기/숨기기.
  170. function fCancelButtonVisibility()
  171. {
  172. var instcd = getUserInfo("dutplceinstcd");
  173. var emplno = getUserInfo("userid");
  174. rpvfGetUserAuth(instcd,emplno);
  175. if(DUTY_VALU_YN =='Y'){
  176. btn_completecancel.disabled = false;
  177. ipt_emplno.disabled = false;
  178. ipt_emplnm.disabled = false;
  179. btn_emplno.disabled = false;
  180. }else{
  181. btn_completecancel.disabled = true;
  182. ipt_emplno.disabled = true;
  183. ipt_emplnm.disabled = true;
  184. btn_emplno.disabled = true;
  185. }
  186. model.refresh();
  187. }
  188. function ftotalpoint()
  189. {
  190. var point_flag = "";
  191. var point = 0.0;
  192. var wtnscor = 0.0;
  193. var totpoint = 0.0;
  194. var totscor = 0.0;
  195. var minuspoint = 0.0;
  196. for(var i = grd_rpvdskpilist.fixedRows; i < grd_rpvdskpilist.rows; i++)
  197. {
  198. wtnscor += parseFloat(grd_rpvdskpilist.labelMatrix(i, grd_rpvdskpilist.colRef("wtnscor"))) ;
  199. point += parseFloat(grd_rpvdskpilist.valueMatrix(i, grd_rpvdskpilist.colRef("ownvaluexchscor"))) *
  200. parseFloat(grd_rpvdskpilist.labelMatrix(i, grd_rpvdskpilist.colRef("wtnscor"))) / 100.0;
  201. //alert(point);
  202. }
  203. for(var i = grd_rpvdskpi2list.fixedRows; i < grd_rpvdskpi2list.rows; i++)
  204. {
  205. wtnscor += parseFloat(grd_rpvdskpi2list.labelMatrix(i, grd_rpvdskpi2list.colRef("wtnscor")));
  206. point += parseFloat(grd_rpvdskpi2list.valueMatrix(i, grd_rpvdskpi2list.colRef("ownvaluexchscor"))) *
  207. parseFloat(grd_rpvdskpi2list.labelMatrix(i, grd_rpvdskpi2list.colRef("wtnscor"))) / 100.0;
  208. }
  209. for(var i = grd_rpvdfkpilist.fixedRows; i < grd_rpvdfkpilist.rows; i++)
  210. {
  211. wtnscor += parseFloat(grd_rpvdfkpilist.labelMatrix(i, grd_rpvdfkpilist.colRef("wtnscor")));
  212. point += parseFloat(grd_rpvdfkpilist.valueMatrix(i, grd_rpvdfkpilist.colRef("ownvaluexchscor"))) *
  213. parseFloat(grd_rpvdfkpilist.labelMatrix(i, grd_rpvdfkpilist.colRef("wtnscor"))) / 100.0;
  214. }
  215. var jobrespcd = model.getValue("/root/main/valuempllist/jobrespcd");
  216. var inoutflag = model.getValue("/root/main/valuempllist/custinoutflag");
  217. var orgimrsnappyn = model.getValue("/root/main/valuempllist/orgimrsnappyn");
  218. if (jobrespcd == "1070" || jobrespcd == "1901" || jobrespcd == "2430" || jobrespcd == "2010" || jobrespcd == "1086" ) {
  219. ipt_orgimrsnscore.visible = true;
  220. cap_orgimrsnscore.visible = true;
  221. }
  222. else {
  223. ipt_orgimrsnscore.visible = false;
  224. cap_orgimrsnscore.visible = false;
  225. }
  226. //point = point / (grd_rpvdskpilist.rows + grd_rpvdskpi2list.rows + grd_rpvdfkpilist.rows - 3);
  227. if (point > 0) {
  228. //point -= 10;
  229. if (jobrespcd == "1070" || jobrespcd == "1901" || jobrespcd == "2430" || jobrespcd == "2010" || jobrespcd == "1086") {
  230. if (inoutflag != "E" && orgimrsnappyn == "Y") {
  231. ipt_temp.value = "70점 만점 중 ";
  232. totpoint = 70.0;
  233. //minuspoint = 30.0;
  234. }
  235. else if (inoutflag != "E" && orgimrsnappyn != "Y") {
  236. ipt_temp.value = "80점 만점 중 ";
  237. totpoint = 80.0;
  238. //minuspoint = 20.0;
  239. }
  240. else if (inoutflag == "E" && orgimrsnappyn == "Y") {
  241. ipt_temp.value = "90점 만점 중 ";
  242. totpoint = 90.0;
  243. //minuspoint = 10.0;
  244. }
  245. else if (inoutflag == "E" && orgimrsnappyn != "Y") {
  246. ipt_temp.value = "100점 만점 중 ";
  247. totpoint = 100.0;
  248. }
  249. }
  250. else {
  251. if (inoutflag != "E" ) {
  252. ipt_temp.value = "90점 만점 중 ";
  253. totpoint = 90.0;
  254. //minuspoint = 10.0;
  255. }
  256. else if (inoutflag == "E" ) {
  257. ipt_temp.value = "100점 만점 중 ";
  258. totpoint = 100.0;
  259. }
  260. }
  261. // if (grd_rpvdskpilist.valueMatrix(grd_rpvdskpilist.fixedRows, grd_rpvdskpilist.colRef("inoutflag")) == "I" ||
  262. // grd_rpvdskpilist.valueMatrix(grd_rpvdskpilist.fixedRows, grd_rpvdskpilist.colRef("inoutflag")) == "O" ) {
  263. //
  264. // point += parseFloat(ipt_ckpiscor.value) ;
  265. //
  266. // ipt_temp.value = "100점 만점 중 ";
  267. // }
  268. // else {
  269. // ipt_temp.value = "90점 만점 중 ";
  270. // }
  271. ipt_temp.refresh();
  272. }
  273. // totscor = ((point / (grd_rpvdskpilist.rows + grd_rpvdskpi2list.rows + grd_rpvdfkpilist.rows - 6)) - minuspoint).toString();
  274. point = parseFloat(point) * parseFloat(totpoint) / parseFloat(wtnscor);
  275. totscor = point .toString();
  276. var retnscor = totscor.getRound(-3, "DOWN");
  277. return retnscor;
  278. }
  279. function fcmtsum()
  280. {
  281. var cmtsum = "";
  282. for(var i = grd_rpvdskpilist.fixedRows; i < grd_rpvdskpilist.rows; i++)
  283. {
  284. if(grd_rpvdskpilist.valueMatrix(i, grd_rpvdskpilist.colRef("valupsncnts1")) != "")
  285. {
  286. cmtsum += ">" + grd_rpvdskpilist.valueMatrix(i, grd_rpvdskpilist.colRef("valupsncnts1")) +"\n";
  287. }
  288. }
  289. for(var i = grd_rpvdskpi2list.fixedRows; i < grd_rpvdskpi2list.rows; i++)
  290. {
  291. if(grd_rpvdskpi2list.valueMatrix(i, grd_rpvdskpi2list.colRef("valupsncnts1")) != "")
  292. {
  293. cmtsum += ">" + grd_rpvdskpi2list.valueMatrix(i, grd_rpvdskpi2list.colRef("valupsncnts1")) +"\n";
  294. }
  295. }
  296. for(var i = grd_rpvdfkpilist.fixedRows; i < grd_rpvdfkpilist.rows; i++)
  297. {
  298. if(grd_rpvdfkpilist.valueMatrix(i, grd_rpvdfkpilist.colRef("valupsncnts1")) != "")
  299. {
  300. cmtsum += ">" + grd_rpvdfkpilist.valueMatrix(i, grd_rpvdfkpilist.colRef("valupsncnts1")) +"\n";
  301. }
  302. }
  303. return cmtsum;
  304. }
  305. function fcompleteSubmit()
  306. {
  307. for(var i = grd_rpvdskpilist.fixedRows; i < grd_rpvdskpilist.rows; i++)
  308. {
  309. grd_rpvdskpilist.valueMatrix(i, grd_rpvdskpilist.colRef("ownvalucnfmyn")) = "Y";
  310. grd_rpvdskpilist.valueMatrix(i, grd_rpvdskpilist.colRef("procstat")) = "03";
  311. grd_rpvdskpilist.addStatus(i, "update");
  312. }
  313. for(var i = grd_rpvdskpi2list.fixedRows; i < grd_rpvdskpi2list.rows; i++)
  314. {
  315. grd_rpvdskpi2list.valueMatrix(i, grd_rpvdskpi2list.colRef("ownvalucnfmyn")) = "Y";
  316. grd_rpvdskpi2list.valueMatrix(i, grd_rpvdskpi2list.colRef("procstat")) = "03";
  317. grd_rpvdskpi2list.addStatus(i, "update");
  318. }
  319. for(var i = grd_rpvdfkpilist.fixedRows; i < grd_rpvdfkpilist.rows; i++)
  320. {
  321. grd_rpvdfkpilist.valueMatrix(i, grd_rpvdfkpilist.colRef("ownvalucnfmyn")) = "Y";
  322. grd_rpvdfkpilist.valueMatrix(i, grd_rpvdfkpilist.colRef("procstat")) = "03";
  323. grd_rpvdfkpilist.addStatus(i, "update");
  324. }
  325. }
  326. function fCancelSubmit()
  327. {
  328. for(var i = grd_rpvdskpilist.fixedRows; i < grd_rpvdskpilist.rows; i++)
  329. {
  330. grd_rpvdskpilist.valueMatrix(i, grd_rpvdskpilist.colRef("ownvalucnfmyn")) = "N";
  331. grd_rpvdskpilist.valueMatrix(i, grd_rpvdskpilist.colRef("procstat")) = "02";
  332. grd_rpvdskpilist.addStatus(i, "update");
  333. }
  334. for(var i = grd_rpvdskpi2list.fixedRows; i < grd_rpvdskpi2list.rows; i++)
  335. {
  336. grd_rpvdskpi2list.valueMatrix(i, grd_rpvdskpi2list.colRef("ownvalucnfmyn")) = "N";
  337. grd_rpvdskpi2list.valueMatrix(i, grd_rpvdskpi2list.colRef("procstat")) = "02";
  338. grd_rpvdskpi2list.addStatus(i, "update");
  339. }
  340. for(var i = grd_rpvdfkpilist.fixedRows; i < grd_rpvdfkpilist.rows; i++)
  341. {
  342. grd_rpvdfkpilist.valueMatrix(i, grd_rpvdfkpilist.colRef("ownvalucnfmyn")) = "N";
  343. grd_rpvdfkpilist.valueMatrix(i, grd_rpvdfkpilist.colRef("procstat")) = "02";
  344. grd_rpvdfkpilist.addStatus(i, "update");
  345. }
  346. }
  347. // 파일 업로드.
  348. function fExeBizPlnFileUpload(event)
  349. {
  350. var maxsize = upd_uploadfile.attribute("filesize");
  351. files = window.fileDialog("open", "|", false);
  352. if (files.length <= 0 ) return;
  353. model.setValue(ipt_uploadfile.attribute("ref"),files);
  354. // if (!checkFileSize(upd_uploadfile)){
  355. // model.setValue(ipt_uploadfile.attribute("ref"),"");
  356. // messageBox("파일 크기가 최대치("+maxsize+"Byte)를", "E003");
  357. //
  358. // }
  359. ipt_uploadfile.refresh();
  360. if(event == 1){
  361. model.setValue("/root/send/fileupcolumn/valuyy", grd_rpvdskpilist.valueMatrix(grd_rpvdskpilist.row, grd_rpvdskpilist.colRef("valuyy")));
  362. model.setValue("/root/send/fileupcolumn/emplno", grd_rpvdskpilist.valueMatrix(grd_rpvdskpilist.row, grd_rpvdskpilist.colRef("emplno")));
  363. model.setValue("/root/send/fileupcolumn/fstscndhfyyflag", grd_rpvdskpilist.valueMatrix(grd_rpvdskpilist.row, grd_rpvdskpilist.colRef("fstscndhfyyflag")));
  364. model.setValue("/root/send/fileupcolumn/valuclscd", grd_rpvdskpilist.valueMatrix(grd_rpvdskpilist.row, grd_rpvdskpilist.colRef("valuclscd")));
  365. model.setValue("/root/send/fileupcolumn/valumdlcd", grd_rpvdskpilist.valueMatrix(grd_rpvdskpilist.row, grd_rpvdskpilist.colRef("valumdlcd")));
  366. model.setValue("/root/send/fileupcolumn/valuclsdetlcd", grd_rpvdskpilist.valueMatrix(grd_rpvdskpilist.row, grd_rpvdskpilist.colRef("valuclsdetlcd")));
  367. model.setValue("/root/send/fileupcolumn/publbaseflag", grd_rpvdskpilist.valueMatrix(grd_rpvdskpilist.row, grd_rpvdskpilist.colRef("publbaseflag")));
  368. model.setValue("/root/send/fileupcolumn/deptcd", grd_rpvdskpilist.valueMatrix(grd_rpvdskpilist.row, grd_rpvdskpilist.colRef("deptcd")));
  369. model.setValue("/root/send/fileupcolumn/idxcd", grd_rpvdskpilist.valueMatrix(grd_rpvdskpilist.row, grd_rpvdskpilist.colRef("idxcd")));
  370. }else if(event == 2)
  371. {
  372. model.setValue("/root/send/fileupcolumn/valuyy", grd_rpvdfkpilist.valueMatrix(grd_rpvdfkpilist.row, grd_rpvdfkpilist.colRef("valuyy")));
  373. model.setValue("/root/send/fileupcolumn/emplno", grd_rpvdfkpilist.valueMatrix(grd_rpvdfkpilist.row, grd_rpvdfkpilist.colRef("emplno")));
  374. model.setValue("/root/send/fileupcolumn/fstscndhfyyflag", grd_rpvdfkpilist.valueMatrix(grd_rpvdfkpilist.row, grd_rpvdfkpilist.colRef("fstscndhfyyflag")));
  375. model.setValue("/root/send/fileupcolumn/valuclscd", grd_rpvdfkpilist.valueMatrix(grd_rpvdfkpilist.row, grd_rpvdfkpilist.colRef("valuclscd")));
  376. model.setValue("/root/send/fileupcolumn/valumdlcd", grd_rpvdfkpilist.valueMatrix(grd_rpvdfkpilist.row, grd_rpvdfkpilist.colRef("valumdlcd")));
  377. model.setValue("/root/send/fileupcolumn/valuclsdetlcd", grd_rpvdfkpilist.valueMatrix(grd_rpvdfkpilist.row, grd_rpvdfkpilist.colRef("valuclsdetlcd")));
  378. model.setValue("/root/send/fileupcolumn/publbaseflag", grd_rpvdfkpilist.valueMatrix(grd_rpvdfkpilist.row, grd_rpvdfkpilist.colRef("publbaseflag")));
  379. model.setValue("/root/send/fileupcolumn/deptcd", grd_rpvdfkpilist.valueMatrix(grd_rpvdfkpilist.row, grd_rpvdfkpilist.colRef("deptcd")));
  380. model.setValue("/root/send/fileupcolumn/idxcd", grd_rpvdfkpilist.valueMatrix(grd_rpvdfkpilist.row, grd_rpvdfkpilist.colRef("idxcd")));
  381. }else if(event == 3)
  382. {
  383. model.setValue("/root/send/fileupcolumn/valuyy", grd_rpvdskpi2list.valueMatrix(grd_rpvdskpi2list.row, grd_rpvdskpi2list.colRef("valuyy")));
  384. model.setValue("/root/send/fileupcolumn/emplno", grd_rpvdskpi2list.valueMatrix(grd_rpvdskpi2list.row, grd_rpvdskpi2list.colRef("emplno")));
  385. model.setValue("/root/send/fileupcolumn/fstscndhfyyflag", grd_rpvdskpi2list.valueMatrix(grd_rpvdskpi2list.row, grd_rpvdskpi2list.colRef("fstscndhfyyflag")));
  386. model.setValue("/root/send/fileupcolumn/valuclscd", grd_rpvdskpi2list.valueMatrix(grd_rpvdskpi2list.row, grd_rpvdskpi2list.colRef("valuclscd")));
  387. model.setValue("/root/send/fileupcolumn/valumdlcd", grd_rpvdskpi2list.valueMatrix(grd_rpvdskpi2list.row, grd_rpvdskpi2list.colRef("valumdlcd")));
  388. model.setValue("/root/send/fileupcolumn/valuclsdetlcd", grd_rpvdskpi2list.valueMatrix(grd_rpvdskpi2list.row, grd_rpvdskpi2list.colRef("valuclsdetlcd")));
  389. model.setValue("/root/send/fileupcolumn/publbaseflag", grd_rpvdskpi2list.valueMatrix(grd_rpvdskpi2list.row, grd_rpvdskpi2list.colRef("publbaseflag")));
  390. model.setValue("/root/send/fileupcolumn/deptcd", grd_rpvdskpi2list.valueMatrix(grd_rpvdskpi2list.row, grd_rpvdskpi2list.colRef("deptcd")));
  391. model.setValue("/root/send/fileupcolumn/idxcd", grd_rpvdskpi2list.valueMatrix(grd_rpvdskpi2list.row, grd_rpvdskpi2list.colRef("idxcd")));
  392. }
  393. submit("TXRPV06002");
  394. }
  395. function fcheckvalue()
  396. {
  397. var bool = true;
  398. for(var i = grd_rpvdskpilist.fixedRows; i < grd_rpvdskpilist.rows; i++)
  399. {
  400. if(grd_rpvdskpilist.valueMatrix(i, grd_rpvdskpilist.colRef("ownvaluscor")) == "")
  401. {
  402. bool = false;
  403. break;
  404. }
  405. }
  406. for(var i = grd_rpvdskpi2list.fixedRows; i < grd_rpvdskpi2list.rows; i++)
  407. {
  408. if(grd_rpvdskpi2list.valueMatrix(i, grd_rpvdskpi2list.colRef("ownvaluscor")) == "")
  409. {
  410. bool = false;
  411. break;
  412. }
  413. }
  414. for(var i = grd_rpvdfkpilist.fixedRows; i < grd_rpvdfkpilist.rows; i++)
  415. {
  416. if(grd_rpvdfkpilist.valueMatrix(i, grd_rpvdfkpilist.colRef("ownvaluscor")) == "")
  417. {
  418. bool = false;
  419. break;
  420. }
  421. }
  422. return bool;
  423. }
  424. function fcheckachvmntrslt()
  425. {
  426. var bool = true;
  427. for(var i = grd_rpvdskpilist.fixedRows; i < grd_rpvdskpilist.rows; i++)
  428. {
  429. if(grd_rpvdskpilist.valueMatrix(i, grd_rpvdskpilist.colRef("achvmntrslt")) == "")
  430. {
  431. bool = false;
  432. break;
  433. }
  434. }
  435. for(var i = grd_rpvdskpi2list.fixedRows; i < grd_rpvdskpi2list.rows; i++)
  436. {
  437. if(grd_rpvdskpi2list.valueMatrix(i, grd_rpvdskpi2list.colRef("achvmntrslt")) == "")
  438. {
  439. bool = false;
  440. break;
  441. }
  442. }
  443. for(var i = grd_rpvdfkpilist.fixedRows; i < grd_rpvdfkpilist.rows; i++)
  444. {
  445. if(grd_rpvdfkpilist.valueMatrix(i, grd_rpvdfkpilist.colRef("achvmntrslt")) == "")
  446. {
  447. bool = false;
  448. break;
  449. }
  450. }
  451. return bool;
  452. }
  453. ]]>
  454. </script>
  455. </xhtml:head>
  456. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  457. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  458. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">업적 본인 평가</caption>
  459. </group>
  460. <group id="group2" scroll="auto" style="left:0px; top:38; width:1195px; height:744; ">
  461. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" ellipsewidth="20" ellipseheight="20" style="left:0px; top:5px; width:1195px; height:35px; "/>
  462. <button id="btn_search" class="btn1_letter2" style="left:1125px; top:12px; width:56px; height:22px; ">
  463. <caption>조회</caption>
  464. <script type="javascript" ev:event="DOMActivate">
  465. <![CDATA[
  466. if(!isRequiredControls("ipt_valuyy")) return;
  467. if(!isRequiredControls("cmb_fstscndhfyyflag")) return;
  468. if(!isRequiredControls("ipt_emplno")) return;
  469. var fstscndhfyyflag = cmb_fstscndhfyyflag.value;
  470. // 평가자 정보 조회.
  471. submit("TRRPV99912");
  472. if(fstscndhfyyflag == "1" && (model.getValue("/root/main/valuempllist/valutrgtflag") == "4" || model.getValue("/root/main/valuempllist/valutrgtflag")) == "3") {
  473. messageBox("상반기 평가 대상자가 아닙니다.!!!" ,"");
  474. return;
  475. }
  476. else if (fstscndhfyyflag == "2" && (model.getValue("/root/main/valuempllist/valutrgtflag") == "4" || model.getValue("/root/main/valuempllist/valutrgtflag")) == "2") {
  477. messageBox("하반기 평가 대상자가 아닙니다.!!!" ,"");
  478. return;
  479. }
  480. submit("TRRPV06001");
  481. if (DUTY_VALU_YN != "Y") {
  482. //alert(grd_rpvdskpilist.valueMatrix(grd_rpvdskpilist.rows-1, grd_rpvdskpilist.colRef("valupsncnfmyn1")));
  483. if( grd_rpvdskpilist.valueMatrix(grd_rpvdskpilist.rows-1, grd_rpvdskpilist.colRef("valupsncnfmflag1")) != "F" )
  484. {
  485. messageBox("업무지표 등록 확정이 되지 않아서 " + "저장" ,"E001");
  486. btn_complete.disabled = true;
  487. btn_save.disabled = true;
  488. btn_completecancel.disabled = true;
  489. return;
  490. }
  491. else {
  492. btn_complete.disabled = false;
  493. btn_save.disabled = false;
  494. }
  495. // 본인평가 완료 했을시 저장버튼 완료버튼 컨트롤 불능.
  496. if( grd_rpvdskpilist.valueMatrix(grd_rpvdskpilist.rows-1, grd_rpvdskpilist.colRef("ownvalucnfmyn")) == "Y" )
  497. {
  498. btn_complete.disabled = true;
  499. btn_save.disabled = true;
  500. if (grd_rpvdskpilist.valueMatrix(grd_rpvdskpilist.rows-1, grd_rpvdskpilist.colRef("valupsncnfmyn1")) == "Y" ){ //1차평가완료
  501. btn_completecancel.disabled = true;
  502. }
  503. else {
  504. var scorinputyn = "N";
  505. for (var i = grd_rpvdskpilist.fixedRows; i < grd_rpvdskpilist.rows; i++ ) {
  506. if ( grd_rpvdskpilist.valueMatrix(i, grd_rpvdskpilist.colRef("valupsnscor1")) != "" &&
  507. grd_rpvdskpilist.valueMatrix(i, grd_rpvdskpilist.colRef("valupsnscor1")) != "06" ) {
  508. scorinputyn = "Y";
  509. break;
  510. }
  511. }
  512. if (scorinputyn != "Y") {
  513. for (var i = grd_rpvdskpi2list.fixedRows; i < grd_rpvdskpi2list.rows; i++ ) {
  514. if ( grd_rpvdskpi2list.valueMatrix(i, grd_rpvdskpi2list.colRef("valupsnscor1")) != "" &&
  515. grd_rpvdskpi2list.valueMatrix(i, grd_rpvdskpi2list.colRef("valupsnscor1")) != "06" ) {
  516. scorinputyn = "Y";
  517. break;
  518. }
  519. }
  520. }
  521. if (scorinputyn != "Y") {
  522. for (var i = grd_rpvdfkpilist.fixedRows; i < grd_rpvdfkpilist.rows; i++ ) {
  523. if ( grd_rpvdfkpilist.valueMatrix(i, grd_rpvdfkpilist.colRef("valupsnscor1")) != "" &&
  524. grd_rpvdfkpilist.valueMatrix(i, grd_rpvdfkpilist.colRef("valupsnscor1")) != "06" ) {
  525. scorinputyn = "Y";
  526. break;
  527. }
  528. }
  529. }
  530. if (scorinputyn == "Y") {
  531. btn_completecancel.disabled = true;
  532. }
  533. else {
  534. btn_completecancel.disabled = false;
  535. }
  536. }
  537. }
  538. else {
  539. btn_complete.disabled = false;
  540. btn_save.disabled = false;
  541. btn_completecancel.disabled = true;
  542. }
  543. }
  544. else {
  545. if( grd_rpvdskpilist.valueMatrix(grd_rpvdskpilist.rows-1, grd_rpvdskpilist.colRef("valupsncnfmflag1")) != "F" )
  546. {
  547. messageBox("업무지표 등록 확정이 되지 않있습니다." ,"");
  548. }
  549. }
  550. // 진행상황 가져오기!!
  551. if(grd_rpvdskpilist.rows != grd_rpvdskpilist.fixedRows)
  552. {
  553. cmb_procstat.value = grd_rpvdskpilist.valueMatrix(grd_rpvdskpilist.fixedRows, grd_rpvdskpilist.colRef("procstat"));
  554. }
  555. txt_valupsncnts.value = grd_rpvdskpilist.valueMatrix(grd_rpvdskpilist.fixedRows, grd_rpvdskpilist.colRef("valupsncnts1"));//fcmtsum();
  556. txt_valupsncnts2.value = grd_rpvdskpilist.valueMatrix(grd_rpvdskpilist.fixedRows, grd_rpvdskpilist.colRef("valupsncnts2"));
  557. misfSetReadOnlyCol(grd_rpvdskpilist, "valuyy,rsltidx,wtnscor,goallevl,inspmthd,achvmntrslt,ownvaluscor,bizendyn", false);
  558. misfSetReadOnlyCol(grd_rpvdskpi2list, "valuyy,rsltidx,wtnscor,goallevl,inspmthd,achvmntrslt,ownvaluscor,bizendyn", false);
  559. misfSetReadOnlyCol(grd_rpvdfkpilist, "valuyy,rsltidx,wtnscor,goallevl,inspmthd,achvmntrslt,ownvaluscor,bizendyn", false);
  560. if( grd_rpvdskpilist.valueMatrix(grd_rpvdskpilist.rows-1, grd_rpvdskpilist.colRef("ownvalucnfmyn")) == "Y" ) {
  561. misfSetReadOnlyCol(grd_rpvdskpilist, "valuyy,rsltidx,wtnscor,goallevl,inspmthd,achvmntrslt,ownvaluscor,bizendyn", true);
  562. misfSetReadOnlyCol(grd_rpvdskpi2list, "valuyy,rsltidx,wtnscor,goallevl,inspmthd,achvmntrslt,ownvaluscor,bizendyn", true);
  563. misfSetReadOnlyCol(grd_rpvdfkpilist, "valuyy,rsltidx,wtnscor,goallevl,inspmthd,achvmntrslt,ownvaluscor,bizendyn", true);
  564. }
  565. else {
  566. misfSetReadOnlyCol(grd_rpvdskpilist, "valuyy,rsltidx,wtnscor,goallevl,inspmthd", true);
  567. misfSetReadOnlyCol(grd_rpvdskpi2list, "valuyy,rsltidx,wtnscor,goallevl,inspmthd", true);
  568. misfSetReadOnlyCol(grd_rpvdfkpilist, "valuyy,rsltidx,wtnscor,goallevl,inspmthd", true);
  569. }
  570. for (var i = grd_rpvdskpilist.fixedRows; i < grd_rpvdskpilist.rows; i++ ) {
  571. if ( grd_rpvdskpilist.valueMatrix(i, grd_rpvdskpilist.colRef("filecnt")) > 0 ) {
  572. grd_rpvdskpilist.cellstyle("background-color", i, grd_rpvdskpilist.colRef("achvmntrslt")) = "#ffff99";
  573. }
  574. else {
  575. grd_rpvdskpilist.cellstyle("background-color", i, grd_rpvdskpilist.colRef("achvmntrslt")) = "transparent";
  576. }
  577. }
  578. for (var i = grd_rpvdskpi2list.fixedRows; i < grd_rpvdskpi2list.rows; i++ ) {
  579. if ( grd_rpvdskpi2list.valueMatrix(i, grd_rpvdskpi2list.colRef("filecnt")) > 0 ) {
  580. grd_rpvdskpi2list.cellstyle("background-color", i, grd_rpvdskpi2list.colRef("achvmntrslt")) = "#ffff99";
  581. }
  582. else {
  583. grd_rpvdskpi2list.cellstyle("background-color", i, grd_rpvdskpi2list.colRef("achvmntrslt")) = "transparent";
  584. }
  585. }
  586. for (var i = grd_rpvdfkpilist.fixedRows; i < grd_rpvdfkpilist.rows; i++ ) {
  587. if ( grd_rpvdfkpilist.valueMatrix(i, grd_rpvdfkpilist.colRef("filecnt")) > 0 ) {
  588. grd_rpvdfkpilist.cellstyle("background-color", i, grd_rpvdfkpilist.colRef("achvmntrslt")) = "#ffff99";
  589. }
  590. else {
  591. grd_rpvdfkpilist.cellstyle("background-color", i, grd_rpvdfkpilist.colRef("achvmntrslt")) = "transparent";
  592. }
  593. }
  594. ipt_totalpoint.value = ftotalpoint();
  595. model.refresh();
  596. ]]>
  597. </script>
  598. </button>
  599. <line id="line13" class="line_4" style="x1:1110px; y1:12px; x2:1110px; y2:34px; "/>
  600. <datagrid id="grd_rpvdskpilist" nodeset="/root/main/grid/rpvdskpilist" autoresize="true" caption="업무구분^성과지표(KPI)^가중치^목표수준^측정방법^달성성과^첨부파일^첨부파일^평가점수^종료여부|업무구분^성과지표(KPI)^가중치^목표수준^측정방법^달성성과^등록^수정/조회^평가점수^종료여부" colsep="^" colwidth="212, 183, 54, 160, 140, 169, 67, 64, 57, 56, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100" ellipsis="true" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" tooltip="true" style="left:0px; top:75px; width:1195px; height:160px; ">
  601. <col ref="idxcdnm" type="output" style="text-align:center; "/>
  602. <col ref="rsltidx" type="output"/>
  603. <col class="gridcombo" ref="wtnscor" type="combo" style="text-align:center; ">
  604. <choices>
  605. <itemset>
  606. <label/>
  607. <value/>
  608. </itemset>
  609. </choices>
  610. </col>
  611. <col ref="goallevl" type="output" style="text-align:center; "/>
  612. <col ref="inspmthd" style="text-align:center; "/>
  613. <col ref="achvmntrslt" type="input" maxbyte="1800"/>
  614. <col ref="temp1" type="inputbutton"/>
  615. <col ref="popup" type="inputbutton"/>
  616. <col class="gridcombo" ref="ownvaluscor" type="combo" style="text-align:center; ">
  617. <choices>
  618. <itemset>
  619. <label/>
  620. <value/>
  621. </itemset>
  622. </choices>
  623. </col>
  624. <col checkvalue="Y,N" ref="bizendyn" type="checkbox"/>
  625. <col ref="valupsncnts1" visibility="hidden"/>
  626. <col ref="valuyy" visibility="hidden"/>
  627. <col ref="emplno" visibility="hidden"/>
  628. <col ref="valuclscd" visibility="hidden"/>
  629. <col ref="valumdlcd" visibility="hidden"/>
  630. <col ref="valuclsdetlcd" visibility="hidden"/>
  631. <col ref="fstscndhfyyflag" visibility="hidden"/>
  632. <col ref="lastcnfnyn" visibility="hidden"/>
  633. <col ref="procstat" visibility="hidden"/>
  634. <col ref="emplno" visibility="hidden"/>
  635. <col ref="publbaseflag" visibility="hidden"/>
  636. <col ref="idxcd" visibility="hidden"/>
  637. <col ref="ownvaluexchscor" visibility="hidden"/>
  638. <col ref="valupsncnfmflag1" visibility="hidden"/>
  639. <col ref="ownvalucnfmyn" visibility="hidden"/>
  640. <col ref="inoutflag" visibility="hidden"/>
  641. <col ref="valupsncnts2" visibility="hidden"/>
  642. <col ref="deptcd" visibility="hidden"/>
  643. <col ref="filecnt" visibility="hidden"/>
  644. <col ref="valupsnscor1" visibility="hidden"/>
  645. <col ref="valupsncnfmyn1" visibility="hidden"/>
  646. <script type="javascript" ev:event="onrowchanged">
  647. <![CDATA[
  648. // if(grd_rpvdskpilist.valueMatrix(grd_rpvdskpilist.row, grd_rpvdskpilist.colRef("ownvalucnfmyn")) == "Y")
  649. // {
  650. // btn_completecancel.disabled = false;
  651. // }else{
  652. // btn_completecancel.disabled = true;
  653. // }
  654. ]]>
  655. </script>
  656. <script type="javascript" ev:event="xforms-value-changed">
  657. <![CDATA[
  658. if(grd_rpvdskpilist.col == grd_rpvdskpilist.colRef("ownvaluscor"))
  659. {
  660. ipt_totalpoint.value = ftotalpoint();
  661. model.refresh();
  662. }
  663. ]]>
  664. </script>
  665. <script type="javascript" ev:event="onbuttonclick">
  666. <![CDATA[
  667. if(grd_rpvdskpilist.col == grd_rpvdskpilist.colRef("temp1"))
  668. {
  669. fExeBizPlnFileUpload(1);
  670. }
  671. else {
  672. if(grd_rpvdskpilist.col != grd_rpvdskpilist.colRef("popup")) return;
  673. var valuyy = grd_rpvdskpilist.valueMatrix(grd_rpvdskpilist.row, grd_rpvdskpilist.colRef("valuyy"));
  674. var emplno = grd_rpvdskpilist.valueMatrix(grd_rpvdskpilist.row, grd_rpvdskpilist.colRef("emplno"));
  675. var fstscndhfyyflag = grd_rpvdskpilist.valueMatrix(grd_rpvdskpilist.row, grd_rpvdskpilist.colRef("fstscndhfyyflag"));
  676. var valuclscd = grd_rpvdskpilist.valueMatrix(grd_rpvdskpilist.row, grd_rpvdskpilist.colRef("valuclscd"));
  677. var valumdlcd = grd_rpvdskpilist.valueMatrix(grd_rpvdskpilist.row, grd_rpvdskpilist.colRef("valumdlcd"));
  678. var valuclsdetlcd = grd_rpvdskpilist.valueMatrix(grd_rpvdskpilist.row, grd_rpvdskpilist.colRef("valuclsdetlcd"));
  679. var deptcd = grd_rpvdskpilist.valueMatrix(grd_rpvdskpilist.row, grd_rpvdskpilist.colRef("deptcd"));
  680. var publbaseflag = grd_rpvdskpilist.valueMatrix(grd_rpvdskpilist.row, grd_rpvdskpilist.colRef("publbaseflag"));
  681. var idxcd = grd_rpvdskpilist.valueMatrix(grd_rpvdskpilist.row, grd_rpvdskpilist.colRef("idxcd"));
  682. misfGridInit(grd_fileinfo);
  683. misfGridIUD(grd_fileinfo, "A");
  684. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/valuyy", valuyy);
  685. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/emplno", emplno);
  686. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/fstscndhfyyflag", fstscndhfyyflag);
  687. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/valuclscd", valuclscd);
  688. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/valumdlcd", valumdlcd);
  689. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/valuclsdetlcd", valuclsdetlcd);
  690. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/tableflag", "2");
  691. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/deptcd", deptcd);
  692. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/publbaseflag", publbaseflag);
  693. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/idxcd", idxcd);
  694. grd_fileinfo.refresh();
  695. rpvfOpenPopUpList("28",grd_fileinfo,"","emplno","valuyy,emplno,fstscndhfyyflag,valuclscd,valumdlcd,valuclsdetlcd,tableflag,deptcd,publbaseflag,idxcd",
  696. "valuyy,emplno,fstscndhfyyflag,valuclscd,valumdlcd,valuclsdetlcd,tableflag,deptcd,publbaseflag,idxcd","");
  697. }
  698. ]]>
  699. </script>
  700. </datagrid>
  701. <caption id="caption4" class="tit_2" style="left:5px; top:54px; width:230px; height:14px; vertical-align:middle; ">공유지표(S-KPI) List</caption>
  702. <line id="line1" class="line_1" style="x1:0px; y1:69px; x2:1194px; y2:69px; "/>
  703. <input id="ipt_valuyy" ref="/root/send/valuyy" class="input_s_essential" inputtype="date" format="yyyy" style="left:105px; top:13px; width:80px; height:19px; text-align:center; ">
  704. <script type="javascript" ev:event="xforms-value-changed">
  705. <![CDATA[
  706. fInitialize();
  707. // if(!isRequiredControls("ipt_valuyy")) return;
  708. //
  709. // model.removeNodeset(grd_rpvdskpilist.nodeset);
  710. // model.removeNodeset(grd_rpvdfkpilist.nodeset);
  711. // model.removeNodeset("/root/init/valucd");
  712. // model.refresh();
  713. //
  714. // rpvfComboValuCdList(ipt_valuyy.value , "PROCSTATBIZ,WTNSCOR,WTNSCOR,VALUSCORBIZ,VALUSCORBIZ", "cmb_procstat,grd_rpvdskpilist.wtnscor,grd_rpvdfkpilist.wtnscor,grd_rpvdskpilist.ownvaluscor,grd_rpvdfkpilist.ownvaluscor");
  715. // btn_search.dispatch("DOMActivate");
  716. ]]>
  717. </script>
  718. </input>
  719. <caption id="cap_valuyy" class="search_name" style="left:15px; top:14px; width:90px; height:17px; vertical-align:middle; ">평가년도 :</caption>
  720. <input id="ipt_emplno" ref="/root/send/emplno" class="input_s_essential" disabled="true" maxlength="10" style="left:640px; top:13px; width:97px; height:19px; text-align:center; ">
  721. <script type="javascript" ev:event="xforms-value-changed">
  722. <![CDATA[
  723. rpbfValidationCheck("EMPLNO", "emplno,emplnm");
  724. model.refresh();
  725. ]]>
  726. </script>
  727. </input>
  728. <button id="btn_emplno" class="icon_search" visibility="visible" style="left:880px; top:15px; width:16px; height:16px; ">
  729. <caption/>
  730. <script type="javascript" ev:event="DOMActivate">
  731. <![CDATA[
  732. rpbfOpenPopUpList("SPRPB00101", ipt_emplno, "emplno,emplnm","","N","N");
  733. model.refresh();
  734. ]]>
  735. </script>
  736. </button>
  737. <caption id="cap_emplno" class="search_name" style="left:580px; top:14px; width:57px; height:17px; font-weight:bold; ">사번:</caption>
  738. <input id="ipt_emplnm" ref="/root/send/emplnm" class="input_search" disabled="true" style="left:742px; top:13px; width:135px; height:19px; text-align:center; ">
  739. <script type="javascript" ev:event="xforms-value-changed">
  740. <![CDATA[
  741. rpbfValidationCheck("EMPLNM", "emplno,emplnm");
  742. model.refresh();
  743. ]]>
  744. </script>
  745. </input>
  746. <caption id="caption3" class="tit_2" style="left:0px; top:410px; width:230px; height:18px; vertical-align:middle; ">기본업무지표(F-KPI) List</caption>
  747. <line id="line3" class="line_1" style="x1:0px; y1:425px; x2:1194px; y2:425px; "/>
  748. <select1 id="cmb_fstscndhfyyflag" ref="/root/send/fstscndhfyyflag" class="combo_s_essential" appearance="minimal" style="left:379px; top:13px; width:110px; height:19px; text-align:center; ">
  749. <choices>
  750. <itemset nodeset="/root/init/fstscndhfyyflag">
  751. <label ref="label"/>
  752. <value ref="value"/>
  753. </itemset>
  754. </choices>
  755. <script type="javascript" ev:event="xforms-value-changed">
  756. <![CDATA[
  757. //인사평가 중분류 코드를 가져 온다.
  758. // var basedd = model.getValue(ipt_baseddgrde.attribute("ref"));
  759. // var valuclscd = model.getValue(cmb_valucls.attribute("ref"));
  760. // rpvfComboValuMidClsList( basedd, valuclscd, cmb_valumidcls);
  761. ]]>
  762. </script>
  763. </select1>
  764. <caption id="cap_fstscndhfyyflag" class="search_name" style="left:295px; top:14px; width:81px; height:17px; vertical-align:middle; ">상하반기:</caption>
  765. <caption id="caption9" class="cell_1" style="left:170px; top:48px; width:67px; height:20px; text-align:center; vertical-align:middle; ">C-KPI점수</caption>
  766. <input id="ipt_ckpiscor" ref="/root/main/grid/ckpilist/valuscornm" class="input_essential" disabled="true" style="left:240px; top:48px; width:70px; height:19px; "/>
  767. <select1 id="cmb_procstat" ref="/root/main/component/procstat" class="combo_essential" disabled="true" appearance="minimal" style="left:580px; top:48px; width:145px; height:19px; ">
  768. <choices>
  769. <itemset>
  770. <label/>
  771. <value/>
  772. </itemset>
  773. </choices>
  774. </select1>
  775. <caption id="cap_procstat" class="cell_1" style="left:510px; top:48px; width:67px; height:20px; text-align:center; vertical-align:middle; ">진행상황</caption>
  776. <caption id="caption22" class="cell_1" style="left:737px; top:48px; width:71px; height:20px; text-align:center; vertical-align:middle; ">총점</caption>
  777. <input id="ipt_totalpoint" ref="/root/main/component/totalpoint" disabled="true" format="#,###.#" style="left:925px; top:48px; width:55px; height:19px; text-align:right; border-style:solid; "/>
  778. <input id="ipt_valuclscd" ref="/root/send/valuclscd" visibility="hidden" style="left:980px; top:15px; width:25px; height:19px; "/>
  779. <input id="ipt_valumdlcd" ref="/root/send/valumdlcd" visibility="hidden" style="left:1010px; top:15px; width:25px; height:19px; "/>
  780. <input id="ipt_valuclsdetlcd" ref="/root/send/valuclsdetlcd" visibility="hidden" style="left:1040px; top:15px; width:25px; height:19px; "/>
  781. <input id="ipt_valuclsdetlcd2" ref="/root/send/valuclsdetlcd2" visibility="hidden" style="left:1070px; top:15px; width:25px; height:19px; "/>
  782. <upload id="upd_uploadfile" nodeset="/root/send/fileupcolumn/fileupload/file" ext="zip" filecount="5" filesize="1048576" validate="true" style="left:1060px; top:45px; width:25px; height:20px; "/>
  783. <input id="ipt_uploadfile" ref="/root/send/fileupcolumn/fileupload/file" visibility="hidden" style="left:1080px; top:45px; width:105px; height:19px; "/>
  784. <input id="ipt_temp" ref="/root/main/component/valucnts" disabled="true" style="left:810px; top:48px; width:114px; height:19px; text-align:right; border-style:solid; "/>
  785. <button id="btn_valupsnrtnreqresn2" class="btn_sw" group="tab" style="left:127px; top:610px; width:123px; height:22px; ">
  786. <caption>2차평가의견</caption>
  787. <toggle case="case2" ev:event="onclick"/>
  788. </button>
  789. <button id="btn_valupsncnts1" class="btn_sw" group="tab" selected="true" style="left:0px; top:610px; width:123px; height:22px; ">
  790. <caption>1차평가의견</caption>
  791. <toggle case="case1" ev:event="onclick"/>
  792. </button>
  793. <switch id="switch1" style="left:0px; top:630px; width:1195px; height:110px; ">
  794. <case id="case1" selected="true">
  795. <caption id="caption16" class="tit_2" style="left:0px; top:5px; width:230px; height:13px; vertical-align:middle; ">1차평가의견</caption>
  796. <line id="line5" class="line_1" style="x1:0px; y1:20px; x2:1186px; y2:20px; "/>
  797. <textarea id="txt_valupsncnts" ref="/root/main/component/valupsncnts" editable="false" maxbyte="1800" style="left:0px; top:25px; width:1186px; height:80px; "/>
  798. </case>
  799. <case id="case2">
  800. <textarea id="txt_valupsncnts2" ref="/root/main/component/valupsncnts2" editable="false" maxbyte="1800" style="left:0px; top:25px; width:1186px; height:80px; ">
  801. <script type="javascript" ev:event="DOMFocusOut">
  802. <![CDATA[
  803. if (model.getValue("/root/temp/rtnresntemp") != txt_valupsncnts2.value) {
  804. grd_bizvaluscndpsnList.valueMatrix(grd_bizvaluscndpsnList.row, grd_bizvaluscndpsnList.colRef("valupsncnts2")) = txt_valupsncnts2.value;
  805. grd_bizvaluscndpsnList.rowStatus(grd_bizvaluscndpsnList.row) = "2";
  806. }
  807. ]]>
  808. </script>
  809. </textarea>
  810. <caption id="caption18" class="tit_2" style="left:0px; top:4px; width:230px; height:13px; vertical-align:middle; ">2차평가의견</caption>
  811. <line id="line7" class="line_1" style="x1:0px; y1:20px; x2:1186px; y2:20px; "/>
  812. </case>
  813. </switch>
  814. <input id="ipt_orgimrsnscore" ref="/root/main/grid/ckpilist/valuscornm2" class="input_essential" disabled="true" visibility="hidden" style="left:424px; top:48px; width:70px; height:19px; "/>
  815. <caption id="cap_orgimrsnscore" class="cell_1" visibility="hidden" style="left:325px; top:48px; width:98px; height:20px; text-align:center; vertical-align:middle; ">조직몰입도점수</caption>
  816. <datagrid id="grd_fileinfo" nodeset="/root/main/scrfileinfo/fileinfolist" visibility="hidden" caption="valuyy^instcd^deptcd^emplno^goalflag" colsep="^" colwidth="195, 836, 100, 100, 100, 100, 100" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:745px; top:140px; width:310px; height:65px; ">
  817. <col ref="valuyy"/>
  818. <col ref="emplno"/>
  819. <col ref="fstscndhfyyflag"/>
  820. <col ref="valuclscd"/>
  821. <col ref="valumdlcd"/>
  822. <col ref="valuclsdetlcd"/>
  823. <col ref="publbaseflag"/>
  824. <col ref="idxcd"/>
  825. <col ref="tableflag"/>
  826. <col ref="deptcd" visibility="hidden"/>
  827. </datagrid>
  828. <datagrid id="grd_rpvdskpi2list" nodeset="/root/main/grid/rpvdskpi2list" autoresize="true" caption="업무구분^성과지표(KPI)^가중치^목표수준^측정방법^달성성과^첨부파일^첨부파일^평가점수^종료여부|업무구분^성과지표(KPI)^가중치^목표수준^측정방법^달성성과^등록^수정/조회^평가점수^종료여부" colsep="^" colwidth="155, 219, 63, 160, 149, 169, 67, 64, 61, 60, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100" ellipsis="true" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" tooltip="true" style="left:0px; top:234px; width:1195px; height:171px; ">
  829. <col ref="idxflag" type="output" style="text-align:center; "/>
  830. <col ref="idxcdnm" type="output"/>
  831. <col class="gridcombo" ref="wtnscor" type="combo" style="text-align:center; ">
  832. <choices>
  833. <itemset>
  834. <label/>
  835. <value/>
  836. </itemset>
  837. </choices>
  838. </col>
  839. <col ref="goallevl" type="output" style="text-align:center; "/>
  840. <col ref="inspmthd" style="text-align:center; "/>
  841. <col ref="achvmntrslt" type="input" maxbyte="1800"/>
  842. <col ref="temp1" type="inputbutton"/>
  843. <col ref="popup" type="inputbutton"/>
  844. <col class="gridcombo" ref="ownvaluscor" type="combo" style="text-align:center; ">
  845. <choices>
  846. <itemset>
  847. <label/>
  848. <value/>
  849. </itemset>
  850. </choices>
  851. </col>
  852. <col checkvalue="Y,N" ref="bizendyn" type="checkbox"/>
  853. <col ref="valupsncnts1" visibility="hidden"/>
  854. <col ref="valuyy" visibility="hidden"/>
  855. <col ref="emplno" visibility="hidden"/>
  856. <col ref="valuclscd" visibility="hidden"/>
  857. <col ref="valumdlcd" visibility="hidden"/>
  858. <col ref="valuclsdetlcd" visibility="hidden"/>
  859. <col ref="fstscndhfyyflag" visibility="hidden"/>
  860. <col ref="lastcnfnyn" visibility="hidden"/>
  861. <col ref="procstat" visibility="hidden"/>
  862. <col ref="emplno" visibility="hidden"/>
  863. <col ref="publbaseflag" visibility="hidden"/>
  864. <col ref="idxcd" visibility="hidden"/>
  865. <col ref="ownvaluexchscor" visibility="hidden"/>
  866. <col ref="valupsncnfmflag1" visibility="hidden"/>
  867. <col ref="ownvalucnfmyn" visibility="hidden"/>
  868. <col ref="inoutflag" visibility="hidden"/>
  869. <col ref="valupsncnts2" visibility="hidden"/>
  870. <col ref="deptcd" visibility="hidden"/>
  871. <col ref="filecnt" visibility="hidden"/>
  872. <col ref="valupsnscor1" visibility="hidden"/>
  873. <col ref="valupsncnfmyn1" visibility="hidden"/>
  874. <script type="javascript" ev:event="onrowchanged">
  875. <![CDATA[
  876. // if(grd_rpvdskpi2list.valueMatrix(grd_rpvdskpi2list.row, grd_rpvdskpi2list.colRef("ownvalucnfmyn")) == "Y")
  877. // {
  878. // btn_completecancel.disabled = false;
  879. // }else{
  880. // btn_completecancel.disabled = true;
  881. // }
  882. ]]>
  883. </script>
  884. <script type="javascript" ev:event="xforms-value-changed">
  885. <![CDATA[
  886. if(grd_rpvdskpi2list.col == grd_rpvdskpi2list.colRef("ownvaluscor"))
  887. {
  888. ipt_totalpoint.value = ftotalpoint();
  889. model.refresh();
  890. }
  891. ]]>
  892. </script>
  893. <script type="javascript" ev:event="onbuttonclick">
  894. <![CDATA[
  895. if(grd_rpvdskpi2list.col == grd_rpvdskpi2list.colRef("temp1"))
  896. {
  897. fExeBizPlnFileUpload(3);
  898. }
  899. else {
  900. if(grd_rpvdskpi2list.col != grd_rpvdskpi2list.colRef("popup")) return;
  901. var valuyy = grd_rpvdskpi2list.valueMatrix(grd_rpvdskpi2list.row, grd_rpvdskpi2list.colRef("valuyy"));
  902. var emplno = grd_rpvdskpi2list.valueMatrix(grd_rpvdskpi2list.row, grd_rpvdskpi2list.colRef("emplno"));
  903. var fstscndhfyyflag = grd_rpvdskpi2list.valueMatrix(grd_rpvdskpi2list.row, grd_rpvdskpi2list.colRef("fstscndhfyyflag"));
  904. var valuclscd = grd_rpvdskpi2list.valueMatrix(grd_rpvdskpi2list.row, grd_rpvdskpi2list.colRef("valuclscd"));
  905. var valumdlcd = grd_rpvdskpi2list.valueMatrix(grd_rpvdskpi2list.row, grd_rpvdskpi2list.colRef("valumdlcd"));
  906. var valuclsdetlcd = grd_rpvdskpi2list.valueMatrix(grd_rpvdskpi2list.row, grd_rpvdskpi2list.colRef("valuclsdetlcd"));
  907. var deptcd = grd_rpvdskpi2list.valueMatrix(grd_rpvdskpi2list.row, grd_rpvdskpi2list.colRef("deptcd"));
  908. var publbaseflag = grd_rpvdskpi2list.valueMatrix(grd_rpvdskpi2list.row, grd_rpvdskpi2list.colRef("publbaseflag"));
  909. var idxcd = grd_rpvdskpi2list.valueMatrix(grd_rpvdskpi2list.row, grd_rpvdskpi2list.colRef("idxcd"));
  910. misfGridInit(grd_fileinfo);
  911. misfGridIUD(grd_fileinfo, "A");
  912. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/valuyy", valuyy);
  913. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/emplno", emplno);
  914. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/fstscndhfyyflag", fstscndhfyyflag);
  915. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/valuclscd", valuclscd);
  916. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/valumdlcd", valumdlcd);
  917. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/valuclsdetlcd", valuclsdetlcd);
  918. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/tableflag", "2");
  919. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/deptcd", deptcd);
  920. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/publbaseflag", publbaseflag);
  921. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/idxcd", idxcd);
  922. grd_fileinfo.refresh();
  923. rpvfOpenPopUpList("28",grd_fileinfo,"","emplno","valuyy,emplno,fstscndhfyyflag,valuclscd,valumdlcd,valuclsdetlcd,tableflag,deptcd,publbaseflag,idxcd",
  924. "valuyy,emplno,fstscndhfyyflag,valuclscd,valumdlcd,valuclsdetlcd,tableflag,deptcd,publbaseflag,idxcd","");
  925. }
  926. ]]>
  927. </script>
  928. </datagrid>
  929. <datagrid id="grd_rpvdfkpilist" nodeset="/root/main/grid/rpvdfkpilist" autoresize="true" caption="업무구분^성과지표(KPI)^가중치^목표수준^측정방법^달성성과^첨부파일^첨부파일^평가점수^종료여부|업무구분^성과지표(KPI)^가중치^목표수준^측정방법^달성성과^등록^수정/조회^평가점수^종료여부" colsep="^" colwidth="155, 220, 62, 161, 146, 172, 67, 64, 61, 55, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100" ellipsis="true" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" tooltip="true" style="left:0px; top:431px; width:1195px; height:169px; ">
  930. <col ref="idxflag" type="output" style="text-align:center; "/>
  931. <col ref="rsltidx" type="output"/>
  932. <col class="gridcombo" ref="wtnscor" type="combo" style="text-align:center; ">
  933. <choices>
  934. <itemset>
  935. <label/>
  936. <value/>
  937. </itemset>
  938. </choices>
  939. </col>
  940. <col ref="goallevl" type="output" style="text-align:center; "/>
  941. <col ref="inspmthd" style="text-align:center; "/>
  942. <col ref="achvmntrslt" type="input" maxbyte="1800"/>
  943. <col ref="temp1" type="inputbutton"/>
  944. <col ref="popup" type="inputbutton"/>
  945. <col class="gridcombo" ref="ownvaluscor" type="combo">
  946. <choices>
  947. <itemset>
  948. <label/>
  949. <value/>
  950. </itemset>
  951. </choices>
  952. </col>
  953. <col checkvalue="Y,N" ref="bizendyn" type="checkbox"/>
  954. <col ref="valupsncnts1" visibility="hidden"/>
  955. <col ref="valuyy" visibility="hidden"/>
  956. <col ref="emplno" visibility="hidden"/>
  957. <col ref="valuclscd" visibility="hidden"/>
  958. <col ref="valumdlcd" visibility="hidden"/>
  959. <col ref="valuclsdetlcd" visibility="hidden"/>
  960. <col ref="fstscndhfyyflag" visibility="hidden"/>
  961. <col ref="lastcnfnyn" visibility="hidden"/>
  962. <col ref="procstat" visibility="hidden"/>
  963. <col ref="emplno" visibility="hidden"/>
  964. <col ref="publbaseflag" visibility="hidden"/>
  965. <col ref="idxcd" visibility="hidden"/>
  966. <col ref="ownvaluexchscor" visibility="hidden"/>
  967. <col ref="valupsncnfmflag1" visibility="hidden"/>
  968. <col ref="ownvalucnfmyn" visibility="hidden"/>
  969. <col ref="valupsncnts2" visibility="hidden"/>
  970. <col ref="deptcd" visibility="hidden"/>
  971. <col ref="filecnt" visibility="hidden"/>
  972. <col ref="idxcdnm" visibility="hidden"/>
  973. <col ref="idxflagnm" visibility="hidden"/>
  974. <col ref="valupsnscor1" visibility="hidden"/>
  975. <col ref="valupsncnfmyn1" visibility="hidden"/>
  976. <script type="javascript" ev:event="onrowchagned">
  977. <![CDATA[
  978. // if(grd_rpvdfkpilist.valueMatrix(grd_rpvdfkpilist.row, grd_rpvdfkpilist.colRef("ownvalucnfmyn")) == "Y")
  979. // {
  980. // btn_completecancel.disabled = false;
  981. // }else{
  982. // btn_completecancel.disabled = true;
  983. // }
  984. ]]>
  985. </script>
  986. <script type="javascript" ev:event="xforms-value-changed">
  987. <![CDATA[
  988. if(grd_rpvdfkpilist.col == grd_rpvdfkpilist.colRef("ownvaluscor"))
  989. {
  990. ipt_totalpoint.value = ftotalpoint();
  991. model.refresh();
  992. }
  993. ]]>
  994. </script>
  995. <script type="javascript" ev:event="onbuttonclick">
  996. <![CDATA[
  997. if(grd_rpvdfkpilist.col == grd_rpvdfkpilist.colRef("temp1"))
  998. {
  999. fExeBizPlnFileUpload(2);
  1000. }
  1001. else {
  1002. if(grd_rpvdfkpilist.col != grd_rpvdfkpilist.colRef("popup")) return;
  1003. var valuyy = grd_rpvdfkpilist.valueMatrix(grd_rpvdfkpilist.row, grd_rpvdfkpilist.colRef("valuyy"));
  1004. var emplno = grd_rpvdfkpilist.valueMatrix(grd_rpvdfkpilist.row, grd_rpvdfkpilist.colRef("emplno"));
  1005. var fstscndhfyyflag = grd_rpvdfkpilist.valueMatrix(grd_rpvdfkpilist.row, grd_rpvdfkpilist.colRef("fstscndhfyyflag"));
  1006. var valuclscd = grd_rpvdfkpilist.valueMatrix(grd_rpvdfkpilist.row, grd_rpvdfkpilist.colRef("valuclscd"));
  1007. var valumdlcd = grd_rpvdfkpilist.valueMatrix(grd_rpvdfkpilist.row, grd_rpvdfkpilist.colRef("valumdlcd"));
  1008. var valuclsdetlcd = grd_rpvdfkpilist.valueMatrix(grd_rpvdfkpilist.row, grd_rpvdfkpilist.colRef("valuclsdetlcd"));
  1009. var deptcd = grd_rpvdfkpilist.valueMatrix(grd_rpvdfkpilist.row, grd_rpvdfkpilist.colRef("deptcd"));
  1010. var publbaseflag = grd_rpvdfkpilist.valueMatrix(grd_rpvdfkpilist.row, grd_rpvdfkpilist.colRef("publbaseflag"));
  1011. var idxcd = grd_rpvdfkpilist.valueMatrix(grd_rpvdfkpilist.row, grd_rpvdfkpilist.colRef("idxcd"));
  1012. misfGridInit(grd_fileinfo);
  1013. misfGridIUD(grd_fileinfo, "A");
  1014. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/valuyy", valuyy);
  1015. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/emplno", emplno);
  1016. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/fstscndhfyyflag", fstscndhfyyflag);
  1017. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/valuclscd", valuclscd);
  1018. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/valumdlcd", valumdlcd);
  1019. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/valuclsdetlcd", valuclsdetlcd);
  1020. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/tableflag", "2");
  1021. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/deptcd", deptcd);
  1022. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/publbaseflag", publbaseflag);
  1023. model.setValue(grd_fileinfo.nodeset + "[" + (grd_fileinfo.fixedRows)+ "]/idxcd", idxcd);
  1024. grd_fileinfo.refresh();
  1025. rpvfOpenPopUpList("28",grd_fileinfo,"","emplno","valuyy,emplno,fstscndhfyyflag,valuclscd,valumdlcd,valuclsdetlcd,tableflag,deptcd,publbaseflag,idxcd",
  1026. "valuyy,emplno,fstscndhfyyflag,valuclscd,valumdlcd,valuclsdetlcd,tableflag,deptcd,publbaseflag,idxcd","");
  1027. }
  1028. ]]>
  1029. </script>
  1030. </datagrid>
  1031. </group>
  1032. <group id="grp_btn" scroll="auto" style="left:0px; top:12px; width:1195px; height:27px; ">
  1033. <line id="line6" class="line_6" style="x1:0px; y1:25; x2:1195px; y2:25; "/>
  1034. <button id="btn_init" class="btn4_letter3" style="left:1124px; top:3px; width:68px; height:22px; ">
  1035. <caption>초기화</caption>
  1036. <script type="javascript" ev:event="DOMActivate">
  1037. <![CDATA[
  1038. window.reload() ;
  1039. ]]>
  1040. </script>
  1041. </button>
  1042. <button id="btn_save" class="btn4_letter2" style="left:900px; top:3px; width:56px; height:22px; ">
  1043. <caption>저장</caption>
  1044. <script type="javascript" ev:event="DOMActivate">
  1045. <![CDATA[
  1046. var updtdata = getGridUpdateData(grd_rpvdskpilist) + getGridUpdateData(grd_rpvdskpi2list) + getGridUpdateData(grd_rpvdfkpilist);
  1047. if (updtdata == "")
  1048. {
  1049. messageBox("변경된 데이터가","I004");
  1050. return;
  1051. }
  1052. if (MESSAGEYN == "Y") {
  1053. rtn = messageBox("", "Q002");
  1054. if(rtn != "6" ) return false;
  1055. }
  1056. else {
  1057. MESSAGEYN = "Y";
  1058. }
  1059. misfSave("TXRPV06001");
  1060. btn_search.dispatch("DOMActivate");
  1061. ]]>
  1062. </script>
  1063. </button>
  1064. <button id="btn_complete" class="btn4_letter4" style="left:1041px; top:3px; width:80px; height:22px; ">
  1065. <caption>평가완료</caption>
  1066. <script type="javascript" ev:event="DOMActivate">
  1067. <![CDATA[
  1068. if(messageBox("본인평가를", "Q006") != 6) return;
  1069. if( fcheckachvmntrslt() == false)
  1070. {
  1071. messageBox("달성성과를 모두 기재하여 주세요.", "I999");
  1072. return;
  1073. }
  1074. if( fcheckvalue() == false)
  1075. {
  1076. messageBox("평가점수를 모두 기재하여 주세요.", "I999");
  1077. return;
  1078. }
  1079. fcompleteSubmit();
  1080. model.refresh();
  1081. MESSAGEYN = "N";
  1082. btn_save.dispatch("DOMActivate");
  1083. //btn_complete.disabled = true;
  1084. /*
  1085. 상하반기 1차평가자에게 Email 이나 Sms를 전송.
  1086. */
  1087. var frecemplno = '';
  1088. if(cmb_fstscndhfyyflag.value == '1')
  1089. {
  1090. frecemplno = model.getValue("/root/main/valuempllist/fsthfyyvalupsn1");
  1091. }else if(cmb_fstscndhfyyflag.value == '2')
  1092. {
  1093. frecemplno = model.getValue("/root/main/valuempllist/scndhfyyvalupsn1");
  1094. }
  1095. rpvfOneAndOneCheckEmailAndSms(ipt_emplnm.value + "님의 [업무지표본인평가] 평가완료 되었습니다.", "업무지표본인평가 통보", ipt_emplno.value, '', frecemplno, '');
  1096. ]]>
  1097. </script>
  1098. </button>
  1099. <button id="btn_completecancel" class="btn4_letter4" disabled="true" style="left:957px; top:3px; width:80px; height:22px; ">
  1100. <caption>평가취소</caption>
  1101. <script type="javascript" ev:event="DOMActivate">
  1102. <![CDATA[
  1103. fCancelSubmit();
  1104. model.refresh();
  1105. btn_save.dispatch("DOMActivate");
  1106. //btn_completecancel.disabled = true;
  1107. ]]>
  1108. </script>
  1109. </button>
  1110. <button id="btn_resultprt" class="btn4_letter6" visibility="visible" style="left:773px; top:3px; width:104px; height:22px; ">
  1111. <caption>본인평가출력</caption>
  1112. <script type="javascript" ev:event="DOMActivate">
  1113. <![CDATA[
  1114. model.removenode("/root/temp/source");
  1115. model.makeNode("/root/temp/source");
  1116. model.makeValue("/root/temp/source/valuyy", model.getValue("/root/send/valuyy"));
  1117. model.makeValue("/root/temp/source/trgtemplno", model.getValue("/root/send/emplno"));
  1118. model.makeValue("/root/temp/source/trgtemplnm", model.getValue("/root/send/emplnm"));
  1119. model.makeValue("/root/temp/source/fstscndhfyyflag", model.getValue("/root/send/fstscndhfyyflag"));
  1120. model.makeValue("/root/temp/source/instcd", model.getValue("/root/main/valuempllist/dutinst"));
  1121. model.makeValue("/root/temp/source/deptcd", model.getValue("/root/main/valuempllist/dutunitcd"));
  1122. model.makeValue("/root/temp/source/deptnm", model.getValue("/root/main/valuempllist/deptnm"));
  1123. model.makeValue("/root/temp/source/fstscndflag", "0");
  1124. //model.removenode("/root/send/printgubun");
  1125. model.makeValue("/root/temp/source/printgubun", "SMRPV06000");
  1126. modal("SMRPV08000","","","","","/root/temp/source", "/root/target" );
  1127. //modal("SMRPV08000","","","","","/root/send", "/root/temp/target" );
  1128. ]]>
  1129. </script>
  1130. </button>
  1131. </group>
  1132. </xhtml:body>
  1133. </xhtml:html>