SMRTC00100_평가기준관리.xrw 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440
  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. <valueitemflaglist/>
  11. <valuegrdelist/>
  12. <valueitemlist/>
  13. </main>
  14. <send>
  15. <condition>
  16. <valueyy/>
  17. <valueflag/>
  18. <valueitemflagcd/>
  19. </condition>
  20. <save>
  21. <valueitemflaglist/>
  22. <valuegrdelist/>
  23. <valueitemlist/>
  24. </save>
  25. </send>
  26. <init/>
  27. <hidden>
  28. </hidden>
  29. <temp>
  30. <cdlist11>
  31. <R0301>
  32. <cdid>01</cdid>
  33. <cdnm>기본소양</cdnm>
  34. </R0301>
  35. <R0301>
  36. <cdid>02</cdid>
  37. <cdnm>기본술기</cdnm>
  38. </R0301>
  39. <R0301>
  40. <cdid>03</cdid>
  41. <cdnm>학구적태도</cdnm>
  42. </R0301>
  43. <R0301>
  44. <cdid>04</cdid>
  45. <cdnm>책임관념</cdnm>
  46. </R0301>
  47. </cdlist11>
  48. <cdlist12>
  49. <R0301>
  50. <cdid>01</cdid>
  51. <cdnm>인품</cdnm>
  52. </R0301>
  53. <R0301>
  54. <cdid>02</cdid>
  55. <cdnm>근무태도</cdnm>
  56. </R0301>
  57. <R0301>
  58. <cdid>03</cdid>
  59. <cdnm>책임관념</cdnm>
  60. </R0301>
  61. <R0301>
  62. <cdid>04</cdid>
  63. <cdnm>학구적태도</cdnm>
  64. </R0301>
  65. <R0301>
  66. <cdid>05</cdid>
  67. <cdnm>전공과목적성도</cdnm>
  68. </R0301>
  69. </cdlist12>
  70. <R0301/>
  71. <selvalulistflag>R0301</selvalulistflag>
  72. </temp>
  73. </root>
  74. </instance>
  75. <submission id="TRRTC00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/condition" resultref="/root/main/valueitemflaglist"/>
  76. <submission id="TRRTC00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/condition" resultref="/root/main/valuegrdelist"/>
  77. <submission id="TRRTC00103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/condition" resultref="/root/main/valueitemlist"/>
  78. <submission id="TXRTC00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" resultref="/root/temp"/>
  79. <submission id="TXRTC00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/condition" resultref="/root/temp"/>
  80. </model>
  81. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  82. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  83. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  84. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  85. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  86. <script type="javascript" src="../../../mis/tistrngeducbaseinfomngtweb/js/RTC001.js"/>
  87. <script type="javascript" ev:event="xforms-ready">
  88. <![CDATA[
  89. /* 위의 하드코딩한 코드는 사용하지 않음 */
  90. //사용자 권한
  91. fCheckAuth();
  92. // 그리드 초기화
  93. misfGridInit(grd_valueitemflaglist);
  94. misfGridInit(grd_valuegrdelist);
  95. misfGridInit(grd_valueitemlist);
  96. misfMsterDetailSet(grd_valueitemflaglist, null, "TRRTC00101", "Y");
  97. misfMsterDetailSet(grd_valuegrdelist, grd_valueitemflaglist, "TRRTC00102" ,"Y");
  98. misfMsterDetailSet(grd_valueitemlist, grd_valueitemflaglist, "TRRTC00103" ,"Y");
  99. //misfComboComCdListMulti("R0273,R0301,R0304", "cmb_valueflag,grd_valueitemflaglist.valueitemflagcd,grd_valueitemflaglist.valuegrdeappbase");
  100. misfComboComCdListMulti("R0273,R0304", "cmb_valueflag,grd_valueitemflaglist.valuegrdeappbase");
  101. /*if (getNodesetCount("/root/init/comcd/R0273/R0273[cdid='13']") == 0)
  102. {
  103. var cnt = getNodesetCount("/root/init/comcd/R0273/R0273");
  104. cnt++;
  105. model.makeValue("/root/init/comcd/R0273/R0273["+cnt+"]/cdid", "13");
  106. model.makeValue("/root/init/comcd/R0273/R0273["+cnt+"]/cdnm", "근무평가 종합성적");
  107. }*/
  108. var today = getCurrentDate();
  109. var cur_mm = parseInt(today.substring(4, 6));
  110. var cur_yy = parseInt(today.substring(0, 4));
  111. if (cur_mm >= 11)
  112. cur_yy++;
  113. model.setValue("/root/send/condition/valueyy", cur_yy);
  114. ipt_valueyy.refresh();
  115. model.refresh();
  116. ]]>
  117. </script>
  118. <script type="javascript">
  119. <![CDATA[
  120. //========================================================================================
  121. //버튼에 대한 화면 권한 체크(R : 읽기, X : 입력/수정/삭제, P : 출력)
  122. //========================================================================================
  123. function fCheckAuth() {
  124. btn_search.disabled = !checkAuth("R") ;
  125. btn_save.disabled = !checkAuth("X") ;
  126. btn_copy.disabled = !(checkAuth("X"));
  127. }
  128. ]]>
  129. </script>
  130. </xhtml:head>
  131. <xhtml:body style="margin-left:8; margin-right:8; ">
  132. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  133. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">평가기준관리</caption>
  134. </group>
  135. <group id="group2" scroll="auto" style="left:0px; top:38px; width:1195px; height:744px; ">
  136. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:10px; width:1195px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
  137. <button id="btn_search" class="btn1_letter2" style="left:1125px; top:16px; width:56px; height:22px; ">
  138. <caption>조회</caption>
  139. <script type="javascript" ev:event="DOMActivate">
  140. <![CDATA[
  141. //필수 입력 항목 체크(공통 ftHelper.js)
  142. if ( !isRequiredControls("ipt_valueyy", "cmb_valueflag") ) {
  143. return false;
  144. }
  145. /*
  146. if (cmb_valueflag.value == "11")
  147. {
  148. if (model.getValue("/root/temp/selvalulistflag") != "cdlist11")
  149. {
  150. model.copyNode("/root/temp/R0301", "/root/init/comcd/R0301");
  151. model.copyNode("/root/init/comcd/R0301", "/root/temp/cdlist11");
  152. model.setValue("/root/temp/selvalulistflag", "cdlist11");
  153. }
  154. }
  155. else if (cmb_valueflag.value == "12")
  156. {
  157. if (model.getValue("/root/temp/selvalulistflag") != "cdlist12")
  158. {
  159. model.copyNode("/root/temp/R0301", "/root/init/comcd/R0301");
  160. model.copyNode("/root/init/comcd/R0301", "/root/temp/cdlist12");
  161. model.setValue("/root/temp/selvalulistflag", "cdlist12");
  162. }
  163. }
  164. else
  165. {
  166. if (model.getValue("/root/temp/selvalulistflag") != "R0301")
  167. {
  168. model.copyNode("/root/init/comcd/R0301", "/root/temp/R0301");
  169. model.setValue("/root/temp/selvalulistflag", "R0301");
  170. }
  171. }
  172. */
  173. // 등급별 점수
  174. submit("TRRTC00101");
  175. misfMsterDetailRetrieve();
  176. ]]>
  177. </script>
  178. </button>
  179. <line id="line13" class="line_4" style="x1:1110px; y1:16px; x2:1110px; y2:38px; "/>
  180. <caption id="cap_valueyy" class="search_name" style="left:15px; top:19px; width:85px; height:17px; ">년 도 :</caption>
  181. <line id="line9" class="line_1" style="x1:0px; y1:70; x2:590px; y2:70; "/>
  182. <datagrid id="grd_valueitemflaglist" nodeset="/root/main/valueitemflaglist" caption="평가구분코드^평가구분명^배점^점수환산기준^만점^유효여부" colsep="^" colwidth="100, 144, 68, 100, 58, 70, 0, 0" dataheight="25" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" style="left:0px; top:74px; width:590px; height:660px; ">
  183. <col ref="valueitemflagcd" type="input" _required="true"/>
  184. <col ref="valueitemflagnm" type="input" _required="true"/>
  185. <col ref="valuepnt" type="input" format="9999" maxlength="3" showmask="true" _required="true" style="text-align:center; "/>
  186. <col ref="valuegrdeappbase" type="combo" style="text-align:center; ">
  187. <choices>
  188. <itemset>
  189. <label/>
  190. <value/>
  191. </itemset>
  192. </choices>
  193. </col>
  194. <col imemode="disabled" ref="perfscore" type="input" format="9999" showmask="true" style="text-align:center; "/>
  195. <col ref="useyn" type="combo" style="text-align:center; ">
  196. <choices>
  197. <item>
  198. <label>유효</label>
  199. <value>Y</value>
  200. </item>
  201. <item>
  202. <label>무효</label>
  203. <value>N</value>
  204. </item>
  205. </choices>
  206. </col>
  207. <col ref="valueflag" visibility="hidden"/>
  208. <col ref="valueyy" visibility="hidden"/>
  209. <script type="javascript" ev:event="onrowchanged">
  210. <![CDATA[
  211. // 평가구분코드
  212. model.setValue("/root/send/condition/valueitemflagcd", grd_valueitemflaglist.valueMatrix( grd_valueitemflaglist.row, grd_valueitemflaglist.colRef("valueitemflagcd") ) );
  213. // 등급별 점수
  214. submit("TRRTC00102");
  215. // 평가항목
  216. submit("TRRTC00103");
  217. // model.refresh();
  218. grd_valueitemflaglist.dispatch("onmouseup");
  219. ]]>
  220. </script>
  221. <script type="javascript" ev:event="onclick">
  222. <![CDATA[
  223. /* if ( grd_valueitemflaglist.valueMatrix(grd_valueitemflaglist.row,grd_valueitemflaglist.colRef("valuegrdeappbase")) == "3" ) {
  224. grd_valueitemflaglist.colDisabled(4) = false;
  225. } else {
  226. grd_valueitemflaglist.colDisabled(4) = true;
  227. grd_valueitemflaglist.valueMatrix(grd_valueitemflaglist.row,grd_valueitemflaglist.colRef("perfscore")) = "";
  228. }
  229. */
  230. ]]>
  231. </script>
  232. </datagrid>
  233. <input id="ipt_valueyy" ref="/root/send/condition/valueyy" class="input_search" style="left:100px; top:20; width:100px; height:19px; "/>
  234. <caption id="cap_valueflag" class="search_name" style="left:240px; top:19px; width:85px; height:17px; ">구 분 :</caption>
  235. <select1 id="cmb_valueflag" ref="/root/send/condition/valueflag" class="combo_s_essential" appearance="minimal" style="left:324px; top:18px; width:126px; height:19px; ">
  236. <choices>
  237. <itemset>
  238. <label/>
  239. <value/>
  240. </itemset>
  241. </choices>
  242. </select1>
  243. <datagrid id="grd_valuegrdelist" nodeset="/root/main/valuegrdelist" caption="평가구분코드^평가구분명^등급^석차비율from^석차비율to^점수^라벨^비고^caption1" colsep="^" colwidth="69, 80, 60, 90, 90, 70, 41, 100, 20, 100, 100" dataheight="25" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" style="left:600px; top:75px; width:595px; height:310px; ">
  244. <col ref="valueitemflagcd" visibility="hidden" style="text-align:center; "/>
  245. <col ref="valueitemflagnm" visibility="hidden" style="text-align:center; "/>
  246. <col ref="newvalueitemgrde" type="input" maxlength="2" _required="true" style="text-align:center; "/>
  247. <col ref="rankratefrom" type="input" style="text-align:center; "/>
  248. <col ref="rankrateto" type="input" style="text-align:center; "/>
  249. <col ref="valueitemscor" type="input" format="###.##" maxlength="3.2" showmask="true" _required="true" style="text-align:center; "/>
  250. <col ref="valueitemcnts" type="input" style="text-align:center; "/>
  251. <col ref="cmt" type="input"/>
  252. <col ref="valueflag" visibility="hidden"/>
  253. <col ref="valueyy" visibility="hidden"/>
  254. <col ref="valueitemgrde" visibility="hidden"/>
  255. </datagrid>
  256. <line id="line1" class="line_1" style="x1:600px; y1:70; x2:1195px; y2:70; "/>
  257. <caption id="caption2" class="tit_2" style="left:600px; top:55px; width:144px; height:13px; ">등급별 점수</caption>
  258. <caption id="caption3" class="tit_2" style="left:605px; top:395px; width:144px; height:13px; ">평가항목</caption>
  259. <line id="line2" class="line_1" style="x1:600px; y1:410px; x2:1195px; y2:410px; "/>
  260. <datagrid id="grd_valueitemlist" nodeset="/root/main/valueitemlist" caption="평가구분코드^평가구분명^평가항목명^평가항목코드^유효여부" colsep="^" colwidth="100, 80, 273, 100, 100, 0, 0, 0" dataheight="25" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" style="left:600px; top:415px; width:595px; height:319px; ">
  261. <col ref="valueitemflagcd" visibility="hidden" style="text-align:center; "/>
  262. <col ref="valueitemflagnm" visibility="hidden" style="text-align:center; "/>
  263. <col ref="valueitemnm" type="input" maxlength="30" _required="true"/>
  264. <col imemode="disabled" ref="valueitemcd" type="input" maxlength="5" showmask="true" _required="true" style="text-align:center; "/>
  265. <col ref="useyn" type="combo" style="text-align:center; ">
  266. <choices>
  267. <item>
  268. <label>유효</label>
  269. <value>Y</value>
  270. </item>
  271. <item>
  272. <label>무효</label>
  273. <value>N</value>
  274. </item>
  275. </choices>
  276. </col>
  277. <col ref="valueflag" visibility="hidden"/>
  278. <col ref="valueyy" visibility="hidden"/>
  279. <col ref="apptodd" visibility="hidden"/>
  280. </datagrid>
  281. <button id="btn_copy" class="btn2_letter8" style="left:988px; top:17px; width:108px; height:19px; ">
  282. <caption>전년도기준copy</caption>
  283. <script type="javascript" ev:event="DOMActivate">
  284. <![CDATA[
  285. //필수 입력 항목 체크(공통 ftHelper.js)
  286. if ( !isRequiredControls("ipt_valueyy", "cmb_valueflag") ) {
  287. return false;
  288. }
  289. var retMes = messageBox("전년도 Copy 하시겠습니까?", "Q999");
  290. if ( retMes != 6) {
  291. return;
  292. }
  293. misfSave("TXRTC00102");
  294. misfMsterDetailRetrieve();
  295. ]]>
  296. </script>
  297. </button>
  298. <button id="button106" class="btn2_letter3" style="left:482px; top:50; width:53px; height:19px; ">
  299. <caption>행추가</caption>
  300. <script type="javascript" ev:event="DOMActivate">
  301. <![CDATA[
  302. if ( model.getValue("/root/send/condition/valueyy") == "" || model.getValue("/root/send/condition/valueflag") == "" ) {
  303. messageBox("구분코드, 또는 년도값이 없습니다. 조회 후","C001");
  304. return;
  305. }
  306. model.setValue("/root/send/condition/valueitemflagcd", "");
  307. misfGridIUD(grd_valueitemflaglist, "A");
  308. grd_valueitemflaglist.valueMatrix( grd_valueitemflaglist.row, grd_valueitemflaglist.colRef("valueflag") ) = model.getValue("/root/send/condition/valueflag");
  309. grd_valueitemflaglist.valueMatrix( grd_valueitemflaglist.row, grd_valueitemflaglist.colRef("valueyy") ) = model.getValue("/root/send/condition/valueyy");
  310. grd_valueitemflaglist.valueMatrix( grd_valueitemflaglist.row, grd_valueitemflaglist.colRef("useyn") ) = "Y";
  311. ]]>
  312. </script>
  313. </button>
  314. <button id="button107" class="btn2_letter3" disabled="false" style="left:537px; top:50; width:53px; height:19px; ">
  315. <caption>행삭제</caption>
  316. <script type="javascript" ev:event="DOMActivate">
  317. <![CDATA[
  318. misfGridIUD(grd_valueitemflaglist, "D");
  319. model.refresh();
  320. ]]>
  321. </script>
  322. </button>
  323. <button id="button2" class="btn2_letter3" style="left:1075px; top:50; width:53px; height:19px; ">
  324. <caption>행추가</caption>
  325. <script type="javascript" ev:event="DOMActivate">
  326. <![CDATA[
  327. if ( grd_valueitemflaglist.valueMatrix( grd_valueitemflaglist.row, grd_valueitemflaglist.colRef("valueitemflagcd") ) == "" ) {
  328. messageBox("평가구분코드가 없습니다. 평가구분코드를 선택 후","C001");
  329. return;
  330. }
  331. misfGridIUD(grd_valuegrdelist, "A");
  332. grd_valuegrdelist.valueMatrix( grd_valuegrdelist.row, grd_valuegrdelist.colRef("valueflag") ) = model.getValue("/root/send/condition/valueflag");
  333. grd_valuegrdelist.valueMatrix( grd_valuegrdelist.row, grd_valuegrdelist.colRef("valueyy") ) = model.getValue("/root/send/condition/valueyy");
  334. grd_valuegrdelist.valueMatrix( grd_valuegrdelist.row, grd_valuegrdelist.colRef("valueitemflagcd") ) = model.getValue("/root/send/condition/valueitemflagcd");
  335. grd_valuegrdelist.col = grd_valuegrdelist.colRef("valueitemgrde");
  336. model.refresh();
  337. ]]>
  338. </script>
  339. </button>
  340. <button id="button3" class="btn2_letter3" style="left:1130px; top:50; width:53px; height:19px; ">
  341. <caption>행삭제</caption>
  342. <script type="javascript" ev:event="DOMActivate">
  343. <![CDATA[
  344. misfGridIUD(grd_valuegrdelist, "D");
  345. model.refresh();
  346. ]]>
  347. </script>
  348. </button>
  349. <button id="button4" class="btn2_letter3" style="left:1075px; top:388px; width:53px; height:19px; ">
  350. <caption>행추가</caption>
  351. <script type="javascript" ev:event="DOMActivate">
  352. <![CDATA[
  353. if ( grd_valueitemflaglist.valueMatrix( grd_valueitemflaglist.row, grd_valueitemflaglist.colRef("valueitemflagcd") ) == "" ) {
  354. messageBox("평가구분코드가 없습니다. 평가구분코드를 선택 후","C001");
  355. return;
  356. }
  357. misfGridIUD(grd_valueitemlist, "A");
  358. grd_valueitemlist.valueMatrix( grd_valueitemlist.row, grd_valueitemlist.colRef("valueflag") ) = model.getValue("/root/send/condition/valueflag");
  359. grd_valueitemlist.valueMatrix( grd_valueitemlist.row, grd_valueitemlist.colRef("valueyy") ) = model.getValue("/root/send/condition/valueyy");
  360. grd_valueitemlist.valueMatrix( grd_valueitemlist.row, grd_valueitemlist.colRef("valueitemflagcd") ) = model.getValue("/root/send/condition/valueitemflagcd");
  361. grd_valueitemlist.valueMatrix( grd_valueitemlist.row, grd_valueitemlist.colRef("useyn") ) = "Y";
  362. grd_valueitemlist.col = grd_valueitemlist.colRef("valueitemnm");
  363. model.refresh();
  364. ]]>
  365. </script>
  366. </button>
  367. <button id="button5" class="btn2_letter3" style="left:1130px; top:388px; width:53px; height:19px; ">
  368. <caption>행삭제</caption>
  369. <script type="javascript" ev:event="DOMActivate">
  370. <![CDATA[
  371. misfGridIUD(grd_valueitemlist, "D");
  372. model.refresh();
  373. ]]>
  374. </script>
  375. </button>
  376. </group>
  377. <group id="grp_btn" scroll="auto" style="left:0px; top:12px; width:1195px; height:27px; ">
  378. <button id="btn_save" class="btn4_letter2" style="left:1124px; top:3px; width:56px; height:22px; ">
  379. <caption>저장</caption>
  380. <script type="javascript" ev:event="DOMActivate">
  381. <![CDATA[
  382. var retMes = messageBox("저장 하시겠습니까?", "Q999");
  383. if ( retMes != 6) {
  384. return;
  385. }
  386. if(!checkRequiredColumn("grd_valueitemflaglist"))return;
  387. if(!checkRequiredColumn("grd_valuegrdelist"))return;
  388. if(!checkRequiredColumn("grd_valueitemlist"))return;
  389. /* 2007-11-12 평가구분-필기, 점수환산기준-비율 의 만점 필수입력체크 acwon수정 */
  390. var colref_valueitemflagcd = grd_valueitemflaglist.colref("valueitemflagcd");
  391. var colref_valuegrdeappbase = grd_valueitemflaglist.colref("valuegrdeappbase");
  392. var colref_perfscore = grd_valueitemflaglist.colref("perfscore");
  393. for (var i=0; i<grd_valueitemflaglist.rows; i++)
  394. {
  395. if (grd_valueitemflaglist.valueMatrix(i, colref_valueitemflagcd) == "06" && //필기
  396. grd_valueitemflaglist.valueMatrix(i, colref_valuegrdeappbase) == "3") // 비율
  397. {
  398. if (grd_valueitemflaglist.valueMatrix(i, colref_perfscore) == "")
  399. {
  400. messageBox("평가구분-필기, 점수환산기준-비율 의 만점은", "I003");
  401. return;
  402. }
  403. }
  404. }
  405. misfSave("TXRTC00101");
  406. ]]>
  407. </script>
  408. </button>
  409. <line id="line75" class="line_6" style="x1:0; y1:25; x2:1195; y2:25; "/>
  410. </group>
  411. </xhtml:body>
  412. </xhtml:html>