SPMMP03900_선택필수처방입력.xrw 45 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.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. <tuning/>
  10. </root>
  11. </instance>
  12. <bind id="bind1" ref="/root/main/prcp/prcplist/prcpvol" readonly="../prcpclscd != &quot;A2&quot; and ../prcpclscd != &quot;A4&quot; and ../prcpclscd != &quot;A6&quot;"/>
  13. <bind id="bind2" ref="/root/main/prcp/prcplist/prcpnm" readonly="../status != &quot;S&quot; and ../prcpflag !=&quot;2&quot; and ../drugmastspec !=&quot;Y&quot; )"/>
  14. <bind id="bind3" ref="/root/main/diaginfo/diagcdlist/icd10cd" readonly="../status != &quot;S&quot;"/>
  15. <bind id="bind4" ref="/root/main/diaginfo/diagcdlist/diagengnm" readonly="../status != &quot;S&quot;"/>
  16. <bind id="bind5" ref="/root/main/prcp/prcplist/prcpkindcd" readonly="../status = &quot;S&quot;"/>
  17. <bind id="bind6" ref="/root/main/prcp/prcplist/prcpqty" readonly="../status = &quot;S&quot;"/>
  18. <bind id="bind7" ref="/root/main/prcp/prcplist/prcptims" readonly="../status = &quot;S&quot;"/>
  19. <bind id="bind8" ref="/root/main/prcp/prcplist/prcpdayno" readonly="../status = &quot;S&quot;"/>
  20. <bind id="bind9" ref="/root/main/prcp/prcplist/prcpmixno" readonly="../status = &quot;S&quot;"/>
  21. <bind id="bind10" ref="/root/main/prcp/prcplist/payflagcd" readonly="../status = &quot;S&quot;"/>
  22. <bind id="bind11" ref="/root/main/prcp/prcplist/prcpexecdeptcd" readonly="../status = &quot;S&quot;"/>
  23. <bind id="bind12" ref="/root/main/prcp/prcplist/prcphopedd" readonly="../status = &quot;S&quot;"/>
  24. <bind id="bind13" ref="/root/main/prcp/prcplist/choiordflag" readonly="../status = &quot;S&quot;"/>
  25. <bind id="bind14" ref="/root/main/prcp/prcplist/prcpcd" readonly="../status != &quot;S&quot; and ../prcpflag !=&quot;2&quot; and ../drugmastspec !=&quot;Y&quot; )"/>
  26. <bind id="bind15" ref="/root/main/prcp/prcplist/incpltnresn" readonly="../status != &quot;S&quot;"/>
  27. <bind id="bind17" ref="/root/main/prcp/prcplist/prcpclscd" readonly="../status != &quot;S&quot;"/>
  28. <bind id="bind18" ref="/root/main/prcp/prcplist/oprsrvno" readonly="../status != &quot;S&quot;"/>
  29. <bind id="bind19" ref="/root/main/prcp/prcplist/valyn" readonly="../status != &quot;S&quot;"/>
  30. <submission id="TRZBC00101" mediatype="application/x-www-form-urlencoded" method="post"/>
  31. <submission id="TRZSD00109" mediatype="application/x-www-form-urlencoded" method="post"/>
  32. <submission id="TRMMR00103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqinitinfo" resultref="/root/main/formbaseset"/>
  33. <submission id="TRMMP00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/prcp"/>
  34. <submission id="TRMMP00805" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/result"/>
  35. <submission id="TRMMP00806" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/result"/>
  36. <submission id="TRMMP00807" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/temp1/rsltgetdata"/>
  37. <submission id="TRMMP02801" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/pamdata" resultref="/root/temp1/oplist"/>
  38. <submission id="TXMMP00803" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/invalprcplist"/>
  39. <submission id="TXMMP00804" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/invalprcplist"/>
  40. <submission id="TXMMP00806" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/delprcplist"/>
  41. <submission id="TXMMP00809" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/temp1/getdata" resultref="/root/main/steppath"/>
  42. <submission id="TRMMB04101" mediatype="application/x-www-form-urlencoded" method="post"/>
  43. <submission id="TRMMO00103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/result"/>
  44. <submission id="TRMMO00104" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/result"/>
  45. <submission id="TRMMO00100" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/prcpsrch"/>
  46. <submission id="TRMMO00113" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/initsrchcond" resultref="/root/initsrch"/>
  47. <submission id="TRMMO00116" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/orddept"/>
  48. <submission id="TRMMO00118" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/allsizegrupprcp"/>
  49. <submission id="TRMMO00205" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/initsrchcond" resultref="/root/initsrch"/>
  50. <submission id="TRMMO00206" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/initsrchcond" resultref="/root/initsrchprcp"/>
  51. <submission id="TRMMO01901" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/tmedmthd"/>
  52. <submission id="TXMMO00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp"/>
  53. <submission id="TXMMO00103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp"/>
  54. <submission id="TRMMO00105" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/diaginfo"/>
  55. <submission id="TRMMO00107" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/prcplock"/>
  56. <submission id="TRMMO00108" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/prcpetcinfo"/>
  57. <submission id="TRMMO00115" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/prcpsrch"/>
  58. <submission id="TRMMO00117" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/antibiotics"/>
  59. <submission id="TRMMO00119" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/followup"/>
  60. <submission id="TRMMO00120" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/initsrchcond" resultref="/root/temp"/>
  61. <submission id="TRMMO00122" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/savertninfo"/>
  62. <submission id="TRMMO00207" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/addsetprcp"/>
  63. <submission id="TRMMO01609" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/result"/>
  64. <submission id="TRMMO02613" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/trgtcdinfo"/>
  65. <submission id="TRMMO62401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/result"/>
  66. <submission id="TXMMO00105" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp"/>
  67. <submission id="TXMMO00106" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp"/>
  68. <submission id="TXMMO00107" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/followup"/>
  69. <submission id="TXMMO00108" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp"/>
  70. <submission id="TXMMO00109" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp"/>
  71. <submission id="TXMMO00110" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp"/>
  72. <submission id="TXMMO00111" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/batch" resultref="/root/temp"/>
  73. <!--
  74. <submission id="TXMMO00112" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp"/>
  75. <submission id="TXMMO00113" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp"/>
  76. -->
  77. <submission id="TXMMB00604" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata"/>
  78. <submission id="TRMMO00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/prcpgroup"/>
  79. <!-- 처방 저장 튜닝 관련 xml 2013.03.05 by 박황백-->
  80. <submission id="TXMMO00501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/result1"/>
  81. <submission id="TXMMO00502" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/result1"/>
  82. <submission id="TXMMO00503" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/result1"/>
  83. <submission id="TXMMO00504" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/result1"/>
  84. <!-- 처방 저장 로직변경 xml 2013.06.05 by 엄영만-->
  85. <submission id="TXMMO00121" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/result"/>
  86. <submission id="TXMMO00122" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/result"/>
  87. <submission id="TRMMO00148" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/prcpsave"/>
  88. <script type="javascript" ev:event="xforms-model-construct-done">
  89. <![CDATA[
  90. //opener의 instance copy
  91. copyNodeType("/root", "/root", "after", model, opener.model);
  92. if(instance1.selectSingleNode("/root/main[2]") != null){
  93. copyNodeType("/root/main[1]", "/root/main[2]", "after", model, model);
  94. model.removeNodeset("/root/main[2]");
  95. }
  96. model.removenode("/root/properties[2]");
  97. model.makeValue("/root/properties/auth", opener.model.getValue("/root/properties/auth"));
  98. // fBaseCdInit();
  99. //instance 초기화
  100. model.setValue("/root/init/prcpdd", getCurrentDate());
  101. if( instance1.selectSingleNode("/root/bfinityn") != null ){
  102. model.setValue("/root/bfinityn", "N");
  103. }
  104. //미완성 처방의 마우스 우측버튼 메뉴목록(일부)
  105. model.makeValue("/root/init/cpmsrght/mouserght[1]/label", "일괄입력");
  106. model.makeValue("/root/init/cpmsrght/mouserght[1]/func", "fPrcpDetlCom");
  107. model.makeValue("/root/init/cpmsrght/mouserght[2]/label", "");
  108. model.makeValue("/root/init/cpmsrght/mouserght[2]/func", "");
  109. model.makeValue("/root/init/cpmsrght/mouserght[3]/label", "삭제");
  110. model.makeValue("/root/init/cpmsrght/mouserght[3]/func", "fDeleteRow");
  111. model.makeValue("/root/init/cpmsrght/mouserght[4]/label", "선택제외삭제");
  112. model.makeValue("/root/init/cpmsrght/mouserght[4]/func", "fDeleteElseRow");
  113. model.makeValue("/root/init/cpmsrght/mouserght[5]/label", "");
  114. model.makeValue("/root/init/cpmsrght/mouserght[5]/func", "");
  115. model.makeValue("/root/init/cpmsrght/mouserght[6]/label", "복사");
  116. model.makeValue("/root/init/cpmsrght/mouserght[6]/func", "fPrcpCopy");
  117. model.makeValue("/root/init/cpmsrght/mouserght[7]/label", "잘라내기");
  118. model.makeValue("/root/init/cpmsrght/mouserght[7]/func", "fPrcpCrop");
  119. model.makeValue("/root/init/cpmsrght/mouserght[8]/label", "붙여넣기");
  120. model.makeValue("/root/init/cpmsrght/mouserght[8]/func", "fPrcpPaste");
  121. model.makeValue("/root/init/cpmsrght/mouserght[9]/label", "");
  122. model.makeValue("/root/init/cpmsrght/mouserght[9]/func", "");
  123. model.makeValue("/root/init/cpmsrght/mouserght[10]/label", "용법복사");
  124. model.makeValue("/root/init/cpmsrght/mouserght[10]/func", "fMthdCopy");
  125. model.makeValue("/root/init/cpmsrght/mouserght[11]/label", "용법붙여넣기");
  126. model.makeValue("/root/init/cpmsrght/mouserght[11]/func", "fMthdPaste");
  127. model.makeValue("/root/init/cpmsrght/mouserght[12]/label", "");
  128. model.makeValue("/root/init/cpmsrght/mouserght[12]/func", "");
  129. model.makeValue("/root/init/cpmsrght/mouserght[13]/label", "Pre work-up");
  130. model.makeValue("/root/init/cpmsrght/mouserght[13]/func", "fPreWorkUp");
  131. model.makeValue("/root/init/cpmsrght/mouserght[14]/label", "");
  132. model.makeValue("/root/init/cpmsrght/mouserght[14]/func", "");
  133. model.makeValue("/root/init/cpmsrght/mouserght[15]/label", "Mix적용");
  134. model.makeValue("/root/init/cpmsrght/mouserght[15]/func", "fMixNoCnt");
  135. model.makeValue("/root/init/cpmsrght/mouserght[16]/label", "Mix취소");
  136. model.makeValue("/root/init/cpmsrght/mouserght[16]/func", "fMixNoDel");
  137. model.makeValue("/root/init/cpmsrght/mouserght[17]/label", "TPNMix적용");
  138. model.makeValue("/root/init/cpmsrght/mouserght[17]/func", "fTMixNoCnt");
  139. model.makeValue("/root/init/cpmsrght/mouserght[18]/label", "지정일");
  140. model.makeValue("/root/init/cpmsrght/mouserght[18]/func", "fContPrcpDd");
  141. model.makeValue("/root/init/cpmsrght/mouserght[19]/label", "치식");
  142. model.makeValue("/root/init/cpmsrght/mouserght[19]/func", "fDentifmla");
  143. model.makeValue("/root/init/cpmsrght/mouserght[20]/label", "검사의뢰서");
  144. model.makeValue("/root/init/cpmsrght/mouserght[20]/func", "fReqfrm");
  145. model.makeValue("/root/init/cpmsrght/mouserght[21]/label", "조영제동의서출력");
  146. model.makeValue("/root/init/cpmsrght/mouserght[21]/func", "fPrintfrm");
  147. model.makeValue("/root/init/cpmsrght/mouserght[22]/label", "");
  148. model.makeValue("/root/init/cpmsrght/mouserght[22]/func", "");
  149. model.makeValue("/root/init/cpmsrght/mouserght[23]/label", "약품편람");
  150. model.makeValue("/root/init/cpmsrght/mouserght[23]/func", "fDrugInfo");
  151. model.makeValue("/root/init/cpmsrght/mouserght[24]/label", "수가조회");
  152. model.makeValue("/root/init/cpmsrght/mouserght[24]/func", "fOpenCalscorCD");
  153. model.makeValue("/root/init/cpmsrght/mouserght[25]/label", "투약일수조회");
  154. model.makeValue("/root/init/cpmsrght/mouserght[25]/func", "fMediDayNo");
  155. model.makeValue("/root/init/cpmsrght/mouserght[26]/label", "검사실별예약현황");
  156. model.makeValue("/root/init/cpmsrght/mouserght[26]/func", "fOpenExamRsrvInfo");
  157. model.makeValue("/root/init/cpmsrght/mouserght[27]/label", "보험정보조회");
  158. model.makeValue("/root/init/cpmsrght/mouserght[27]/func", "fOpenInsuInfo");
  159. //Global 변수 목록
  160. //iCpgflagcd = model.getValue("/root/main/masterinfo/info/cpgflagcd");
  161. cpgflagcd = model.getValue("/root/main/masterinfo/info/cpgflagcd");
  162. cpgappno = model.getValue("/root/temp1/getdata/cpgappno");
  163. orddrid = model.getValue ( "/root/paminfo/list/orddrid" );
  164. iPid = model.getValue("/root/paminfo/list/pid");
  165. iCretno = model.getValue("/root/paminfo/list/cretno");
  166. iPrcpgenrflag = model.getValue("/root/patflag/list/prcpgenrflag");
  167. //@@@선택필수 처방 copy
  168. copyNodeListType("/root/main/prcp", "/root/main/prcpsrch/essprcplist", "replace", model, opener.model);
  169. ]]>
  170. </script>
  171. <script type="javascript" ev:event="xforms-ready">
  172. <![CDATA[
  173. var essPrcpList = instance1.selectNodes("root/main/prcp/essprcplist");
  174. for( var i=essPrcpList.length-1; i>=0; i-- ){
  175. var iNode = essPrcpList.item(i);
  176. iNode.nodeName = "prcplist";
  177. }
  178. model.refresh();
  179. //grd_prcplist.mergeCells = "bycol";
  180. grd_prcplist.mergeCol(grd_prcplist.colRef("setnm")) = true;
  181. ]]>
  182. </script>
  183. <script type="javascript" ev:event="xforms-close">
  184. <![CDATA[
  185. //opener.winodw.javascript.clearParameter("SPMMP00200_popupYN");
  186. opener.javascript.clearParameter("SMMMP00800_popupYN");
  187. opener.window.javascript.endSaveYN = "N";
  188. ]]>
  189. </script>
  190. </model>
  191. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  192. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  193. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  194. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  195. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  196. <script type="javascript" src="../../../com/departmentcodeweb/js/ZSD001.js"/>
  197. <script type="javascript" src="../../../com/signweb/js/ZES001.js"/>
  198. <script type="javascript" src="../../../emr/prcpmngtweb/js/MMO001.js"/>
  199. <script type="javascript" src="../../../emr/prcpmngtweb/js/SMMMO00100.js"/>
  200. <script type="javascript" src="../../../emr/prcpmngtweb/js/SMMMO00110.js"/>
  201. <script type="javascript" src="../../../emr/commonweb/js/EMRCommon.js"/>
  202. <script type="javascript">
  203. <![CDATA[
  204. var cpgflagcd = "";
  205. var cpgappno = "";
  206. var orddrid = "";
  207. var iPid = "";
  208. var iCretno = "";
  209. var iPrcpgenrflag = "";
  210. function fIInitialize(){
  211. fBaseCdInit();
  212. fGetInalPrcpList();
  213. }
  214. function fGetInalPrcpList(){
  215. model.removeNodeset("/root/send/reqdata");
  216. model.makeNode("/root/send/reqdata");
  217. copyNodeType("/root/send/reqdata", "/root/send/reqdata", "replace", model, opener.model);
  218. if( instance1.selectSingleNode("/root/temp1/getdata/orddd") != null ){
  219. model.makeValue("/root/send/reqdata/orddd", model.getValue("/root/temp1/getdata/orddd"));
  220. }
  221. submit("TRMMP00201");
  222. opener.model.removeNodeset( "/root/send/reqdata" ); //2008.11.08
  223. }
  224. //미완성처방 저장
  225. function fSaveInvalPrcp( iCpgflagcd ){
  226. var cpUpdtFlag = ""; //2008.10.03 (+)
  227. var today = getCurrentDate();
  228. //if( getCurrentTime() > "180000" ){
  229. var tomorrow = new Date().getAddDate(1, "D").getDateFormat();
  230. // var savePrcpList = instance1.selectNodes("/root/main/prcp/prcplist[prcpdd='" + today + "' or prcpdd='" + tomorrow + "' and status = '-']");
  231. //}else{
  232. var savePrcpList = instance1.selectNodes("/root/main/prcp/prcplist[prcpdd='" + today + "'and status = '-']");
  233. //}
  234. if( savePrcpList.length > 0 ){
  235. var dschdclrtyn = getPatientInfoDetail("dschdclrtyn"); //퇴원예고 여부
  236. var valynTxt = "";
  237. // //당일 및 익일(18시 이후) 처방은 무조건 U임
  238. for(var i=0; i<savePrcpList.length; i++){
  239. var node = savePrcpList.item(i);
  240. var statusNode = node.selectSingleNode("status");
  241. var prcpclscdNode = node.selectSingleNode("prcpclscd");
  242. var prcpkindcdNode = node.selectSingleNode("prcpkindcd");
  243. var oprsrvnoNode = node.selectSingleNode("oprsrvno");
  244. var valynNode = node.selectSingleNode("valyn");
  245. if( valynNode != null ) valynTxt = valynNode.text;
  246. if( prcpclscdNode.text=="H2" && oprsrvnoNode.text=="0" && valynTxt !="완성" )break;
  247. if( dschdclrtyn != "Y" && (prcpkindcdNode.text == "60" || prcpkindcdNode.text == "70") )break;
  248. if(statusNode.text != "I"){
  249. model.setValue(statusNode, "U");
  250. }
  251. }
  252. }
  253. var errTgrPrcpNode = instance1.selectNodes("/root/main/prcp/prcplist[status='I' or status='U' or status='D']");
  254. if( errTgrPrcpNode.length < 1 ){
  255. messageBox("완성된 미완성 처방이", "I004");
  256. return false;
  257. }else{
  258. //6PM 이후, 익일 미완성 중 수정된 처방이 있으면, 바로 수정된 내용이 실처방으로 나가야 함. 2008.10.03 (s)
  259. if( instance1.selectSingleNode("/root/main/prcp/prcplist[prcpdd='" + today + "'and (status = 'U' or status='I')]") != null ){
  260. cpUpdtFlag = "C"; //today(current)
  261. }
  262. if( instance1.selectSingleNode("/root/main/prcp/prcplist[prcpdd='" + tomorrow + "'and (status = 'U' or status = 'I')]") != null ){
  263. if(cpUpdtFlag == "") cpUpdtFlag = "T"; //tomorow
  264. else cpUpdtFlag = "B"; //both
  265. }
  266. //(e)
  267. //적용 중단 시, 저장 눌렀을 때, 초기화 후, 미완성영역의 데이터만 저장
  268. if( opener.window.javascript.clickBtnNm_SMMMO00110 != "" && opener.window.javascript.clickBtnNm_SMMMO00110 != "btn_savecomplprcp" ){
  269. stopSavePrcpYN_SMMMO00110 = "N";
  270. }
  271. model.removeNodeset("/root/main/prcpsrch/prcplist");
  272. model.copyNode("/root/main/prcpsrch", "/root/main/prcp");
  273. prtlprcpstatus_SMMMO00110 = "U";
  274. var PrcpList = instance1.selectNodes("/root/main/prcpsrch/prcplist");
  275. var PrcpLngth = PrcpList.length-1;
  276. for(var i=PrcpLngth; i>=0; i--){
  277. var node = PrcpList.item(i);
  278. var statusNode = node.selectSingleNode("status");
  279. var prcpinptflagNode = node.selectSingleNode("prcpinptflag");
  280. var etclnkspecNode = node.selectSingleNode("etclnkspec");
  281. var valynNode = node.selectSingleNode("valyn");
  282. if( statusNode.text == "-" ){
  283. model.removenode(node);
  284. }else{
  285. //★ 추가처방이 미완성으로 떨어진 경우, 달리 처리해야 함...
  286. if( statusNode.text == "U" ){
  287. model.setValue(statusNode, "I");
  288. model.setValue(prcpinptflagNode, "05");
  289. model.setValue(etclnkspecNode, "0" + "|" + model.getValue("/root/temp1/getdata/cpgappno"));
  290. }
  291. model.removenode(valynNode);
  292. }
  293. }
  294. fBatSaveCpPrtlPrcp("U", "6", cpgflagcd); // cond1의 prtlprcpstatus 를 U 로...
  295. if( stopSavePrcpYN_SMMMO00110 == "Y" ){ //실패
  296. //stopSavePrcpYN_SMMMO00110 = "Y";
  297. //if( opener.javascript.getParameter("saveInvaPrcplYN") == "Y" )
  298. prtlFlag_SMMMO00110 = "-";
  299. opener.window.javascript.clickBtnNm_SMMMO00110 = "btn_savecomplprcp";
  300. return false;
  301. }else{
  302. model.removeNodeset("/root/main/invalprcplist/prcplist");
  303. //6 PM 이후 익일처방 실처방으로 나가도록 변경. 2008.10.03 (s)
  304. if( getCurrentTime() > "180000" && (cpUpdtFlag == "T" || cpUpdtFlag == "B") ){ // if( (cpUpdtFlag == "T" || cpUpdtFlag == "B") ){
  305. if( submit("TXMMP00809", false) == false ){
  306. messageBox ( "당일처방 및 미래처방 저장은 성공하였으나,\예외 상황으로 인해 익일처방을 실처방으로 저장", "E009" );
  307. return true;
  308. }
  309. }
  310. //(e)
  311. return true;
  312. }
  313. }
  314. }
  315. ]]>
  316. </script>
  317. </xhtml:head>
  318. <xhtml:body overflow="hidden" pagewidth="1203" pageheight="410" idprefix="import">
  319. <group id="grp_contents" style="left:0px; top:0px; width:1205px; height:380px; margin-left:0; margin-top:0; margin-right:0; margin-bottom:0; ">
  320. <!-- style="left:10px; top:25px; width:1173px; height:625px; " -->
  321. <datagrid id="grd_prcplist" nodeset="/root/main/prcp/prcplist" caption="setattrno^선택필수명^선택^종류^처방일자^처방명^총용량^총용량^총용량^수량^수량^수량^횟수^일수^급비^용법/검체^MIX^전달^원내외^처치부서^희망일자^선택진료^등록일시^등록자^처방코드" colsep="^" colwidth="37, 156, 37, 60, 87, 115, 45, 45, 27, 37, 37, 27, 40, 37, 56, 150, 38, 40, 50, 100, 80, 57, 80, 80, 0" ellipsis="true" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:21px; width:1200px; height:355px; ">
  322. <col ref="setattrno" visibility="hidden"/>
  323. <col ref="setnm"/>
  324. <col checkvalue="I,-" ref="status" type="checkbox" style="text-align:center; "/>
  325. <col class="gridcombo" ref="prcpkindcd" type="combo" style="text-align:center; focus-rect:visible; ">
  326. <choices>
  327. <itemset nodeset="/root/init/prcpkindcd/M0003">
  328. <label ref="cdnm"/>
  329. <value ref="cdid"/>
  330. </itemset>
  331. </choices>
  332. </col>
  333. <col ref="prcpdd" type="inputdate" format="yyyy-mm-dd" style="left:20px; top:23px; width:4zz31px; height:23px; "/>
  334. <col ref="prcpnm"/>
  335. <col ref="prcpvol" type="input" format="#.#" maxlength="5.3" style="text-align:center; focus-rect:visible; "/>
  336. <col ref="drprcpetc7" type="input" format="#.#" maxlength="5.3" style="text-align:center; focus-rect:visible; "/>
  337. <col ref="prcpvolunitnm" type="output" style="text-align:center; focus-rect:visible; "/>
  338. <col ref="prcpqty" type="input" format="#.#" maxlength="5.3" style="text-align:center; focus-rect:visible; "/>
  339. <col ref="drprcpetc8" type="input" format="#.#" maxlength="5.3" style="text-align:center; focus-rect:visible; "/>
  340. <col ref="prcpqtyunitnm" style="text-align:center; focus-rect:visible; "/>
  341. <col ref="prcptims" type="input" format="#" style="text-align:center; focus-rect:visible; "/>
  342. <col ref="prcpdayno" type="input" format="#" style="text-align:center; focus-rect:visible; "/>
  343. <col ref="payflagcd" type="combo">
  344. <choices>
  345. <itemset nodeset="/root/init/payflagcd/M0029">
  346. <label ref="cdnm"/>
  347. <value ref="cdid"/>
  348. </itemset>
  349. </choices>
  350. </col>
  351. <col ref="drugmthdspccdnm" type="output" style="focus-rect:visible; "/>
  352. <col ref="prcpmixno" type="input" style="focus-rect:visible; "/>
  353. <col ref="prcpdelivefact" style="focus-rect:visible; "/>
  354. <col disabled="true" ref="hosinhosoutflag" type="combo" style="text-align:center; focus-rect:visible; ">
  355. <choices>
  356. <item>
  357. <label>원내</label>
  358. <value>I</value>
  359. </item>
  360. <item>
  361. <label>원외</label>
  362. <value>O</value>
  363. </item>
  364. <item>
  365. <label/>
  366. <value/>
  367. </item>
  368. </choices>
  369. </col>
  370. <col class="gridcombo" ref="prcpexecdeptcd" type="combo" style="focus-rect:visible; ">
  371. <choices>
  372. <itemset nodeset="/root/init/orddept/dept">
  373. <![CDATA[s]]>
  374. <label ref="depthngnm"/>
  375. <value ref="deptcd"/>
  376. </itemset>
  377. </choices>
  378. </col>
  379. <col ref="prcphopedd" type="inputdate" format="yyyy-mm-dd" style="text-align:center; focus-rect:visible; "/>
  380. <col checkvalue="Y,N" ref="choiordflag" type="checkbox" style="focus-rect:visible; "/>
  381. <col ref="rgsttm" visibility="hidden" format="yyyy-mm-dd"/>
  382. <col ref="rgstridnm" visibility="hidden"/>
  383. <col ref="prcpcd"/>
  384. <script type="javascript" ev:event="onendedit">
  385. <![CDATA[
  386. // editcell 상황에서 tab 키 누르면 화면 죽는 현상(TF문제 no, 컬럼 비교 분기에서 func 콜 하면서 로직 꼬임 detail 추후 파악 우선은 return) - 20080827 emr msh
  387. if (event.keyCode == "9") {
  388. return ;
  389. }
  390. model.setValue("/root/cp", "S");
  391. var currow = grd_prcplist.row;
  392. if ( grd_prcplist.col == grd_prcplist.colref("prcpdayno")) {
  393. fGridfBatIpt( "prcpdayno" );
  394. // 일수에서 엔터를 치면 nextrow가 검색row일때 prcpcd 컬럼 활성 - 20080825 emr msh
  395. if(event.keyCode == "13") {
  396. var nextrow = currow +1 ;
  397. var status = model.getValue("root/main/prcp/prcplist[" + nextrow + "]/status") ;
  398. if (status == "S"){
  399. grd_prcplist.row = nextrow;
  400. grd_prcplist.col = grd_prcplist.colref("prcpcd");
  401. grd_prcplist.editCell();
  402. }
  403. }
  404. } else if ( grd_prcplist.col == grd_prcplist.colref("prcptims")) {
  405. fGridfBatIpt( "prcptims" );
  406. if ( grd_prcplist.selectedrow(0) == -1 && event.keyCode != "13" ) {
  407. fBaseMthd(currow);
  408. }
  409. if(event.keyCode == "13") {
  410. grd_prcplist.col = grd_prcplist.colref("prcpdayno");
  411. grd_prcplist.row = currow;
  412. //model.setfocus( "grd_prcplist" );
  413. grd_prcplist.editCell();
  414. }
  415. } else if ( grd_prcplist.col == grd_prcplist.colref("prcpqty")) {
  416. DrugCalc ( "prcpqty" , grd_prcplist.row);
  417. fGridfBatIpt( "prcpqty" );
  418. if(event.keyCode == "13") {
  419. grd_prcplist.col = grd_prcplist.colref("prcptims");
  420. grd_prcplist.row = currow;
  421. //model.setfocus( "grd_prcplist" );
  422. grd_prcplist.editCell();
  423. }
  424. } else if ( grd_prcplist.col == grd_prcplist.colref("prcpvol") ) {
  425. DrugCalc ("prcpvol" , grd_prcplist.row);
  426. if(event.keyCode == "13") {
  427. grd_prcplist.row = currow;
  428. grd_prcplist.col = grd_prcplist.colref("prcpqty");
  429. //model.setfocus( "grd_prcplist" );
  430. grd_prcplist.editCell();
  431. }
  432. /**
  433. *<standard>
  434. *개발일시: 2010.09.14
  435. *개발자: 마정민
  436. *요청병원: 경북대
  437. *요청파트: 진료
  438. *개발내용: 일회용량표시
  439. *</standard>
  440. */
  441. } else if ( grd_prcplist.col == grd_prcplist.colref("drprcpetc7") ) {
  442. gGridUpdateChk("per", grd_prcplist.row);
  443. DrugCalc ("drprcpetc7" , grd_prcplist.row);
  444. if(event.keyCode == "13") {
  445. grd_prcplist.row = currow;
  446. grd_prcplist.col = grd_prcplist.colref("drprcpetc8");
  447. grd_prcplist.editCell();
  448. }
  449. } else if ( grd_prcplist.col == grd_prcplist.colref("drprcpetc8")) {
  450. DrugCalc ( "drprcpetc8" , grd_prcplist.row);
  451. if (event.keyCode != "9") { //tab key 선택시 화면이 죽는 현상이 있다.
  452. fGridfBatIpt( "drprcpetc8" );
  453. }
  454. if(event.keyCode == "13") {
  455. grd_prcplist.col = grd_prcplist.colref("prcptims");
  456. grd_prcplist.row = currow;
  457. grd_prcplist.editCell();
  458. }
  459. }
  460. model.setValue("/root/cp", "Y");
  461. ]]>
  462. </script>
  463. <script type="javascript" ev:event="ondblclick">
  464. <![CDATA[
  465. if( opener.model.getValue("/root/temp1/authyn") == "N" ){
  466. return;
  467. }
  468. var currow = grd_prcplist.row;
  469. invalYN_SMMMO00110 = "Y";
  470. if( grd_prcplist.isCell(event.target) && grd_prcplist.mouseCol >= 2 && currow>0 && currow<=grd_prcplist.rows ){
  471. //model.copyNode("/root/main/srcprcp/prcplist", "/root/main/prcp/prcplist[" + currow + "]");
  472. copyNodesetType("/root/main/srcprcp", "/root/main/prcp", "replace", model, model);
  473. var prcpclscd = model.getValue( "/root/main/prcp/prcplist[" + currow + "]/prcpclscd");
  474. var status = model.getValue( "/root/main/prcp/prcplist[" + currow + "]/status");
  475. var prcpkindcd = model.getValue( "/root/main/prcp/prcplist[" + currow + "]/prcpkindcd");
  476. //처방 종류에 따라 다른 팝업을 띄운다
  477. //if( grd_prcplist.isCell(event.target) && grd_prcplist.row >= grd_prcplist.fixedRows ){
  478. //팝업 위치 설정
  479. var vxpt = 395;
  480. var xpt = window.screenleft + vxpt;
  481. var ypt = 0;
  482. if (event.screenY < 750 ) ypt = event.screenY + 10;
  483. else ypt = event.screenY - 240;
  484. var coord = getRelativeCoordinate ( xpt, ypt );
  485. var mon = coord[0];
  486. xpt = coord[1];
  487. ypt = coord[2];
  488. //수술처방 & errtretflag=8 & 오류메세지 컬럼 선택 시,
  489. var iErrFlag = model.getValue("/root/main/prcp/prcplist[" + currow + "]/errtretflag");
  490. var iValYN = model.getValue("/root/main/prcp/prcplist[" + currow + "]/valyn");
  491. var iResnMsg = model.getValue("/root/main/prcp/prcplist[" + currow + "]/incpltnresn");
  492. var openDetlPop = "Y";
  493. if( iErrFlag == "8" && iValYN != "완성" ) {
  494. //수술예약팝업 (수술예약번호 매핑)
  495. modal("SPMMP02800", mon, xpt, ypt, "SPMMP02800", "/root/paminfo/list", "/root/send/pamdata" );
  496. //수술상세팝업 곧바로 호출
  497. //modal("SPMMO01600", mon, xpt, ypt, "prcpdetl", prcpNode + "[" + currow + "]", prcpNode, "", false);
  498. if( model.getValue("/root/main/prcp/prcplist[" + currow + "]/status") != "U" ){
  499. openDetlPop = "N";
  500. }
  501. }else if( iErrFlag == "9" && iValYN != "완성" && (prcpkindcd == "70" || prcpkindcd == "90" || prcpkindcd == "95") ){
  502. //외래예약 팝업
  503. if( fFollowUp() ){
  504. for ( var i=1; i < grd_prcplist.rows; i++ ) {
  505. //퇴원후 외래처방 예약일 잡고 확인누르면 퇴원후 외래처방 PRCPHOPEDD를 모두 예약일로 수정한다.
  506. //입원전검사(당일/전일)도 퇴원후 외래와 같은 처리 by sonjy 2008-07-25
  507. if ( model.getValue ( "/root/main/prcp/prcplist[" + i + "]/prcpkindcd" ) == "70" ||
  508. model.getValue ( "/root/main/prcp/prcplist[" + i + "]/prcpkindcd" ) == "90" ||
  509. model.getValue ( "/root/main/prcp/prcplist[" + i + "]/prcpkindcd" ) == "95" ) {
  510. if(model.getValue("/root/main/prcp/prcplist[" + i + "]/status") != "I"){
  511. model.setValue ( "/root/main/prcp/prcplist[" + i + "]/status", "U" );
  512. }
  513. model.setValue ( "/root/main/prcp/prcplist[" + i + "]/valyn", "완성" );
  514. model.setValue ( "/root/main/prcp/prcplist[" + i + "]/incpltnresn", "외래 예약이 되었습니다." );
  515. }
  516. //openDetlPop = "N";
  517. }
  518. }
  519. }else if( prcpclscd == "D2" ){ //iResnMsg == "병리검사 의뢰지를 작성해야만 합니다."
  520. fReqfrm ( currow, "copy" );
  521. }
  522. if( openDetlPop == "Y" ) {
  523. //처방 종류별 상세팝업
  524. if ( grd_prcplist.col == grd_prcplist.colref("drugmthdspccdnm") && status != "S" ) {
  525. if ( prcpclscd == "A2" || prcpclscd == "A4" || prcpclscd == "A6") {
  526. fPrcpModal ("SPMMO01900", 500, 200);
  527. } else if ( prcpclscd == "B2" || prcpclscd == "B4" || prcpclscd == "B6" ) {
  528. fGetSpc (grd_prcplist.row, "", "", "Y");
  529. }
  530. } else if ( grd_prcplist.col == "15" && status != "S" ) {
  531. fPrcpdelivefact( "M" );
  532. } else if ( status != "S" ) {
  533. fPrcpDetl();
  534. }
  535. }
  536. //}
  537. for( var i=1; i<grd_prcplist.rows; i++ ){
  538. var srcNode = instance1.selectSingleNode("/root/main/srcprcp/prcplist[" + i + "]").xml;
  539. var desNode = instance1.selectSingleNode("/root/main/prcp/prcplist[" + i + "]").xml;
  540. if( srcNode != desNode ){
  541. if(model.getValue("/root/main/prcp/prcplist[" + i + "]/status") != "I"){
  542. grd_prcplist.rowStatus(i) = 2;
  543. model.setValue( "/root/main/prcp/prcplist[" + i + "]/status", "U");
  544. }
  545. }
  546. }
  547. model.resetInstanceNode("/root/main/srcprcp/prcplist");
  548. }else{
  549. invalYN_SMMMO00110 = "N";
  550. return;
  551. }
  552. invalYN_SMMMO00110 = "N";
  553. ]]>
  554. </script>
  555. <script type="javascript" ev:event="onmousedown">
  556. <![CDATA[
  557. /*
  558. if(event.button == 3){
  559. //fMouseRghtBtnPopup();
  560. app.showPopupMenu(true);
  561. var prcpgenrflag = opener.model.getValue ( "/root/patflag/list/prcpgenrflag" );
  562. if ( prcpgenrflag == "O" ) {
  563. setPopupMenu("grd_prcplist", false, "/root/init/omsrght/mouserght", "label", "func", false);
  564. } else if ( prcpgenrflag == "E" ) {
  565. setPopupMenu("grd_prcplist", false, "/root/init/emsrght/mouserght", "label", "func", false);
  566. } else {
  567. setPopupMenu("grd_prcplist", false, "/root/init/imsrght/mouserght", "label", "func", false);
  568. }
  569. }else{
  570. window.setPopupMenu(false);
  571. }
  572. */
  573. if(event.button == 3){
  574. if(grd_prcplist.isCell(event.target) && grd_prcplist.mouseRow >= grd_prcplist.fixedRows){
  575. app.showPopupMenu(true);
  576. //window.setPopupMenu(true, "/root/init/imsrght/mouserght", "label", "func", false);
  577. setPopupMenu("grd_prcplist", false, "/root/init/cpmsrght/mouserght", "label", "func");
  578. }else{
  579. window.setPopupMenu(false);
  580. }
  581. }
  582. ]]>
  583. </script>
  584. <script type="javascript" ev:event="DOMFocusOut">
  585. <![CDATA[
  586. window.setPopupMenu(false);
  587. ]]>
  588. </script>
  589. <script type="javascript" ev:event="xforms-value-changed">
  590. <![CDATA[
  591. /*
  592. model.setValue("/root/cp", "S");
  593. fPrcpUpdate();
  594. model.setValue("/root/cp", "Y");
  595. */
  596. //처방일을... 기존 처방일보다 과거로 수정 시 return, CP예정종료일 이후로 수정 시 return (2008.11.27)
  597. if ( grd_prcplist.col == grd_prcplist.colref("prcpdd")) {
  598. var currow = grd_prcplist.row;
  599. var orgPrcpDD = model.getValue("/root/main/prcp/prcplist[" + currow + "]/prcphopedd");
  600. var chgPrcpDD = model.getValue("/root/main/prcp/prcplist[" + currow + "]/prcpdd");
  601. if( chgPrcpDD < orgPrcpDD ){
  602. messageBox("처방일을 과거로 수정할 수", "I004");
  603. model.setValue("/root/main/prcp/prcplist[" + currow + "]/prcpdd", orgPrcpDD);
  604. return;
  605. }else{
  606. if( cpgflagcd == "01" ){
  607. var length = instance1.selectNodes("/root/main/steppath/info").length;
  608. var lastPrcpDD = model.getValue("/root/main/steppath/info[" + length + "]/prcpdd");
  609. if(chgPrcpDD > lastPrcpDD){
  610. messageBox("처방일을 CP 예정 종료일 이후로 수정할 수", "I004");
  611. model.setValue("/root/main/prcp/prcplist[" + currow + "]/prcpdd", orgPrcpDD);
  612. return;
  613. }
  614. }
  615. }
  616. }
  617. //(e)
  618. model.setValue("/root/cp", "S");
  619. if(grd_prcplist.col == grd_prcplist.colRef("prcpdayno")){
  620. fDayValChnged() ;
  621. }
  622. fPrcpUpdate();
  623. if ( grd_prcplist.col == grd_prcplist.colref("payflagcd")) {
  624. fGridfBatIpt( "payflagcd" );
  625. } else if ( grd_prcplist.col == grd_prcplist.colref("prcpkindcd")) {
  626. fGridfBatIpt( "prcpkindcd" );
  627. //SON0919 G3아닌 응급일경우 원내사유 PRCPKINDCD에 의해 움직이므로 처리. start
  628. if(model.getValue ( "/root/patflag/list/prcpgenrflag" ) == "E" && model.getValue ( "/root/init/erresn" ) != "G3" ){
  629. fChngHosinPrcpResn();
  630. }
  631. //SON0919 end
  632. }
  633. model.setValue("/root/cp", "Y");
  634. ]]>
  635. </script>
  636. <script type="javascript" ev:event="onstartedit">
  637. <![CDATA[
  638. if ( grd_prcplist.col == grd_prcplist.colref("prcpvol")) {
  639. bfDrugCalc ( "prcpvol", grd_prcplist.row );
  640. } else if ( grd_prcplist.col == grd_prcplist.colref("prcpqty")) {
  641. bfDrugCalc ( "prcpqty", grd_prcplist.row );
  642. }
  643. ]]>
  644. </script>
  645. <script type="javascript" ev:event="onmouseup">
  646. <![CDATA[
  647. if ( grd_prcplist.selectedRows > 1 && grd_prcplist.col != grd_prcplist.colRef ( "prcpkindcd" ) && grd_prcplist.col != grd_prcplist.colref("payflagcd")) {
  648. //model.setfocus( "grd_prcplist" );
  649. grd_prcplist.editCell();
  650. }
  651. ]]>
  652. </script>
  653. <script type="javascript" ev:event="onentercell">
  654. <![CDATA[
  655. model.setValue ( "/root/init/bfpayflagcd", model.getValue ( "/root/main/prcp/prcplist[" + grd_prcplist.row + "]/payflagcd" ));
  656. ]]>
  657. </script>
  658. <script type="javascript" ev:event="onkeydown">
  659. <![CDATA[
  660. if ( event.keycode == 46 ) {
  661. model.setfocus( "grd_prcplist" );
  662. } else if ( event.keycode == 45 ) {
  663. model.setfocus( "grd_prcplist" );
  664. }
  665. ]]>
  666. </script>
  667. <script type="javascript" ev:event="onkeyup">
  668. <![CDATA[
  669. if ( event.keycode == 46 ) {
  670. var currow = grd_prcplist.row;
  671. fDeleteRow();
  672. model.setfocus( "grd_prcplist" );
  673. grd_prcplist.row = currow;
  674. }
  675. ]]>
  676. </script>
  677. </datagrid>
  678. <input id="cmb_prcpdd" ref="/root/init/prcpdd" class="input_s_essential" visibility="hidden" inputtype="date" style="left:240px; top:0px; width:100px; height:19px; text-align:center; ">
  679. <script type="javascript" ev:event="xforms-value-changed">
  680. <![CDATA[
  681. //fPrcpDdCheck();
  682. ]]>
  683. </script>
  684. </input>
  685. <import id="imp_prcp" visibility="hidden" style="left:345px; top:0px; width:65px; height:20px; "/>
  686. <iviewer id="ivw_detail" visibility="hidden" style="left:415px; top:0px; width:65px; height:20px; "/>
  687. <datagrid id="grd_diaglist" nodeset="/root/main/diaginfo/diagcdlist" visibility="hidden" caption="^R/O^주^진단코드^진단명^참고^특례" colsep="^" colwidth="35, 35, 25, 65, 324, 0, 35" dataheight="23" ellipsis="true" extendlastcol="scroll" frozenrows="1" mergecellsfixedrows="bycolrec" rowsep="I" tooltip="true" style="left:485px; top:0px; width:70px; height:25px; text-align:center; ">
  688. <col disabled="true" ref="status" type="combo" style="text-align:center; focus-rect:visible; ">
  689. <choices>
  690. <item>
  691. <label/>
  692. <value>S</value>
  693. </item>
  694. <item>
  695. <label>신규</label>
  696. <value>I</value>
  697. </item>
  698. <item>
  699. <label>삭제</label>
  700. <value>D</value>
  701. </item>
  702. <item>
  703. <label>-</label>
  704. <value>-</value>
  705. </item>
  706. <item>
  707. <label>수정</label>
  708. <value>U</value>
  709. </item>
  710. </choices>
  711. </col>
  712. <col checkvalue="R,C" ref="diagkindcd" type="checkbox" style="focus-rect:visible; "/>
  713. <col checkvalue="M,S" ref="diagkindcdflag" type="checkbox" style="text-align:center; focus-rect:visible; "/>
  714. <col imemode="alpha" ref="icd10cd" type="input" style="text-align:center; focus-rect:visible; "/>
  715. <col ref="diagengnm" type="input" style="text-align:left; focus-rect:visible; "/>
  716. <col ref="diagremfact"/>
  717. <col ref="spclinfo" style="text-align:center; focus-rect:visible; "/>
  718. <script type="javascript" ev:event="onendedit">
  719. <![CDATA[
  720. if ( grd_diaglist.col == diagnmCol) {
  721. fDiagSrch("diagnm");
  722. } else if ( grd_diaglist.col == icd10cdCol) {
  723. fDiagSrch("icd10cd");
  724. }
  725. ]]>
  726. </script>
  727. <script type="javascript" ev:event="onmousedown">
  728. <![CDATA[
  729. fDaigMouseRghtBtnPopup();
  730. ]]>
  731. </script>
  732. <script type="javascript" ev:event="xforms-value-changed">
  733. <![CDATA[
  734. if ( grd_diaglist.valueMatrix ( grd_diaglist.row,2 ) == "M" && grd_diaglist.col == "2" ) {
  735. for ( var i = 1; i < grd_diaglist.rows; i++ ) {
  736. if ( grd_diaglist.valueMatrix ( i, 2 ) == "M" && i != grd_diaglist.row ) {
  737. grd_diaglist.valueMatrix ( i, 2 ) = "S";
  738. if ( model.getValue ( diagNode + "[" + i + "]/status" ) == "-" ) {
  739. model.setValue ( diagNode + "[" + i + "]/status", "U" );
  740. }
  741. }
  742. }
  743. }
  744. fDiagUpdate();
  745. ]]>
  746. </script>
  747. <script type="javascript" ev:event="ondblclick">
  748. <![CDATA[
  749. fDiagDetlVw();
  750. ]]>
  751. </script>
  752. </datagrid>
  753. </group>
  754. <group id="group1" scroll="auto" style="left:0px; top:380px; width:1200px; height:27px; ">
  755. <button id="btn_cancel" class="btn4_letter2" style="left:1142px; top:3px; width:56px; height:22px; ">
  756. <caption>닫기</caption>
  757. <script type="javascript" ev:event="DOMActivate">
  758. <![CDATA[
  759. //opener.javascript.clearParameter("SPMMP00200_popupYN");
  760. window.close();
  761. ]]>
  762. </script>
  763. </button>
  764. <button id="btn_app" class="btn3_letter2" style="left:1083px; top:3px; width:56px; height:22px; ">
  765. <caption>추가</caption>
  766. <script type="javascript" ev:event="DOMActivate">
  767. <![CDATA[
  768. //prcpdd, setno, settypecd, setcdno, setattrno, setattrhistno 따로 copy 후 setattrno, setattrhistno 삭제
  769. var selEssPrcpList = instance1.selectNodes("/root/main/prcp/prcplist[status='I']");
  770. if(selEssPrcpList.length > 0){
  771. var rowNum = 0;
  772. var keyInfo = "";
  773. for( var i=selEssPrcpList.length-1; i>=0; i-- ){
  774. var node = selEssPrcpList.item(i);
  775. var prcpdd = node.selectSingleNode("prcpdd");
  776. var setno = node.selectSingleNode("setno");
  777. var settypecd = node.selectSingleNode("settypecd");
  778. var setcdno = node.selectSingleNode("setcdno");
  779. var setattrno = node.selectSingleNode("setattrno");
  780. var setattrhistno = node.selectSingleNode("setattrhistno");
  781. var prcpcd = node.selectSingleNode("prcpcd");
  782. var setnm = node.selectSingleNode("setnm");
  783. var cpno = node.selectSingleNode("cpno");
  784. rowNum++;
  785. /*
  786. opener.model.makeValue("/root/send/dessprcplist["+rowNum+"]/desscpgappno", cpgappno);
  787. opener.model.makeValue("/root/send/dessprcplist["+rowNum+"]/desssetattrno", setattrno.text);
  788. opener.model.makeValue("/root/send/dessprcplist["+rowNum+"]/desssetattrhistno", setattrhistno.text);
  789. opener.model.makeValue("/root/send/dessprcplist["+rowNum+"]/desssetno", setno.text);
  790. opener.model.makeValue("/root/send/dessprcplist["+rowNum+"]/desssettypecd", settypecd.text);
  791. opener.model.makeValue("/root/send/dessprcplist["+rowNum+"]/desssetcdno", setcdno.text);
  792. opener.model.makeValue("/root/send/dessprcplist["+rowNum+"]/dessprcpdd", prcpdd.text);
  793. opener.model.makeValue("/root/send/dessprcplist["+rowNum+"]/dessprcpcd", prcpcd.text);
  794. */
  795. keyInfo = cpgappno + "^" + "D" + "^" + setattrno.text + "^" + setattrhistno.text + "^" + setno.text + "^" + settypecd.text + "^" + setcdno.text;
  796. //if( cpno != null ) model.setValue(cpno, keyInfo);
  797. if(setnm != null) model.removenode(setnm);
  798. //if(setattrno != null) model.removenode(setattrno);
  799. //if(setattrhistno != null) model.removenode(setattrhistno);
  800. }
  801. if( rowNum > 0 ){
  802. opener.model.makeNode("/root/send/essprcplist");
  803. opener.model.makeValue("/root/send/dessprcplist/desscpgappno", cpgappno);
  804. }
  805. }
  806. //선택한 처방(status:I)만 opener에 prcpsrch에 addrow한다
  807. //copyNodeListType("/root/temp1/essprcplist", "/root/main/prcp/prcplist[status='I']", "after", opener.model, model);
  808. copyNodeListType("/root/main/prcpsrch", "/root/main/prcp/prcplist[status='I']", "after", opener.model, model);
  809. window.close();
  810. ]]>
  811. </script>
  812. </button>
  813. </group>
  814. <caption id="caption1" class="tit_2" style="left:5px; top:5px; width:198px; height:14px; vertical-align:middle; ">선택필수 처방</caption>
  815. </xhtml:body>
  816. </xhtml:html>