SPMMO21800_향정신성의약품사유입력.xrw 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274
  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>향정신성의약품 30일 초과 처방 리스트</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <result>
  10. <spclhdrugprcplist>
  11. <status/>
  12. <resncd/>
  13. <comcls/>
  14. <prcpcd/>
  15. <prcpnm/>
  16. <dupdays/>
  17. <duplprcpcd/>
  18. <duplprcpnm/>
  19. <duplprcpdd/>
  20. <orddeptnm/>
  21. <orddrnm/>
  22. <rgstrnm/>
  23. <resncnt/>
  24. <prcpdd/>
  25. <prcpno/>
  26. </spclhdrugprcplist>
  27. </result>
  28. <send>
  29. <cond1/>
  30. </send>
  31. <hardcd>
  32. <hardcd>
  33. <status/>
  34. <hardcd/>
  35. <hardcdnm/>
  36. <resncmt/>
  37. </hardcd>
  38. </hardcd>
  39. <init>
  40. <selcond1>1</selcond1>
  41. </init>
  42. </root>
  43. </instance>
  44. <script type="javascript" ev:event="xforms-model-construct-done">
  45. <![CDATA[
  46. var srcNodeList = model.instances(0).selectNodes( "/root/result/spclhdrugprcplist" );
  47. for ( var i= 1; i<=srcNodeList.length; i++ ) {
  48. model.setValue("/root/result/spclhdrugprcplist[" + i + "]/status", "Y") ;
  49. }
  50. model.refresh();
  51. // 향정신성의약품 사유 조회
  52. model.setValue ( "/root/send/cond1", "303" );
  53. submit("TRMMB16401" );
  54. ]]>
  55. </script>
  56. <submission id="TRZBC00101" mediatype="application/x-www-form-urlencoded" method="post"/>
  57. <submission id="TRMMB16401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/hardcd"/>
  58. <bind id="bind1" ref="/root/hardcd/hardcd/hardcdnm" readonly="../hardcd != '09'"/>
  59. </model>
  60. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  61. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  62. <script type="javascript" src="../../../emr/prcpmngtweb/js/MMO001.js"/>
  63. <script type="javascript">
  64. <![CDATA[
  65. function fSelectResn() {
  66. var currow = grd_resnlist.row;
  67. var srchLength = model.instances(0).selectNodes( "/root/result/spclhdrugprcplist" ).length;
  68. for ( var i =1; i <= srchLength ; i ++ ) {
  69. if ( model.getValue ( "/root/result/spclhdrugprcplist[" + i + "]/status" ) == "Y" ) {
  70. model.setValue ( "/root/result/spclhdrugprcplist[" + i + "]/resncd", model.getValue ( "/root/hardcd/hardcd[" + currow + "]/hardcd" ));
  71. var resncnts = "instcd|pid|orddd|cretno|ordtype|orddeptcd|prcpdd|prcpno|prcphistno|resnflag|resncd|resncnts|payflagcd^" ;
  72. var pid = opener.model.getValue( "/root/paminfo/list/pid");
  73. var prcpgenrflag = opener.model.getValue ( "/root/patflag/list/prcpgenrflag" );
  74. var orddd = "";
  75. if ( prcpgenrflag == "O" ) {
  76. orddd = opener.model.getValue( "/root/paminfo/list/orddd");
  77. } else {
  78. orddd = opener.model.getValue( "/root/paminfo/list/indd");
  79. }
  80. var cretno = opener.model.getValue( "/root/paminfo/list/cretno");
  81. var orddeptcd = opener.model.getValue( "/root/paminfo/list/orddeptcd");
  82. var chkresncnts = '-'
  83. var chkresncd = model.getValue ( "/root/hardcd/hardcd[" + currow + "]/hardcd" );
  84. var instcd = getUserInfo("dutplceinstcd") ;
  85. if (model.getValue ( "/root/hardcd/hardcd[" + currow + "]/hardcd" ) == "03") {
  86. resncnts = resncnts + instcd + "|" + pid + "|" + orddd + "|" + cretno + "|" + prcpgenrflag + "|" + orddeptcd + "|-|0|0|010|" + chkresncd + "|" + "기타 - " + model.getValue ( "/root/hardcd/hardcd[" + currow + "]/resncmt" ) + "^";
  87. model.setValue ( "/root/result/spclhdrugprcplist[" + i + "]/resncnt", "기타 - " + model.getValue ( "/root/hardcd/hardcd[" + currow + "]/resncmt" ));
  88. } else {
  89. resncnts = resncnts + instcd + "|" + pid + "|" + orddd + "|" + cretno + "|" + prcpgenrflag + "|" + orddeptcd + "|-|0|0|010|" + chkresncd + "|" + model.getValue ( "/root/hardcd/hardcd[" + currow + "]/hardcdnm" ) + "^";
  90. model.setValue ( "/root/result/spclhdrugprcplist[" + i + "]/resncnt", model.getValue ( "/root/hardcd/hardcd[" + currow + "]/hardcdnm" ));
  91. }
  92. model.setValue ( "/root/result/spclhdrugprcplist[" + i + "]/saveresncnt", resncnts );
  93. }
  94. }
  95. grd_prcperrlist.refresh();
  96. model.recalculate();
  97. }
  98. ]]>
  99. </script>
  100. </xhtml:head>
  101. <xhtml:body pagewidth="1002" pageheight="570" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  102. <button id="btn_save" class="btn4_letter4" style="left:819px; top:536px; width:80px; height:22px; ">
  103. <caption>계속저장</caption>
  104. <script type="javascript" ev:event="DOMActivate">
  105. <![CDATA[
  106. var srchLength = model.instances(0).selectNodes( "/root/result/spclhdrugprcplist" ).length;
  107. var srcNodeListMainLength = opener.model.instances(0).selectNodes( "/root/main/prcp/prcplist" ).length;
  108. for ( var i = 1; i <= srchLength; i++ ) {
  109. var resncd = model.getvalue ( "/root/result/spclhdrugprcplist[" + i + "]/resncd" );
  110. var prcpcd = model.getvalue ( "/root/result/spclhdrugprcplist[" + i + "]/prcpcd" );
  111. var resncnt = model.getvalue ( "/root/result/spclhdrugprcplist[" + i + "]/resncnt" );
  112. if ( resncd == "-" || resncd == "") {
  113. messageBox ( "[" + prcpcd + "]"+ " 향정신성 의약품 처방 사유가", "I004" );
  114. return;
  115. } else if ( resncd == "03" && (resncnt == "" || resncnt == "기타 - " )) {
  116. messageBox ( "[" + prcpcd + "]"+ " 기타 사유가", "I004" );
  117. return;
  118. }
  119. }
  120. for ( var i = 1; i <= srchLength; i++ ) {
  121. var saveresncnt = model.getvalue ( "/root/result/spclhdrugprcplist[" + i + "]/saveresncnt" );
  122. var prcpno = model.getvalue ( "/root/result/spclhdrugprcplist[" + i + "]/prcpno" );
  123. var resncd = model.getvalue ( "/root/result/spclhdrugprcplist[" + i + "]/resncd" );
  124. for ( var j = 1; j <= srcNodeListMainLength; j++ ) {
  125. if ( prcpno == opener.model.getValue ( "/root/result/savedrprcplist[" + j + "]/prcpno" )) {
  126. opener.model.setValue ( "/root/result/savedrprcplist[" + j + "]/tempcol19", saveresncnt );
  127. }
  128. }
  129. }
  130. opener.javascript.setParameter ( "SPMMO21800_rtn1", "Y" );
  131. window.close();
  132. ]]>
  133. </script>
  134. </button>
  135. <caption id="caption1" class="tit_2" style="left:5px; top:2px; width:302px; height:14px; ">향정신성의약품 사유 입력</caption>
  136. <line id="line7" class="line_1" style="x1:3px; y1:18px; x2:985px; y2:18px; "/>
  137. <caption id="caption2" style="left:430px; top:538px; width:383px; height:20px; color:#ff0000; ">* 향정신성의약품 30일 초과 처방이 있습니다. 저장하시겠습니까 ?</caption>
  138. <datagrid id="grd_prcperrlist" nodeset="/root/result/spclhdrugprcplist" caption="prcpno^선택^사유^처방코드^처방명^상세사유" colsep="^" colwidth="30, 30, 30, 80, 205, 479" dataheight="23" ellipsis="true" extendlastcol="scroll" mergecells="byrestriccol" rowheight="23" rowsep="|" tooltip="true" style="left:3px; top:23px; width:982px; height:200px; ">
  139. <col ref="prcpno" visibility="hidden"/>
  140. <col checkvalue="Y,N" ref="status" type="checkbox"/>
  141. <col ref="resncd" style="text-align:center; "/>
  142. <col ref="prcpcd"/>
  143. <col ref="prcpnm" type="output"/>
  144. <col ref="resncnt"/>
  145. <script type="javascript" ev:event="xforms-value-changed">
  146. <![CDATA[
  147. if ( grd_prcperrlist.col == grd_prcperrlist.colRef ( "status" )) {
  148. var currow = grd_prcperrlist.row;
  149. var srcNodeList = model.instances(0).selectNodes( "/root/result/spclhdrugprcplist" );
  150. var status = model.getValue ( "/root/result/spclhdrugprcplist[" + currow + "]/status" );
  151. for ( var i= currow; i<=srcNodeList.length; i++ ) {
  152. var j = i + 1;
  153. var currprcpno = model.getValue ( "/root/result/spclhdrugprcplist[" + i + "]/prcpno" );
  154. var nextprcpno = model.getValue ( "/root/result/spclhdrugprcplist[" + j + "]/prcpno" );
  155. if (currprcpno == nextprcpno) {
  156. model.setValue("/root/result/spclhdrugprcplist[" + j + "]/status", status) ;
  157. } else {
  158. break;
  159. }
  160. }
  161. }
  162. model.refresh();
  163. ]]>
  164. </script>
  165. <script type="javascript" ev:event="onclick">
  166. <![CDATA[
  167. var currow = grd_prcperrlist.row;
  168. if( currow > 0 && currow <= grd_resnlist.rows ){
  169. var srchLength = model.instances(0).selectNodes( "/root/result/spclhdrugprcplist" ).length;
  170. if ( grd_prcperrlist.col != grd_prcperrlist.colRef ( "status" )) {
  171. if ( model.getValue ( "/root/result/spclhdrugprcplist[" + currow + "]/status" ) == "Y" ) {
  172. model.setValue ( "/root/result/spclhdrugprcplist[" + currow + "]/status", "N" )
  173. } else {
  174. model.setValue ( "/root/result/spclhdrugprcplist[" + currow + "]/status", "Y" )
  175. }
  176. var status = model.getValue ( "/root/result/spclhdrugprcplist[" + currow + "]/status" );
  177. var currprcpno = model.getValue ( "/root/result/spclhdrugprcplist[" + currow + "]/prcpno" );
  178. for ( var i= 1; i<=srchLength; i++ ) {
  179. var nextprcpno = model.getValue ( "/root/result/spclhdrugprcplist[" + i + "]/prcpno" );
  180. if (currprcpno == nextprcpno) {
  181. model.setValue("/root/result/spclhdrugprcplist[" + i + "]/status", status) ;
  182. }
  183. }
  184. }
  185. model.refresh()
  186. }
  187. ]]>
  188. </script>
  189. </datagrid>
  190. <button id="button2" class="btn4_letter4" style="left:903px; top:536px; width:80px; height:22px; ">
  191. <caption>처방취소</caption>
  192. <script type="javascript" ev:event="DOMActivate">
  193. <![CDATA[
  194. opener.javascript.setParameter ( "SPMMO21800_rtn1", "N" );
  195. window.close();
  196. ]]>
  197. </script>
  198. </button>
  199. <datagrid id="grd_resnlist" nodeset="/root/hardcd/hardcd" caption="선택^코드^사유^상세사유" colsep="^" colwidth="30, 35, 486, 398" dataheight="23" ellipsis="true" extendlastcol="scroll" rowheight="23" rowsep="|" tooltip="true" style="left:10px; top:250px; width:975px; height:278px; ">
  200. <col checkvalue="Y,N" ref="status" type="checkbox" visibility="hidden"/>
  201. <col ref="hardcd" style="text-align:center; "/>
  202. <col ref="hardcdnm"/>
  203. <col imemode="hangul" ref="resncmt" type="input"/>
  204. <script type="javascript" ev:event="onclick">
  205. <![CDATA[
  206. var currow = grd_resnlist.row;
  207. if ( model.getValue ( "/root/hardcd/hardcd[" + currow + "]/hardcd" ) == "03") {
  208. grd_resnlist.col = grd_resnlist.colRef("resncmt");
  209. grd_resnlist.editCell();
  210. //fSelectResn();
  211. } else {
  212. fSelectResn();
  213. }
  214. ]]>
  215. </script>
  216. <script type="javascript" ev:event="onendedit">
  217. <![CDATA[
  218. fSelectResn();
  219. ]]>
  220. </script>
  221. <!--
  222. <script type="javascript" ev:event="ondblclick">
  223. <![CDATA[
  224. //사유 클릭 하면 자동으로 팝업 창이 닫히도록 ONE CLICK 요청 -의정부 성모병원 소화기내과 (2009.06.15 JJE)
  225. if( grd_resnlist.row > 0 && grd_resnlist.row <= grd_resnlist.rows ){
  226. if( model.getValue("/root/init/selcond1") == "1" ) btn_save.dispatch("DOMActivate");
  227. }
  228. ]]>
  229. </script>
  230. -->
  231. </datagrid>
  232. <caption id="caption3" class="tit_2" style="left:5px; top:230px; width:171px; height:13px; ">사유선택</caption>
  233. <line id="line1" class="line_1" style="x1:3px; y1:246px; x2:985px; y2:246px; "/>
  234. <select1 id="radio1" ref="/root/init/selcond1" appearance="full" cols="2" overflow="visible" style="left:316px; top:0px; width:195px; height:20px; border-style:none; ">
  235. <choices>
  236. <item>
  237. <label>일괄사유입력</label>
  238. <value>1</value>
  239. </item>
  240. <item>
  241. <label>개별사유입력</label>
  242. <value>2</value>
  243. </item>
  244. </choices>
  245. <script type="javascript" ev:event="xforms-value-changed">
  246. <![CDATA[
  247. var srcNodeList = model.instances(0).selectNodes( "/root/result/spclhdrugprcplist" );
  248. if ( model.getValue ( "/root/init/selcond1" ) == 1 ) {
  249. for ( var i= 1; i<=srcNodeList.length; i++ ) {
  250. model.setValue("/root/result/spclhdrugprcplist[" + i + "]/status", "Y") ;
  251. }
  252. } else {
  253. for ( var i= 1; i<=srcNodeList.length; i++ ) {
  254. model.setValue("/root/result/spclhdrugprcplist[" + i + "]/status", "N") ;
  255. }
  256. }
  257. model.refresh();
  258. ]]>
  259. </script>
  260. </select1>
  261. </xhtml:body>
  262. </xhtml:html>