SMRPV02300_SAT평가등록.xrw 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414
  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>SAT평가등록</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <satexampsn>
  11. <satexampsnlist/>
  12. </satexampsn>
  13. <examscor>
  14. <examscorlist/>
  15. </examscor>
  16. <excel>
  17. <excellist/>
  18. </excel>
  19. </main>
  20. <send>
  21. <satexampsn>
  22. <valuyy/>
  23. <instcd/>
  24. <deptcd/>
  25. <emplno/>
  26. <deptnm/>
  27. <emplnm/>
  28. </satexampsn>
  29. <examscor>
  30. <valuyy/>
  31. <emplno/>
  32. </examscor>
  33. <attach>
  34. <file/>
  35. <valuyy/>
  36. </attach>
  37. <examcnfmyn>
  38. <instcd/>
  39. <valuyy/>
  40. <cnfmyn/>
  41. </examcnfmyn>
  42. </send>
  43. <save>
  44. <examscorlist/>
  45. </save>
  46. <temp/>
  47. <hidden>
  48. <temp/>
  49. </hidden>
  50. </root>
  51. </instance>
  52. <script type="javascript" ev:event="xforms-ready">
  53. <![CDATA[
  54. /* Grid 초기화 */
  55. misfGridInit(grd_satexampsnlist);
  56. misfGridInit(grd_examscorlist);
  57. misfMsterDetailSet(grd_satexampsnlist,null, "TRRPV02301" ,"N");
  58. misfMsterDetailSet(grd_examscorlist,grd_satexampsnlist, "TRRPV02302" ,"Y");
  59. var curdate = getCurrentDate();
  60. model.setValue(ipt_valuyy.attribute("ref") , curdate.substr(0, 4));
  61. model.setValue(cmb_instcd.attribute("ref") , getUserInfo("dutplceinstcd"));
  62. rpvfComboInstCdList("cmb_instcd");
  63. rpvfComboValuCdList(model.getValue(ipt_valuyy.attribute("ref")),"SATEXAM","grd_examscorlist.examcd");
  64. addComboItem( "cmb_instcd", "[-- 전체 --]", "", "above");
  65. model.setValue(cmb_instcd.attribute("ref"), "");
  66. model.refresh();
  67. ]]>
  68. </script>
  69. <submission id="TRRPV02301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/satexampsn" resultref="/root/main/satexampsn"/>
  70. <submission id="TRRPV02302" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/examscor" resultref="/root/main/examscor"/>
  71. <submission id="TXRPV02301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/save" resultref="/root/hidden/temp"/>
  72. <submission id="TXRPV02302" mediatype="multipart/form-data" method="form-data-post" ref="/root/send/attach" resultref="/root/main/excel"/>
  73. <submission id="TXRPV02303" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/examcnfmyn" resultref="/root/hidden/temp"/>
  74. </model>
  75. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  76. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  77. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  78. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  79. <script type="javascript" src="../../../mis/valuationmngtweb/js/RPV001.js"/>
  80. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  81. <script type="javascript">
  82. <![CDATA[
  83. var fso=new ActiveXObject("Scripting.FileSystemObject");
  84. function fExcelUpload() {
  85. var maxsize = upload1.attribute("filesize");
  86. var filename = window.fileDialog("open", ",", false, "excel", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  87. var filelist = filename.split("|");
  88. model.removeNodeset("/root/main/list/filelist");
  89. model.removeNodeset("/root/send/attach");
  90. //타이틀을 획득한다.
  91. var s = new String(filelist[filelist.length-1]);
  92. var ss = s.split("\\");
  93. if(filename !=""){
  94. //작업 전 row를 추가 >파일명 유/무에 따른 분기>
  95. for(var i = 0 ; i < filelist.length ; i++ ){
  96. grd_attach.addRow(false);
  97. if(filelist[i] == ""){
  98. //alert(grd_attach.rows - 1);
  99. grd_attach.removeRow(false);
  100. grd_attach.refresh();
  101. }else{
  102. grd_attach.valueMatrix(grd_attach.rows - 1, 0) = filelist[i];
  103. //파일크기('tfHelper.checkFileSize' 참조)
  104. var fileCnt = upload1.getFileCount();
  105. var lastIndex = fileCnt - 1;
  106. var fileSize = upload1.getFileSize(lastIndex);
  107. grd_attach.textmatrix(grd_attach.rows - 1,1) = fileSize;
  108. if (!checkFileSize(upload1)){
  109. grd_attach.removeItem();
  110. messageBox("파일 크기가 최대치("+maxsize+"Byte)를", "E003");
  111. return;
  112. }
  113. }
  114. }
  115. model.makeValue("/root/send/attach/valuyy",ipt_valuyy.value);
  116. openLoadingBar("파일업로드 작업중입니다... ") ;
  117. submit("TXRPV02302");
  118. closeLoadingBar();
  119. btn_search.dispatch("DOMActivate");
  120. }
  121. }
  122. /**
  123. * @group : lvString 확장
  124. * @ver : 2004.07.29 (KUHDEV-0002)
  125. * @by : LeeHJ.
  126. * @---------------------------------------------------
  127. * @type : function
  128. * @access : public
  129. * @desc : 파라미터 값의 Byte 크기를 리턴
  130. * @param : N/A
  131. * @return : 파라미터 값의 Byte 크기
  132. * @---------------------------------------------------
  133. */
  134. function lvGetByteSize(strData)
  135. {
  136. var tcount = 0;
  137. var tmpStr = new String(strData);
  138. var temp = tmpStr.length;
  139. var onechar;
  140. for ( k=0; k<temp; k++ )
  141. {
  142. onechar = tmpStr.charAt(k);
  143. if (escape(onechar).length > 4)
  144. {
  145. tcount += 2;
  146. }
  147. else
  148. {
  149. tcount += 1;
  150. }
  151. }
  152. return tcount;
  153. }
  154. ]]>
  155. </script>
  156. </xhtml:head>
  157. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  158. <group id="group1" style="left:0px; top:0px; width:1194px; height:13px; ">
  159. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:173px; height:14px; ">SAT평가 등록</caption>
  160. </group>
  161. <group id="group3" style="left:0px; top:38px; width:1195px; height:744px; ">
  162. <!--<datagrid id="datagrid1" nodeset="/root/example" class="datagrid2" caption="구분^확정^목표^시작일자^종료일자^가중치" colsep="^" colwidth="48, 16, 80, 40, 50, 20" dataheight="23" defaultrows="23" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" style="left:317px; top:110px; width:876px; height:481px; ">-->
  163. <button id="btn_addgrdexamscorlist" class="btn2_letter3" style="left:1082px; top:49px; width:53px; height:19px; ">
  164. <caption>행추가</caption>
  165. <script type="javascript" ev:event="DOMActivate">
  166. <![CDATA[
  167. misfGridIUD(grd_examscorlist, "A");
  168. ]]>
  169. </script>
  170. </button>
  171. <caption id="caption1" class="tit_2" style="left:845px; top:56px; width:165px; height:13px; ">SAT평가 점수</caption>
  172. <button id="btn_delgrdexamscorlist" class="btn2_letter3" style="left:1137px; top:49px; width:53px; height:19px; ">
  173. <caption>행삭제</caption>
  174. <script type="javascript" ev:event="DOMActivate">
  175. <![CDATA[
  176. misfGridIUD(grd_examscorlist, "D");
  177. ]]>
  178. </script>
  179. </button>
  180. <line id="line1" class="line_1" style="x1:845px; y1:70px; x2:1195px; y2:70px; "/>
  181. <caption id="caption8" class="tit_2" style="left:5px; top:56px; width:165px; height:13px; ">SAT 피평가자 리스트</caption>
  182. <line id="line5" class="line_1" style="x1:0px; y1:70px; x2:844px; y2:70px; "/>
  183. <datagrid id="grd_satexampsnlist" nodeset="/root/main/satexampsn/satexampsnlist" caption="사원번호^성명^기관^부서^직군^직종^직위^점수^합격여부^평가년도" colsep="^" colwidth="77, 74, 120, 126, 100, 90, 100, 58, 58, 35" dataheight="23" defaultrows="1" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" style="left:0px; top:75px; width:844px; height:659px; ">
  184. <col ref="emplno"/>
  185. <col ref="emplnm"/>
  186. <col ref="instnm" type="output"/>
  187. <col ref="deptnm" type="output"/>
  188. <col ref="grupjoblnnm"/>
  189. <col ref="jobkindnm"/>
  190. <col ref="jobposnm"/>
  191. <col ref="examscor" format="#,###.#"/>
  192. <col ref="passflag"/>
  193. <col ref="valuyy" visibility="hidden"/>
  194. <col ref="cnfmyn" visibility="hidden"/>
  195. <script type="javascript" ev:event="onrowchanged">
  196. <![CDATA[
  197. misfMsterDetailRetrieve();
  198. ]]>
  199. </script>
  200. </datagrid>
  201. <datagrid id="grd_examscorlist" nodeset="/root/main/examscor/examscorlist" caption="시험과목^점수^평가년도^사원번호^확정여부" colsep="^" colwidth="235, 77, 35, 26, 25" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:845px; top:75px; width:350px; height:659px; ">
  202. <col class="gridcombo" ref="examcd" type="combo">
  203. <choices>
  204. <itemset>
  205. <label/>
  206. <value/>
  207. </itemset>
  208. </choices>
  209. </col>
  210. <col ref="examscor" type="input" style="text-align:right; "/>
  211. <col ref="valuyy" visibility="hidden"/>
  212. <col ref="emplno" visibility="hidden"/>
  213. <col ref="cnfmyn" visibility="hidden"/>
  214. </datagrid>
  215. <group id="group5" style="left:0px; top:10px; width:1195px; height:37px; ">
  216. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" ellipsewidth="20" ellipseheight="20" style="left:0px; top:0px; width:1195px; height:37px; "/>
  217. <button id="btn_search" class="btn1_letter2" style="left:1124px; top:7px; width:56px; height:22px; ">
  218. <caption>조회</caption>
  219. <script type="javascript" ev:event="DOMActivate">
  220. <![CDATA[
  221. if ( !isRequiredControls("ipt_valuyy") ) {
  222. return false;
  223. }
  224. misfMsterDetailRetrieve();
  225. if (grd_satexampsnlist.rows - grd_satexampsnlist.fixedRows > 0) {
  226. if (grd_satexampsnlist.valueMatrix(grd_satexampsnlist.fixedRows, grd_satexampsnlist.colRef("cnfmyn")) == "Y") {
  227. btn_cnfm.disabled = true;
  228. btn_save.disabled = true;
  229. btn_cnfmcan.disabled = false;
  230. }
  231. else {
  232. btn_cnfm.disabled = false;
  233. btn_save.disabled = false;
  234. btn_cnfmcan.disabled = true;
  235. }
  236. }
  237. ]]>
  238. </script>
  239. </button>
  240. <button id="btn_deptcd" class="icon_search" style="left:673px; top:10px; width:16px; height:16px; ">
  241. <caption/>
  242. <script type="javascript" ev:event="DOMActivate">
  243. <![CDATA[
  244. if ( !isRequiredControls("cmb_instcd") ) {
  245. return false;
  246. }
  247. var recv_list = "deptcd,deptnm";
  248. var instcd = cmb_instcd.value;
  249. rpvfOpenDeptCdHelp(ipt_deptnm,recv_list, instcd, "instcd");
  250. model.refresh();
  251. ]]>
  252. </script>
  253. </button>
  254. <caption id="cap_valuyy" class="search_name" style="left:5px; top:9px; width:86px; height:17px; font-weight:bold; ">평가년도 :</caption>
  255. <select1 id="cmb_instcd" ref="/root/send/satexampsn/instcd" class="combo_search" appearance="minimal" style="left:285px; top:8px; width:145px; height:19px; ">
  256. <choices>
  257. <itemset>
  258. <label/>
  259. <value/>
  260. </itemset>
  261. </choices>
  262. </select1>
  263. <caption id="caption3" class="search_name" style="left:441px; top:9px; width:86px; height:17px; font-weight:bold; vertical-align:middle; ">부서코드 :</caption>
  264. <caption id="caption4" class="search_name" style="left:705px; top:9px; width:86px; height:17px; font-weight:bold; ">사원번호:</caption>
  265. <caption id="cap_instcd" class="search_name" style="left:200px; top:9px; width:86px; height:17px; font-weight:bold; ">기관코드 :</caption>
  266. <input id="ipt_deptcd" ref="/root/send/satexampsn/deptcd" class="input_search" visibility="hidden" style="left:526px; top:8px; width:79px; height:19px; "/>
  267. <line id="line13" class="line_4" style="x1:1104px; y1:6px; x2:1104px; y2:28px; "/>
  268. <input id="ipt_valuyy" ref="/root/send/satexampsn/valuyy" class="input_s_essential" inputtype="date" format="yyyy" style="left:100px; top:8px; width:85px; height:19px; ">
  269. <script type="javascript" ev:event="xforms-value-changed">
  270. <![CDATA[
  271. var instcd = cmb_instcd.value;
  272. rpvfComboInstCdList("cmb_instcd",ipt_valuyy.value);
  273. addComboItem( "cmb_instcd", "[-- 전체 --]", "", "above");
  274. cmb_instcd.value = instcd;
  275. ]]>
  276. </script>
  277. </input>
  278. <button id="btn_emplno" class="icon_search" style="left:875px; top:10px; width:16px; height:16px; ">
  279. <caption/>
  280. <script type="javascript" ev:event="DOMActivate">
  281. <![CDATA[
  282. var recv_list = "emplno,emplnm" ;
  283. rpbfOpenPopUpList("SPRPB00101", ipt_emplno, recv_list,"1","N");
  284. model.refresh();
  285. ]]>
  286. </script>
  287. </button>
  288. <input id="ipt_emplno" ref="/root/send/satexampsn/emplno" class="input_default" editable="true" style="left:785px; top:8px; width:87px; height:19px; ">
  289. <script type="javascript" ev:event="xforms-value-changed">
  290. <![CDATA[
  291. var recv_list = "emplno,emplnm" ;
  292. rpbfValidationCheck("EMPLNO", recv_list);
  293. model.refresh();
  294. ]]>
  295. </script>
  296. </input>
  297. <input id="ipt_emplnm" ref="/root/send/satexampsn/emplnm" class="input_default" editable="false" style="left:895px; top:8px; width:119px; height:19px; ">
  298. <script type="javascript" ev:event="xforms-value-changed">
  299. <![CDATA[
  300. var recv_list = "emplno,emplnm" ;
  301. rpbfValidationCheck("EMPLNM", recv_list);
  302. model.refresh();
  303. if (model.getValue(ipt_emplno.attribute("ref")).length > 0) {
  304. btn_search.dispatch("DOMActivate");
  305. }
  306. ]]>
  307. </script>
  308. </input>
  309. <input id="ipt_deptnm" ref="/root/send/satexampsn/deptnm" class="input_search" style="left:526px; top:8px; width:145px; height:19px; ">
  310. <script type="javascript" ev:event="xforms-value-changed">
  311. <![CDATA[
  312. misfValidationCheck("02", "", "deptcd,deptnm" );
  313. if (ipt_deptnm.label == "") {
  314. ipt_deptcd.value = "";
  315. }
  316. model.refresh();
  317. ]]>
  318. </script>
  319. </input>
  320. </group>
  321. <upload id="upload1" nodeset="/root/send/attach/file" ext="zip" filecount="5" filesize="41943040" validate="true" style="left:933px; top:50px; width:25px; height:20px; "/>
  322. <button id="btn_upload" class="btn2_letter5" style="left:1004px; top:49px; width:75px; height:19px; ">
  323. <caption>파일업로드</caption>
  324. <script type="javascript" ev:event="DOMActivate">
  325. <![CDATA[
  326. fExcelUpload();
  327. ]]>
  328. </script>
  329. </button>
  330. <datagrid id="grd_attach" nodeset="/root/send/attach" class="datagrid1" visibility="hidden" caption="File Name^File Size" colsep="^" colwidth="403, 93" dataheight="23" ellipsis="true" focuscolor="#b9e5fb" mergecellsfixedrows="bycolrec" rowheight="23" rowsep="|" style="left:670px; top:535px; width:505px; height:69px; ">
  331. <col ref="file" style="text-align:center; "/>
  332. <col ref="filesize" format="#,###" style="text-align:right; "/>
  333. </datagrid>
  334. <button id="btn_saveexcel" class="btn2_letter5" style="left:766px; top:49px; width:75px; height:19px; ">
  335. <caption>Excel저장</caption>
  336. <script type="javascript" ev:event="DOMActivate">
  337. <![CDATA[
  338. var fileName = window.fileDialog ("save", ",", false, "excel", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  339. if (fileName != "")
  340. {
  341. grd_satexampsnlist.saveExcel(fileName);
  342. window.exec(fileName);
  343. }
  344. ]]>
  345. </script>
  346. </button>
  347. </group>
  348. <!--<line id="line3" class="line_1" style="x1:0px; y1:67px; x2:1195px; y2:67px; "/>-->
  349. <group id="group4" style="left:0px; top:12px; width:1195px; height:27px; ">
  350. <button id="btn_cnfm" class="btn4_letter2" style="left:932px; top:3px; width:56px; height:22px; ">
  351. <caption>확정</caption>
  352. <script type="javascript" ev:event="DOMActivate">
  353. <![CDATA[
  354. model.setValue("/root/send/examcnfmyn/valuyy", ipt_valuyy.value);
  355. model.setValue("/root/send/examcnfmyn/instcd", cmb_instcd.value);
  356. model.setValue("/root/send/examcnfmyn/cnfmyn", "Y");
  357. submit("TXRPV02303");
  358. if (model.getValue(gvErrorMsgPath + "/type") != "error")
  359. {
  360. btn_search.dispatch("DOMActivate");
  361. }
  362. ]]>
  363. </script>
  364. </button>
  365. <button id="button5" class="btn4_letter3" style="left:1070px; top:3px; width:68px; height:22px; ">
  366. <caption>초기화</caption>
  367. </button>
  368. <button id="btn_save" class="btn4_letter2" style="left:1139px; top:3px; width:56px; height:22px; ">
  369. <caption>저장</caption>
  370. <script type="javascript" ev:event="DOMActivate">
  371. <![CDATA[
  372. misfSave("TXRPV02301");
  373. ]]>
  374. </script>
  375. </button>
  376. <button id="btn_cnfmcan" class="btn4_letter4" disabled="true" style="left:989px; top:3px; width:80px; height:22px; ">
  377. <caption>확정취소</caption>
  378. <script type="javascript" ev:event="DOMActivate">
  379. <![CDATA[
  380. model.setValue("/root/send/examcnfmyn/valuyy", ipt_valuyy.value);
  381. model.setValue("/root/send/examcnfmyn/instcd", cmb_instcd.value);
  382. model.setValue("/root/send/examcnfmyn/cnfmyn", "N");
  383. submit("TXRPV02303");
  384. if (model.getValue(gvErrorMsgPath + "/type") != "error")
  385. {
  386. btn_search.dispatch("DOMActivate");
  387. }
  388. ]]>
  389. </script>
  390. </button>
  391. <line id="line2" class="line_6" style="x1:0px; y1:25; x2:1195; y2:25; "/>
  392. </group>
  393. </xhtml:body>
  394. </xhtml:html>