SPMMO33100_제한항생제조건별품목관리.xrw 13 KB

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