SPRSO20700_창고별물품코드조회(다중선택)(경북대).xrw 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  3. <xhtml:html xmlns:ex="http://www.comsquare.co.kr/xforms/excel" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:ms="urn:schemas-microsoft-com:xslt" xmlns:my="http://www.comsquare.co.kr/example" 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" xmlns:cs="http://www.comsquare.co.kr/xforms">
  4. <xhtml:head>
  5. <xhtml:title>창고별 물품코드 조회 (다중선택)</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <good>
  11. <goodlist/>
  12. </good>
  13. <select>
  14. <selectlist/>
  15. </select>
  16. </main>
  17. <send>
  18. <instcd/>
  19. <wareflag/>
  20. <basedd/>
  21. <goodcd/>
  22. <goodnm/>
  23. </send>
  24. <init>
  25. <searchcond/>
  26. <searchtext/>
  27. </init>
  28. <hidden/>
  29. <temp/>
  30. <popdata>
  31. <instcd/>
  32. <wareflag/>
  33. <basedd/>
  34. <returntype/>
  35. </popdata>
  36. </root>
  37. </instance>
  38. <script type="javascript" ev:event="xforms-ready">
  39. <![CDATA[
  40. misfGridInit(grd_good);
  41. misfGridInit(grd_select);
  42. misfMsterDetailSet(grd_good, null, "TRRSO20301" ,"N");
  43. //처음 창이 열릴 때, 코드에 check되어 있으므로, alphabet 이 입력되도록 한다.
  44. ipt_search.attribute("imemode") = "alpha";
  45. //화면 초기값 setting
  46. rdo_cond.value = "코드";
  47. //Opener로부터 받은 parameter값을 조회조건으로 setting함
  48. model.setValue("/root/send/instcd", model.getValue("/root/popdata/instcd"));
  49. model.setValue("/root/send/wareflag", model.getValue("/root/popdata/wareflag"));
  50. //2012.09.17 박준범 - 물품마스터 조회 기준일자 추가
  51. model.setValue("/root/send/basedd", model.getValue("/root/popdata/basedd"));
  52. model.setFocus("ipt_search");
  53. ]]>
  54. </script>
  55. <submission id="TRRSO20301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/good"/>
  56. </model>
  57. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  58. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  59. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  60. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  61. </xhtml:head>
  62. <xhtml:body pagewidth="1000" pageheight="400">
  63. <line id="line8" class="line_1" style="x1:10px; y1:72px; x2:605px; y2:72px; "/>
  64. <caption id="caption20" class="tit_2" style="left:11px; top:57px; width:184px; height:14px; ">조회결과</caption>
  65. <shape id="roundrect2" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:10px; top:10px; width:975px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
  66. <button id="btn_cancel" class="btn4_letter2" style="left:926px; top:365px; width:56px; height:22px; ">
  67. <caption>취소</caption>
  68. <script type="javascript" ev:event="DOMActivate">
  69. <![CDATA[
  70. //선택버튼을 click했는지 아닌지를 나타내는 구분값을 opener에 전달한다.
  71. opener.model.setValue("/root/popgood/selectyn", "N");
  72. window.close();
  73. ]]>
  74. </script>
  75. </button>
  76. <button id="btn_select" class="btn4_letter2" style="left:866px; top:365px; width:56px; height:22px; ">
  77. <caption>반영</caption>
  78. <script type="javascript" ev:event="DOMActivate">
  79. <![CDATA[
  80. //선택목록이 no rows 일 때
  81. if(grd_select.rows == 1) {
  82. messageBox("선택된 물품코드가 없습니다. ", "E999", "");
  83. return;
  84. }
  85. //선택버튼을 click했는지 아닌지를 나타내는 구분값을 opener에 전달한다.
  86. opener.model.setValue("/root/popgood/selectyn", "Y");
  87. /*
  88. //선택한 물품코드를 opener에 setting한다.
  89. opener.model.setValue("/root/popgood/goodcd", model.getValue(grd_good.nodeset + "[" + grd_good.row + "]/goodcd"));
  90. //opener에서 goodnm 도 함께 return 받고자 하는 경우에, opener에서 returntype을 2로 설정하여 본 화면을 call 하면 됨.(SMRSO21100 참조)
  91. if( model.getValue("/root/popdata/returntype") == "2" ) {
  92. opener.model.setValue("/root/popgood/goodnm", model.getValue(grd_good.nodeset + "[" + grd_good.row + "]/goodnm"));
  93. }
  94. */
  95. opener.model.removeNodeset("/root/popgood/goodlist");
  96. for(var i = grd_select.fixedRows; i < grd_select.rows; i++) {
  97. opener.model.makeValue( "/root/popgood/goodlist[" + i + "]/goodcd", grd_select.valueMatrix(i, grd_select.colRef("goodcd")) );
  98. }
  99. window.close();
  100. ]]>
  101. </script>
  102. </button>
  103. <select1 id="rdo_cond" ref="/root/init/searchcond" appearance="full" cols="2" overflow="visible" style="left:45px; top:20px; width:95px; height:20px; border-style:none; ">
  104. <choices>
  105. <item>
  106. <label>코드</label>
  107. <value>코드</value>
  108. </item>
  109. <item>
  110. <label>명칭</label>
  111. <value>명칭</value>
  112. </item>
  113. </choices>
  114. <script type="javascript" ev:event="onclick">
  115. <![CDATA[
  116. //검색어 부분으로 focus 옮김
  117. model.setFocus("ipt_search");
  118. //ipt_search.selBegin = 0;
  119. ]]>
  120. </script>
  121. </select1>
  122. <input id="ipt_search" ref="/root/init/searchtext" class="input1" navindex="1" imemode="alpha" style="left:139px; top:18px; width:136px; height:19px; ">
  123. <script type="javascript" ev:event="onkeypress">
  124. <![CDATA[
  125. if( event.keyCode == 13 ) {
  126. //btn_search.dispatch("DOMActivate");
  127. // --> 위의 코드를 사용하면 input에 입력된 값이 인식이 안됨. TrustForm bug 같습니다.
  128. // --> 대신, 아래 코드 사용하면 input의 값이 인식이 됨
  129. //input 에서 EnterKey 이벤트 인식시 아래 function을 사용하세요!!
  130. inputEnterKey("btn_search", "DOMActivate");
  131. }
  132. ]]>
  133. </script>
  134. </input>
  135. <line id="line13" class="line_4" style="x1:289px; y1:17px; x2:289px; y2:39px; "/>
  136. <button id="btn_search" class="btn1_letter2" style="left:300px; top:17px; width:56px; height:22px; ">
  137. <caption>조회</caption>
  138. <script type="javascript" ev:event="DOMActivate">
  139. <![CDATA[
  140. //검색어를 입력하지 않았을 경우
  141. if( ipt_search.value == "" ) {
  142. messageBox("검색어를 입력하십시요", "I999", "");
  143. model.setFocus("ipt_search");
  144. return;
  145. }
  146. //조회조건 setting함
  147. if(rdo_cond.value == "코드") {
  148. model.setValue("/root/send/goodcd", model.getValue("/root/init/searchtext"));
  149. model.setValue("/root/send/goodnm", "");
  150. }else{
  151. model.setValue("/root/send/goodcd", "");
  152. model.setValue("/root/send/goodnm", model.getValue("/root/init/searchtext"));
  153. }
  154. misfMsterDetailRetrieve();
  155. //조회 결과가 없는 경우
  156. if(grd_good.rows == 1) {
  157. model.setFocus("ipt_search");
  158. }
  159. ]]>
  160. </script>
  161. </button>
  162. <datagrid id="grd_good" nodeset="/root/main/good/goodlist" visibility="visible" caption="물품코드^물품명^규격^단위^BOX수량^" colwidth="77, 236, 153, 49, 60" mergecellsfixedrows="bycolrec" style="left:10px; top:77px; width:595px; height:278px; ">
  163. <col ref="goodcd" style="text-align:center; "/>
  164. <col ref="goodnm"/>
  165. <col ref="goodspec"/>
  166. <col ref="deliveunit" style="text-align:center; "/>
  167. <col ref="exchqty" format="#,###.##" style="text-align:right; "/>
  168. <script type="javascript" ev:event="ondblclick">
  169. <![CDATA[
  170. btn_add.dispatch("DOMActivate");
  171. ]]>
  172. </script>
  173. <script type="javascript" ev:event="onkeypress">
  174. <![CDATA[
  175. if(event.keyCode == 13) {
  176. btn_add.dispatch("DOMActivate");
  177. }
  178. ]]>
  179. </script>
  180. </datagrid>
  181. <button id="btn_add" class="btn2_letter2" style="left:610px; top:170px; width:42px; height:19px; font-size:12pt; font-weight:bold; text-align:left; ">
  182. <caption>→</caption>
  183. <script type="javascript" ev:event="DOMActivate">
  184. <![CDATA[
  185. if( grd_good.rows == grd_good.fixedRows ) return;
  186. //동일한 물품코드가 선택목록에 이미 포함되어 있는지 확인 후, 없으면 선택목록에 추가한다.
  187. for(var i = grd_select.fixedRows; i < grd_select.rows; i++) {
  188. if( grd_select.valueMatrix(i, grd_select.colRef("goodcd")) == grd_good.valueMatrix(grd_good.row, grd_select.colRef("goodcd")) ) {
  189. messageBox("이미 선택된 물품코드입니다. ", "I999", "");
  190. return;
  191. }
  192. }
  193. grd_select.addRow(); //선택목록에 행추가
  194. grd_select.valueMatrix( grd_select.rows-1, grd_select.colRef("goodcd") ) = grd_good.valueMatrix( grd_good.row,grd_select.colRef("goodcd") );
  195. grd_select.valueMatrix( grd_select.rows-1, grd_select.colRef("goodnm") ) = grd_good.valueMatrix( grd_good.row,grd_select.colRef("goodnm") );
  196. //grd_select.valueMatrix( grd_select.rows-1, grd_select.colRef("goodspec") ) = grd_good.valueMatrix( grd_good.row,grd_select.colRef("goodspec") );
  197. //grd_select.valueMatrix( grd_select.rows-1, grd_select.colRef("deliveunit") ) = grd_good.valueMatrix( grd_good.row,grd_select.colRef("deliveunit") );
  198. //grd_select.valueMatrix( grd_select.rows-1, grd_select.colRef("exchqty") ) = grd_good.valueMatrix( grd_good.row,grd_select.colRef("exchqty") );
  199. ]]>
  200. </script>
  201. </button>
  202. <button id="btn_delete" class="btn2_before" style="left:610px; top:200px; width:42px; height:19px; font-size:12pt; font-weight:bold; ">
  203. <caption>←</caption>
  204. <script type="javascript" ev:event="DOMActivate">
  205. <![CDATA[
  206. if( grd_select.rows == grd_select.fixedRows ) return;
  207. grd_select.deleteRow(grd_select.row); //선택된 행을 삭제
  208. ]]>
  209. </script>
  210. </button>
  211. <datagrid id="grd_select" nodeset="/root/main/select/selectlist" visibility="visible" caption="물품코드^물품명^규격^단위^BOX수량^" colwidth="77, 232, 153, 49, 60" mergecellsfixedrows="bycolrec" style="left:656px; top:77px; width:330px; height:278px; ">
  212. <col ref="goodcd" style="text-align:center; "/>
  213. <col ref="goodnm"/>
  214. <col ref="goodspec" visibility="hidden" style="left:313px; top:23px; width:153px; height:23px; "/>
  215. <col ref="deliveunit" visibility="hidden" style="text-align:center; "/>
  216. <col ref="exchqty" visibility="hidden" format="#,###.##" style="text-align:right; "/>
  217. <script type="javascript" ev:event="ondblclick">
  218. <![CDATA[
  219. btn_delete.dispatch("DOMActivate");
  220. ]]>
  221. </script>
  222. <script type="javascript" ev:event="onkeypress">
  223. <![CDATA[
  224. if(event.keyCode == 13) {
  225. btn_delete.dispatch("DOMActivate");
  226. }
  227. ]]>
  228. </script>
  229. </datagrid>
  230. <line id="line1" class="line_1" style="x1:656px; y1:72px; x2:986px; y2:72px; "/>
  231. <caption id="caption1" class="tit_2" style="left:656px; top:57px; width:184px; height:14px; ">선택목록</caption>
  232. </xhtml:body>
  233. </xhtml:html>