SMRSD00100_부서별 정량보충 기준량 관리.xrw 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625
  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. <reqdeptlist>
  11. <instcd/>
  12. <goodflag/>
  13. <reqdeptcd/>
  14. <reqdeptnm/>
  15. <lrgcd/>
  16. </reqdeptlist>
  17. <goodbaseqtylist>
  18. <instcd/>
  19. <lrgcd/>
  20. <mdlcd/>
  21. <smlcd/>
  22. <reqmthdnm/>
  23. <goodflag/>
  24. <goodflagnm/>
  25. <reqdeptcd/>
  26. <lrgnm/>
  27. <mdlnm/>
  28. <smlnm/>
  29. <goodcd/>
  30. <allsizespecid/>
  31. <goodnm/>
  32. <goodspec/>
  33. <goodmodel/>
  34. <prodcmpynm/>
  35. <purcunit/>
  36. <deliveunit/>
  37. <exchqty/>
  38. <ddavguseqty/>
  39. <basevol/>
  40. <basevolamt/>
  41. <purcunitcopy/>
  42. <stocqty/>
  43. <cmt/>
  44. <reqpackconcat/>
  45. <allsizeyn/>
  46. <oallsizespecid/>
  47. </goodbaseqtylist>
  48. <codelist>
  49. <allsizespecid/>
  50. <goodspec/>
  51. </codelist>
  52. </main>
  53. <send>
  54. <retvcond>
  55. <instcd/>
  56. <goodflag/>
  57. <reqdeptcd/>
  58. <reqdeptnm/>
  59. <lrgcd/>
  60. <lrgnm/>
  61. <instcdnm/>
  62. </retvcond>
  63. <reqdeptlist>
  64. <instcd/>
  65. <goodflag/>
  66. <reqdeptcd/>
  67. <lrgcd/>
  68. </reqdeptlist>
  69. <goodbaseqtylist/>
  70. <allsize>
  71. <goodcd/>
  72. <instcd/>
  73. <goodspec/>
  74. </allsize>
  75. </send>
  76. <init/>
  77. <hidden/>
  78. <temp/>
  79. </root>
  80. </instance>
  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="../../../mis/miscommonweb/js/MIS.js"/>
  84. <script type="javascript" src="../../../mis/miscommonweb/js/RSZ001.js"/>
  85. <script type="javascript" ev:event="xforms-ready">
  86. <![CDATA[
  87. fInitialize();
  88. misfGridInit(grd_reqdeptlist);
  89. misfGridInit(grd_goodbaseqtylist);
  90. // misfComboComCdList("Z0007", cmb_instcd); //기관코드
  91. // misfComboComCdListMulti("Z0007", cmb_instcd); //기관코드
  92. // misfComboComCdListMulti("R0025", cmb_goodflag); //권한별 물품구분
  93. // misfComboComCdList("R0025", cmb_goodflag); //권한별 물품구분
  94. // rszfComboComCdList("R0025", cmb_goodflag); //권한별 물품구분
  95. rszfUserGoodFlagList(cmb_goodflag,getUserInfo("userid"));
  96. // rszfUserInstList(cmb_instcd,getUserInfo("userid"));
  97. cmb_goodflag.select(0); //물품구분
  98. rszfLMSComboList(model.getValue(cmb_goodflag.attribute("ref")), "", "", "cmb_lrgcd", "", "L");
  99. /*
  100. misfComboComCdList("R0037", cmb_reqflag); //청구구분
  101. */
  102. misfMsterDetailSet(grd_reqdeptlist,null,"TRRSD00101","Y");
  103. misfMsterDetailSet(grd_goodbaseqtylist,grd_reqdeptlist,"TRRSD00102","Y");
  104. //화면 권한 설정
  105. btn_save.disabled = !(checkAuth("X"));
  106. btn_prt.disabled= !(checkAuth("P"));
  107. model.refresh();
  108. ]]>
  109. </script>
  110. <submission id="TRRSD00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/retvcond" resultref="/root/main/reqlist"/>
  111. <submission id="TRRSD00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdeptlist" resultref="/root/main/goodbaseqtylist"/>
  112. <submission id="TRRSD00281" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/allsize" resultref="/root/main/codelist"/>
  113. <submission id="TXRSD00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp"/>
  114. </model>
  115. <script type="javascript">
  116. <![CDATA[
  117. // 화면 open시와 초기화 버튼 클릭시 화면 초기화 기능을 수행한다.
  118. function fInitialize() {
  119. model.removeNodeset("/root/main/reqdeptlist");
  120. model.removeNodeset("/root/main/goodbaseqtylist");
  121. model.resetInstanceNode("/root/send");
  122. model.setValue(opt_instcd.attribute("ref") , getUserInfo("dutplceinstcd"));
  123. model.setValue(opt_instcdnm.attribute("ref") , getUserInfo("dutplceinstnm"));
  124. model.setValue(ipt_reqdeptcd.attribute("ref") , getUserInfo("dutplcecd"));
  125. model.setValue(ipt_reqdeptnm.attribute("ref") , getUserInfo("dutplcenm"));
  126. model.refresh();
  127. }
  128. // --------------------------------------------------
  129. // All Size 읽어오는 함수
  130. // --------------------------------------------------
  131. var vAllSizeCol = 0;
  132. var vAllSizeRow = 0;
  133. var vAllSizePath = "/root/main/codelist";
  134. var vGoodReqPath = "/root/main/goodbaseqtylist";
  135. function fAllSizeRead(pRow, pCol, pPos) {
  136. var iClickY = pPos - 100;
  137. vAllSizeCol = pCol;
  138. vAllSizeRow = pRow;
  139. if (iClickY > 375) iClickY = iClickY - 319;
  140. grp_allsize.attribute("top") = iClickY+ "px";
  141. grp_allsize.attribute("visibility") = "visible" ;
  142. model.setValue("/root/send/allsize/instcd", model.getValue(opt_instcd.attribute("ref" )));
  143. model.setValue("/root/send/allsize/goodcd", grd_goodbaseqtylist.valueMatrix(pRow, pCol-3) );
  144. submit("TRRSD00281");
  145. grp_allsize.refresh();
  146. }
  147. // All Size 선택
  148. // All Size 선택
  149. function fAllSizeSelect(pGrid) {
  150. grp_allsize.attribute("visibility") = "hidden" ;
  151. var vQty = "0";
  152. var vSize = "";
  153. var vSpec = "";
  154. var vModel = "";
  155. var vCheck = "";
  156. var vPath = "";
  157. var vTarget = "";
  158. var vSource = "";
  159. var vGoodcd = model.getValue(vGoodReqPath+"["+(vAllSizeRow)+"]/goodcd");
  160. for (var i = 1; i < grd_codelist.rows; i++) {
  161. if (model.getValue(vAllSizePath+"["+i+"]/chk") == "true") {
  162. vSize = model.getValue(vAllSizePath+"["+ i +"]/allsizespecid");
  163. vSpec = model.getValue(vAllSizePath+"["+ i +"]/goodspec" );
  164. vModel = model.getValue(vAllSizePath+"["+ i +"]/goodmodel" );
  165. vQty = model.getValue(vAllSizePath+"["+ i +"]/qty" );
  166. if (model.getValue(vGoodReqPath+"["+"[goodcd='"+ vGoodcd+"' and allsizespecid='"+vSize+"']" +"/goodcd") == "") {
  167. if (vCheck == "") {
  168. vCheck = "Y";
  169. vTarget = vGoodReqPath+"["+(vAllSizeRow)+"]" ;
  170. if (pGrid.rowStatus(vAllSizeRow) == 0)
  171. pGrid.rowStatus(vAllSizeRow) = 2 ;
  172. } else {
  173. misfGridIUD(pGrid,"A");
  174. addRow = pGrid.rows - pGrid.fixedRows;
  175. //fDefaultSetting(addRow);
  176. vTarget = pGrid.nodeset + "[" + addRow + "]/";
  177. vSource = vGoodReqPath + "[" + vAllSizeRow + "]/";
  178. fSettingGoodData(vTarget, vSource);
  179. pGrid.cellstyle("background-color" , addRow, 9) = "#FFFF00";
  180. }
  181. } else {
  182. vPath = vGoodReqPath+"["+"[goodcd='"+ vGoodcd+"' and allsizespecid='"+vSize+"']";
  183. }
  184. //
  185. //if (vQty == "") {
  186. /// vQty = "1";
  187. //}
  188. model.setValue(vTarget + "/allsizeyn" , "Y" );
  189. model.setValue(vTarget + "/allsizespecid" , vSize );
  190. model.setValue(vTarget + "/goodspec" , vSpec );
  191. model.setValue(vTarget + "/goodmodel" , vModel);
  192. model.setValue(vTarget + "/basevol" , "0" );
  193. model.setValue(vTarget + "/ddavguseqty" , "0" );
  194. //model.setValue(vTarget + "/basevol" , vQty );
  195. //model.setValue(vTarget + "/ddavguseqty" , vQty );
  196. }
  197. }
  198. pGrid.refresh();
  199. }
  200. //
  201. function fSettingGoodData(pTarget, pSource) {
  202. model.setValue(pTarget + "instcd" , model.getValue(pSource + "instcd" ));
  203. model.setValue(pTarget + "goodflag" , model.getValue(pSource + "goodflag" ));
  204. model.setValue(pTarget + "reqdeptcd" , model.getValue(pSource + "reqdeptcd" ));
  205. model.setValue(pTarget + "lrgcd" , model.getValue(pSource + "lrgcd" ));
  206. model.setValue(pTarget + "lrgnm" , model.getValue(pSource + "lrgnm" ));
  207. model.setValue(pTarget + "reqmthdnm" , model.getValue(pSource + "reqmthdnm" ));
  208. model.setValue(pTarget + "goodcd" , model.getValue(pSource + "goodcd" ));
  209. model.setValue(pTarget + "allsizespecid" , model.getValue(pSource + "allsizespecid" ));
  210. model.setValue(pTarget + "goodnm" , model.getValue(pSource + "goodnm" ));
  211. model.setValue(pTarget + "goodspec" , model.getValue(pSource + "goodspec" ));
  212. model.setValue(pTarget + "goodmodel" , model.getValue(pSource + "goodmodel" ));
  213. model.setValue(pTarget + "exchqty" , model.getValue(pSource + "exchqty" ));
  214. model.setValue(pTarget + "ddavguseqty" , model.getValue(pSource + "ddavguseqty" ));
  215. model.setValue(pTarget + "basevol" , model.getValue(pSource + "basevol" ));
  216. model.setValue(pTarget + "stocqty" , model.getValue(pSource + "stocqty" ));
  217. model.setValue(pTarget + "prodcmpynm" , model.getValue(pSource + "prodcmpynm" ));
  218. model.setValue(pTarget + "purcunit" , model.getValue(pSource + "purcunit" ));
  219. model.setValue(pTarget + "cmt" , model.getValue(pSource + "cmt" ));
  220. model.setValue(pTarget + "allsizeyn" , model.getValue(pSource + "allsizeyn" ));
  221. // model.setValue(pTarget + "oallsizespecid", model.getValue(pSource + "oallsizespecid"));
  222. }
  223. ]]>
  224. </script>
  225. </xhtml:head>
  226. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  227. <group id="grp_tle" style="left:0px; top:0px; width:1195px; height:13px; ">
  228. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:186px; height:14px; ">부서별 상비품 관리(구매)</caption>
  229. </group>
  230. <group id="grp_biz" scroll="auto" style="left:0px; top:38; width:1195px; height:744px; ">
  231. <group id="grp_sea" style="left:0px; top:10px; width:1195px; height:61px; vertical-align:top; ">
  232. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1195px; height:61px; background-color:#fffbf2; border-color:#ffd799; "/>
  233. <caption id="caption2" class="search_name" style="left:15px; top:9; width:89px; height:17px; ">기관코드 :</caption>
  234. <caption id="caption3" class="search_name" style="left:355px; top:35px; width:86px; height:17px; ">부 서 :</caption>
  235. <button id="btn_search" class="btn1_letter2" style="left:1125px; top:20px; width:56px; height:22px; ">
  236. <caption>조회</caption>
  237. <script type="javascript" ev:event="DOMActivate">
  238. <![CDATA[
  239. var updtdata = getGridUpdateData(grd_goodbaseqtylist);
  240. if ( updtdata != "") {
  241. var ret = messageBox("그리드에 작업 중인 내용이 있습니다. 조회 작업을","Q003");
  242. if (ret != 6) { // not OK
  243. return;
  244. }
  245. }
  246. //기관코드 및 물품청구 구분값 체크
  247. var null_check = opt_instcd.value;
  248. if( null_check=="") {
  249. messageBox("기관코드를","C002");
  250. return;
  251. null_check=cmb_goodflag.value;
  252. } else if(null_check=="") {
  253. messageBox("물품청구 구분","C002");
  254. return;
  255. }
  256. //청구부서 출력
  257. misfMsterDetailRetrieve();
  258. ]]>
  259. </script>
  260. </button>
  261. <select1 id="cmb_goodflag" ref="/root/send/retvcond/goodflag" class="combo_s_essential" appearance="minimal" style="left:100px; top:34px; width:165px; height:19px; ">
  262. <choices>
  263. <itemset>
  264. <label/>
  265. <value/>
  266. </itemset>
  267. </choices>
  268. <script type="javascript" ev:event="xforms-value-changed">
  269. <![CDATA[
  270. cmb_lrgcd.value='';
  271. rszfLMSComboList(model.getValue(cmb_goodflag.attribute("ref")), "", "", "cmb_lrgcd", "", "L");
  272. btn_search.dispatch("DOMActivate");
  273. ]]>
  274. </script>
  275. </select1>
  276. <input id="ipt_reqdeptcd" ref="/root/send/retvcond/reqdeptcd" class="input_search" style="left:439px; top:34px; width:100px; height:19px; ">
  277. <script type="javascript" ev:event="xforms-value-changed">
  278. <![CDATA[
  279. if(ipt_reqdeptcd.value.length == 0)
  280. ipt_reqdeptnm.value = "";
  281. else
  282. rszfValidationCheck("TRRPZ00201", "deptcodelist", "refcond,deptcd",
  283. "deptcd," + ipt_reqdeptcd.value, "", "reqdeptcd,reqdeptnm",
  284. ipt_reqdeptcd, "SPRPZ00200", "","");
  285. model.refresh();
  286. ]]>
  287. </script>
  288. </input>
  289. <button id="btn_reqdeptcd" class="icon_search" style="left:544px; top:36px; width:16px; height:16px; ">
  290. <caption/>
  291. <script type="javascript" ev:event="DOMActivate">
  292. <![CDATA[
  293. var recv_list = "reqdeptcd,reqdeptnm";
  294. misfOpenPopUpList("02", ipt_reqdeptcd,"",recv_list);
  295. model.refresh();
  296. ]]>
  297. </script>
  298. </button>
  299. <input id="ipt_reqdeptnm" ref="/root/send/retvcond/reqdeptnm" class="input_fix" appearance="input" style="left:564px; top:34px; width:210px; height:19px; ">
  300. <script type="javascript" ev:event="xforms-value-changed">
  301. <![CDATA[
  302. if(ipt_reqdeptnm.value.length == 0)
  303. ipt_reqdeptcd.value = "";
  304. else
  305. rszfValidationCheck("TRRPZ00201", "deptcodelist", "refcond,deptnm",
  306. "deptnm," + ipt_reqdeptnm.value, "", "reqdeptcd,reqdeptnm",
  307. ipt_reqdeptnm, "SPRPZ00200", "","");
  308. model.refresh();
  309. ]]>
  310. </script>
  311. </input>
  312. <caption id="caption7" class="search_name" style="left:15px; top:35; width:94px; height:17px; ">물품구분 :</caption>
  313. <caption id="caption8" class="search_name" style="left:355px; top:9px; width:89px; height:17px; ">대 분 류 :</caption>
  314. <line id="line3" class="line_4" style="x1:1110px; y1:9px; x2:1110px; y2:52px; border-color:#ffe4bb; border-left-style:solid; "/>
  315. <output id="opt_instcd" ref="/root/send/retvcond/instcd" class="output_fix" visibility="hidden" style="left:274px; top:12px; width:30px; height:19px; "/>
  316. <output id="opt_instcdnm" ref="/root/send/retvcond/instcdnm" class="output_fix" style="left:100px; top:11px; width:165px; height:19px; "/>
  317. <select1 id="cmb_lrgcd" ref="/root/send/retvcond/lrgcd" appearance="minimal" style="left:439px; top:10px; width:171px; height:19px; ">
  318. <choices>
  319. <itemset>
  320. <label/>
  321. <value/>
  322. </itemset>
  323. </choices>
  324. </select1>
  325. </group>
  326. <caption id="caption1" class="tit_2" style="left:5px; top:80px; width:157px; height:13px; ">부서</caption>
  327. <line id="line1" class="line_1" style="x1:306px; y1:95px; x2:1195px; y2:95px; "/>
  328. <caption id="caption4" class="tit_2" style="left:306px; top:80px; width:190px; height:13px; ">물품별 기준량</caption>
  329. <line id="line2" class="line_1" style="x1:0px; y1:95px; x2:300px; y2:95px; "/>
  330. <button id="btn_grdadd" class="btn2_letter3" style="left:1086px; top:74px; width:53px; height:19px; ">
  331. <caption>행추가</caption>
  332. <script type="javascript" ev:event="DOMActivate">
  333. <![CDATA[
  334. var rdlist_cur_row = grd_reqdeptlist.row;
  335. var rdlist_select_dept = model.getValue(grd_reqdeptlist.attribute("nodeset")+"["+rdlist_cur_row+"]/reqdeptcd");
  336. // if(rdlist_cur_row < 1) {
  337. if(rdlist_select_dept == "") {
  338. messageBox("좌측 목록에서 부서를 ","C002");
  339. } else {
  340. grd_goodbaseqtylist.addRow();
  341. var instcd, goodflag, reqdeptcd;
  342. instcd = grd_reqdeptlist.valueMatrix(rdlist_cur_row, grd_reqdeptlist.colRef("instcd"));
  343. goodflag = grd_reqdeptlist.valueMatrix(rdlist_cur_row, grd_reqdeptlist.colRef("goodflag"));
  344. reqdeptcd = grd_reqdeptlist.valueMatrix(rdlist_cur_row, grd_reqdeptlist.colRef("reqdeptcd"));
  345. var gbqlist_cur_row = grd_goodbaseqtylist.row;
  346. //행추가를 누를시 기간코드,청구구분,청구부서 값을 자동으로 Detail 그리드에 저장한다.
  347. model.setValue(grd_goodbaseqtylist.attribute("nodeset")+"["+gbqlist_cur_row+"]/instcd",instcd);
  348. model.setValue(grd_goodbaseqtylist.attribute("nodeset")+"["+gbqlist_cur_row+"]/goodflag",goodflag);
  349. model.setValue(grd_goodbaseqtylist.attribute("nodeset")+"["+gbqlist_cur_row+"]/reqdeptcd",reqdeptcd);
  350. model.refresh();
  351. }
  352. ]]>
  353. </script>
  354. </button>
  355. <button id="btn_grddel" class="btn2_letter3" style="left:1141px; top:74px; width:53px; height:19px; ">
  356. <caption>행삭제</caption>
  357. <script type="javascript" ev:event="DOMActivate">
  358. <![CDATA[
  359. misfGridIUD(grd_goodbaseqtylist,"D");
  360. model.refresh();
  361. ]]>
  362. </script>
  363. </button>
  364. <datagrid id="grd_reqdeptlist" nodeset="/root/main/reqdeptlist" allowuserresize="false" caption="기관코드^물품구분^대분류코드^부서코드^부서명" colsep="^" colwidth="0, 0, 0, 100, 158" dataheight="25" ellipsis="true" explorerbar="sortshow" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="25" rowsep="|" tooltip="true" style="left:0px; top:100px; width:300px; height:634px; ">
  365. <col ref="instcd" visibility="hidden"/>
  366. <col ref="goodflag" visibility="hidden"/>
  367. <col ref="lrgcd" visibility="hidden"/>
  368. <col class="input_essential" disabled="true" ref="reqdeptcd" type="inputbutton"/>
  369. <col class="output_fix" disabled="true" ref="reqdeptnm"/>
  370. <script type="javascript" ev:event="onrowchanged">
  371. <![CDATA[
  372. misfMsterDetailRetrieve();
  373. model.refresh();
  374. ]]>
  375. </script>
  376. <script type="javascript" ev:event="onbuttonclick">
  377. <![CDATA[
  378. if (grd_reqdeptlist.col == 4) {//부서코드 버튼을 눌렀을 때
  379. var recv_list = "reqdeptcd,reqdeptnm";
  380. misfOpenPopUpList("02", grd_reqdeptlist,"",recv_list);
  381. var cur_row = grd_reqdeptlist.row;
  382. var status = grd_reqdeptlist.valueMatrix(cur_row, grd_reqdeptlist.colRef("m"));
  383. if(status !="insert" && status !="delete") grd_reqdeptlist.addStatus(cur_row,"update");
  384. }
  385. ]]>
  386. </script>
  387. <script type="javascript" ev:event="onaftersort">
  388. <![CDATA[
  389. grd_reqdeptlist.gridToInstance();
  390. ]]>
  391. </script>
  392. </datagrid>
  393. <datagrid id="grd_goodbaseqtylist" nodeset="/root/main/goodbaseqtylist" allowuserresize="false" caption="기관코드^물품구분^부서코드^대분류코드^대분류^청구방법^물품코드^AllSize^물품명^규격^모델^환산수량^일평균수량^상비품량^청구^제조회사^포장단위^비고^AllSizeyn^OldAllZiseId" colsep="^" colwidth="0, 0, 0, 0, 70, 63, 90, 0, 151, 169, 70, 63, 70, 62, 50, 65, 65, 100, 100, 110" dataheight="25" ellipsis="true" explorerbar="sortshow" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" tooltip="true" style="left:306px; top:100px; width:889px; height:634px; ">
  394. <col ref="instcd" visibility="hidden" style="left:20px; top:23px; width:100px; height:23px; "/>
  395. <col ref="goodflag" visibility="hidden"/>
  396. <col ref="reqdeptcd" visibility="hidden"/>
  397. <col ref="lrgcd" visibility="hidden"/>
  398. <col disabled="true" ref="lrgnm"/>
  399. <col disabled="true" ref="reqmthdnm"/>
  400. <col class="input_essential" disabled="true" ref="goodcd" type="inputbutton"/>
  401. <col ref="allsizespecid" visibility="hidden"/>
  402. <col disabled="true" ref="goodnm"/>
  403. <col ref="goodspec" type="inputbutton"/>
  404. <col disabled="true" ref="goodmodel"/>
  405. <col disabled="true" ref="exchqty" style="text-align:center; "/>
  406. <col class="input_essential" ref="ddavguseqty" type="input" style="text-align:center; "/>
  407. <col class="input_essential" ref="basevol" type="input" style="text-align:center; "/>
  408. <!-- <col disabled="true" ref="purcunitcopy"/> -->
  409. <!-- 재고 체크박스
  410. <col class="output_fix" checkvalue="Y,N" disabled="true" ref="stocmngtflag" type="checkbox"/>
  411. -->
  412. <col disabled="true" ref="stocqty" style="text-align:center; "/>
  413. <col disabled="true" ref="prodcmpynm" style="left:925px; top:23px; width:140px; height:23px; "/>
  414. <col disabled="true" ref="purcunit" style="text-align:center; "/>
  415. <col ref="cmt" type="input"/>
  416. <col ref="allsizeyn" visibility="hidden"/>
  417. <col ref="oallsizespecid" visibility="hidden"/>
  418. <script type="javascript" ev:event="onbuttonclick">
  419. <![CDATA[
  420. if (grd_goodbaseqtylist.col == 7) {//물품코드 버튼을 눌렀을 때
  421. // var recv_list = "lrgnm,goodcd,goodnm,goodmodel,goodspec,prodcmpynm,purcunit,exchqty,stocmngtflag";
  422. var recv_list = "goodcd,goodnm,goodmodel,goodspec,prodcmpynm,purcunit,exchqty";
  423. //var send_list = model.getValue("/root/main/goodbaseqtylist/reqflag");
  424. //purcfOpenPopUpList("02", grd_goodbaseqtylist,"",recv_list, "goodflag");
  425. rszfOpenPopUpListByWndName(grd_goodbaseqtylist,"",recv_list,"SPRSD00210","instcd,goodflag","opt_instcd,cmb_goodflag", "Y");
  426. var cur_row = grd_goodbaseqtylist.row;
  427. var status = grd_goodbaseqtylist.valueMatrix(cur_row, grd_goodbaseqtylist.colRef("m"));
  428. if(status !="insert" && status !="delete") grd_goodbaseqtylist.addStatus(cur_row,"update");
  429. }
  430. if (grd_goodbaseqtylist.col == grd_goodbaseqtylist.colRef("goodspec") && grd_goodbaseqtylist.valueMatrix(grd_goodbaseqtylist.row , grd_goodbaseqtylist.colRef("allsizeyn")) == "Y" )
  431. {
  432. fAllSizeRead(grd_goodbaseqtylist.row ,grd_goodbaseqtylist.col, event.clientY);
  433. }
  434. ]]>
  435. </script>
  436. <script type="javascript" ev:event="onaftersort">
  437. <![CDATA[
  438. grd_goodbaseqtylist.gridToInstance();
  439. ]]>
  440. </script>
  441. </datagrid>
  442. <button id="btn_grddel2" class="btn2_letter3" style="left:245px; top:74px; width:53px; height:19px; ">
  443. <caption>행삭제</caption>
  444. <script type="javascript" ev:event="DOMActivate">
  445. <![CDATA[
  446. misfGridIUD(grd_reqdeptlist,"D");
  447. model.refresh();
  448. ]]>
  449. </script>
  450. </button>
  451. <button id="btn_grdadd2" class="btn2_letter3" style="left:190px; top:74px; width:53px; height:19px; ">
  452. <caption>행추가</caption>
  453. <script type="javascript" ev:event="DOMActivate">
  454. <![CDATA[
  455. if(opt_instcd.value == "") {
  456. messageBox("기관코드를","C002");
  457. } else if(cmb_goodflag.value == "") {
  458. messageBox("물품구분을","C002");
  459. } else {
  460. grd_reqdeptlist.addRow();
  461. var instcd, goodflag, reqdeptcd;
  462. instcd = opt_instcd.value;
  463. goodflag = cmb_goodflag.value;
  464. var cur_row = grd_reqdeptlist.row;
  465. //행추가를 누를시 기간코드,물품구분 값을 자동으로 부서리스트에 저장한다.
  466. model.setValue(grd_reqdeptlist.attribute("nodeset")+"["+cur_row+"]/instcd",instcd);
  467. model.setValue(grd_reqdeptlist.attribute("nodeset")+"["+cur_row+"]/goodflag",goodflag);
  468. }
  469. model.removeNodeset("/root/main/goodbaseqtylist");
  470. // misfMsterDetailRetrieve();
  471. model.refresh();
  472. ]]>
  473. </script>
  474. </button>
  475. <!--
  476. <button id="btn_gooddeptkeeplist" class="btn2_letter12" style="left:932px; top:48px; width:152px; height:19px; ">
  477. <caption>물품별 부서 보유현황 조회</caption>
  478. <script type="javascript" ev:event="DOMActivate">
  479. <![CDATA[
  480. // purcfOpenPopUpList("01", grd_goodbaseqtylist,"","","");
  481. ]]>
  482. </script>
  483. </button>
  484. -->
  485. <group id="grp_allsize" visibility="hidden" showeffect="slidepositive 500" style="left:505px; top:150px; width:364px; height:300px; ">
  486. <shape id="rectangle1" appearance="rectangle" style="left:0px; top:0px; width:362px; height:300px; border-color:#339966; border-width:2px; "/>
  487. <datagrid id="grd_codelist" nodeset="/root/main/codelist" class="grd_prodcmpylist" caption="C^ID^명칭^모델^수량" colsep="^" colwidth="30, 40, 161, 100, 51" dataheight="23" defaultrows="0" ellipsis="true" extendlastcol="false" rowheight="23" rowsep="|" selectionmode="free" tooltip="true" style="left:2px; top:40px; width:357px; height:257px; ">
  488. <col ref="chk" type="checkbox"/>
  489. <col ref="allsizespecid" style="text-align:center; "/>
  490. <col ref="goodspec"/>
  491. <col ref="goodmodel"/>
  492. <col ref="qty" type="input" visibility="hidden"/>
  493. <script type="javascript" ev:event="ondblclick">
  494. <![CDATA[
  495. //if (grd_codelist.isCell(event.target ) && grd_codelist.row >= grd_codelist.fixedRows ) {
  496. // fAllSizeSelect(grd_codelist.row) ;
  497. // btn_confirm.dispatch("DOMActivate");
  498. //}
  499. ]]>
  500. </script>
  501. <script type="javascript" ev:event="onaftersort">
  502. <![CDATA[
  503. grd_codelist.gridToInstance();
  504. ]]>
  505. </script>
  506. </datagrid>
  507. <button id="btn_confirm" class="btn4_letter2" style="left:285px; top:10px; width:56px; height:22px; ">
  508. <caption>확인</caption>
  509. <script type="javascript" ev:event="DOMActivate">
  510. <![CDATA[
  511. fAllSizeSelect(grd_goodbaseqtylist) ;
  512. ]]>
  513. </script>
  514. </button>
  515. </group>
  516. </group>
  517. <group id="group1" style="left:0px; top:12; width:1195px; height:27px; ">
  518. <line id="line17" class="line_6" style="x1:0px; y1:25px; x2:1195px; y2:25px; "/>
  519. <button id="btn_prt" class="btn6_letter2" visibility="hidden" style="left:0px; top:3px; width:56px; height:22px; ">
  520. <caption>출력</caption>
  521. </button>
  522. <button id="btn_scrnmove" class="btn3_letter4" visibility="hidden" style="left:57px; top:3px; width:80px; height:22px; ">
  523. <caption>화면이동</caption>
  524. </button>
  525. <button id="btn_save" class="btn4_letter2" style="left:1070px; top:3px; width:56px; height:22px; ">
  526. <caption>저장</caption>
  527. <script type="javascript" ev:event="DOMActivate">
  528. <![CDATA[
  529. var updtdata = getGridUpdateData(grd_goodbaseqtylist);
  530. if (updtdata == "" ) {
  531. messageBox("변경된 데이터가","I004");
  532. return;
  533. }
  534. var null_check1 = "";
  535. var null_chech2 = "";
  536. for(var i=1;i<=grd_goodbaseqtylist.rows-1;i++)
  537. {
  538. null_check1 = model.getValue(grd_goodbaseqtylist.attribute("nodeset")+"["+i+"]/ddavguseqty");
  539. null_check2 = model.getValue(grd_goodbaseqtylist.attribute("nodeset")+"["+i+"]/basevol");
  540. if(null_check1 =="") {
  541. messageBox("일평균수량","I003");
  542. return;
  543. } else if(null_check2 == "") {
  544. messageBox("기준량","I003");
  545. return;
  546. }
  547. }
  548. misfSave("TXRSD00101");
  549. misfMsterDetailRetrieve();
  550. model.refresh();
  551. ]]>
  552. </script>
  553. </button>
  554. <button id="btn_clear" class="btn4_letter3" style="left:1127px; top:3px; width:68px; height:22px; ">
  555. <caption>초기화</caption>
  556. <script type="javascript" ev:event="DOMActivate">
  557. <![CDATA[
  558. var updtdata = getGridUpdateData(grd_goodbaseqtylist);
  559. if (updtdata != "") {
  560. var ret = messageBox("그리드에 작업 중인 내용이 있습니다. 초기화 작업을","Q003");
  561. if (ret != 6) { // not OK
  562. return;
  563. }
  564. }
  565. fInitialize();
  566. ]]>
  567. </script>
  568. </button>
  569. </group>
  570. </xhtml:body>
  571. </xhtml:html>