SMRAR01200_신용카드사용신청.xrw 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325
  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. <maindatalist>
  11. <instcd/>
  12. <lastupdtrid/>
  13. <requestdate/>
  14. <usebuseo/>
  15. <usebuseonm/>
  16. <seqno/>
  17. <adminjeamu/>
  18. <yskeum/>
  19. <silkeum/>
  20. <useplace/>
  21. <frdate/>
  22. <todate/>
  23. <requestcause/>
  24. <admindept/>
  25. <admindeptnm/>
  26. <pumno/>
  27. <cardno/>
  28. <receiptsabun/>
  29. <adminceo/>
  30. <lastupdtdt/>
  31. <fstrgstdt/>
  32. <attend/>
  33. </maindatalist>
  34. <printdata>
  35. <usebuseonm/>
  36. <yskeum/>
  37. <useplace/>
  38. <frdate/>
  39. <todate/>
  40. <requestcause/>
  41. <requestdate/>
  42. <admindeptnm/>
  43. </printdata>
  44. </main>
  45. <send>
  46. <instcd/>
  47. <frdate/>
  48. <todate/>
  49. </send>
  50. <hidden>
  51. <save/>
  52. </hidden>
  53. <init>
  54. <cardnolist>
  55. <label/>
  56. <value/>
  57. <jobposcd/>
  58. </cardnolist>
  59. </init>
  60. <temp/>
  61. </root>
  62. </instance>
  63. <script type="javascript" ev:event="xforms-ready">
  64. <![CDATA[
  65. model.removenode( "/root/main/maindatalist");
  66. model.setValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  67. var dt = new Date();
  68. var lastdt = new Date(dt.getYear(), dt.getMonth()+1, 0);
  69. ipt_frdate.value = getCurrentDate().substr(0, 6) + "01";
  70. ipt_todate.value = getCurrentDate().substr(0, 6) + lastdt.getDate();
  71. model.setFocus("ipt_frdate");
  72. submit("TRRAR01202");
  73. button2.dispatch("DOMActivate");
  74. model.refresh();
  75. ]]>
  76. </script>
  77. <script type="javascript">
  78. <![CDATA[
  79. //조회
  80. function fGetMainDataList() {
  81. /*
  82. if (opt_seqline.value == ""){
  83. messageBox("일자별 SEQ ","C001");
  84. return false;
  85. }*/
  86. return true;
  87. }
  88. //저장시 입력data checking logic..
  89. function fSetChackValue()
  90. {
  91. var updtdata = getGridUpdateData(grd_main);
  92. if (updtdata == ""){
  93. messageBox("변경된 데이터가","I004");
  94. return false;
  95. }
  96. var row = grd_main.row;
  97. for ( var i = grd_main.fixedRows; i <= grd_main.rows; i++ ) {
  98. if ( grd_main.rowStatus(i)=='1' || grd_main.rowStatus(i)=='2' ) { //insert, update..
  99. //alert(grd_main.valueMatrix(i, grd_main.colRef("yskeum")).length+" / "+grd_main.valueMatrix(i, grd_main.colRef("useplace")).length +" / "+grd_main.valueMatrix(i, grd_main.colRef("requestcause")).length );
  100. if ( grd_main.valueMatrix(i, grd_main.colRef("pumno")).length>0 ){
  101. alert("품의번호가 있는 예산 합의가 종료된 자료의 변경은 불가 합니다!!");
  102. grd_main.row = i;
  103. return false;
  104. }
  105. if ( grd_main.valueMatrix(i, grd_main.colRef("yskeum")).length==0 || grd_main.valueMatrix(i, grd_main.colRef("yskeum"))==0 ){
  106. messageBox("예상금액을" ,"C001");
  107. grd_main.row = i;
  108. grd_main.col = grd_main.colRef("yskeum");
  109. grd_main.editCell();
  110. return false;
  111. }
  112. if ( grd_main.valueMatrix(i, grd_main.colRef("useplace")).length==0 ){
  113. messageBox("사용처를" ,"C001");
  114. grd_main.row = i;
  115. grd_main.col = grd_main.colRef("useplace");
  116. grd_main.editCell();
  117. return false;
  118. }
  119. if ( grd_main.valueMatrix(i, grd_main.colRef("requestcause")).length==0 ){
  120. messageBox("신청사유를" ,"C001");
  121. grd_main.row = i;
  122. grd_main.col = grd_main.colRef("requestcause");
  123. grd_main.editCell();
  124. return false;
  125. }
  126. }
  127. }
  128. //rtn = messageBox("", "Q002");
  129. //if(rtn != "6" ) return false;
  130. return true;
  131. }
  132. //정렬 순서로 sort함.
  133. function fGetSortSeq(){
  134. var num = grd_main.rows- 1;
  135. if(rdo_seq.value == 1){
  136. grd_main.sort(1, 2, num, 2) = "asc";
  137. }else{
  138. grd_main.sort(1, 3, num, 3) = "asc";
  139. }
  140. model.refresh();
  141. }
  142. //출력물순서 저장
  143. //엑셀 입력
  144. function fInputExcel(pGrid) {
  145. var fileName = window.fileDialog("open", ",", false, "", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  146. if(fileName != "") {
  147. pGrid.loadExcel(fileName, 1, true);
  148. pGrid.deleteRow(1);
  149. for(i = 1; i < pGrid.rows; i++) {
  150. pGrid.rowStatus(i) = 1;
  151. }
  152. pGrid.refresh();
  153. }
  154. }
  155. ]]>
  156. </script>
  157. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  158. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  159. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  160. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  161. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  162. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  163. <submission id="TRRAR01201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/maindatalist"/>
  164. <submission id="TRRAR01202" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/init/cardnolist"/>
  165. <submission id="TXRAR01201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/hidden/save" resultref="/root/temp"/>
  166. </model>
  167. </xhtml:head>
  168. <xhtml:body guideline="1,1194;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  169. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  170. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:293px; height:14px; ">신용카드 사용신청</caption>
  171. <caption id="caption4" class="patient_text_black" style="left:922px; top:0px; width:272px; "/>
  172. </group>
  173. <group id="group3" scroll="auto" style="left:0px; top:40; width:1195px; height:744px; ">
  174. <group id="grp_sea" style="left:0px; top:10px; width:1195px; height:38px; vertical-align:top; ">
  175. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1195px; height:38; background-color:#fffbf2; border-color:#ffd799; "/>
  176. <button id="button2" class="btn1_letter2" navindex="4" style="left:1123px; top:9px; width:56px; height:22px; text-align:left; ">
  177. <caption>조회</caption>
  178. <script type="javascript" ev:event="DOMActivate">
  179. <![CDATA[
  180. if( fGetMainDataList() ) {
  181. //setAlertOn();
  182. submit("TRRAR01201");
  183. model.refresh();
  184. }
  185. ]]>
  186. </script>
  187. </button>
  188. <line id="line5" class="line_4" style="x1:1107px; y1:8px; x2:1107px; y2:30px; border-color:#ffe4bb; border-left-style:solid; "/>
  189. <input id="ipt_frdate" ref="/root/send/frdate" class="input_s_essential" inputtype="date" format="yyyy-mm-dd" style="left:100px; top:9px; width:100px; height:19px; "/>
  190. <caption id="caption3" class="search_name" style="left:11px; top:9px; width:89px; height:17px; ">신청일자 :</caption>
  191. <input id="ipt_todate" ref="/root/send/todate" class="input_s_essential" inputtype="date" format="yyyy-mm-dd" style="left:220px; top:9px; width:100px; height:19px; "/>
  192. <caption id="caption2" style="left:205px; top:10px; width:15px; height:20px; ">~</caption>
  193. </group>
  194. <line id="line3" class="line_1" style="x1:0px; y1:75px; x2:1194px; y2:75px; "/>
  195. <button id="button18" class="btn2_letter3" style="left:1137px; top:52px; width:53px; height:19px; ">
  196. <caption>행삭제</caption>
  197. <script type="javascript" ev:event="DOMActivate">
  198. <![CDATA[
  199. if ( grd_main.valueMatrix(grd_main.row, grd_main.colRef("adminjeamu")) =="Y" ) {
  200. alert("재무팀에서 확인된 자료의 삭제 불가 합니다!!");
  201. }else if ( grd_main.valueMatrix(grd_main.row, grd_main.colRef("pumno")).length > 0 ) {
  202. alert("품의 번호가 있는 자료는 삭제 불가 합니다!!");
  203. }else{
  204. misfGridIUD(grd_main, "D");
  205. model.refresh();
  206. btn_save.dispatch("DOMActivate");
  207. }
  208. ]]>
  209. </script>
  210. </button>
  211. <button id="btn_addrow" class="btn2_letter3" style="left:1080px; top:52px; width:53px; height:19px; ">
  212. <caption>행추가</caption>
  213. <script type="javascript" ev:event="DOMActivate">
  214. <![CDATA[
  215. var insert_cnt = 0;
  216. for ( var i = grd_main.fixedRows; i <= grd_main.rows; i++ ) {
  217. if ( grd_main.rowStatus(i)=='1' ) { //insert
  218. insert_cnt = insert_cnt + 1 ;
  219. }
  220. }
  221. if ( insert_cnt > 0) {
  222. alert("카드사용신청은 한번에 1건식 처리 가능합니다.\n\n1건만 저장 후 다시 해 주세요");
  223. }else{
  224. misfGridIUD(grd_main, "A");
  225. grd_main.valueMatrix(grd_main.row, grd_main.colRef("instcd")) = getUserInfo("dutplceinstcd");
  226. grd_main.valueMatrix(grd_main.row, grd_main.colRef("lastupdtrid")) = getUserInfo("userid"); //사용자
  227. grd_main.valueMatrix(grd_main.row, grd_main.colRef("receiptsabun")) = getUserInfo("userid"); //카드수령자
  228. grd_main.valueMatrix(grd_main.row, grd_main.colRef("usebuseo")) = getUserInfo("dutplcecd");
  229. grd_main.valueMatrix(grd_main.row, grd_main.colRef("requestdate")) = getCurrentDate();
  230. if ( model.getValue("/root/init/cardnolist/jobposcd").length > 0 ) {
  231. grd_main.valueMatrix(grd_main.row, grd_main.colRef("admindept")) = getUserInfo("userid");
  232. }
  233. model.refresh();
  234. }
  235. ]]>
  236. </script>
  237. </button>
  238. <datagrid id="grd_main" nodeset="/root/main/maindatalist" caption="사용자^신청일자^사용부서^사용부서명^일련번호^재무확인^예상금액^실사용금액^사용처^사용시작^사용종료^신청사유^참석인원^부서장^품의번호^카드번호^카드수령자^instcd" colsep="^" colwidth="60, 80, 80, 100, 60, 60, 80, 80, 190, 100, 100, 260, 250, 60, 90, 140, 70, 0" ellipsis="true" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="16" rowsep="|" tooltip="true" style="left:0px; top:80px; width:1194px; height:635px; ">
  239. <col ref="lastupdtrid" style="left:106px; top:23px; width:128px; height:23px; text-align:center; "/>
  240. <col class="input_s_essential" ref="requestdate" type="input" format="yyyy-mm-dd" style="text-align:center; "/>
  241. <col ref="usebuseo" style="text-align:center; "/>
  242. <col ref="usebuseonm" style="text-align:left; vertical-align:middle; "/>
  243. <col ref="seqno" style="left:904px; top:23px; width:100px; height:23px; text-align:right; "/>
  244. <col checkvalue="Y,N" ref="adminjeamu" style="text-align:center; "/>
  245. <col class="input_s_essential" ref="yskeum" type="input" format="(-)#,###" style="text-align:right; "/>
  246. <col class="input_s_essential" ref="silkeum" type="input" format="(-)#,###" style="text-align:right; "/>
  247. <col class="input_s_essential" ref="useplace" type="input" style="text-align:left; "/>
  248. <col class="input_s_essential" ref="frdate" type="inputdate" format="yyyy-mm-dd" style="left:1099px; top:23px; width:100px; height:23px; text-align:left; "/>
  249. <col class="input_s_essential" ref="todate" type="inputdate" format="yyyy-mm-dd" style="text-align:left; "/>
  250. <col class="input_s_essential" ref="requestcause" type="input"/>
  251. <col class="input_s_essential" ref="attend" type="input"/>
  252. <col ref="admindept" style="text-align:center; "/>
  253. <col ref="pumno" style="text-align:center; "/>
  254. <col ref="cardno" style="left:1418px; top:23px; width:185px; height:23px; text-align:left; "/>
  255. <col ref="receiptsabun" style="text-align:center; "/>
  256. <col ref="instcd" style="left:1619px; top:23px; width:60px; height:23px; "/>
  257. <script type="javascript" ev:event="onaftersort">
  258. <![CDATA[
  259. grd_main.gridToInstance();
  260. ]]>
  261. </script>
  262. </datagrid>
  263. <caption id="caption21" class="tit_2" style="left:5px; top:57px; width:131px; height:13px; ">출력 목록</caption>
  264. </group>
  265. <group id="group4" scroll="auto" style="left:0px; top:13; width:1195px; height:27px; ">
  266. <button id="btn_save" class="btn4_letter2" style="left:1132px; top:3px; width:56px; height:22px; ">
  267. <caption>저장</caption>
  268. <script type="javascript" ev:event="DOMActivate">
  269. <![CDATA[
  270. if( fSetChackValue() ) { //저장시 입력data checking logic..
  271. //입력하신 DATA를 저장 하시겠습니까?
  272. rtn = messageBox("Data변경이 일어났습니다.","Q002");
  273. if ( rtn == "6" ) {
  274. //입력,수정,삭제된 data save node 에 담기..
  275. model.setValue("/root/hidden/save",grd_main.getUpdateData());
  276. if(submit("TXRAR01201")) {
  277. button2.dispatch("DOMActivate");
  278. }
  279. }
  280. }
  281. ]]>
  282. </script>
  283. </button>
  284. <line id="line2" class="line_6" style="x1:0px; y1:25px; x2:1194px; y2:25px; "/>
  285. <button id="btn_print" class="btn4_letter2" visibility="visible" style="left:1070px; top:3px; width:56px; height:22px; ">
  286. <caption>출력</caption>
  287. <script type="javascript" ev:event="DOMActivate">
  288. <![CDATA[
  289. if (grd_main.row < 1 ) {
  290. alert("프린트할 Data를 선택해 주세요.");
  291. }else{
  292. model.setValue("/root/main/printdata/usebuseonm", grd_main.valueMatrix(grd_main.row, grd_main.colRef("usebuseonm")) );
  293. model.setValue("/root/main/printdata/yskeum", grd_main.valueMatrix(grd_main.row, grd_main.colRef("yskeum")) );
  294. model.setValue("/root/main/printdata/useplace", grd_main.valueMatrix(grd_main.row, grd_main.colRef("useplace")) );
  295. model.setValue("/root/main/printdata/frdate", grd_main.valueMatrix(grd_main.row, grd_main.colRef("frdate")) );
  296. model.setValue("/root/main/printdata/todate", grd_main.valueMatrix(grd_main.row, grd_main.colRef("todate")) );
  297. model.setValue("/root/main/printdata/requestcause", grd_main.valueMatrix(grd_main.row, grd_main.colRef("requestcause")) );
  298. model.setValue("/root/main/printdata/requestdate", grd_main.valueMatrix(grd_main.row, grd_main.colRef("requestdate")) );
  299. model.setValue("/root/main/printdata/admindeptnm", grd_main.valueMatrix(grd_main.row, grd_main.colRef("admindeptnm")) );
  300. model.refresh();
  301. exeReportPreview("SMRAR01201", "XMLSTR");
  302. }
  303. ]]>
  304. </script>
  305. </button>
  306. </group>
  307. </xhtml:body>
  308. </xhtml:html>