SMABD00100_SBS식사메뉴관리.xfdl 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMANS00100" classname="SMANS00100_" inheritanceid="" position="absolute 0 0 1178 745" titletext="SBS 식사메뉴관리" oninit="SMANS00100__oninit" onload="SMANS00100__onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption1" text="SBS 식사메뉴관리" class="tit_1" position="absolute 0 0 160 23"/>
  8. <Div id="grp_sea" taborder="1" class="div_SA2" position="absolute 0 47 669 87" anchor="left top right">
  9. <Layouts>
  10. <Layout>
  11. <Edit id="ipt_dishnm3" taborder="1" autoselect="true" position="absolute 74 10 188 29" anchor="default" onkeydown="grp_sea_ipt_dishnm3_onkeydown"/>
  12. <Static id="caption50" text="식단명 :" class="search_name" position="absolute 7 12 72 29" anchor="default"/>
  13. <Shape id="line20" linetype="vertical" class="line_4" position="absolute 583 12 589 29" anchor="top right"/>
  14. <Button id="btn_search" taborder="3" text="조회" class="btn1" position="absolute 599 9 655 31" anchor="top right" onclick="grp_sea_btn_search_onclick"/>
  15. </Layout>
  16. </Layouts>
  17. </Div>
  18. <Grid id="grd_anbmmenu" taborder="2" binddataset="ds_main_anbmmenu" useinputpanel="false" position="absolute 0 116 376 716" autofittype="col" cellsizingtype="col" anchor="all" selecttype="multirow" oncellclick="grd_anbmmenu_oncellclick">
  19. <Formats>
  20. <Format id="default">
  21. <Columns>
  22. <Column size="20" band="left"/>
  23. <Column size="81"/>
  24. <Column size="183"/>
  25. </Columns>
  26. <Rows>
  27. <Row size="24" band="head"/>
  28. <Row size="24"/>
  29. </Rows>
  30. <Band id="head">
  31. <Cell/>
  32. <Cell col="1" text="식단코드"/>
  33. <Cell col="2" text="식단명"/>
  34. </Band>
  35. <Band id="body">
  36. <Cell celltype="head" expr="expr:currow + 1"/>
  37. <Cell col="1" displaytype="text" edittype="text" style="align:center middle;" text="bind:menuseq"/>
  38. <Cell col="2" displaytype="text" edittype="text" style="align:left middle;" text="bind:menunm"/>
  39. </Band>
  40. </Format>
  41. </Formats>
  42. </Grid>
  43. <Shape id="line14" class="line_10" position="absolute 0 111 376 117" anchor="left top right"/>
  44. <Static id="caption28" text="메뉴관리" class="tit_2" position="absolute 0 95 131 111"/>
  45. <Grid id="grd_antmmema" taborder="3" binddataset="ds_main_antmmena" autoenter="select" useinputpanel="false" cellsizingtype="col" autofittype="col" position="absolute 381 116 669 716" anchor="top right bottom">
  46. <Formats>
  47. <Format id="default">
  48. <Columns>
  49. <Column size="20" band="left"/>
  50. <Column size="81"/>
  51. <Column size="107"/>
  52. <Column size="135"/>
  53. </Columns>
  54. <Rows>
  55. <Row size="24" band="head"/>
  56. <Row size="24"/>
  57. </Rows>
  58. <Band id="head">
  59. <Cell/>
  60. <Cell col="1" text="재료코드"/>
  61. <Cell col="2" text="재료명"/>
  62. <Cell col="3" text="원산지"/>
  63. </Band>
  64. <Band id="body">
  65. <Cell celltype="head" expr="expr:currow + 1"/>
  66. <Cell col="1" style="align:center middle;" text="bind:materseq"/>
  67. <Cell col="2" style="align:center middle;" text="bind:maternm"/>
  68. <Cell col="3" style="align:center middle;" text="bind:origin"/>
  69. </Band>
  70. </Format>
  71. </Formats>
  72. </Grid>
  73. <Static id="caption2" text="메뉴 원산지" class="tit_2" position="absolute 382 95 513 111" anchor="top right"/>
  74. <Shape id="line00" class="line_10" position="absolute 382 111 669 117" anchor="top right"/>
  75. <Div id="grp_sea2" taborder="4" class="div_SA2" position="absolute 680 47 1176 87" anchor="top right">
  76. <Layouts>
  77. <Layout>
  78. <Edit id="ipt_maternm" taborder="6" autoselect="true" position="absolute 83 10 221 29" anchor="default" onkeydown="grp_sea2_ipt_maternm_onkeydown"/>
  79. <Static id="caption3" text="재료명 :" class="search_name" position="absolute 16 12 81 29" anchor="default"/>
  80. <Shape id="line20" linetype="vertical" class="line_4" position="absolute 229 12 235 29" anchor="default"/>
  81. <Button id="btn_search2" taborder="7" text="조회" class="btn1" position="absolute 247 9 303 31" anchor="default" onclick="grp_sea2_btn_search2_onclick"/>
  82. <Button id="btn_matersave" taborder="10" text="저장" class="btn4" position="absolute 308 9 364 31" wordwrap="word" anchor="default" onclick="grp_sea2_btn_matersave_onclick"/>
  83. </Layout>
  84. </Layouts>
  85. </Div>
  86. <Grid id="grd_anbmmate" taborder="5" binddataset="ds_main_anbmmate" useinputpanel="false" cellsizingtype="col" autofittype="col" position="absolute 680 116 1176 716" anchor="top right bottom" oncelldblclick="grd_anbmmate_oncelldblclick" selecttype="multirow">
  87. <Formats>
  88. <Format id="default">
  89. <Columns>
  90. <Column size="20" band="left"/>
  91. <Column size="81"/>
  92. <Column size="107"/>
  93. <Column size="135"/>
  94. </Columns>
  95. <Rows>
  96. <Row size="24" band="head"/>
  97. <Row size="24"/>
  98. </Rows>
  99. <Band id="head">
  100. <Cell/>
  101. <Cell col="1" text="재료코드"/>
  102. <Cell col="2" text="재료명"/>
  103. <Cell col="3" text="원산지"/>
  104. </Band>
  105. <Band id="body">
  106. <Cell celltype="head" expr="expr:currow + 1"/>
  107. <Cell col="1" displaytype="text" edittype="text" style="align:center middle;" text="bind:materseq"/>
  108. <Cell col="2" displaytype="text" edittype="text" style="align:center middle;" text="bind:maternm"/>
  109. <Cell col="3" displaytype="text" edittype="text" style="align:center middle;" text="bind:origin"/>
  110. </Band>
  111. </Format>
  112. </Formats>
  113. </Grid>
  114. <Shape id="line01" class="line_10" position="absolute 681 111 1176 117" anchor="top right"/>
  115. <Static id="caption00" text="원산지" class="tit_2" position="absolute 681 95 812 111" anchor="top right"/>
  116. <Shape id="line02" class="line_1" position="absolute 672 47 679 711" linetype="vertical" anchor="top right bottom"/>
  117. <Button id="btn_save2" taborder="6" text="저장" wordwrap="word" class="btn4" position="absolute 613 717 669 739" anchor="right bottom" onclick="btn_save2_onclick"/>
  118. <Button id="btn_init" taborder="7" text="초기화" wordwrap="word" class="btn4" position="absolute 1109 717 1176 739" anchor="right bottom" onclick="btn_init_onclick"/>
  119. <Button id="btn_select" taborder="8" text="선택식작성" class="btn3" position="absolute 0 24 96 46" onclick="btn_select_onclick" enable="false"/>
  120. <Button id="btn_copy" taborder="9" text="식단복사" class="btn3" position="absolute 98 24 178 46" onclick="btn_copy_onclick" enable="false"/>
  121. <Button id="btn_cmt" taborder="10" text="원산지표시" class="btn3" position="absolute 262 24 358 46" onclick="btn_cmt_onclick" enableevent="true" enable="false"/>
  122. <Button id="btn_add" taborder="11" text="행추가" onclick="grp_sea_btn_add_onclick" class="btn2" position="absolute 268 89 321 111" anchor="top right"/>
  123. <Button id="btn_del" taborder="12" text="행삭제" class="btn2" position="absolute 323 89 376 111" anchor="top right" onclick="btn_del_onclick"/>
  124. <Button id="btn_add2" taborder="13" text="행추가" class="btn2" position="absolute 1068 89 1121 111" anchor="top right" onclick="btn_add2_onclick"/>
  125. <Button id="btn_del2" taborder="14" text="행삭제" class="btn2" position="absolute 1123 89 1176 111" anchor="top right" onclick="btn_del2_onclick"/>
  126. <Button id="btn_del3" taborder="15" text="행삭제" class="btn2" position="absolute 616 89 669 111" anchor="top right" onclick="btn_del3_onclick"/>
  127. <Button id="btn_save" taborder="16" text="저장" wordwrap="word" onclick="btn_save_onclick" class="btn4" position="absolute 320 717 376 739" anchor="right bottom"/>
  128. <Button id="btn_menu" taborder="17" text="메뉴관리" onclick="btn_menu_onclick" class="btn3" position="absolute 180 24 260 46" style="background:darkgoldenrod URL('theme://images/icon_link_N.png') left middle;border:1 solid black ;"/>
  129. </Layout>
  130. </Layouts>
  131. <Objects>
  132. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  133. <ColumnInfo>
  134. <Column id="menunm" type="STRING" size="256"/>
  135. <Column id="maternm" type="STRING" size="256"/>
  136. <Column id="instcd" type="STRING" size="256"/>
  137. </ColumnInfo>
  138. <Rows>
  139. <Row/>
  140. </Rows>
  141. </Dataset>
  142. <Dataset id="ds_main_anbmmenu" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  143. <ColumnInfo>
  144. <Column id="menunm" type="STRING" size="256"/>
  145. <Column id="menuseq" type="STRING" size="256"/>
  146. </ColumnInfo>
  147. </Dataset>
  148. <Dataset id="ds_main_antmmena" firefirstcount="0" firenextcount="0" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  149. <ColumnInfo>
  150. <Column id="materseq" type="STRING" size="256"/>
  151. <Column id="maternm" type="STRING" size="256"/>
  152. <Column id="origin" type="STRING" size="256"/>
  153. <Column id="menuseq" type="STRING" size="256"/>
  154. </ColumnInfo>
  155. </Dataset>
  156. <Dataset id="ds_main_anbmmate" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  157. <ColumnInfo>
  158. <Column id="materseq" type="STRING" size="256"/>
  159. <Column id="maternm" type="STRING" size="256"/>
  160. <Column id="origin" type="STRING" size="256"/>
  161. </ColumnInfo>
  162. </Dataset>
  163. <Dataset id="ds_send2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  164. <ColumnInfo>
  165. <Column id="menuseq" type="STRING" size="256"/>
  166. <Column id="materseq" type="STRING" size="256"/>
  167. <Column id="maternm" type="STRING" size="256"/>
  168. <Column id="origin" type="STRING" size="256"/>
  169. <Column id="instcd" type="STRING" size="256"/>
  170. </ColumnInfo>
  171. <Rows>
  172. <Row/>
  173. </Rows>
  174. </Dataset>
  175. </Objects>
  176. <Bind>
  177. <BindItem id="item0" compid="grp_sea.ipt_dishnm3" propid="value" datasetid="ds_send" columnid="menunm"/>
  178. <BindItem id="item1" compid="grp_sea2.ipt_maternm" propid="value" datasetid="ds_send" columnid="maternm"/>
  179. </Bind>
  180. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  181. * System Name : 경대 의료정보시스템
  182. * Job Name : ast_dietxp -> SMANB00100
  183. * Creator : yjh
  184. * Make Date : 2017-09-28
  185. * Description :
  186. *---------------------------------------------------------------------------------------
  187. * Modify Date Modifier Modify Description
  188. *---------------------------------------------------------------------------------------
  189. * 2017-09-28 yjh TF->XP
  190. *
  191. *---------------------------------------------------------------------------------------
  192. ****************************************************************************************/
  193. include "com_commonxp::comm_main.xjs";
  194. function SMANS00100__oninit(obj:Form, e:InitEventInfo)
  195. {
  196. frmf_initForm(obj);
  197. }
  198. function SMANS00100__onload(obj:Form, e:LoadEventInfo)
  199. {
  200. grdf_initGrid(grd_anbmmate);
  201. grdf_setRowTypeIcon(grd_anbmmate, 0);
  202. grdf_initGrid(grd_anbmmenu);
  203. grdf_setRowTypeIcon(grd_anbmmenu, 0);
  204. grdf_initGrid(grd_antmmema);
  205. grdf_setRowTypeIcon(grd_antmmema, 0);
  206. ds_send.setColumn(0, "instcd", sysf_getUserInfo("dutplceinstcd"));
  207. }
  208. function grp_sea_ipt_dishnm3_onkeydown(obj:Edit, e:KeyEventInfo)
  209. {
  210. if(e.keycode == 13)
  211. {
  212. obj.updateToDataset();
  213. grp_sea.btn_search.click();
  214. }
  215. }
  216. function grp_sea_btn_search_onclick(obj:Button, e:ClickEventInfo)
  217. {
  218. ds_main_antmmena.clearData();
  219. var oParam = {};
  220. oParam.id = "TRABD00100";
  221. oParam.service = "dietbaseapp.DietMenu";
  222. oParam.method = "reqGetSbsMenuList";
  223. oParam.inds = "req=ds_send";
  224. oParam.outds = "ds_main_anbmmenu=ret";
  225. oParam.async = false;
  226. //oParam.callback = "cf_TRANB00105";
  227. tranf_submit(oParam);
  228. }
  229. function grp_sea2_ipt_maternm_onkeydown(obj:Edit, e:KeyEventInfo)
  230. {
  231. if(e.keycode == 13)
  232. {
  233. obj.updateToDataset();
  234. grp_sea2.btn_search2.click();
  235. }
  236. }
  237. function grp_sea2_btn_search2_onclick(obj:Button, e:ClickEventInfo)
  238. {
  239. var oParam = {};
  240. oParam.id = "TRABD00101";
  241. oParam.service = "dietbaseapp.DietMenu";
  242. oParam.method = "reqGetSbsMenuList2";
  243. oParam.inds = "req=ds_send";
  244. oParam.outds = "ds_main_anbmmate=ret";
  245. oParam.async = false;
  246. //oParam.callback = "cf_TRANB00105";
  247. tranf_submit(oParam);
  248. }
  249. function grp_sea_btn_add_onclick(obj:Button, e:ClickEventInfo)
  250. {
  251. ds_main_anbmmenu.addRow();
  252. }
  253. function btn_save_onclick(obj:Button, e:ClickEventInfo)
  254. {
  255. var oParam = {};
  256. oParam.id = "TXABD00100";
  257. oParam.service = "dietbaseapp.DietMenu";
  258. oParam.method = "reqExeSbsMenuList";
  259. oParam.inds = "req=ds_main_anbmmenu:u";
  260. oParam.outds = "";
  261. oParam.async = false;
  262. oParam.callback = "cf_TXABD00100";
  263. tranf_submit(oParam);
  264. }
  265. function cf_TXABD00100(sSvcId, nErrorCode, sErrorMsg)
  266. {
  267. if(nErrorCode < 0) return;
  268. else grp_sea.btn_search.click();
  269. }
  270. function btn_del_onclick(obj:Button, e:ClickEventInfo)
  271. {
  272. var rows = grdf_getSelectedRows(grd_anbmmenu);
  273. for(var i = rows.length-1; i >= 0; i--)
  274. {
  275. var m_row = rows[i];
  276. if(ds_main_anbmmenu.getRowType(m_row) == 2)
  277. {
  278. ds_main_anbmmenu.deleteRow(m_row);
  279. }
  280. else
  281. {
  282. ds_main_anbmmenu.updatecontrol = false;
  283. ds_main_anbmmenu.setRowType(m_row, "d");
  284. ds_main_anbmmenu.updatecontrol = true;
  285. }
  286. }
  287. }
  288. function btn_init_onclick(obj:Button, e:ClickEventInfo)
  289. {
  290. ds_send.clearData();
  291. ds_send.addRow();
  292. ds_main_anbmmate.clearData();
  293. ds_main_anbmmenu.clearData();
  294. ds_main_antmmena.clearData();
  295. }
  296. function btn_add2_onclick(obj:Button, e:ClickEventInfo)
  297. {
  298. ds_main_anbmmate.addRow();
  299. }
  300. function btn_del2_onclick(obj:Button, e:ClickEventInfo)
  301. {
  302. var rows = grdf_getSelectedRows(grd_anbmmate);
  303. for(var i = rows.length-1; i >= 0; i--)
  304. {
  305. var m_row = rows[i];
  306. if(ds_main_anbmmate.getRowType(m_row) == 2)
  307. {
  308. ds_main_anbmmate.deleteRow(m_row);
  309. }
  310. else
  311. {
  312. ds_main_anbmmate.updatecontrol = false;
  313. ds_main_anbmmate.setRowType(m_row, "d");
  314. ds_main_anbmmate.updatecontrol = true;
  315. }
  316. }
  317. }
  318. function grp_sea2_btn_matersave_onclick(obj:Button, e:ClickEventInfo)
  319. {
  320. var oParam = {};
  321. oParam.id = "TXABD00101";
  322. oParam.service = "dietbaseapp.DietMenu";
  323. oParam.method = "reqExeSbsMenuList2";
  324. oParam.inds = "req=ds_main_anbmmate:u";
  325. oParam.outds = "";
  326. oParam.async = false;
  327. oParam.callback = "cf_TXABD00101";
  328. tranf_submit(oParam);
  329. }
  330. function cf_TXABD00101(sSvcId, nErrorCode, sErrorMsg)
  331. {
  332. if(nErrorCode < 0) return;
  333. else grp_sea2.btn_search2.click();
  334. }
  335. function btn_del3_onclick(obj:Button, e:ClickEventInfo)
  336. {
  337. var rows = grdf_getSelectedRows(grd_antmmema);
  338. for(var i = rows.length-1; i >= 0; i--)
  339. {
  340. var m_row = rows[i];
  341. if(ds_main_antmmena.getRowType(m_row) == 2)
  342. {
  343. ds_main_antmmena.deleteRow(m_row);
  344. }
  345. else
  346. {
  347. ds_main_antmmena.updatecontrol = false;
  348. ds_main_antmmena.setRowType(m_row, "d");
  349. ds_main_antmmena.updatecontrol = true;
  350. }
  351. }
  352. }
  353. function grd_anbmmenu_oncellclick(obj:Grid, e:GridClickEventInfo)
  354. {
  355. ds_send2.setColumn(0, "instcd", sysf_getUserInfo("dutplceinstcd"));
  356. ds_send2.setColumn(0, "menuseq", ds_main_anbmmenu.getColumn(ds_main_anbmmenu.rowposition, "menuseq"));
  357. var oParam = {};
  358. oParam.id = "TRABD00103";
  359. oParam.service = "dietbaseapp.DietMenu";
  360. oParam.method = "reqGetSbsMenuList3";
  361. oParam.inds = "req=ds_send2";
  362. oParam.outds = "ds_main_antmmena=ret";
  363. oParam.async = false;
  364. //oParam.callback = "cf_TRANB00105";
  365. tranf_submit(oParam);
  366. }
  367. function grd_anbmmate_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  368. {
  369. if(ds_main_anbmmate.getRowType(ds_main_anbmmate.rowposition)!= 2)
  370. {
  371. if(ds_main_anbmmenu.rowposition < 0)
  372. {
  373. sysf_messageBox("메뉴를 선택 하세요.");
  374. }
  375. else
  376. {
  377. for(var i = 0; i < ds_main_antmmena.rowcount; i++)
  378. {
  379. if(ds_main_antmmena.getColumn(i, "materseq") == ds_main_anbmmate.getColumn(ds_main_anbmmate.rowposition, "materseq"))
  380. {
  381. sysf_messageBox("선택된 재료가 있습니다.");
  382. return;
  383. }
  384. }
  385. var addRow = ds_main_antmmena.addRow();
  386. ds_main_antmmena.copyRow(addRow, ds_main_anbmmate, ds_main_anbmmate.rowposition);
  387. dsf_makeValue(ds_main_antmmena, "instcd", "string", sysf_getUserInfo("dutplceinstcd"), addRow);
  388. dsf_makeValue(ds_main_antmmena, "menuseq", "string", ds_main_anbmmenu.getColumn(ds_main_anbmmenu.rowposition, "menuseq"), addRow);
  389. dsf_makeValue(ds_main_antmmena, "menunm", "string", ds_main_anbmmenu.getColumn(ds_main_anbmmenu.rowposition, "menunm"), addRow);
  390. }
  391. }
  392. }
  393. function btn_save2_onclick(obj:Button, e:ClickEventInfo)
  394. {
  395. var oParam = {};
  396. oParam.id = "TXABD00103";
  397. oParam.service = "dietbaseapp.DietMenu";
  398. oParam.method = "reqExeSbsMenuList3";
  399. oParam.inds = "req=ds_main_antmmena:u";
  400. oParam.outds = "";
  401. oParam.async = false;
  402. oParam.callback = "cf_TXABD00103";
  403. tranf_submit(oParam);
  404. }
  405. function cf_TXABD00103(sSvcId, nErrorCode, sErrorMsg)
  406. {
  407. if(nErrorCode < 0) return;
  408. else grd_anbmmenu_oncellclick();
  409. }
  410. function btn_select_onclick(obj:Button, e:ClickEventInfo)
  411. {
  412. frmf_modal("SMABD00200", "SMABD00200", "", "", "", "", "", "", "", "", "", "", "M");
  413. }
  414. function btn_copy_onclick(obj:Button, e:ClickEventInfo)
  415. {
  416. frmf_modal("SMABD00300", "SMABD00300", "", "", "", "", "", "", "", "", "", "", "M");
  417. }
  418. function btn_cmt_onclick(obj:Button, e:ClickEventInfo)
  419. {
  420. frmf_modal("SMABD00400", "SMABD00400", "", "", "", "", "", "", "", "", "", "", "M");
  421. }
  422. ]]></Script>
  423. </Form>
  424. </FDL>