SPMMO16700_처방코드조회.xrw 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  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. <prcpinfo>
  11. <prcplist>
  12. <status/>
  13. <prcpcd/>
  14. <prcpnm/>
  15. <prcphngnm/>
  16. </prcplist>
  17. </prcpinfo>
  18. </main>
  19. <send>
  20. <fromdd/>
  21. <todd/>
  22. <code/>
  23. <name/>
  24. </send>
  25. <init>
  26. <diagsrchcond1/>
  27. </init>
  28. <temp>
  29. </temp>
  30. </root>
  31. </instance>
  32. <script type="javascript">
  33. <![CDATA[
  34. function getPrcpNodeListCSV(nodeList) {
  35. if( nodeList.length == 0 ){
  36. return;
  37. }
  38. var sColSep = "▦";
  39. var sRowSep = "▩";
  40. var rCSV = "";
  41. var childNodeList = nodeList.item(0).childNodes;
  42. var childNodeCnt = childNodeList.length;
  43. if( childNodeCnt == 0 ){
  44. return;
  45. }
  46. var i, j;
  47. for( i = 0; i < childNodeCnt - 1; i++) {
  48. rCSV += childNodeList.item(i).nodeName + sColSep;
  49. }
  50. rCSV += childNodeList.item(i).nodeName + sRowSep;
  51. var node;
  52. var cnt = 1;
  53. var selCnt = 0;
  54. while( node = nodeList.nextNode() ) {
  55. if (model.getValue ( "/root/main/prcpinfo/prcplist[" + cnt++ + "]/status" ) == "I" ) {
  56. childNodeList = node.childNodes;
  57. for( i = 0; i < childNodeCnt - 1; i++) {
  58. rCSV += childNodeList.item(i).text + sColSep;
  59. }
  60. rCSV += childNodeList.item(i).text + sRowSep;
  61. selCnt++;
  62. }
  63. }
  64. if ( selCnt == 0 ) {
  65. return "N"
  66. } else {
  67. return rCSV;
  68. }
  69. }
  70. /**
  71. * 처방검색
  72. * @param srchflag : 검색구분(1:코드, 2:명)
  73. * srchdata : 검색내용
  74. */
  75. function fReqGetPrcpComnInfo(){
  76. model.removeNodeset("/root/send");
  77. model.makeValue("/root/send/fromdd" , fromdd);
  78. model.makeValue("/root/send/todd" , todd);
  79. model.makeValue("/root/send/code" , code);
  80. model.makeValue("/root/send/name" , name);
  81. if(submit("TRMMO16701")){
  82. var srcNodeList = model.instances(0).selectNodes("/root/main/prcpinfo/prcplist");
  83. if(srcNodeList.length == 0){
  84. opener.javascript.setParameter( "SPMMO00800_rtn", "" );
  85. opener.javascript.setParameter( "SPMMO00800_rtn_useyn", "N");
  86. messageBox ( "검색된 처방이", "I004" );
  87. return;
  88. }
  89. grd_diaghist.autoResize = true ;
  90. grd_diaghist.refresh();
  91. }
  92. }
  93. ]]>
  94. </script>
  95. <script type="javascript" ev:event="xforms-ready">
  96. <![CDATA[
  97. var srcNodeList = model.instances(0).selectNodes("/root/main/prcpinfo/prcplist");
  98. if ( srcNodeList.length == 1 ) {
  99. model.setValue ( "/root/main/prcpinfo/prcplist/status", "I" );
  100. var rtn1 = getPrcpNodeListCSV ( model.instances(0).selectNodes( "/root/main/prcpinfo/prcplist" ));
  101. opener.javascript.setParameter( "SPMMO00800_rtn", rtn1 );
  102. opener.javascript.setParameter( "SPMMO00800_rtn_useyn", "Y");
  103. window.close();
  104. } else if ( srcNodeList.length == 0 ) {
  105. opener.javascript.setParameter( "SPMMO00800_rtn", "" );
  106. opener.javascript.setParameter( "SPMMO00800_rtn_useyn", "N");
  107. messageBox ( "검색된 처방이", "I004" );
  108. window.close();
  109. }
  110. grd_prcplist.autoResize = true ;
  111. ]]>
  112. </script>
  113. <script type="javascript" ev:event="xforms-model-construct-done">
  114. <![CDATA[
  115. //초기화 작업
  116. model.removeNodeset ( "/root/main/prcpinfo/prcplist" );
  117. opener.javascript.setParameter( "SPMMO00800_rtn", "" );
  118. opener.javascript.setParameter( "SPMMO00800_rtn_useyn", "N");
  119. var cond1 = opener.javascript.getParameter ( "SPMMO00800_cond1" ); //검색구분(1:코드, 2:명)
  120. var cond2 = opener.javascript.getParameter ( "SPMMO00800_cond2" ); //명칭검색구분(1:코드, 2:단어, 3:문장, 4:첫단어)
  121. var cond3 = opener.javascript.getParameter ( "SPMMO00800_cond3" ); //한영구분(H: 한글, E:영문)
  122. var cond4 = opener.javascript.getParameter ( "SPMMO00800_cond4" ); //기준일자: 외래일때는 진료일자, 입원일때는 처방일자
  123. var cond5 = opener.javascript.getParameter ( "SPMMO00800_cond5" ); //검색내용
  124. var fromdd = opener.javascript.getParameter ( "SPMMO00800_fromdd" ); //검색내용
  125. var todd = opener.javascript.getParameter ( "SPMMO00800_todd" ); //검색내용
  126. if ( cond1 == "1" ) {
  127. grd_prcplist.colWidth ( 2 ) = 390;
  128. grd_prcplist.colWidth ( 3 ) = 390;
  129. grd_prcplist.colWidth ( 4 ) = 0;
  130. }
  131. model.setValue("/root/init/diagsrchcond1", cond2);
  132. if (cond1 == "1") {
  133. model.setValue("/root/send/code", cond5 );
  134. } else {
  135. model.setValue("/root/send/name", cond5 );
  136. }
  137. model.setValue("/root/send/fromdd", fromdd);
  138. model.setValue("/root/send/todd", todd);
  139. submit("TRMMO16701");
  140. ]]>
  141. </script>
  142. <submission id="TRMMO16701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/diaginfo"/>
  143. </model>
  144. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  145. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  146. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  147. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  148. <script type="javascript" src="../../../emr/prcpmngtweb/js/MMO001.js"/>
  149. </xhtml:head>
  150. <xhtml:body pagewidth="990" pageheight="300" guideline="1,991;2,300;1,327;" style="word-wrap:word; ">
  151. <datagrid id="grd_prcplist" nodeset="/root/main/prcpinfo/prcplist" caption="^처방코드^영문명^한글명^orgdiagcd^tootfact^icd10cd" colsep="^" colwidth="30, 92, 421, 428, 0, 0, 0" explorerbar="sortshow" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowsep="|" style="left:5px; top:23px; width:980px; height:249px; word-wrap:word; ">
  152. <col checkvalue="I,N" ref="status" type="checkbox"/>
  153. <col ref="prcpcd" style="text-align:left; "/>
  154. <col ref="prcpnm"/>
  155. <col ref="prcphngnm"/>
  156. <script type="javascript" ev:event="ondblclick">
  157. <![CDATA[
  158. if(isDataCell()){
  159. model.setValue ( "/root/main/prcpinfo/prcplist[" + grd_prcplist.row + "]/status", "I" );
  160. for (i=1; i < grd_prcplist.rows; i++ ) {
  161. var status = model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/status")
  162. if (status == "I") {
  163. copyNodeListType("/root/temp" , "/root/main/prcpinfo/prcplist[" + i + "]", "after")
  164. }
  165. }
  166. var rtn1 = getPrcpNodeListCSV ( model.instances(0).selectNodes( "/root/temp/prcplist" ));
  167. opener.javascript.setParameter( "SPMMO00800_rtn", rtn1 );
  168. opener.javascript.setParameter("SPMMO00800_rtn_useyn", "Y");
  169. window.close();
  170. }
  171. ]]>
  172. </script>
  173. <script type="javascript" ev:event="onclick">
  174. <![CDATA[
  175. //grd_prcplist.gridToInstance();
  176. if(isDataCell()){
  177. if ( grd_prcplist.col != 0 ) {
  178. var status = model.getValue ( "/root/main/prcpinfo/prcplist["+ grd_prcplist.row +"]/status" ) ;
  179. if ( status == "N" || isNull ( status ) ) {
  180. model.setValue ( "/root/main/prcpinfo/prcplist["+ grd_prcplist.row +"]/status", "I" );
  181. } else {
  182. model.setValue ( "/root/main/prcpinfo/prcplist["+ grd_prcplist.row +"]/status", "N" );
  183. }
  184. }
  185. model.refresh();
  186. }
  187. ]]>
  188. </script>
  189. </datagrid>
  190. <line id="line4" class="line_1" style="x1:5px; y1:18px; x2:985px; y2:18px; "/>
  191. <button id="button1" class="btn4_letter2" style="left:925px; top:277px; width:56px; height:22px; ">
  192. <caption>취소</caption>
  193. <script type="javascript" ev:event="DOMActivate">
  194. <![CDATA[
  195. opener.javascript.setParameter( "SPMMO00800_rtn", "" );
  196. opener.javascript.setParameter( "SPMMO00800_rtn_useyn", "N");
  197. window.close();
  198. ]]>
  199. </script>
  200. </button>
  201. <button id="btn_copy" class="btn4_letter2" style="left:867px; top:277px; width:56px; height:22px; ">
  202. <caption>선택</caption>
  203. <script type="javascript" ev:event="DOMActivate">
  204. <![CDATA[
  205. for (i=1; i < grd_prcplist.rows; i++ ) {
  206. var status = model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/status")
  207. if (status == "I") {
  208. copyNodeListType("/root/temp" , "/root/main/prcpinfo/prcplist[" + i + "]", "after")
  209. }
  210. }
  211. var rtn1 = getPrcpNodeListCSV ( model.instances(0).selectNodes( "/root/temp/prcplist" ));
  212. if ( rtn1 == "N" ) {
  213. messageBox ( "선택된 처방이", "I004" );
  214. } else {
  215. opener.javascript.setParameter( "SPMMO00800_rtn", rtn1 );
  216. opener.javascript.setParameter( "SPMMO00800_rtn_useyn", "Y");
  217. window.close();
  218. }
  219. ]]>
  220. </script>
  221. </button>
  222. <caption id="cap_subtitle" class="tit_2" style="left:5px; top:3px; width:147px; height:13px; ">처방코드</caption>
  223. </xhtml:body>
  224. </xhtml:html>