SMLIF00500_MIS시약조회.xfdl 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403
  1. <?xml version="1.0" encoding="utf-8" standalone="no"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMLIF00500" position="absolute 0 0 978 377" titletext="프린터정보_장비조회" onload="SMLIF00500_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div id="grp_sea" taborder="3" position="absolute 0 26 976 66" class="div_SA">
  8. <Layouts>
  9. <Layout>
  10. <Button id="btn_custsrch" taborder="0" class="icon_search" position="absolute 697 9 717 29" onclick="grp_sea_btn_custsrch_onclick"/>
  11. <Button id="btn_erasercust" taborder="1" class="icon_eraser" position="absolute 721 6 747 32" tooltiptext="부서초기" onclick="grp_sea_btn_erasercust_onclick"/>
  12. </Layout>
  13. </Layouts>
  14. </Div>
  15. <Shape id="line8" class="line_10" linetype="horizontal" position="absolute 0 86 595 92" style="" anchor="default"/>
  16. <Static id="caption20" class="tit_2" position="absolute 0 70 192 87" style="" text="시약조회 리스트"/>
  17. <Button id="btn_cancel" class="btn4" position="absolute 920 353 976 375" style="" text="취소" onclick="btn_cancel_onclick"/>
  18. <Button id="btn_select" class="btn4" position="absolute 860 353 916 375" style="" text="적용" onclick="btn_select_onclick"/>
  19. <Radio datacolumn="datacolumn" codecolumn="codecolumn" columncount="-1" rowcount="-1" id="rdo_cond" position="absolute 37 37 172 57" style="" onclick="rdo_cond_onclick" onitemchanged="rdo_cond_onitemchanged">
  20. <Dataset id="innerdataset">
  21. <ColumnInfo>
  22. <Column id="codecolumn" size="256"/>
  23. <Column id="datacolumn" size="256"/>
  24. </ColumnInfo>
  25. <Rows>
  26. <Row>
  27. <Col id="codecolumn">code</Col>
  28. <Col id="datacolumn">시약코드</Col>
  29. </Row>
  30. <Row>
  31. <Col id="codecolumn">name</Col>
  32. <Col id="datacolumn">시약명</Col>
  33. </Row>
  34. </Rows>
  35. </Dataset>
  36. </Radio>
  37. <Edit id="ipt_search" class="input1" taborder="1" position="absolute 188 37 324 56" style="" anchor="default" onkeypress="ipt_search_onkeypress" onkeydown="ipt_search_onkeydown" imemode="none" inputmode="normal" autoselect="true" useime="global"/>
  38. <Shape id="line13" class="line_4" linetype="vertical" position="absolute 890 35 893 57" style="" anchor="default"/>
  39. <Button id="btn_search" class="btn1" position="absolute 901 35 957 57" style="" text="조회" onclick="btn_search_onclick"/>
  40. <Grid id="grd_good" binddataset="ds_main_good_goodlist" visible="true" position="absolute 0 91 595 349" style="" oncelldblclick="grd_good_oncelldblclick" onkeypress="grd_good_onkeypress" onkeydown="grd_good_onkeydown" autofittype="col">
  41. <Formats>
  42. <Format id="default">
  43. <Columns>
  44. <Column size="80"/>
  45. <Column size="240"/>
  46. <Column size="130"/>
  47. <Column size="0"/>
  48. <Column size="130"/>
  49. </Columns>
  50. <Rows>
  51. <Row size="24" band="head"/>
  52. <Row size="24"/>
  53. </Rows>
  54. <Band id="head">
  55. <Cell text="시약코드"/>
  56. <Cell col="1" text="시약명"/>
  57. <Cell col="2" text="규격"/>
  58. <Cell col="3" text="거래처명"/>
  59. <Cell col="4" text="거래처명"/>
  60. </Band>
  61. <Band id="body">
  62. <Cell text="bind:goodcd"/>
  63. <Cell col="1" style="align:left;" text="bind:goodnm"/>
  64. <Cell col="2" style="align:left;" text="bind:goodspec"/>
  65. <Cell col="3" style="align:center top;padding:4 2 2 2;" text="bind:custnm" wordwrap="word"/>
  66. <Cell col="4" style="align:left;" text="bind:custnm"/>
  67. </Band>
  68. </Format>
  69. </Formats>
  70. </Grid>
  71. <Button id="btn_add" position="absolute 602 190 624 209" style="align:left;font:arial,12,bold;" onclick="btn_add_onclick" class="icon_right"/>
  72. <Button id="btn_delete" class="icon_left" position="absolute 602 220 624 239" style="font:arial,12,bold;" onclick="btn_delete_onclick"/>
  73. <Grid id="grd_select" binddataset="ds_main_select_selectlist" visible="true" position="absolute 630 91 976 349" style="" oncelldblclick="grd_select_oncelldblclick" onkeypress="grd_select_onkeypress" onkeydown="grd_select_onkeydown" autofittype="col">
  74. <Formats>
  75. <Format id="default">
  76. <Columns>
  77. <Column size="80"/>
  78. <Column size="240"/>
  79. </Columns>
  80. <Rows>
  81. <Row size="24" band="head"/>
  82. <Row size="24"/>
  83. </Rows>
  84. <Band id="head">
  85. <Cell text="시약코드"/>
  86. <Cell col="1" text="시약명"/>
  87. </Band>
  88. <Band id="body">
  89. <Cell text="bind:goodcd"/>
  90. <Cell col="1" style="align:left;" text="bind:goodnm"/>
  91. </Band>
  92. </Format>
  93. </Formats>
  94. </Grid>
  95. <Shape id="line1" class="line_10" linetype="horizontal" position="absolute 630 86 976 92" style="" anchor="default"/>
  96. <Static id="caption1" class="tit_2" position="absolute 631 70 831 87" style="" text="선택목록"/>
  97. <Static id="caption2" class="search_name" position="absolute 392 38 464 55" style="align: middle;" text="거래처 :"/>
  98. <Edit id="opt_custnm" class="output" position="absolute 536 37 692 56" style="" anchor="default" readonly="true"/>
  99. <Edit id="ipt_custcd" class="output" taborder="2" position="absolute 469 37 529 56" style="" anchor="default" readonly="true"/>
  100. <Static id="caption6" text="MIS시약조회" class="tit_1" position="absolute 0 0 137 26"/>
  101. </Layout>
  102. </Layouts>
  103. <Objects>
  104. <Dataset id="ds_popdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  105. <ColumnInfo>
  106. <Column id="instcd" type="STRING" size="256"/>
  107. <Column id="mngtdeptcd" type="STRING" size="256"/>
  108. <Column id="mngtdeptnm" type="STRING" size="256"/>
  109. </ColumnInfo>
  110. </Dataset>
  111. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  112. <ColumnInfo>
  113. <Column id="hidden" type="STRING" size="256"/>
  114. </ColumnInfo>
  115. <Rows>
  116. <Row>
  117. <Col id="hidden"/>
  118. </Row>
  119. </Rows>
  120. </Dataset>
  121. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  122. <ColumnInfo>
  123. <Column id="goodcd" type="STRING" size="256"/>
  124. <Column id="goodnm" type="STRING" size="256"/>
  125. <Column id="custcd" type="STRING" size="256"/>
  126. <Column id="custnm" type="STRING" size="256"/>
  127. </ColumnInfo>
  128. <Rows>
  129. <Row>
  130. <Col id="goodcd"/>
  131. <Col id="goodnm"/>
  132. <Col id="custcd"/>
  133. <Col id="custnm"/>
  134. </Row>
  135. </Rows>
  136. </Dataset>
  137. <Dataset id="ds_temp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  138. <ColumnInfo>
  139. <Column id="temp" type="STRING" size="256"/>
  140. </ColumnInfo>
  141. <Rows>
  142. <Row>
  143. <Col id="temp"/>
  144. </Row>
  145. </Rows>
  146. </Dataset>
  147. <Dataset id="ds_main_good_goodlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  148. <ColumnInfo>
  149. <Column id="goodcd" type="STRING" size="256"/>
  150. <Column id="goodnm" type="STRING" size="256"/>
  151. <Column id="goodspec" type="STRING" size="256"/>
  152. <Column id="custnm" type="STRING" size="256"/>
  153. </ColumnInfo>
  154. </Dataset>
  155. <Dataset id="ds_main_select_selectlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  156. <ColumnInfo>
  157. <Column id="goodcd" type="STRING" size="256"/>
  158. <Column id="goodnm" type="STRING" size="256"/>
  159. <Column id="goodspec" type="STRING" size="256"/>
  160. <Column id="custnm" type="STRING" size="256"/>
  161. </ColumnInfo>
  162. </Dataset>
  163. <Dataset id="ds_main" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  164. <ColumnInfo/>
  165. </Dataset>
  166. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  167. <ColumnInfo>
  168. <Column id="searchcond" type="STRING" size="256"/>
  169. <Column id="searchtext" type="STRING" size="256"/>
  170. </ColumnInfo>
  171. <Rows>
  172. <Row>
  173. <Col id="searchcond"/>
  174. <Col id="searchtext"/>
  175. </Row>
  176. </Rows>
  177. </Dataset>
  178. </Objects>
  179. <Bind>
  180. <BindItem id="item0" compid="rdo_cond" propid="value" datasetid="ds_init" columnid="searchcond"/>
  181. <BindItem id="item1" compid="ipt_search" propid="value" datasetid="ds_init" columnid="searchtext"/>
  182. <BindItem id="item2" compid="opt_custnm" propid="value" datasetid="ds_send" columnid="custnm"/>
  183. <BindItem id="item3" compid="ipt_custcd" propid="value" datasetid="ds_send" columnid="custcd"/>
  184. </Bind>
  185. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  186. * System Name :
  187. * Job Name :
  188. * Creator :
  189. * Make Date : 2015-11-13
  190. * Description :
  191. *---------------------------------------------------------------------------------------
  192. * Modify Date Modifier Modify Description
  193. *---------------------------------------------------------------------------------------
  194. * 2015-11-13 Live Converter TF->XP
  195. *
  196. *---------------------------------------------------------------------------------------
  197. ****************************************************************************************/
  198. include "com_commonxp::comm_main.xjs";
  199. include "mis_miscommonxp::MIS.xjs";
  200. include "mis_humtrafactmngtxp::RPB001.xjs";
  201. //=======================================================================================
  202. // Event
  203. //---------------------------------------------------------------------------------------
  204. /****************************************************************************************
  205. * Components : Form
  206. * Description : 화면 처음 초기화시 폼초기화
  207. ****************************************************************************************/
  208. function SMLIF00500_onload(obj:Form, e:LoadEventInfo) {
  209. frmf_initForm(obj);
  210. grdf_initGrid(grd_good);
  211. grdf_initGrid(grd_select);
  212. grdf_setToolTipBind(grd_good);
  213. grdf_setToolTipBind(grd_select);
  214. //화면 초기값 setting
  215. rdo_cond.value = "name";
  216. ipt_search.setFocus();
  217. }
  218. /****************************************************************************************
  219. * Components : Button
  220. * Description : 취소
  221. ****************************************************************************************/
  222. function btn_cancel_onclick(obj:Button, e:ClickEventInfo) {
  223. opener.frmf_setParameter("SMLIF00500_rtn_selyn", "N");
  224. this.close();
  225. }
  226. /****************************************************************************************
  227. * Components : Button
  228. * Description : 선택
  229. ****************************************************************************************/
  230. function btn_select_onclick(obj:Button, e:ClickEventInfo) {
  231. //선택목록이 no rows 일 때
  232. if(ds_main_select_selectlist.rowcount == 0) {
  233. sysf_messageBox("선택된 시약코드가 없습니다. ", "E999", "");
  234. return;
  235. }
  236. //선택버튼을 click했는지 아닌지를 나타내는 구분값을 opener에 전달한다.
  237. opener.frmf_setParameter("SMLIF00500_rtn_selyn", "Y");
  238. opener.ds_popgood_goodlist.clearData();
  239. for(var i = 0; i < ds_main_select_selectlist.rowcount; i++) {
  240. opener.ds_popgood_goodlist.addRow();
  241. opener.ds_popgood_goodlist.setColumn( i, "goodcd", ds_main_select_selectlist.getColumn(i, "goodcd") );
  242. opener.ds_popgood_goodlist.setColumn( i, "goodnm", ds_main_select_selectlist.getColumn(i, "goodnm") );
  243. }
  244. this.close();
  245. }
  246. /****************************************************************************************
  247. * Components : Edit
  248. * Description : 조회조건 입력 후 조회
  249. ****************************************************************************************/
  250. function ipt_search_onkeydown(obj:Edit, e:KeyEventInfo) {
  251. if( e.keycode == 13 ) {
  252. obj.updateToDataset();
  253. btn_search.click();
  254. }
  255. }
  256. /****************************************************************************************
  257. * Components : Button
  258. * Description : 조회
  259. ****************************************************************************************/
  260. function btn_search_onclick(obj:Button, e:ClickEventInfo) {
  261. getReagentCdList();
  262. }
  263. function getReagentCdList()
  264. {
  265. //검색어를 입력하지 않았을 경우
  266. if( utlf_isNull(ipt_search.value) && utlf_isNull(ipt_custcd.value)) {
  267. sysf_messageBox("검색어를 입력하십시요", "I999", "");
  268. ipt_search.setFocus();
  269. return;
  270. }
  271. //조회조건 setting함
  272. if(rdo_cond.value == "code") {
  273. ds_send.setColumn( 0, "goodcd", ds_init.getColumn(0, "searchtext"));
  274. ds_send.setColumn( 0, "goodnm", "");
  275. }else{
  276. ds_send.setColumn( 0, "goodcd", "");
  277. ds_send.setColumn( 0, "goodnm", ds_init.getColumn(0, "searchtext"));
  278. }
  279. var oParam = {};
  280. oParam.id = "TRLIF00501";
  281. oParam.service = "diagtestbaseinfomngtapp.InterfaceTestBaseInfoMngt";
  282. oParam.method = "reqGetReagentCdList";
  283. oParam.inds = "req=ds_send";
  284. oParam.outds = "ds_main_good_goodlist=reagentlist";
  285. oParam.async = false;
  286. tranf_submit(oParam);
  287. //조회 결과가 없는 경우
  288. if(ds_main_good_goodlist.rowcount == 0) {
  289. ipt_search.setFocus();
  290. }
  291. }
  292. /****************************************************************************************
  293. * Components : Grid
  294. * Description : 우측이동(복사)
  295. ****************************************************************************************/
  296. function grd_good_oncelldblclick(obj:Grid, e:GridClickEventInfo) {
  297. btn_add.click();
  298. }
  299. function grd_good_onkeydown(obj:Grid, e:KeyEventInfo) {
  300. if(e.keycode == 13) btn_add.click();
  301. }
  302. /****************************************************************************************
  303. * Components : Button
  304. * Description : 우측이동(복사)
  305. ****************************************************************************************/
  306. function btn_add_onclick(obj:Button, e:ClickEventInfo) {
  307. var cRow = ds_main_good_goodlist.rowposition;
  308. if( cRow < 0 ) return;
  309. //동일한 물품코드가 선택목록에 이미 포함되어 있는지 확인 후, 없으면 선택목록에 추가한다.
  310. for(var i = 0; i < ds_main_select_selectlist.rowcount; i++) {
  311. if( ds_main_select_selectlist.getColumn(i, "goodcd") == ds_main_good_goodlist.getColumn(cRow, "goodcd") ) {
  312. sysf_messageBox("이미 선택된 시약코드입니다. ", "I999", "");
  313. return;
  314. }
  315. }
  316. var nRow = ds_main_select_selectlist.addRow(); //선택목록에 행추가
  317. ds_main_select_selectlist.setColumn(nRow, "goodcd", ds_main_good_goodlist.getColumn(cRow, "goodcd"));
  318. ds_main_select_selectlist.setColumn(nRow, "goodnm", ds_main_good_goodlist.getColumn(cRow, "goodnm"));
  319. }
  320. /****************************************************************************************
  321. * Components : Button
  322. * Description : 좌측이동(삭제)
  323. ****************************************************************************************/
  324. function btn_delete_onclick(obj:Button, e:ClickEventInfo) {
  325. var cRow = ds_main_select_selectlist.rowposition;
  326. if( cRow < 0 ) return;
  327. ds_main_select_selectlist.deleteRow(cRow); //선택된 행을 삭제
  328. }
  329. /****************************************************************************************
  330. * Components : Grid
  331. * Description : 좌측이동(삭제)
  332. ****************************************************************************************/
  333. function grd_select_oncelldblclick(obj:Grid, e:GridClickEventInfo) {
  334. btn_delete.click();
  335. }
  336. function grd_select_onkeydown(obj:Grid, e:KeyEventInfo) {
  337. if(e.keycode == 13) btn_delete.click();
  338. }
  339. /****************************************************************************************
  340. * Components : Radio
  341. * Description : 조회조건 변경
  342. ****************************************************************************************/
  343. function rdo_cond_onitemchanged(obj:Radio, e:ItemChangeEventInfo)
  344. {
  345. //검색어 부분으로 focus 옮김
  346. ipt_search.setFocus();
  347. if(ds_init.getColumn(0, "searchcond") == "code"){
  348. ipt_search.imemode = "alpha";
  349. }else{
  350. ipt_search.imemode = "hangul";
  351. }
  352. }
  353. function grp_sea_btn_custsrch_onclick(obj:Button, e:ClickEventInfo)
  354. {
  355. var sCustCd = "";
  356. var sCustNm = "";
  357. var sReturn = frmf_modal("SMLIF00600","SMLIF00600", null, null, 1, 200, 200, null, null, null, null, null, "M");
  358. sCustCd = sReturn.custcd;
  359. sCustNm = sReturn.custnm;
  360. if(utlf_isNull(sCustCd)) {
  361. return;
  362. }
  363. ds_send.setColumn(0, "custcd", sCustCd);
  364. ds_send.setColumn(0, "custnm", sCustNm);
  365. }
  366. function grp_sea_btn_erasercust_onclick(obj:Button, e:ClickEventInfo)
  367. {
  368. ds_send.setColumn(0, "custcd", "");
  369. ds_send.setColumn(0, "custnm", "");
  370. }
  371. ]]></Script>
  372. </Form>
  373. </FDL>