SPADB64100_시럽제제한품목관리.xrw 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  1. <?xml version="1.0" encoding="UTF-8"?>
  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. <info>
  11. <specinfo>
  12. </specinfo>
  13. <specdetlinfo>
  14. </specdetlinfo>
  15. </info>
  16. <cond>
  17. <hardcdno/>
  18. <hardcdnm/>
  19. <status/>
  20. </cond>
  21. <limantibiodruginfo/>
  22. </main>
  23. <send>
  24. <reqdata>
  25. <hardcdlist>319</hardcdlist>
  26. <prcpcd/>
  27. </reqdata>
  28. <savedata1/>
  29. <savedata2/>
  30. </send>
  31. <hidden>
  32. </hidden>
  33. <init/>
  34. </root>
  35. </instance>
  36. <script type="javascript" ev:event="xforms-ready">
  37. <![CDATA[
  38. //제한항생제 조건 리스트 조회
  39. submit("TRMMO33101");
  40. ]]>
  41. </script>
  42. <submission id="TRMMO33101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/info/specinfo"/>
  43. <submission id="TRMMO33102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/cond" resultref="/root/main/info/specdetlinfo"/>
  44. <submission id="TRMMD08701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata/prcpcd" resultref="/root/main/limantibiodruginfo"/>
  45. <submission id="TXMMO33101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/info/specinfo"/>
  46. <submission id="TXMMO33102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/info/specdetlinfo"/>
  47. </model>
  48. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  49. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  50. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  51. <script type="javascript" src="../../../com/departmentcodeweb/js/ZSD001.js"/>
  52. <script type="javascript">
  53. <![CDATA[
  54. //이전 셀의 행,열 인덱스를 저장하는 변수
  55. var col = 0;
  56. var row = 0;
  57. ]]>
  58. </script>
  59. </xhtml:head>
  60. <xhtml:body pagewidth="650" pageheight="626" guideline="2,840;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  61. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:625px; height:13px; ">시럽제 제한 조건 관리</caption>
  62. <group id="group1" style="left:0px; top:20px; width:630px; height:590px; vertical-align:top; ">
  63. <caption id="cpt_worktitle" class="tit_2" style="left:4px; top:217px; width:175px; height:13px; ">시럽제 제한 약품 리스트</caption>
  64. <line id="line3" class="line_1" style="x1:0px; y1:232px; x2:630px; y2:232px; "/>
  65. <button id="btn_excel" class="btn2_letter3" style="left:576px; top:212px; width:53px; height:19px; ">
  66. <caption>Excel</caption>
  67. <script type="javascript" ev:event="DOMActivate">
  68. <![CDATA[
  69. var cRow = grd_hardcodespec.row;
  70. if( cRow <= 0 ){
  71. alert("시럽제 제한 조건을 선택해주십시오.");
  72. return;
  73. }
  74. var SheetName = "시럽제 제한 조건코드 " + model.getValue("/root/main/info/specinfo/speclist["+cRow+"]/hardcdno");
  75. if(isNull(SheetName)) SheetName = "Sheet1";
  76. var fileName = window.fileDialog("save", ",", false, SheetName, "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  77. if (fileName != ""){
  78. //그리드의 내용을 Excel 파일로 저장하는 함수로.. 파일이름을 받아온것을 가지고 저장하러 간다.
  79. grd_hardcodespecdetl.saveExcel(fileName, SheetName, false, false, "", "");
  80. }
  81. ]]>
  82. </script>
  83. </button>
  84. <caption id="caption3" class="tit_2" style="left:0px; top:7px; width:188px; height:13px; text-align:left; ">시럽제 제한 조건 리스트</caption>
  85. <datagrid id="grd_hardcodespec" nodeset="/root/main/info/specinfo/speclist" caption="조건코드^조건명" colsep="^" colwidth="100, 494" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:0px; top:25px; width:630px; height:180px; ">
  86. <col ref="hardcdno" style="text-align:center; "/>
  87. <col ref="hardcdnm" type="input"/>
  88. <script type="javascript" ev:event="onclick">
  89. <![CDATA[
  90. //그리드 row선택시 row외 다른곳 선택시 error메세지
  91. if( grd_hardcodespec.isCell(event.target) && grd_hardcodespec.row >= grd_hardcodespec.fixedRows ) {
  92. ///수정를 원하는 로우를 얻어온다.
  93. var gridrow = grd_hardcodespec.row;
  94. //코드값을 가지고 가기위해
  95. model.makeValue("/root/main/cond/hardcdno", model.getValue("/root/main/info/specinfo/speclist[" + gridrow + "]/hardcdno"));
  96. model.makeValue("/root/main/cond/hardcdnm", model.getValue("/root/main/info/specinfo/speclist[" + gridrow + "]/hardcdnm"));
  97. //상세내역을 알기 위해 하드코드 값을 가지고 상세내역 조회
  98. submit("TRMMO33102");
  99. }
  100. ]]>
  101. </script>
  102. </datagrid>
  103. <datagrid id="grd_hardcodespecdetl" nodeset="/root/main/info/specdetlinfo/specdetllist" caption="status^hardcd^처방코드^제한 사유^코드일련번호^시작일자^종료일자" colsep="^" colwidth="46, 50, 100, 315, 0, 90, 90" explorerbar="sortshow" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:0px; top:237px; width:630px; height:350px; ">
  104. <col ref="status" visibility="hidden"/>
  105. <col ref="hardcd" visibility="hidden"/>
  106. <col ref="trgtcd" type="inputbutton" style="text-align:center; "/>
  107. <col ref="trgtcdnm" type="input"/>
  108. <col ref="cdseqno"/>
  109. <col ref="valifromdd" type="inputdate" format="yyyy-mm-dd"/>
  110. <col ref="valitodd" type="inputdate" format="yyyy-mm-dd"/>
  111. <script type="javascript" ev:event="onbuttonclick">
  112. <![CDATA[
  113. var iRow = grd_hardcodespecdetl.row;
  114. if( iRow >= grd_hardcodespecdetl.fixedRows && grd_hardcodespecdetl.col == grd_hardcodespecdetl.colRef("trgtcd") ) {
  115. //위치 지정
  116. var tPos = event.clientY;
  117. if( tPos + 230 > 585 ) tPos = tPos - 250;
  118. grp_limantibioapplist.attribute("top") = tPos;
  119. //내용검색
  120. model.setValue("/root/send/reqdata/prcpcd", model.getValue("/root/main/info/specdetlinfo/specdetllist["+ iRow + "]/trgtcd"));
  121. submit("TRMMD08701");
  122. //그리드 visible
  123. //grd_limantibioapplist.visible = true;
  124. //btn_grdhidden.visible = true;
  125. grp_limantibioapplist.visible = true;
  126. }
  127. ]]>
  128. </script>
  129. <script type="javascript" ev:event="xforms-value-changed">
  130. <![CDATA[
  131. var iRow = grd_hardcodespecdetl.row;
  132. var status = model.getValue("/root/main/info/specdetlinfo/specdetllist[" + iRow + "]/status");
  133. if( status != "I" && status != "D" ){
  134. model.setValue("/root/main/info/specdetlinfo/specdetllist[" + iRow + "]/status", "U");
  135. }
  136. ]]>
  137. </script>
  138. <script type="javascript" ev:event="onaftersort">
  139. <![CDATA[
  140. grd_hardcodespecdetl.gridToInstance();
  141. ]]>
  142. </script>
  143. </datagrid>
  144. <button id="button3" class="btn4_letter2" visibility="hidden" style="left:574px; top:0px; width:56px; height:22px; ">
  145. <caption>저장</caption>
  146. <script type="javascript" ev:event="DOMActivate">
  147. <![CDATA[
  148. model.removeNode("/root/send/savedata1");
  149. model.makeNode("/root/send/savedata1");
  150. model.copyNode("/root/send/savedata1", "/root/main/info/specinfo");
  151. submit("TXMMO33101");
  152. ]]>
  153. </script>
  154. </button>
  155. <line id="line1" class="line_1" style="x1:0px; y1:22px; x2:630px; y2:22px; "/>
  156. <line id="line2" class="line_3" style="x1:0px; y1:206px; x2:630px; y2:206px; "/>
  157. <button id="button7" class="btn2_letter2" style="left:441px; top:212px; width:42px; height:19px; ">
  158. <caption>신규</caption>
  159. <script type="javascript" ev:event="DOMActivate">
  160. <![CDATA[
  161. var cRow = grd_hardcodespec.row;
  162. if( cRow <= 0 ){
  163. alert("시럽제 제한 조건을 선택해주십시오.");
  164. return;
  165. }
  166. grd_hardcodespecdetl.addRow();
  167. var iRow = grd_hardcodespecdetl.rows - grd_hardcodespecdetl.fixedRows;
  168. if( grd_hardcodespecdetl.rows > 1 ){
  169. model.setValue("/root/main/info/specdetlinfo/specdetllist[" + iRow + "]/status", "I");
  170. model.setValue("/root/main/info/specdetlinfo/specdetllist[" + iRow + "]/hardcd", model.getValue("/root/main/info/specinfo/speclist["+cRow+"]/hardcdno"));
  171. model.setValue("/root/main/info/specdetlinfo/specdetllist[" + iRow + "]/valifromdd", getCurrentDate());
  172. model.setValue("/root/main/info/specdetlinfo/specdetllist[" + iRow + "]/valitodd", "99991231");
  173. }
  174. ]]>
  175. </script>
  176. </button>
  177. <button id="button8" class="btn2_letter2" style="left:486px; top:212px; width:42px; height:19px; ">
  178. <caption>삭제</caption>
  179. <script type="javascript" ev:event="DOMActivate">
  180. <![CDATA[
  181. var iRow = grd_hardcodespecdetl.row;
  182. if( iRow <= 0 ){
  183. alert("삭제할 시럽제 처방을 선택해주십시오.");
  184. return;
  185. }
  186. var status = model.getValue("/root/main/info/specdetlinfo/specdetllist[" + iRow + "]/status");
  187. if( status == "I" ){
  188. grd_hardcodespecdetl.deleteRow(iRow);
  189. }else if( status == "D" ){
  190. model.setValue("/root/main/info/specdetlinfo/specdetllist[" + iRow + "]/status", "-");
  191. grd_hardcodespecdetl.rowstatus(iRow) = 0;
  192. }else{
  193. model.setValue("/root/main/info/specdetlinfo/specdetllist[" + iRow + "]/status", "D");
  194. grd_hardcodespecdetl.rowstatus(iRow) = 4;
  195. }
  196. ]]>
  197. </script>
  198. </button>
  199. <button id="button9" class="btn5_letter2" style="left:531px; top:212px; width:42px; height:19px; ">
  200. <caption>저장</caption>
  201. <script type="javascript" ev:event="DOMActivate">
  202. <![CDATA[
  203. if( instance1.selectSingleNode("/root/main/info/specdetlinfo/specdetllist[status!='-']") != null ){
  204. if( instance1.selectSingleNode("/root/main/info/specdetlinfo/specdetllist[trgtcd='']") != null ){
  205. alert("처방코드가 누락되었습니다.");
  206. return;
  207. }else if( instance1.selectSingleNode("/root/main/info/specdetlinfo/specdetllist[status!='D' and trgtcdnm='']") != null ){
  208. alert("처방명칭이 누락되었습니다.");
  209. return;
  210. }else if( instance1.selectSingleNode("/root/main/info/specdetlinfo/specdetllist[status!='D' and valifromdd='']") != null ){
  211. alert("시작일자가 누락되었습니다.");
  212. return;
  213. }else if( instance1.selectSingleNode("/root/main/info/specdetlinfo/specdetllist[status!='D' and valitodd='']") != null ){
  214. alert("종료일자가 누락되었습니다.");
  215. return;
  216. }
  217. var cRow = grd_hardcodespec.row;
  218. model.removeNode("/root/send/savedata1");
  219. model.removeNode("/root/send/savedata2");
  220. model.makeNode("/root/send/savedata1");
  221. model.makeNode("/root/send/savedata2");
  222. model.copyNode("/root/send/savedata1", "/root/main/info/specinfo/speclist["+cRow+"]");
  223. model.copyNode("/root/send/savedata2", "/root/main/info/specdetlinfo");
  224. submit("TXMMO33102");
  225. }
  226. ]]>
  227. </script>
  228. </button>
  229. <line id="line4" class="line_3" style="x1:0px; y1:588px; x2:630px; y2:588px; "/>
  230. <group id="grp_limantibioapplist" visibility="hidden" style="left:20px; top:285px; width:595px; height:220px; ">
  231. <button id="btn_grdhidden" class="btn2_letter2" style="left:552px; top:200px; width:42px; height:19px; ">
  232. <caption>닫기</caption>
  233. <script type="javascript" ev:event="DOMActivate">
  234. <![CDATA[
  235. grp_limantibioapplist.visible = false;
  236. ]]>
  237. </script>
  238. </button>
  239. <datagrid id="grd_limantibioapplist" nodeset="/root/main/limantibiodruginfo/limantibiodruglist" caption="처방코드^제한 사유^시작일자^종료일자" colsep="^" colwidth="100, 260, 100, 100" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:0px; top:0px; width:595px; height:200px; ">
  240. <col ref="prcpcd"/>
  241. <col ref="prcpnm"/>
  242. <col ref="valifromdd" type="inputdate"/>
  243. <col ref="valitodd" type="inputdate"/>
  244. <script type="javascript" ev:event="ondblclick">
  245. <![CDATA[
  246. var iRow = grd_hardcodespecdetl.row;
  247. var jRow = grd_limantibioapplist.row;
  248. if( iRow >= grd_hardcodespecdetl.fixedRows ) {
  249. model.setValue("/root/main/info/specdetlinfo/specdetllist["+ iRow + "]/trgtcd", model.getValue("/root/main/limantibiodruginfo/limantibiodruglist["+ jRow + "]/prcpcd"));
  250. model.setValue("/root/main/info/specdetlinfo/specdetllist["+ iRow + "]/trgtcdnm", model.getValue("/root/main/limantibiodruginfo/limantibiodruglist["+ jRow + "]/prcpnm"));
  251. grp_limantibioapplist.visible = false;
  252. }
  253. ]]>
  254. </script>
  255. </datagrid>
  256. </group>
  257. </group>
  258. </xhtml:body>
  259. </xhtml:html>