SMANT01400_환자식단관리.xrw 61 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383
  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. <tab>
  11. <menuwrite>
  12. <list>
  13. <appdd/>
  14. <h_pridseq/>
  15. <mealflag/>
  16. <dishflag/>
  17. <h_appdd/>
  18. <h_mealflag/>
  19. <h_dishflag/>
  20. <ricedishnm/>
  21. <h_i_ricedishcd/>
  22. <h_o_ricedishcd/>
  23. <soupdishnm/>
  24. <h_i_soupdishcd/>
  25. <h_o_soupdishcd/>
  26. <kimchidishnm/>
  27. <h_i_kimchidishcd/>
  28. <h_o_kimchidishcd/>
  29. <sidedishnm1/>
  30. <h_i_sidedishcd1/>
  31. <h_o_sidedishcd1/>
  32. <sidedishnm2/>
  33. <h_i_sidedishcd2/>
  34. <h_o_sidedishcd2/>
  35. <sidedishnm3/>
  36. <h_i_sidedishcd3/>
  37. <h_o_sidedishcd3/>
  38. <etcdishnm1/>
  39. <h_i_etcdishcd1/>
  40. <h_o_etcdishcd1/>
  41. <etcdishnm2/>
  42. <h_i_etcdishcd2/>
  43. <h_o_etcdishcd2/>
  44. <etcdishnm3/>
  45. <h_i_etcdishcd3/>
  46. <h_o_etcdishcd3/>
  47. <etcdishnm4/>
  48. <h_i_etcdishcd4/>
  49. <h_o_etcdishcd4/>
  50. <etcdishnm5/>
  51. <h_i_etcdishcd5/>
  52. <h_o_etcdishcd5/>
  53. </list>
  54. <menuflag/>
  55. <ym/>
  56. </menuwrite>
  57. <menucopy>
  58. <list>
  59. <appdd/>
  60. <mealflag/>
  61. <dishflag/>
  62. <h_appdd/>
  63. <h_mealflag/>
  64. <h_dishflag/>
  65. <ricedishnm/>
  66. <h_ricedishcd/>
  67. <soupdishnm/>
  68. <h_soupdishcd/>
  69. <kimchidishnm/>
  70. <h_kimchidishcd/>
  71. <sidedishnm1/>
  72. <h_sidedishcd1/>
  73. <sidedishnm2/>
  74. <h_sidedishcd2/>
  75. <sidedishnm3/>
  76. <h_sidedishcd3/>
  77. <etcdishnm1/>
  78. <h_etcdishcd1/>
  79. <etcdishnm2/>
  80. <h_etcdishcd2/>
  81. <etcdishnm3/>
  82. <h_etcdishcd3/>
  83. <etcdishnm4/>
  84. <h_etcdishcd4/>
  85. <etcdishnm5/>
  86. <h_etcdishcd5/>
  87. </list>
  88. <menuflag/>
  89. <tofromdd/>
  90. <totodd/>
  91. </menucopy>
  92. <pridmenuwrite>
  93. <list>
  94. <pridseq/>
  95. <mealflag/>
  96. <dishflag/>
  97. <h_pridseq/>
  98. <h_mealflag/>
  99. <h_dishflag/>
  100. <ricedishnm/>
  101. <h_i_ricedishcd/>
  102. <h_o_ricedishcd/>
  103. <soupdishnm/>
  104. <h_i_soupdishcd/>
  105. <h_o_soupdishcd/>
  106. <kimchidishnm/>
  107. <h_i_kimchidishcd/>
  108. <h_o_kimchidishcd/>
  109. <sidedishnm1/>
  110. <h_i_sidedishcd1/>
  111. <h_o_sidedishcd1/>
  112. <sidedishnm2/>
  113. <h_i_sidedishcd2/>
  114. <h_o_sidedishcd2/>
  115. <sidedishnm3/>
  116. <h_i_sidedishcd3/>
  117. <h_o_sidedishcd3/>
  118. <etcdishnm1/>
  119. <h_i_etcdishcd1/>
  120. <h_o_etcdishcd1/>
  121. <etcdishnm2/>
  122. <h_i_etcdishcd2/>
  123. <h_o_etcdishcd2/>
  124. <etcdishnm3/>
  125. <h_i_etcdishcd3/>
  126. <h_o_etcdishcd3/>
  127. <etcdishnm4/>
  128. <h_i_etcdishcd4/>
  129. <h_o_etcdishcd4/>
  130. <etcdishnm5/>
  131. <h_i_etcdishcd5/>
  132. <h_o_etcdishcd5/>
  133. </list>
  134. <menuflag/>
  135. <ym/>
  136. <prid/>
  137. </pridmenuwrite>
  138. <nutrinfo>
  139. <list>
  140. <appdd/>
  141. <mealflag/>
  142. <dishflag/>
  143. <dishcd/>
  144. <dishnm/>
  145. <calr/>
  146. <water/>
  147. <prot/>
  148. <lipo/>
  149. <gluco/>
  150. <fiber/>
  151. <ash/>
  152. <calcium/>
  153. <phos/>
  154. <iron/>
  155. <sodium/>
  156. <potas/>
  157. <zinc/>
  158. <vita/>
  159. <ret/>
  160. <betacart/>
  161. <vitb1/>
  162. <vitb2/>
  163. <vitb6/>
  164. <vitc/>
  165. <vite/>
  166. <nia/>
  167. <folacd/>
  168. <chol/>
  169. </list>
  170. </nutrinfo>
  171. </tab>
  172. <common>
  173. <dishlist>
  174. <list>
  175. <dishcd/>
  176. <dishnm/>
  177. </list>
  178. </dishlist>
  179. <foodlist>
  180. <list>
  181. <foodcd/>
  182. <foodqty/>
  183. </list>
  184. </foodlist>
  185. </common>
  186. </main>
  187. <send>
  188. <searchitem>
  189. <menuwrite>
  190. <menuflag/>
  191. <ym/>
  192. </menuwrite>
  193. <menucopy>
  194. <menuflag/>
  195. <fromfromdd/>
  196. <fromtodd/>
  197. <tofromdd/>
  198. <totodd/>
  199. </menucopy>
  200. <pridmenuwrite>
  201. <menuflag/>
  202. <prid/>
  203. <ym/>
  204. </pridmenuwrite>
  205. <nutrinfo>
  206. <menuflag/>
  207. <fromdd/>
  208. <todd/>
  209. <dietstatscd/>
  210. </nutrinfo>
  211. </searchitem>
  212. <menuwrite>
  213. <list/>
  214. <menuflag/>
  215. <ym/>
  216. </menuwrite>
  217. <menucopy>
  218. <list/>
  219. <menuflag/>
  220. </menucopy>
  221. <pridmenuwrite>
  222. <list/>
  223. <menuflag/>
  224. <prid/>
  225. </pridmenuwrite>
  226. <dishlist>
  227. <cookflag/>
  228. <dishnm/>
  229. </dishlist>
  230. <foodlist>
  231. <dishcd/>
  232. <recipeflag/>
  233. </foodlist>
  234. <popup>
  235. <dishnm/>
  236. <trgtgrid/>
  237. <recipeflag/>
  238. </popup>
  239. </send>
  240. <send1>
  241. <list>
  242. <prid/>
  243. </list>
  244. </send1>
  245. <hidden>
  246. <ret>
  247. <count/>
  248. </ret>
  249. <menuwrite/>
  250. <menucopy>
  251. </menucopy>
  252. <pridmenuwrite/>
  253. <temp/>
  254. </hidden>
  255. <init>
  256. <basecode>
  257. <cook>
  258. <A0052>
  259. <cdid/>
  260. <cdnm/>
  261. </A0052>
  262. </cook>
  263. <meal>
  264. <A0055>
  265. <cdid/>
  266. <cdnm/>
  267. </A0055>
  268. </meal>
  269. </basecode>
  270. <code>
  271. <dietstatscd>
  272. <lrgcd/>
  273. <mealflag/>
  274. <mdlcd/>
  275. <mdlnm/>
  276. </dietstatscd>
  277. </code>
  278. </init>
  279. </root>
  280. </instance>
  281. <script type="javascript" ev:event="xforms-ready">
  282. <![CDATA[
  283. finit();
  284. btn_search.disabled = !checkAuth("R");
  285. btn_search3.disabled = !checkAuth("R");
  286. btn_save.disabled = !checkAuth("X");
  287. btn_excel.disabled = !checkAuth("P");
  288. btn_pridmenusrch.visible = false;
  289. model.toggle("case3");
  290. //식사분류코드 조회
  291. submit("TRANT01408");
  292. ]]>
  293. </script>
  294. <script type="javascript">
  295. <![CDATA[
  296. function finit() {
  297. // 화면open시 공통코드 setting
  298. zbcfGetCodeList( new Array( "A0052", "A0055" ), new Array("/root/init/basecode/cook", "/root/init/basecode/meal") );
  299. model.resetInstanceNode("/root/main/tab");
  300. model.resetInstanceNode("/root/send");
  301. model.removeNodeset("/root/main/tab/menuwrite/list");
  302. model.removeNodeset("/root/main/tab/menucopy/list");
  303. model.removeNodeset("/root/main/tab/pridmenuwrite/list");
  304. model.removeNodeset("/root/main/tab/nutrinfo/list");
  305. //model.setFocus("ipt_pid");
  306. model.setValue("/root/send/searchitem/menuwrite/ym", getCurrentDate());
  307. model.setValue("/root/send/searchitem/menucopy/fromfromdd", getCurrentDate());
  308. model.setValue("/root/send/searchitem/menucopy/fromtodd", getCurrentDate());
  309. model.setValue("/root/send/searchitem/nutrinfo/fromdd", getCurrentDate());
  310. model.setValue("/root/send/searchitem/nutrinfo/todd", getCurrentDate());
  311. model.setValue("/root/send/searchitem/menuwrite/menuflag", "Q1");
  312. model.setValue("/root/send/searchitem/menucopy/menuflag", "Q1");
  313. model.setValue("/root/send/searchitem/pridmenuwrite/menuflag", "Q1");
  314. submit("TRANT01409");
  315. //model.setValue("/root/send/searchitem/pridmenuwrite/prid", "10");
  316. model.setValue("/root/send/searchitem/pridmenuwrite/prid", model.getValue("/root/send1/list/prid"));
  317. //식단작성 탭화면의 하단 영양소정보의 분류 조회항목에 일반식 or 치료식에 해당하는 분류 자동 setting
  318. var menuflag = model.getValue("/root/send/searchitem/menuwrite/menuflag");
  319. cmb_dietstatscd.choices.itemset.attribute("nodeset") = "/root/init/code/dietstatscd[starts-with(lrgcd, '"+ menuflag +"')]";
  320. model.refresh();
  321. }
  322. ]]>
  323. </script>
  324. <submission id="TRZBC00101"/>
  325. <submission id="TRANT01408" mediatype="application/x-www-form-urlencoded" method="post" resultref="/root/init/code"/>
  326. <submission id="TRANT01401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/dishlist" resultref="/root/main/common/dishlist"/>
  327. <submission id="TRANT01402" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/foodlist" resultref="/root/main/common/foodlist"/>
  328. <submission id="TRANT01405" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/searchitem/pridmenuwrite" resultref="/root/main/tab/pridmenuwrite"/>
  329. <submission id="TXANT01403" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/pridmenuwrite" resultref="/root/hidden/ret"/>
  330. <submission id="TRANT01403" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/searchitem/menuwrite" resultref="/root/main/tab/menuwrite"/>
  331. <submission id="TXANT01401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/menuwrite" resultref="/root/hidden/ret"/>
  332. <submission id="TRANT01404" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/searchitem/menucopy" resultref="/root/main/tab/menucopy"/>
  333. <submission id="TXANT01402" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/menucopy" resultref="/root/hidden/ret"/>
  334. <submission id="TRANT01406" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/searchitem/nutrinfo" resultref="/root/main/tab/nutrinfo"/>
  335. <submission id="TRANT01407" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/searchitem/menuwrite" resultref="/root/main/tab/menuwrite"/>
  336. <submission id="TRANT01409" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/searchitem/menuwrite" resultref="/root/send1"/>
  337. </model>
  338. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  339. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  340. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  341. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  342. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  343. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  344. </xhtml:head>
  345. <xhtml:body guideline="1,1194;2,47;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  346. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  347. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:98px; height:14px; ">환자식단관리</caption>
  348. </group>
  349. <group id="group3" scroll="auto" style="left:0px; top:13px; width:1195px; height:744px; ">
  350. <switch id="swt_menuinfo" style="left:0px; top:26px; width:915px; height:715px; ">
  351. <case id="case1">
  352. <line id="line12" class="line_1" style="x1:5px; y1:40px; x2:905px; y2:40px; "/>
  353. <caption id="caption63" class="cell_1" style="left:5px; top:10px; width:80px; height:23px; vertical-align:middle; ">구분</caption>
  354. <line id="line11" class="line_1" style="x1:5px; y1:5px; x2:905px; y2:5px; "/>
  355. <line id="line16" class="line_3" style="x1:5px; y1:33px; x2:905px; y2:33px; "/>
  356. <select1 id="rdo_menuflag1" ref="/root/send/searchitem/menuwrite/menuflag" appearance="full" cellspacing="5" cols="2" rows="1" overflow="visible" style="left:90px; top:12px; width:120px; height:20px; ">
  357. <choices>
  358. <item>
  359. <label>일반식</label>
  360. <value>Q1</value>
  361. </item>
  362. <item>
  363. <label>치료식</label>
  364. <value>Q2</value>
  365. </item>
  366. </choices>
  367. <script type="javascript" ev:event="xforms-select">
  368. <![CDATA[
  369. var menuflag = model.getValue("/root/send/searchitem/menuwrite/menuflag");
  370. //식단작성 그리드의 분류컬럼에 일반식 or 치료식에 해당하는 분류 자동 setting
  371. if (grd_menuwrite.col == 4 || grd_menuwrite.row >= grd_menuwrite.fixedRows ) {
  372. grd_menuwrite.cellComboNodeset(grd_menuwrite.row, grd_menuwrite.col) = "/root/init/code/dietstatscd[lrgcd='"+ menuflag +"']";
  373. }
  374. //하단 영양소정보의 분류 조회항목에 일반식 or 치료식에 해당하는 분류 자동 setting
  375. cmb_dietstatscd.choices.itemset.attribute("nodeset") = "/root/init/code/dietstatscd[starts-with(lrgcd, '"+ menuflag +"')]";
  376. cmb_dietstatscd.refresh();
  377. ]]>
  378. </script>
  379. </select1>
  380. <input id="ipt_rowcnt" ref="/root/hidden/temp" class="input" style="left:628px; top:12px; width:40px; height:19px; text-align:center; "/>
  381. <caption id="caption4" class="cell_1" style="left:213px; top:9px; width:80px; height:23px; vertical-align:middle; ">년월일</caption>
  382. <button id="btn_before1" class="icon_pre" style="left:400px; top:12px; width:10px; height:15px; ">
  383. <caption/>
  384. <script type="javascript" ev:event="DOMActivate">
  385. <![CDATA[
  386. var ym = model.getValue("/root/send/searchitem/menuwrite/ym");
  387. ym = ym.toDate().getAddDate(-1, "D");
  388. ym = ym.getDateFormat();
  389. model.setValue("/root/send/searchitem/menuwrite/ym", ym);
  390. model.refresh();
  391. ]]>
  392. </script>
  393. </button>
  394. <input id="ipt_ym1" ref="/root/send/searchitem/menuwrite/ym" inputtype="date" format="yyyy-mm-dd" style="left:296px; top:10px; width:100px; height:19px; "/>
  395. <button id="btn_next1" class="icon_next" style="left:413px; top:12px; width:10px; height:15px; ">
  396. <caption/>
  397. <script type="javascript" ev:event="DOMActivate">
  398. <![CDATA[
  399. var ym = model.getValue("/root/send/searchitem/menuwrite/ym");
  400. ym = ym.toDate().getAddDate(1, "D");
  401. ym = ym.getDateFormat();
  402. model.setValue("/root/send/searchitem/menuwrite/ym", ym);
  403. model.refresh();
  404. ]]>
  405. </script>
  406. </button>
  407. <datagrid id="grd_menuwrite" nodeset="/root/main/tab/menuwrite/list" caption="년월일^h_주기일련번호^끼니^분류^h_년월일^h_끼니^h_분류^주식^h_i_주식^h_o_주식^국^h_i_국^h_o_국^김치^h_i_김치^h_o_김치^찬1^h_i_찬1^h_o_찬1^찬2^h_i_찬2^h_o_찬2^찬3^h_i_찬3^h_o_찬3^기타1^h_i_기타1^h_o_기타1^기타2^h_i_기타2^h_o_기타2^기타3^h_i_기타3^h_o_기타3^기타4^h_i_기타4^h_o_기타4^기타5^h_i_기타5^h_o_기타5" colsep="^" colwidth="86, 10, 57, 90, 10, 10, 10, 70, 10, 10, 80, 10, 10, 80, 10, 10, 80, 10, 10, 80, 10, 10, 80, 10, 10, 80, 10, 10, 73, 10, 10, 61, 10, 10, 68, 10, 10, 73, 10, 10" dataheight="25" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="25" rowsep="|" selectionmode="free" style="left:5px; top:44px; width:900px; height:516px; text-align:center; ">
  408. <col ref="appdd" type="inputdate" format="yyyy-mm-dd"/>
  409. <col ref="h_pridseq" visibility="hidden"/>
  410. <col ref="mealflag" type="combo">
  411. <choices>
  412. <itemset nodeset="/root/init/basecode/meal/A0055">
  413. <label ref="cdnm"/>
  414. <value ref="cdid"/>
  415. </itemset>
  416. </choices>
  417. </col>
  418. <col ref="dishflag" type="combo">
  419. <choices>
  420. <itemset nodeset="/root/init/code/dietstatscd">
  421. <label ref="mdlnm"/>
  422. <value ref="mdlcd"/>
  423. </itemset>
  424. </choices>
  425. </col>
  426. <col ref="h_appdd" type="output" visibility="hidden" format="yyyy-mm-dd"/>
  427. <col ref="h_mealflag" visibility="hidden"/>
  428. <col ref="h_dishflag" visibility="hidden"/>
  429. <col ref="ricedishnm" type="input"/>
  430. <col ref="h_i_ricedishcd" visibility="hidden"/>
  431. <col ref="h_o_ricedishcd" visibility="hidden"/>
  432. <col ref="soupdishnm" type="input"/>
  433. <col ref="h_i_soupdishcd" visibility="hidden"/>
  434. <col ref="h_o_soupdishcd" visibility="hidden"/>
  435. <col ref="kimchidishnm" type="input"/>
  436. <col ref="h_i_kimchidishcd" visibility="hidden"/>
  437. <col ref="h_o_kimchidishcd" visibility="hidden"/>
  438. <col ref="sidedishnm1" type="input"/>
  439. <col ref="h_i_sidedishcd1" visibility="hidden"/>
  440. <col ref="h_o_sidedishcd1" visibility="hidden"/>
  441. <col ref="sidedishnm2" type="input"/>
  442. <col ref="h_i_sidedishcd2" visibility="hidden"/>
  443. <col ref="h_o_sidedishcd2" visibility="hidden"/>
  444. <col ref="sidedishnm3" type="input"/>
  445. <col ref="h_i_sidedishcd3" visibility="hidden"/>
  446. <col ref="h_o_sidedishcd3" visibility="hidden"/>
  447. <col ref="etcdishnm1" type="input"/>
  448. <col ref="h_i_etcdishcd1" visibility="hidden"/>
  449. <col ref="h_o_etcdishcd1" visibility="hidden"/>
  450. <col ref="etcdishnm2" type="input"/>
  451. <col ref="h_i_etcdishcd2" visibility="hidden"/>
  452. <col ref="h_o_etcdishcd2" visibility="hidden"/>
  453. <col ref="etcdishnm3" type="input"/>
  454. <col ref="h_i_etcdishcd3" visibility="hidden"/>
  455. <col ref="h_o_etcdishcd3" visibility="hidden"/>
  456. <col ref="etcdishnm4" type="input"/>
  457. <col ref="h_i_etcdishcd4" visibility="hidden"/>
  458. <col ref="h_o_etcdishcd4" visibility="hidden"/>
  459. <col ref="etcdishnm5" type="input"/>
  460. <col ref="h_i_etcdishcd5" visibility="hidden"/>
  461. <col ref="h_o_etcdishcd5" visibility="hidden"/>
  462. <script type="javascript" ev:event="onentercell">
  463. <![CDATA[
  464. //그리드에서 분류를 클릭하면 일반식 또는 치료식에 해당하는 중분류 코드만 보여준다.
  465. if (grd_menuwrite.col == 4) {
  466. var menuflag = model.getValue("/root/send/searchitem/menuwrite/menuflag");
  467. var mealflag = model.getValue("/root/main/tab/menuwrite/list["+grd_menuwrite.row+"]/mealflag");
  468. var dishflag = model.getValue("/root/main/tab/menuwrite/list["+grd_menuwrite.row+"]/dishflag");
  469. if ( mealflag != "" ) {
  470. //if ( dishflag == "" ) {
  471. grd_menuwrite.cellComboNodeset(grd_menuwrite.row, grd_menuwrite.col) = "/root/init/code/dietstatscd[lrgcd='"+ menuflag +"' and mealflag='"+ mealflag +"']";
  472. model.setFocus("body");
  473. model.setFocus("grd_menuwrite");
  474. //}
  475. } else if ( mealflag == "" ) {
  476. messageBox("끼니를", "C002");
  477. }
  478. }
  479. model.refresh();
  480. ]]>
  481. </script>
  482. <script type="javascript" ev:event="onendedit">
  483. <![CDATA[
  484. //식단검색 팝업창 띄우기
  485. // var dishnm = model.getValue("/root/main/tab/menuwrite/list["+grd_menuwrite.row+"]/"+ grd_menuwrite.colAttribute(grd_menuwrite.col, "ref"));
  486. // if ( dishnm != "" ) {
  487. // if (grd_menuwrite.col != 1 && grd_menuwrite.col != 3 && grd_menuwrite.col != 4) {
  488. // model.setValue("/root/send/popup/recipeflag", rdo_menuflag1.value);
  489. // model.setValue("/root/send/popup/dishnm", dishnm);
  490. // model.setValue("/root/send/popup/trgtgrid", "menuwrite");
  491. // modal("SPANT00300", 0,100,150,"SPANT00300", "/root/send/popup", "/root/temp/receivedata");
  492. // }
  493. // -- } else if ( dishnm == "" ) {
  494. // -- messageBox("한글자 이상", "C001");
  495. // }
  496. ]]>
  497. </script>
  498. <script type="javascript" ev:event="ondblclick">
  499. <![CDATA[
  500. // if ( isDataCell() ) {
  501. // model.setValue("/root/send/searchitem/nutrinfo/menuflag", model.getValue("/root/send/searchitem/menuwrite/menuflag"));
  502. // model.setValue("/root/send/searchitem/nutrinfo/ricedishcd", model.getValue("/root/main/tab/menuwrite/list["+grd_menuwrite.row+"]/h_i_ricedishcd"));
  503. // model.setValue("/root/send/searchitem/nutrinfo/soupdishcd", model.getValue("/root/main/tab/menuwrite/list["+grd_menuwrite.row+"]/h_i_soupdishcd"));
  504. // model.setValue("/root/send/searchitem/nutrinfo/kimchidishcd", model.getValue("/root/main/tab/menuwrite/list["+grd_menuwrite.row+"]/h_i_kimchidishcd"));
  505. // model.setValue("/root/send/searchitem/nutrinfo/sidedishcd1", model.getValue("/root/main/tab/menuwrite/list["+grd_menuwrite.row+"]/h_i_sidedishcd1"));
  506. // model.setValue("/root/send/searchitem/nutrinfo/sidedishcd2", model.getValue("/root/main/tab/menuwrite/list["+grd_menuwrite.row+"]/h_i_sidedishcd2"));
  507. // model.setValue("/root/send/searchitem/nutrinfo/sidedishcd3", model.getValue("/root/main/tab/menuwrite/list["+grd_menuwrite.row+"]/h_i_sidedishcd3"));
  508. // model.setValue("/root/send/searchitem/nutrinfo/etcdishcd1", model.getValue("/root/main/tab/menuwrite/list["+grd_menuwrite.row+"]/h_i_etcdishcd1"));
  509. // model.setValue("/root/send/searchitem/nutrinfo/etcdishcd2", model.getValue("/root/main/tab/menuwrite/list["+grd_menuwrite.row+"]/h_i_etcdishcd2"));
  510. // model.setValue("/root/send/searchitem/nutrinfo/etcdishcd3", model.getValue("/root/main/tab/menuwrite/list["+grd_menuwrite.row+"]/h_i_etcdishcd3"));
  511. // model.setValue("/root/send/searchitem/nutrinfo/etcdishcd4", model.getValue("/root/main/tab/menuwrite/list["+grd_menuwrite.row+"]/h_i_etcdishcd4"));
  512. // model.setValue("/root/send/searchitem/nutrinfo/etcdishcd5", model.getValue("/root/main/tab/menuwrite/list["+grd_menuwrite.row+"]/h_i_etcdishcd5"));
  513. // submit("TRANT01406");
  514. //
  515. // // 그리드 하단에 합계 구하기
  516. // if ( grd_nutrinfo.rows > 1 ) {
  517. // grd_nutrinfo.addrow();
  518. // model.setValue("/root/main/tab/nutrinfo/list["+grd_nutrinfo.row+"]/"+grd_nutrinfo.colAttribute(2, "ref"), "합계");
  519. // var val = 0;
  520. // for ( j=3; j<=27; j++) {
  521. // var sum = 0;
  522. // for ( i=1; i<grd_nutrinfo.rows-1; i++) {
  523. // val = model.getValue("/root/main/tab/nutrinfo/list["+i+"]/"+grd_nutrinfo.colAttribute(j, "ref"));
  524. // if ( val != "") {
  525. // sum = parseFloat(sum) + parseFloat(val);
  526. // }
  527. // }
  528. // model.setValue("/root/main/tab/nutrinfo/list["+grd_nutrinfo.row+"]/"+grd_nutrinfo.colAttribute(j, "ref"), sum);
  529. // }
  530. // }
  531. // model.refresh();
  532. // }
  533. ]]>
  534. </script>
  535. </datagrid>
  536. <datagrid id="grd_nutrinfo" nodeset="/root/main/tab/nutrinfo/list" caption="일자^끼니^분류^식단코드^식단명^열량^수분^단백질^지질^당질^섬유소^회분^칼슘^인^철^나트륨^칼륨^아연^V-A^레티놀^β-카로틴^V-B1^V-B2^V-B6^V-C^V-E^나이아신^엽산^콜레스테롤^" colsep="^" colwidth="70, 40, 90, 60, 90, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 54, 61, 58, 60, 60, 60, 66" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:5px; top:597px; width:900px; height:108px; text-align:center; ">
  537. <col ref="appdd" format="yyyy-mm-dd"/>
  538. <col disabled="true" ref="mealflag" type="combo">
  539. <choices>
  540. <itemset nodeset="/root/init/basecode/meal/A0055">
  541. <label ref="cdnm"/>
  542. <value ref="cdid"/>
  543. </itemset>
  544. </choices>
  545. </col>
  546. <col disabled="true" ref="dishflag" type="combo">
  547. <choices>
  548. <itemset nodeset="/root/init/code/dietstatscd">
  549. <label ref="mdlnm"/>
  550. <value ref="mdlcd"/>
  551. </itemset>
  552. </choices>
  553. </col>
  554. <col ref="dishcd"/>
  555. <col ref="dishnm"/>
  556. <col ref="calr"/>
  557. <col ref="water"/>
  558. <col ref="prot"/>
  559. <col ref="lipo"/>
  560. <col ref="gluco"/>
  561. <col ref="fiber"/>
  562. <col ref="ash"/>
  563. <col ref="calcium"/>
  564. <col ref="phos"/>
  565. <col ref="iron"/>
  566. <col ref="sodium"/>
  567. <col ref="potas"/>
  568. <col ref="zinc"/>
  569. <col ref="vita"/>
  570. <col ref="ret"/>
  571. <col ref="betacart"/>
  572. <col ref="vitb1"/>
  573. <col ref="vitb2"/>
  574. <col ref="vitb6"/>
  575. <col ref="vitc"/>
  576. <col ref="vite"/>
  577. <col ref="nia"/>
  578. <col ref="folacd"/>
  579. <col ref="chol"/>
  580. </datagrid>
  581. <line id="line13" class="line_1" style="x1:5px; y1:591px; x2:905px; y2:591px; "/>
  582. <caption id="caption58" class="tit_2" style="left:10px; top:572px; width:90px; height:13px; ">영양소정보</caption>
  583. <caption id="caption3" class="search_name" style="left:215px; top:570px; width:64px; height:17px; ">일자 :</caption>
  584. <input id="ipt_nutrfromdd" ref="/root/send/searchitem/nutrinfo/fromdd" class="input_s_essential" inputtype="date" style="left:275px; top:570px; width:90px; height:19px; "/>
  585. <caption id="caption11" class="search_n_b" style="left:370px; top:573px; width:12px; height:17px; font-weight:bolder; ">~</caption>
  586. <input id="ipt_nutrtodd" ref="/root/send/searchitem/nutrinfo/todd" class="input_s_essential" inputtype="date" style="left:385px; top:570px; width:90px; height:19px; "/>
  587. <caption id="caption1" class="search_name" style="left:500px; top:570px; width:64px; height:17px; ">분류 :</caption>
  588. <select1 id="cmb_dietstatscd" ref="/root/send/searchitem/nutrinfo/dietstatscd" class="combo_s_essential" appearance="minimal" style="left:560px; top:570px; width:120px; height:19px; ">
  589. <choices>
  590. <itemset nodeset="/root/init/code/dietstatscd">
  591. <label ref="mdlnm"/>
  592. <value ref="mdlcd"/>
  593. </itemset>
  594. </choices>
  595. <script type="javascript" ev:event="xforms-select">
  596. <![CDATA[
  597. model.setValue("/root/send/searchitem/nutrinfo/menuflag", model.getValue("/root/send/searchitem/menuwrite/menuflag"));
  598. submit("TRANT01406");
  599. // 그리드 하단에 평균 구하기
  600. if ( grd_nutrinfo.rows > 1 ) {
  601. grd_nutrinfo.addrow();
  602. model.setValue("/root/main/tab/nutrinfo/list["+grd_nutrinfo.row+"]/"+grd_nutrinfo.colAttribute(5, "ref"), "평균");
  603. var val = 0;
  604. for ( j=6; j<=29; j++) {
  605. var sum = 0;
  606. var avrg = 0;
  607. for ( i=1; i<grd_nutrinfo.rows-1; i++) {
  608. val = model.getValue("/root/main/tab/nutrinfo/list["+i+"]/"+grd_nutrinfo.colAttribute(j, "ref"));
  609. if ( val != "") {
  610. sum = parseFloat(sum) + parseFloat(val);
  611. }
  612. }
  613. avrg = sum / (i-1) ;
  614. avrg = avrg.toString().getRound(-2, "HALF_UP");
  615. model.setValue("/root/main/tab/nutrinfo/list["+grd_nutrinfo.row+"]/"+grd_nutrinfo.colAttribute(j, "ref"), avrg);
  616. }
  617. grd_nutrinfo.refresh();
  618. }
  619. // if (submit("TRANT01406")) {
  620. // grd_nutrinfo.subtotalPosition = "below";
  621. // for (var i = 6; i <= 29; i ++){
  622. // grd_nutrinfo.subtotal("average", -1, i, "#,###.#", "", 5, "평균");
  623. // }
  624. // grd_nutrinfo.refresh();
  625. // }
  626. ]]>
  627. </script>
  628. </select1>
  629. <button id="btn_excel" class="btn2_letter2" style="left:855px; top:570px; width:42px; height:19px; ">
  630. <caption>엑셀</caption>
  631. <script type="javascript" ev:event="DOMActivate">
  632. <![CDATA[
  633. var filename = window.fileDialog("save", ",", false, "환자식단_영양소정보", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  634. if (filename != "") {
  635. grd_nutrinfo.saveExcel(filename, "grd_nutrinfo", true, false, "", "", "");
  636. }
  637. ]]>
  638. </script>
  639. </button>
  640. </case>
  641. <case id="case2" style="left:0px; top:0px; width:915px; height:713px; ">
  642. <line id="line2" class="line_1" style="x1:5px; y1:5px; x2:905px; y2:5px; "/>
  643. <line id="line4" class="line_1" style="x1:5px; y1:39px; x2:905px; y2:39px; "/>
  644. <line id="line5" class="line_3" style="x1:5px; y1:33px; x2:905px; y2:33px; "/>
  645. <input id="ipt_fromfromdd" ref="/root/send/searchitem/menucopy/fromfromdd" class="input_default" inputtype="date" style="left:259px; top:12px; width:100px; height:19px; text-align:center; "/>
  646. <button id="btn_copy" class="btn2_letter4" style="left:779px; top:12px; width:64px; height:19px; ">
  647. <caption>식단복사</caption>
  648. <script type="javascript" ev:event="DOMActivate">
  649. <![CDATA[
  650. // if ((model.getValue("/root/send/searchitem/menucopy/tofromdd") != "") &&
  651. // (model.getValue("/root/send/searchitem/menucopy/totodd") != "")) {
  652. // var rowcnt = grd_menucopy.rows-1;
  653. // var fromdd = model.getValue("/root/send/searchitem/menucopy/tofromdd");
  654. // var j = 2;
  655. //
  656. // // 조회된 복사대상식단의 날짜를 새로운 날짜(To)로 변경
  657. // for ( i = 1; i <= rowcnt; i++ ) {
  658. // model.setValue("/root/main/tab/menucopy/list[" + i + "]/appdd", fromdd);
  659. // if ( i != rowcnt ) {
  660. // if ( model.getValue("/root/main/tab/menucopy/list[" + j + "]/h_appdd") != model.getValue("/root/main/tab/menucopy/list[" + i + "]/h_appdd") ) {
  661. // fromdd = fromdd.toDate().getAddDate(1,"D");
  662. // fromdd = fromdd.getDateFormat();
  663. // }
  664. // j = j + 1;
  665. // }
  666. // }
  667. // model.refresh();
  668. // } else {
  669. // messageBox("날짜(To)를", "C002");
  670. // }
  671. //alert(model.getValue("/root/send/searchitem/menucopy/tofromdd"));
  672. if ( model.getValue("/root/send/searchitem/menucopy/tofromdd") != "" ) {
  673. var rowcnt = grd_menucopy.rows-1;
  674. var fromdd = model.getValue("/root/send/searchitem/menucopy/tofromdd");
  675. var j = 2;
  676. // 조회된 복사대상식단의 날짜를 새로운 날짜(To)로 변경
  677. for ( i = 1; i <= rowcnt; i++ ) {
  678. model.setValue("/root/main/tab/menucopy/list[" + i + "]/appdd", fromdd);
  679. if ( i != rowcnt ) {
  680. if ( model.getValue("/root/main/tab/menucopy/list[" + j + "]/h_appdd") != model.getValue("/root/main/tab/menucopy/list[" + i + "]/h_appdd") ) {
  681. fromdd = fromdd.toDate().getAddDate(1,"D");
  682. fromdd = fromdd.getDateFormat();
  683. }
  684. j = j + 1;
  685. }
  686. }
  687. model.refresh();
  688. } else {
  689. messageBox("날짜(식단복사(To))를", "C002");
  690. }
  691. ]]>
  692. </script>
  693. </button>
  694. <caption id="caption2" class="search_n_b" style="left:362px; top:14px; width:12px; height:17px; font-weight:bolder; ">~</caption>
  695. <caption id="caption5" class="cell_1" style="left:160px; top:10px; width:96px; height:23px; vertical-align:middle; ">식단복사(From)</caption>
  696. <input id="ipt_fromtodd" ref="/root/send/searchitem/menucopy/fromtodd" class="input_default" inputtype="date" style="left:376px; top:12px; width:100px; height:19px; text-align:center; "/>
  697. <caption id="caption7" class="search_n_b" visibility="hidden" style="left:665px; top:14px; width:12px; height:17px; font-weight:bolder; ">~</caption>
  698. <caption id="caption8" class="cell_1" style="left:479px; top:10px; width:81px; height:23px; vertical-align:middle; ">식단복사(To)</caption>
  699. <input id="ipt_tofromdd" ref="/root/send/searchitem/menucopy/tofromdd" class="input_default" inputtype="date" style="left:564px; top:12px; width:100px; height:19px; text-align:center; "/>
  700. <input id="ipt_totodd" ref="/root/send/searchitem/menucopy/totodd" class="input_default" visibility="hidden" inputtype="date" style="left:678px; top:12px; width:100px; height:19px; text-align:center; "/>
  701. <caption id="caption9" class="cell_1" style="left:5px; top:10px; width:35px; height:23px; vertical-align:middle; ">구분</caption>
  702. <select1 id="rdo_menuflag2" ref="/root/send/searchitem/menucopy/menuflag" appearance="full" cellspacing="5" cols="2" rows="1" overflow="visible" style="left:42px; top:11px; width:120px; height:20px; ">
  703. <choices>
  704. <item>
  705. <label>일반식</label>
  706. <value>Q1</value>
  707. </item>
  708. <item>
  709. <label>치료식</label>
  710. <value>Q2</value>
  711. </item>
  712. </choices>
  713. </select1>
  714. <datagrid id="grd_menucopy" nodeset="/root/main/tab/menucopy/list" caption="년월일^끼니^분류^h_년월일^h_끼니^h_분류^주식^h_주식^국^h_국^김치^h_김치^찬1^h_찬1^찬2^h_찬2^찬3^h_찬3^기타1^h_기타1^기타2^h_기타2^기타3^h_기타3^기타4^h_기타4^기타5^h_기타5" colsep="^" colwidth="86, 57, 90, 10, 10, 10, 70, 10, 80, 10, 80, 10, 80, 10, 80, 10, 80, 10, 80, 10, 73, 10, 61, 10, 68, 10, 73, 10" dataheight="25" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="25" rowsep="|" selectionmode="free" style="left:5px; top:44px; width:900px; height:661px; ">
  715. <col ref="appdd" type="date" format="yyyy-mm-dd"/>
  716. <col ref="mealflag" type="combo">
  717. <choices>
  718. <itemset nodeset="/root/init/basecode/meal/A0055">
  719. <label ref="cdnm"/>
  720. <value ref="cdid"/>
  721. </itemset>
  722. </choices>
  723. </col>
  724. <col ref="dishflag" type="combo">
  725. <choices>
  726. <itemset nodeset="/root/init/code/dietstatscd">
  727. <label ref="mdlnm"/>
  728. <value ref="mdlcd"/>
  729. </itemset>
  730. </choices>
  731. </col>
  732. <col ref="h_appdd" visibility="hidden" format="yyyy-mm-dd"/>
  733. <col ref="h_mealflag" visibility="hidden"/>
  734. <col ref="h_dishflag" visibility="hidden"/>
  735. <col ref="ricedishnm"/>
  736. <col ref="h_ricedishcd" visibility="hidden"/>
  737. <col ref="soupdishnm"/>
  738. <col ref="h_soupdishcd" visibility="hidden"/>
  739. <col ref="kimchidishnm"/>
  740. <col ref="h_kimchidishcd" visibility="hidden"/>
  741. <col ref="sidedishnm1"/>
  742. <col ref="h_sidedishcd1" visibility="hidden"/>
  743. <col ref="sidedishnm2"/>
  744. <col ref="h_sidedishcd2" visibility="hidden"/>
  745. <col ref="sidedishnm3"/>
  746. <col ref="h_sidedishcd3" visibility="hidden"/>
  747. <col ref="etcdishnm1"/>
  748. <col ref="h_etcdishcd1" visibility="hidden"/>
  749. <col ref="etcdishnm2"/>
  750. <col ref="h_etcdishcd2" visibility="hidden"/>
  751. <col ref="etcdishnm3"/>
  752. <col ref="h_etcdishcd3" visibility="hidden"/>
  753. <col ref="etcdishnm4"/>
  754. <col ref="h_etcdishcd4" visibility="hidden"/>
  755. <col ref="etcdishnm5"/>
  756. <col ref="h_etcdishcd5" visibility="hidden"/>
  757. <script type="javascript" ev:event="onentercell">
  758. <![CDATA[
  759. //그리드에서 분류를 클릭하면 일반식 또는 치료식에 해당하는 중분류 코드만 보여준다.
  760. if (grd_menucopy.col == 3) {
  761. var menuflag = model.getValue("/root/send/searchitem/menucopy/menuflag");
  762. var mealflag = model.getValue("/root/main/tab/menucopy/list["+grd_menucopy.row+"]/mealflag");
  763. var dishflag = model.getValue("/root/main/tab/menucopy/list["+grd_menucopy.row+"]/dishflag");
  764. if ( mealflag != "" ) {
  765. //if ( dishflag == "" ) {
  766. grd_menucopy.cellComboNodeset(grd_menucopy.row, grd_menucopy.col) = "/root/init/code/dietstatscd[lrgcd='"+ menuflag +"' and mealflag='"+ mealflag +"']";
  767. model.setFocus("body");
  768. model.setFocus("grd_menucopy");
  769. //}
  770. } else if ( mealflag == "" ) {
  771. messageBox("끼니를", "C002");
  772. }
  773. }
  774. model.refresh();
  775. ]]>
  776. </script>
  777. </datagrid>
  778. </case>
  779. <case id="case3" selected="true">
  780. <line id="line1" class="line_1" style="x1:5px; y1:5px; x2:905px; y2:5px; "/>
  781. <line id="line3" class="line_1" style="x1:5px; y1:39px; x2:905px; y2:39px; "/>
  782. <line id="line6" class="line_3" style="x1:5px; y1:33px; x2:905px; y2:33px; "/>
  783. <caption id="caption10" class="cell_1" style="left:406px; top:10px; width:96px; height:23px; vertical-align:middle; ">주기</caption>
  784. <caption id="caption12" class="cell_1" style="left:5px; top:10px; width:59px; height:23px; vertical-align:middle; ">구분</caption>
  785. <select1 id="rdo_menuflag3" ref="/root/send/searchitem/pridmenuwrite/menuflag" appearance="full" cellspacing="5" cols="2" rows="1" overflow="visible" style="left:67px; top:11px; width:120px; height:20px; ">
  786. <choices>
  787. <item>
  788. <label>일반식</label>
  789. <value>Q1</value>
  790. </item>
  791. <item>
  792. <label>치료식</label>
  793. <value>Q2</value>
  794. </item>
  795. </choices>
  796. <script type="javascript" ev:event="xforms-select">
  797. <![CDATA[
  798. if (grd_pridmenuwrite.col == 3 || grd_pridmenuwrite.row >= grd_pridmenuwrite.fixedRows ) {
  799. var menuflag = model.getValue("/root/send/searchitem/pridmenuwrite/menuflag");
  800. grd_pridmenuwrite.cellComboNodeset(grd_pridmenuwrite.row, grd_pridmenuwrite.col) = "/root/init/code/dietstatscd[lrgcd='"+ menuflag +"']";
  801. }
  802. ]]>
  803. </script>
  804. </select1>
  805. <datagrid id="grd_pridmenuwrite" nodeset="/root/main/tab/pridmenuwrite/list" caption="No^끼니^분류^h_No^h_끼니^h_분류^주식^h_i_주식^h_o_주식^국^h_i_국^h_o_국^김치^h_i_김치^h_o_김치^찬1^h_i_찬1^h_o_찬1^찬2^h_i_찬2^h_o_찬2^찬3^h_i_찬3^h_o_찬3^기타1^h_i_기타1^h_o_기타1^기타2^h_i_기타2^h_o_기타2^기타3^h_i_기타3^h_o_기타3^기타4^h_i_기타4^h_o_기타4^기타5^h_i_기타5^h_o_기타5" colsep="^" colwidth="30, 57, 90, 10, 10, 10, 70, 10, 10, 80, 10, 10, 80, 10, 10, 80, 10, 10, 80, 10, 10, 80, 10, 10, 80, 10, 10, 73, 10, 10, 61, 10, 10, 68, 10, 10, 73, 10, 10" dataheight="25" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="25" rowsep="|" selectionmode="free" style="left:5px; top:44px; width:900px; height:661px; text-align:center; ">
  806. <col ref="pridseq" type="input"/>
  807. <col ref="mealflag" type="combo">
  808. <choices>
  809. <itemset nodeset="/root/init/basecode/meal/A0055">
  810. <label ref="cdnm"/>
  811. <value ref="cdid"/>
  812. </itemset>
  813. </choices>
  814. </col>
  815. <col ref="dishflag" type="combo">
  816. <choices>
  817. <itemset nodeset="/root/init/code/dietstatscd">
  818. <label ref="mdlnm"/>
  819. <value ref="mdlcd"/>
  820. </itemset>
  821. </choices>
  822. </col>
  823. <col ref="h_pridseq" visibility="hidden"/>
  824. <col ref="h_mealflag" visibility="hidden"/>
  825. <col ref="h_dishflag" visibility="hidden"/>
  826. <col ref="ricedishnm" type="input"/>
  827. <col ref="h_i_ricedishcd" visibility="hidden"/>
  828. <col ref="h_o_ricedishcd" visibility="hidden"/>
  829. <col ref="soupdishnm" type="input"/>
  830. <col ref="h_i_soupdishcd" visibility="hidden"/>
  831. <col ref="h_o_soupdishcd" visibility="hidden"/>
  832. <col ref="kimchidishnm" type="input"/>
  833. <col ref="h_i_kimchidishcd" visibility="hidden"/>
  834. <col ref="h_o_kimchidishcd" visibility="hidden"/>
  835. <col ref="sidedishnm1" type="input"/>
  836. <col ref="h_i_sidedishcd1" visibility="hidden"/>
  837. <col ref="h_o_sidedishcd1" visibility="hidden"/>
  838. <col ref="sidedishnm2" type="input"/>
  839. <col ref="h_i_sidedishcd2" visibility="hidden"/>
  840. <col ref="h_o_sidedishcd2" visibility="hidden"/>
  841. <col ref="sidedishnm3" type="input"/>
  842. <col ref="h_i_sidedishcd3" visibility="hidden"/>
  843. <col ref="h_o_sidedishcd3" visibility="hidden"/>
  844. <col ref="etcdishnm1" type="input"/>
  845. <col ref="h_i_etcdishcd1" visibility="hidden"/>
  846. <col ref="h_o_etcdishcd1" visibility="hidden"/>
  847. <col ref="etcdishnm2" type="input"/>
  848. <col ref="h_i_etcdishcd2" visibility="hidden"/>
  849. <col ref="h_o_etcdishcd2" visibility="hidden"/>
  850. <col ref="etcdishnm3" type="input"/>
  851. <col ref="h_i_etcdishcd3" visibility="hidden"/>
  852. <col ref="h_o_etcdishcd3" visibility="hidden"/>
  853. <col ref="etcdishnm4" type="input"/>
  854. <col ref="h_i_etcdishcd4" visibility="hidden"/>
  855. <col ref="h_o_etcdishcd4" visibility="hidden"/>
  856. <col ref="etcdishnm5" type="input"/>
  857. <col ref="h_i_etcdishcd5" visibility="hidden"/>
  858. <col ref="h_o_etcdishcd5" visibility="hidden"/>
  859. <script type="javascript" ev:event="onentercell">
  860. <![CDATA[
  861. //그리드에서 분류를 클릭하면 일반식 또는 치료식에 해당하는 중분류 코드만 보여준다.
  862. if (grd_pridmenuwrite.col == 3) {
  863. var menuflag = model.getValue("/root/send/searchitem/pridmenuwrite/menuflag");
  864. var mealflag = model.getValue("/root/main/tab/pridmenuwrite/list["+grd_pridmenuwrite.row+"]/mealflag");
  865. var dishflag = model.getValue("/root/main/tab/pridmenuwrite/list["+grd_pridmenuwrite.row+"]/dishflag");
  866. if ( mealflag != "" ) {
  867. //if ( dishflag == "" ) {
  868. grd_pridmenuwrite.cellComboNodeset(grd_pridmenuwrite.row, grd_pridmenuwrite.col) = "/root/init/code/dietstatscd[lrgcd='"+ menuflag +"' and mealflag='"+ mealflag +"']";
  869. model.setFocus("body");
  870. model.setFocus("grd_pridmenuwrite");
  871. //}
  872. } else if ( mealflag == "" ) {
  873. messageBox("끼니를", "C002");
  874. }
  875. }
  876. model.refresh();
  877. ]]>
  878. </script>
  879. <script type="javascript" ev:event="onendedit">
  880. <![CDATA[
  881. //식단검색 팝업창 띄우기
  882. // var dishnm = model.getValue("/root/main/tab/pridmenuwrite/list["+grd_pridmenuwrite.row+"]/"+ grd_pridmenuwrite.colAttribute(grd_pridmenuwrite.col, "ref"));
  883. // if ( dishnm != "" ) {
  884. // if (grd_pridmenuwrite.col != 1 && grd_pridmenuwrite.col != 2 && grd_pridmenuwrite.col != 3) {
  885. // model.setValue("/root/send/popup/recipeflag", rdo_menuflag3.value);
  886. // model.setValue("/root/send/popup/dishnm", dishnm);
  887. // model.setValue("/root/send/popup/trgtgrid", "pridmenuwrite");
  888. // //modal("SPANT00300", 0,100,150,"SPANT00300", "/root/send/popup", "/root/temp/receivedata");
  889. // }
  890. //-- } else if ( dishnm == "" ) {
  891. //-- messageBox("한글자 이상", "C001");
  892. // }
  893. ]]>
  894. </script>
  895. </datagrid>
  896. <caption id="caption13" class="cell_1" visibility="hidden" style="left:191px; top:10px; width:80px; height:23px; vertical-align:middle; ">년월</caption>
  897. <button id="btn_before2" class="icon_pre" visibility="hidden" style="left:378px; top:13px; width:10px; height:15px; ">
  898. <caption/>
  899. </button>
  900. <input id="ipt_ym2" ref="/root/send/searchitem/pridmenuwrite/ym" class="input_essential" visibility="hidden" style="left:274px; top:11px; width:100px; height:19px; "/>
  901. <button id="btn_next2" class="icon_next" visibility="hidden" style="left:391px; top:13px; width:10px; height:15px; ">
  902. <caption/>
  903. </button>
  904. <input id="ipt_prid" ref="/root/send/searchitem/pridmenuwrite/prid" class="input_essential" style="left:504px; top:11px; width:100px; height:19px; "/>
  905. <input id="ipt_rowcnt1" ref="/root/hidden/temp" class="input" style="left:628px; top:12px; width:40px; height:19px; text-align:center; "/>
  906. </case>
  907. </switch>
  908. <line id="line7" class="line_1" style="x1:925px; y1:75px; x2:1194px; y2:75px; "/>
  909. <datagrid id="grd_dishlist" nodeset="/root/main/common/dishlist/list" caption="식단코드^식단명" colsep="^" colwidth="100, 171" dataheight="25" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="25" rowsep="|" style="left:925px; top:74px; width:269px; height:271px; ">
  910. <col ref="dishcd"/>
  911. <col ref="dishnm"/>
  912. <script type="javascript" ev:event="ondblclick">
  913. <![CDATA[
  914. //더블클릭한 식단을 왼쪽 메뉴에 넣기
  915. if ( isDataCell() ) {
  916. // 식단작성 탭화면일때
  917. if ( btn_menuwrite.selected ) {
  918. if ( grd_menuwrite.row > 0 ) {
  919. var copy_nm = model.getValue("/root/main/common/dishlist/list[" + grd_dishlist.row+ "]/dishnm");
  920. var copy_cd = model.getValue("/root/main/common/dishlist/list[" + grd_dishlist.row+ "]/dishcd");
  921. var xpath_nm1 = grd_menuwrite.nodeset + "[" + grd_menuwrite.row + "]/" + grd_menuwrite.colAttribute(grd_menuwrite.col, "ref");
  922. var xpath_nm2 = grd_menuwrite.nodeset + "[" + grd_menuwrite.row + "]/" + grd_menuwrite.colAttribute(grd_menuwrite.col+1, "ref");
  923. var xpath_nm3 = grd_menuwrite.nodeset + "[" + grd_menuwrite.row + "]/" + grd_menuwrite.colAttribute(grd_menuwrite.col+2, "ref");
  924. model.setValue(xpath_nm1, copy_nm);
  925. model.setValue(xpath_nm2, copy_cd);
  926. if ( model.getValue(xpath_nm2) != model.getValue(xpath_nm3) ) {
  927. grd_menuwrite.addStatus(grd_menuwrite.row, "update");
  928. }
  929. model.refresh();
  930. }
  931. }
  932. // 식단복사 탭화면일때
  933. else if ( btn_menucopy.selected ) {
  934. }
  935. // 주기식단작성 탭화면일때
  936. else if ( btn_pridmenuwrite.selected ) {
  937. if ( grd_pridmenuwrite.row > 0 ) {
  938. var copy_nm = model.getValue("/root/main/common/dishlist/list[" + grd_dishlist.row+ "]/dishnm");
  939. var copy_cd = model.getValue("/root/main/common/dishlist/list[" + grd_dishlist.row+ "]/dishcd");
  940. var xpath_nm1 = grd_pridmenuwrite.nodeset + "[" + grd_pridmenuwrite.row + "]/" + grd_pridmenuwrite.colAttribute(grd_pridmenuwrite.col, "ref");
  941. var xpath_nm2 = grd_pridmenuwrite.nodeset + "[" + grd_pridmenuwrite.row + "]/" + grd_pridmenuwrite.colAttribute(grd_pridmenuwrite.col+1, "ref");
  942. var xpath_nm3 = grd_pridmenuwrite.nodeset + "[" + grd_pridmenuwrite.row + "]/" + grd_pridmenuwrite.colAttribute(grd_pridmenuwrite.col+2, "ref");
  943. model.setValue(xpath_nm1, copy_nm);
  944. model.setValue(xpath_nm2, copy_cd);
  945. if ( model.getValue(xpath_nm2) != model.getValue(xpath_nm3) ) {
  946. grd_pridmenuwrite.addStatus(grd_pridmenuwrite.row, "update");
  947. }
  948. model.refresh();
  949. }
  950. }
  951. }
  952. ]]>
  953. </script>
  954. <script type="javascript" ev:event="ondblclick">
  955. <![CDATA[
  956. //더블클릭한 식단의 레시피정보 조회
  957. if ( isDataCell() ) {
  958. //식단작성 탭화면일때
  959. if ( btn_menuwrite.selected ) {
  960. var recipeflag = rdo_menuflag1.value; //일반식 or 치료식 구분
  961. }
  962. //식단복사 탭화면일때
  963. else if ( btn_menucopy.selected ) {
  964. var recipeflag = rdo_menuflag2.value; //일반식 or 치료식 구분
  965. }
  966. //주기식단작성 탭화면일때
  967. else if ( btn_pridmenuwrite.selected ) {
  968. var recipeflag = rdo_menuflag3.value; //일반식 or 치료식 구분
  969. }
  970. var copy_val2 = model.getValue("/root/main/common/dishlist/list[" + grd_dishlist.row+ "]/dishcd");
  971. model.setValue("/root/send/foodlist/recipeflag", recipeflag);
  972. model.setValue("/root/send/foodlist/dishcd", copy_val2);
  973. submit("TRANT01402");
  974. }
  975. ]]>
  976. </script>
  977. </datagrid>
  978. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:925px; top:0px; width:269px; height:65px; background-color:#fffbf2; "/>
  979. <caption id="caption14" class="search_name" style="left:945px; top:10px; width:60px; height:17px; ">분류 :</caption>
  980. <caption id="caption15" class="search_name" style="left:945px; top:35px; width:60px; height:17px; ">검색 :</caption>
  981. <select1 id="cmb_cookflag" ref="/root/send/dishlist/cookflag" class="combo_s_essential" appearance="minimal" style="left:1008px; top:10px; width:100px; height:19px; ">
  982. <choices>
  983. <itemset nodeset="/root/init/basecode/cook/A0052">
  984. <label ref="cdnm"/>
  985. <value ref="cdid"/>
  986. </itemset>
  987. </choices>
  988. </select1>
  989. <input id="ipt_dishnm" ref="/root/send/dishlist/dishnm" class="input_search" style="left:1008px; top:35px; width:100px; height:19px; ">
  990. <script type="javascript" ev:event="onkeydown">
  991. <![CDATA[
  992. inputEnterKey("btn_search", "DOMActivate");
  993. ]]>
  994. </script>
  995. </input>
  996. <button id="btn_search" class="btn1_letter2" style="left:1130px; top:20px; width:56px; height:22px; ">
  997. <caption>조회</caption>
  998. <script type="javascript" ev:event="DOMActivate">
  999. <![CDATA[
  1000. submit("TRANT01401");
  1001. ]]>
  1002. </script>
  1003. </button>
  1004. <button id="btn_searchhidden" class="btn1_letter2" visibility="hidden" style="left:1130px; top:42px; width:56px; height:22px; ">
  1005. <caption>숨김</caption>
  1006. <script type="javascript" ev:event="DOMActivate">
  1007. <![CDATA[
  1008. submit("TRANT01402");
  1009. ]]>
  1010. </script>
  1011. </button>
  1012. <line id="line8" style="x1:1119px; y1:12px; x2:1119px; y2:54px; "/>
  1013. <datagrid id="grd_foodlist" nodeset="/root/main/common/foodlist/list" caption="식품명^수량" colsep="^" colwidth="100, 159" dataheight="25" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="25" rowsep="|" style="left:925px; top:355px; width:269px; height:385px; ">
  1014. <col ref="foodcd"/>
  1015. <col ref="foodqty"/>
  1016. </datagrid>
  1017. <line id="line9" class="line_1" style="x1:925px; y1:69px; x2:1194px; y2:69px; "/>
  1018. <line id="line10" class="line_1" style="x1:925px; y1:349px; x2:1194px; y2:349px; "/>
  1019. <button id="btn_menuwrite" class="btn_sw" group="tab" style="left:99px; top:5px; width:96px; height:22px; ">
  1020. <caption>식단작성</caption>
  1021. <script type="javascript" ev:event="DOMActivate">
  1022. <![CDATA[
  1023. model.toggle("case1");
  1024. btn_rowadd.visible = true;
  1025. btn_rowcopy.visible = true;
  1026. btn_rowdel.visible = true;
  1027. btn_pridmenusrch.visible = true;
  1028. ]]>
  1029. </script>
  1030. </button>
  1031. <button id="btn_menucopy" class="btn_sw" group="tab" style="left:195px; top:5px; width:96px; height:22px; ">
  1032. <caption>식단복사</caption>
  1033. <script type="javascript" ev:event="DOMActivate">
  1034. <![CDATA[
  1035. model.toggle("case2");
  1036. btn_rowadd.visible = false;
  1037. btn_rowcopy.visible = false;
  1038. btn_rowdel.visible = false;
  1039. btn_pridmenusrch.visible = false;
  1040. ]]>
  1041. </script>
  1042. </button>
  1043. <button id="btn_pridmenuwrite" class="btn_sw" group="tab" selected="true" style="left:0px; top:5px; width:99px; height:22px; ">
  1044. <caption>주기식단작성</caption>
  1045. <script type="javascript" ev:event="DOMActivate">
  1046. <![CDATA[
  1047. model.toggle("case3");
  1048. btn_rowadd.visible = true;
  1049. btn_rowcopy.visible = true;
  1050. btn_rowdel.visible = true;
  1051. btn_pridmenusrch.visible = false;
  1052. ]]>
  1053. </script>
  1054. </button>
  1055. <button id="btn_search3" class="btn1_letter2" style="left:847px; top:37px; width:56px; height:22px; ">
  1056. <caption>조회</caption>
  1057. <script type="javascript" ev:event="DOMActivate">
  1058. <![CDATA[
  1059. // 식단작성 탭화면일때
  1060. if ( btn_menuwrite.selected ) {
  1061. submit("TRANT01403");
  1062. model.resetInstanceNode("/root/send/menuwrite/list");
  1063. for (var i = 1; i < grd_menuwrite.rows; i ++){
  1064. var menuflag = model.getValue("/root/send/searchitem/menuwrite/menuflag");
  1065. var mealflag = model.getValue("/root/main/tab/menuwrite/list["+ i +"]/mealflag");
  1066. if ( mealflag != "" ) {
  1067. grd_menuwrite.cellComboNodeset(i, 4) = "/root/init/code/dietstatscd[lrgcd='"+ menuflag +"' and mealflag='"+ mealflag +"']";
  1068. }
  1069. }
  1070. }
  1071. // 식단복사 탭화면일때
  1072. else if ( btn_menucopy.selected ) {
  1073. var fromdd = model.getValue("/root/send/searchitem/menucopy/fromfromdd");
  1074. var todd = model.getValue("/root/send/searchitem/menucopy/fromtodd");
  1075. if ( getDateInterval(fromdd, todd) < 0 ) {
  1076. messageBox("조회 시작일은 종료일보다 클 수", "I004");
  1077. return;
  1078. } else {
  1079. submit("TRANT01404");
  1080. }
  1081. model.resetInstanceNode("/root/send/menucopy/list");
  1082. for (var i = 1; i < grd_menucopy.rows; i ++){
  1083. var menuflag = model.getValue("/root/send/searchitem/menucopy/menuflag");
  1084. var mealflag = model.getValue("/root/main/tab/menucopy/list["+ i +"]/mealflag");
  1085. if ( mealflag != "" ) {
  1086. grd_menucopy.cellComboNodeset(i, 3) = "/root/init/code/dietstatscd[lrgcd='"+ menuflag +"' and mealflag='"+ mealflag +"']";
  1087. }
  1088. }
  1089. }
  1090. // 주기식단작성 탭화면일때
  1091. else if ( btn_pridmenuwrite.selected ) {
  1092. model.setValue("/root/send/searchitem/menuwrite/menuflag", model.getValue("/root/send/searchitem/pridmenuwrite/menuflag"));
  1093. submit("TRANT01409");
  1094. model.setValue("/root/send/searchitem/pridmenuwrite/prid", model.getValue("/root/send1/list/prid"));
  1095. submit("TRANT01405");
  1096. model.resetInstanceNode("/root/send/pridmenuwrite/list");
  1097. for (var i = 1; i < grd_pridmenuwrite.rows; i ++){
  1098. var menuflag = model.getValue("/root/send/searchitem/pridmenuwrite/menuflag");
  1099. var mealflag = model.getValue("/root/main/tab/pridmenuwrite/list["+ i +"]/mealflag");
  1100. if ( mealflag != "" ) {
  1101. grd_pridmenuwrite.cellComboNodeset(i, 3) = "/root/init/code/dietstatscd[lrgcd='"+ menuflag +"' and mealflag='"+ mealflag +"']";
  1102. }
  1103. }
  1104. }
  1105. model.refresh();
  1106. ]]>
  1107. </script>
  1108. </button>
  1109. <button id="btn_rowdel" class="btn2_letter3" style="left:785px; top:39px; width:53px; height:19px; ">
  1110. <caption>행삭제</caption>
  1111. <script type="javascript" ev:event="DOMActivate">
  1112. <![CDATA[
  1113. // 식단작성 탭화면일때
  1114. if ( btn_menuwrite.selected ) {
  1115. var cur_row = grd_menuwrite.row;
  1116. grd_menuwrite.deleterow(cur_row);
  1117. }
  1118. // 식단복사 탭화면일때
  1119. else if ( btn_menucopy.selected ) {
  1120. }
  1121. // 주기식단작성 탭화면일때
  1122. else if ( btn_pridmenuwrite.selected ) {
  1123. var cur_row = grd_pridmenuwrite.row;
  1124. grd_pridmenuwrite.deleterow(cur_row);
  1125. }
  1126. ]]>
  1127. </script>
  1128. </button>
  1129. <button id="btn_rowadd" class="btn2_letter3" style="left:675px; top:39px; width:53px; height:19px; ">
  1130. <caption>행추가</caption>
  1131. <script type="javascript" ev:event="DOMActivate">
  1132. <![CDATA[
  1133. // 식단작성 탭화면일때
  1134. if ( btn_menuwrite.selected ) {
  1135. // 행개수를 입력하면 그 숫자만큼 자동 행추가
  1136. if ( ipt_rowcnt.value != "" ) {
  1137. for ( i=1; i <= ipt_rowcnt.value; i++ ) {
  1138. grd_menuwrite.addrow();
  1139. }
  1140. } else {
  1141. grd_menuwrite.addrow();
  1142. }
  1143. }
  1144. // 식단복사 탭화면일때
  1145. else if ( btn_menucopy.selected ) {
  1146. }
  1147. // 주기식단작성 탭화면일때
  1148. else if ( btn_pridmenuwrite.selected ) {
  1149. //for ( i=1; i<=30; i++ ) {
  1150. grd_pridmenuwrite.addrow();
  1151. // 마지막 row의 주기일련번호를 copy
  1152. var prerow = grd_pridmenuwrite.row-1;
  1153. if (grd_pridmenuwrite.row != 1) {
  1154. model.setValue("/root/main/tab/pridmenuwrite/list["+ grd_pridmenuwrite.row +"]/pridseq", model.getValue("/root/main/tab/pridmenuwrite/list["+ prerow +"]/pridseq"));
  1155. } else if (grd_pridmenuwrite.row == 1) {
  1156. model.setValue("/root/main/tab/pridmenuwrite/list["+ grd_pridmenuwrite.row +"]/pridseq", 1);
  1157. }
  1158. var irow = grd_pridmenuwrite.row;
  1159. grd_pridmenuwrite.row = irow;
  1160. grd_pridmenuwrite.topRow = irow;
  1161. //model.refresh();
  1162. //}
  1163. }
  1164. ]]>
  1165. </script>
  1166. </button>
  1167. <button id="btn_rowcopy" class="btn2_letter3" style="left:730px; top:39px; width:53px; height:19px; ">
  1168. <caption>행복사</caption>
  1169. <script type="javascript" ev:event="DOMActivate">
  1170. <![CDATA[
  1171. // 식단작성 탭화면일때
  1172. if ( btn_menuwrite.selected ) {
  1173. if ( ipt_rowcnt.value != "" ) {
  1174. for ( i=1; i <= ipt_rowcnt.value; i++ ) { // 식단작성시 입력갯수만큼 행복사 기능 추가 2012.07.10 by 김금련
  1175. var grdrow = grd_menuwrite.row;
  1176. model.copyNode("/root/hidden/menuwrite","/root/main/tab/menuwrite/list["+ grdrow +"]");
  1177. grd_menuwrite.insertrow(grdrow, "below");
  1178. model.copyNode("/root/main/tab/menuwrite/list["+ (grdrow+1) +"]","/root/hidden/menuwrite");
  1179. model.setValue("/root/main/tab/menuwrite/list["+ (grdrow+1) +"]/dishflag", "");
  1180. model.refresh();
  1181. }
  1182. } else {
  1183. var grdrow = grd_menuwrite.row;
  1184. model.copyNode("/root/hidden/menuwrite","/root/main/tab/menuwrite/list["+ grdrow +"]");
  1185. grd_menuwrite.insertrow(grdrow, "below");
  1186. model.copyNode("/root/main/tab/menuwrite/list["+ (grdrow+1) +"]","/root/hidden/menuwrite");
  1187. model.setValue("/root/main/tab/menuwrite/list["+ (grdrow+1) +"]/dishflag", "");
  1188. //model.setFocus("/root/main/tab/menuwrite/list["+ (grdrow+1) +"]/dishflag");
  1189. model.refresh();
  1190. }
  1191. }
  1192. // 식단복사 탭화면일때
  1193. else if ( btn_menucopy.selected ) {
  1194. }
  1195. // 주기식단작성 탭화면일때
  1196. else if ( btn_pridmenuwrite.selected ) {
  1197. var grdrow = grd_pridmenuwrite.row;
  1198. // 김금련 추가 20110527
  1199. if ( ipt_rowcnt1.value != "" ) {
  1200. for ( i=1; i <= ipt_rowcnt1.value; i++ ) {
  1201. // grd_menuwrite.addrow();
  1202. model.copyNode("/root/hidden/pridmenuwrite","/root/main/tab/pridmenuwrite/list["+ grdrow +"]");
  1203. grd_pridmenuwrite.insertrow(grdrow, "below");
  1204. model.copyNode("/root/main/tab/pridmenuwrite/list["+ (grdrow+1) +"]","/root/hidden/pridmenuwrite");
  1205. model.setValue("/root/main/tab/pridmenuwrite/list["+ (grdrow+1) +"]/dishflag", "");
  1206. }
  1207. } else {
  1208. // grd_menuwrite.addrow();
  1209. model.copyNode("/root/hidden/pridmenuwrite","/root/main/tab/pridmenuwrite/list["+ grdrow +"]");
  1210. grd_pridmenuwrite.insertrow(grdrow, "below");
  1211. model.copyNode("/root/main/tab/pridmenuwrite/list["+ (grdrow+1) +"]","/root/hidden/pridmenuwrite");
  1212. model.setValue("/root/main/tab/pridmenuwrite/list["+ (grdrow+1) +"]/dishflag", "");
  1213. }
  1214. model.refresh();
  1215. }
  1216. ]]>
  1217. </script>
  1218. </button>
  1219. <button id="btn_pridmenusrch" class="btn2_letter8" style="left:475px; top:39px; width:108px; height:19px; ">
  1220. <caption>주기식단 가져오기</caption>
  1221. <script type="javascript" ev:event="DOMActivate">
  1222. <![CDATA[
  1223. submit("TRANT01407");
  1224. var rowcnt = grd_menuwrite.rows-1;
  1225. var appdd = model.getValue("/root/send/searchitem/menuwrite/ym");
  1226. var j = 2;
  1227. // 조회된 주기식단의 일련번호별로 날짜 setting
  1228. for ( i = 1; i <= rowcnt; i++ ) {
  1229. model.setValue("/root/main/tab/menuwrite/list[" + i + "]/appdd", appdd);
  1230. if ( i != rowcnt ) {
  1231. if ( model.getValue("/root/main/tab/menuwrite/list[" + j + "]/h_pridseq") != model.getValue("/root/main/tab/menuwrite/list[" + i + "]/h_pridseq") ) {
  1232. appdd = appdd.toDate().getAddDate(1,"D");
  1233. appdd = appdd.getDateFormat();
  1234. }
  1235. j = j + 1;
  1236. }
  1237. // 주기식단 가져오기 버튼을 눌러서 데이터를 가져오면 row status가 null이기 때문에 무조건 'insert'로 초기화한다.
  1238. grd_menuwrite.addStatus(i, "insert");
  1239. }
  1240. model.refresh();
  1241. ]]>
  1242. </script>
  1243. </button>
  1244. </group>
  1245. <group id="group4" scroll="auto" style="left:0px; top:757px; width:1195px; height:27px; ">
  1246. <button id="btn_save" class="btn4_letter2" style="left:1136px; top:5px; width:56px; height:22px; ">
  1247. <caption>저장</caption>
  1248. <script type="javascript" ev:event="DOMActivate">
  1249. <![CDATA[
  1250. if ( messageBox("", "Q002") == 6 ) {
  1251. // 식단작성 탭화면 일때
  1252. if ( btn_menuwrite.selected ) {
  1253. var update = getGridUpdateData(grd_menuwrite);
  1254. if(update == ""){
  1255. messageBox("업데이트 정보가 없습니다.", "I");
  1256. return 0;
  1257. } else {
  1258. for ( i=1; i<grd_menuwrite.rows; i++) {
  1259. //필수입력항목 체크
  1260. if ( (model.getValue("/root/main/tab/menuwrite/list[" + i + "]/appdd") == "") ||
  1261. (model.getValue("/root/main/tab/menuwrite/list[" + i + "]/mealflag") == "") ||
  1262. (model.getValue("/root/main/tab/menuwrite/list[" + i + "]/dishflag") == "") ) {
  1263. messageBox("년월일, 끼니, 분류 항목은", "I003");
  1264. return;
  1265. }
  1266. //주식부터 기타5까지 체크하여 음식명이 null이면 숨겨져있는 해당 음식코드를 '-'로 setting
  1267. for ( k = 8; k <= 38; k+=3 ) {
  1268. var dishnm = model.getValue("/root/main/tab/menuwrite/list["+ i +"]/" + grd_menuwrite.colAttribute(k, "ref"));
  1269. if ( dishnm == "" ) {
  1270. model.setValue("/root/main/tab/menuwrite/list["+ i +"]/" + grd_menuwrite.colAttribute(k+1, "ref"), "-");
  1271. }
  1272. }
  1273. }
  1274. model.setValue("/root/send/menuwrite/menuflag", model.getValue("/root/send/searchitem/menuwrite/menuflag"));
  1275. model.setValue("/root/send/menuwrite/ym",model.getValue("/root/send/searchitem/menuwrite/ym"));
  1276. model.setValue("/root/send/menuwrite/list", grd_menuwrite.getUpdateData());
  1277. submit("TXANT01401");
  1278. model.resetInstanceNode("/root/send/menuwrite/list");
  1279. }
  1280. }
  1281. // 식단복사 탭화면일때
  1282. else if ( btn_menucopy.selected ) {
  1283. var rows = grd_menucopy.rows;
  1284. // rowStatus가 null이므로 강제로 insert를 setting
  1285. for ( i=1; i<rows; i++) {
  1286. grd_menucopy.rowStatus(i) = 1; // '1'은 insert
  1287. }
  1288. model.setValue("/root/send/menucopy/menuflag", model.getValue("/root/send/searchitem/menucopy/menuflag"));
  1289. model.setValue("/root/send/menucopy/list", grd_menucopy.getUpdateData());
  1290. submit("TXANT01402");
  1291. }
  1292. // 주기식단작성 탭화면일때
  1293. else if ( btn_pridmenuwrite.selected ) {
  1294. var update = getGridUpdateData(grd_pridmenuwrite);
  1295. if(update == ""){
  1296. messageBox("업데이트 정보가 없습니다.", "I");
  1297. return 0;
  1298. } else {
  1299. if (model.getValue("/root/send/searchitem/pridmenuwrite/prid") == ""){
  1300. messageBox("저장할 식단 주기를 입력하신후 작업하시기 바랍니다.", "E999", "");
  1301. return;
  1302. }
  1303. var prid = model.getValue("/root/send/searchitem/pridmenuwrite/prid");
  1304. for ( i=1; i<grd_pridmenuwrite.rows; i++) {
  1305. //필수입력항목 체크
  1306. if ( (model.getValue("/root/main/tab/pridmenuwrite/list[" + i + "]/pridseq") == "") ||
  1307. (model.getValue("/root/main/tab/pridmenuwrite/list[" + i + "]/mealflag") == "") ||
  1308. (model.getValue("/root/main/tab/pridmenuwrite/list[" + i + "]/dishflag") == "") ) {
  1309. messageBox("주기No, 끼니, 분류 항목은", "I003");
  1310. return;
  1311. }
  1312. //주기를 벗어나지 않는지 체크
  1313. var pridseq = model.getValue("/root/main/tab/pridmenuwrite/list[" + i + "]/pridseq");
  1314. if ( parseInt(pridseq) > parseInt(prid) ) {
  1315. messageBox("주기를", "E003");
  1316. return;
  1317. }
  1318. //주식부터 기타5까지 체크하여 음식명이 null이면 숨겨져있는 해당 음식코드를 '-'로 setting
  1319. for ( k = 7; k <= 37; k+=3 ) {
  1320. var dishnm = model.getValue("/root/main/tab/pridmenuwrite/list["+ i +"]/" + grd_pridmenuwrite.colAttribute(k, "ref"));
  1321. if ( dishnm == "" ) {
  1322. model.setValue("/root/main/tab/pridmenuwrite/list["+ i +"]/" + grd_pridmenuwrite.colAttribute(k+1, "ref"), "-");
  1323. }
  1324. }
  1325. }
  1326. model.setValue("/root/send/pridmenuwrite/menuflag", model.getValue("/root/send/searchitem/pridmenuwrite/menuflag"));
  1327. //model.setValue("/root/send/pridmenuwrite/ym",model.getValue("/root/main/tab/pridmenuwrite/ym"));
  1328. model.setValue("/root/send/pridmenuwrite/prid", model.getValue("/root/send/searchitem/pridmenuwrite/prid"));
  1329. model.setValue("/root/send/pridmenuwrite/list", grd_pridmenuwrite.getUpdateData());
  1330. submit("TXANT01403");
  1331. submit("TRANT01405");
  1332. model.resetInstanceNode("/root/send/pridmenuwrite/list");
  1333. }
  1334. }
  1335. } else { return; }
  1336. ]]>
  1337. </script>
  1338. </button>
  1339. <button id="btn_reset" class="btn4_letter3" style="left:1066px; top:5px; width:68px; height:22px; ">
  1340. <caption>초기화</caption>
  1341. <script type="javascript" ev:event="DOMActivate">
  1342. <![CDATA[
  1343. finit();
  1344. ]]>
  1345. </script>
  1346. </button>
  1347. </group>
  1348. </xhtml:body>
  1349. </xhtml:html>