SMRPB19500_평가기간관리.xrw 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  3. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  4. <xhtml:head>
  5. <xhtml:title>평가기간관리</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <codeinfo>
  11. <codelist>
  12. <grade/>
  13. <startymd/>
  14. <endymd/>
  15. <cmt/>
  16. <year/>
  17. </codelist>
  18. </codeinfo>
  19. </main>
  20. <send>
  21. <reqdata>
  22. <year/>
  23. </reqdata>
  24. </send>
  25. <senddata>
  26. <execdata>
  27. <codelist/>
  28. </execdata>
  29. </senddata>
  30. <popdata>
  31. <cdgrupid/>
  32. </popdata>
  33. <init/>
  34. </root>
  35. </instance>
  36. <script type="javascript" ev:event="xforms-ready">
  37. <![CDATA[
  38. model.removenode("/root/main/codeinfo/codelist");
  39. model.setValue("/root/send/reqdata/year", getCurrentDate().substr(0, 4));
  40. readfunc();
  41. model.refresh();
  42. ]]>
  43. </script>
  44. <script type="javascript" ev:event="xforms-model-destruct">
  45. <![CDATA[
  46. //window.close();
  47. ]]>
  48. </script>
  49. <submission id="TRRPB19501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/codeinfo"/>
  50. <submission id="TXRPB19501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/senddata/execdata" resultref="/root/hidden"/>
  51. </model>
  52. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  53. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  54. <script type="javascript" src="../../../ast/tumorelctweb/js/combolist.js"/>
  55. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  56. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  57. <script type="javascript">
  58. <![CDATA[
  59. function readfunc(){ // 해당 조건에 대한 사용자 권한내역을 조회한다.
  60. if (model.getValue("/root/send/reqdata/year") == ""){
  61. messageBox("평가년도를 입력한 후 조회하시기 바랍니다.", "E999", "");
  62. return;
  63. }
  64. model.removeNodeset("/root/main/codeinfo/codelist");
  65. btn_save.disabled = false;
  66. if (submit("TRRPB19501")){
  67. }
  68. model.refresh();
  69. }
  70. function datacheck(){
  71. var scdid1 = "";
  72. var scdid2 = "";
  73. for (var i = 1; i < datagrid1.rows; i ++){
  74. if (model.getValue("/root/main/codeinfo/codelist[" + i + "]/year") == ""){
  75. messageBox("평가년도는 필수 입력항목입니다.", "E999", "");
  76. return false;
  77. }
  78. if (model.getValue("/root/main/codeinfo/codelist[" + i + "]/startymd") == ""){
  79. messageBox("시작일자는 필수 입력항목입니다.", "E999", "");
  80. return false;
  81. }
  82. if (model.getValue("/root/main/codeinfo/codelist[" + i + "]/endymd") == ""){
  83. messageBox("종료일자는 필수 입력항목입니다.", "E999", "");
  84. return false;
  85. }
  86. scdid1 = model.getValue("/root/main/codeinfo/codelist[" + i + "]/grade");
  87. var k = i + 1;
  88. for (var j = k; j < datagrid1.rows; j++){
  89. scdid2 = model.getValue("/root/main/codeinfo/codelist[" + j + "]/grade");
  90. if (i != j){
  91. if (scdid1 == scdid2){
  92. messageBox(j + "번째에서 중복된 자료가 존재합니다", "E999", "");
  93. return false;
  94. }
  95. }
  96. }
  97. }
  98. return true;
  99. }
  100. function ExecData(){
  101. var update = getGridUpdateData(datagrid1);
  102. model.setValue("/root/senddata/execdata/codelist", update);
  103. if (submit("TXRPB19501")){
  104. readfunc();
  105. }
  106. }
  107. function isDate(str) { // 날짜 형식에 대한 적합여부 체크
  108. if (str == "") return true; // 빈건 체크안함
  109. if (trim(str) == "") return true; // 빈건 체크안함
  110. if (isNaN(parseInt(str))) return false; // 숫자가 아니면 false
  111. if (str.length != 8) return false; // 8자리(yyyymmdd)가 아니면 false
  112. var yy = new Number(str.substring(0, 4));
  113. var mm = new Number(str.substring(4, 6)) - 1;
  114. var dd = new Number(str.substring(6, 8));
  115. var date = new Date(yy, mm, dd);
  116. //alert(date.getFullYear() +"-" + (date.getMonth()+1) + "-" + date.getDate());
  117. if (yy != date.getFullYear() ||
  118. mm != date.getMonth() ||
  119. dd != date.getDate()) {
  120. return false; // 존재하지 않는 날짜
  121. }
  122. return true; // 존재하는 날짜
  123. }
  124. function trim(data){ // 문자에 대한 TRIM 작업
  125. return data.replace(/(^\s*)|(\s*$)/g, "");
  126. }
  127. ]]>
  128. </script>
  129. </xhtml:head>
  130. <xhtml:body pagewidth="885px" pageheight="580px" style="margin-left:8; margin-top:8; margin-right:8; margin-bottom:8; ">
  131. <caption id="caption1" class="tit_1" style="left:0px; top:0px; width:252px; height:14px; ">평가 기간 관리</caption>
  132. <shape id="rectangle1" appearance="roundrect" style="left:3px; top:18px; width:867px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
  133. <caption id="caption11" class="search_name" style="left:28px; top:26px; width:94px; height:17px; ">평가년도:</caption>
  134. <input id="input13" ref="/root/send/reqdata/year" class="input_search" format="yyyy" style="left:115px; top:25px; width:64px; height:19px; text-align:center; "/>
  135. <button id="btn_sea" class="btn1_letter2" style="left:797px; top:24px; width:56px; height:22px; ">
  136. <caption>조회</caption>
  137. <script type="javascript" ev:event="DOMActivate">
  138. <![CDATA[
  139. readfunc();
  140. ]]>
  141. </script>
  142. </button>
  143. <line id="line6" style="x1:687px; y1:24px; x2:687px; y2:46px; border-color:#ffe4bb; border-left-style:solid; "/>
  144. <line id="line7" class="line_1" style="x1:3px; y1:81px; x2:868px; y2:81px; "/>
  145. <datagrid id="datagrid1" nodeset="/root/main/codeinfo/codelist" caption="평가차수^시작일자^종료일자^비고^caption1" colsep="^" colwidth="101, 132, 131, 456, 39" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:3px; top:85px; width:867px; height:450px; ">
  146. <col disabled="true" ref="grade" type="combo" maxlength="10" style="text-align:center; ">
  147. <choices>
  148. <item>
  149. <label>1차평가</label>
  150. <value>1</value>
  151. </item>
  152. <item>
  153. <label>2차평가</label>
  154. <value>2</value>
  155. </item>
  156. <item>
  157. <label>3차평가</label>
  158. <value>3</value>
  159. </item>
  160. <item>
  161. <label>시용평가</label>
  162. <value>4</value>
  163. </item>
  164. <item>
  165. <label>평가기간</label>
  166. <value>9</value>
  167. </item>
  168. </choices>
  169. </col>
  170. <col ref="startymd" type="inputdate" format="yyyy-mm-dd" style="text-align:center; "/>
  171. <col ref="endymd" type="inputdate" format="yyyy-mm-dd" style="text-align:center; "/>
  172. <col ref="cmt" type="input"/>
  173. <col ref="year" visibility="hidden"/>
  174. <script type="javascript" ev:event="xforms-value-changed">
  175. <![CDATA[
  176. /*
  177. var scol = datagrid1.col;
  178. datagrid1.col = scol;
  179. datagrid1.dispatch("onentercell");
  180. datagrid1.editCell();
  181. */
  182. ]]>
  183. </script>
  184. <script type="javascript" ev:event="onaftersort">
  185. <![CDATA[
  186. datagrid1.gridToInstance();
  187. ]]>
  188. </script>
  189. </datagrid>
  190. <caption id="caption4" class="tit_2" style="left:3px; top:65px; width:113px; height:14px; ">기간정보</caption>
  191. <button id="btn_grdadd" class="btn2_letter3" style="left:759px; top:61px; width:53px; height:19px; ">
  192. <caption>행추가</caption>
  193. <script type="javascript" ev:event="DOMActivate">
  194. <![CDATA[
  195. if (model.getValue("/root/send/reqdata/year") == ""){
  196. messageBox("평가년도를 입력한 후 작업하시기 바랍니다.", "E999", "");
  197. return;
  198. }
  199. datagrid1.addRow();
  200. var irow = datagrid1.row;
  201. model.setValue("/root/main/codeinfo/codelist[" + irow + "]/year", model.getValue("/root/send/reqdata/year"));
  202. //model.setValue("/root/main/codeinfo/codelist[" + irow + "]/useyn", "Y");
  203. model.setFocus("datagrid1");
  204. datagrid1.row = irow;
  205. datagrid1.col = 1;
  206. //datagrid1.dispatch("onentercell");
  207. //datagrid1.editCell();
  208. datagrid1.refresh();
  209. ]]>
  210. </script>
  211. </button>
  212. <button id="btn_grddel" class="btn2_letter3" style="left:814px; top:61px; width:53px; height:19px; ">
  213. <caption>행삭제</caption>
  214. <script type="javascript" ev:event="DOMActivate">
  215. <![CDATA[
  216. datagrid1.deleteRow(datagrid1.row);
  217. ]]>
  218. </script>
  219. </button>
  220. <button id="button27" class="btn2_letter3" visibility="hidden" style="left:704px; top:61px; width:53px; height:19px; ">
  221. <caption>행복사</caption>
  222. </button>
  223. <button id="btn_save" class="btn4_letter2" style="left:816px; top:540px; width:56px; height:22px; ">
  224. <caption>저장</caption>
  225. <script type="javascript" ev:event="DOMActivate">
  226. <![CDATA[
  227. if (datacheck() == false){
  228. return;
  229. }
  230. ExecData();
  231. ]]>
  232. </script>
  233. </button>
  234. <line id="line1" class="line_3" style="x1:3px; y1:536px; x2:868px; y2:536px; "/>
  235. </xhtml:body>
  236. </xhtml:html>