SMMMO02300_약속처방.xrw 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797
  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. <main>
  10. <prmsprcpsetinfo>
  11. <prmsprcpsetlist>
  12. <levl/>
  13. <setno/>
  14. <supsetno/>
  15. <sortno/>
  16. <setkindcd/>
  17. <setclscd/>
  18. <settrgtcd/>
  19. <setnm/>
  20. <settypecd/>
  21. <prtlno/>
  22. <ioflag/>
  23. </prmsprcpsetlist>
  24. </prmsprcpsetinfo>
  25. <iptbox>
  26. <setnm/>
  27. </iptbox>
  28. <prcp>
  29. <prcplist/>
  30. <status/>
  31. </prcp>
  32. <cond>
  33. <deptcd/>
  34. <setnm/>
  35. </cond>
  36. </main>
  37. <init>
  38. <detlvw>p</detlvw>
  39. <msrght>
  40. <!--
  41. <mouserghtprcp>
  42. <label>삭제</label>
  43. <func>fDelPrmsPrcp</func>
  44. </mouserghtprcp>
  45. -->
  46. <mouserghtprcp>
  47. <label>대체약 일괄변경</label>
  48. <func>fAltDrugAll</func>
  49. </mouserghtprcp>
  50. <mouserghtprcp>
  51. <label>대체약 선택폴더내 변경</label>
  52. <func>fAltDrugFolder</func>
  53. </mouserghtprcp>
  54. <mouserghtset>
  55. <label>새폴더</label>
  56. <func>fAddPrmsDiagSet</func>
  57. </mouserghtset>
  58. <mouserghtset>
  59. <label>이름바꾸기</label>
  60. <func>fUpdtPrmsDiagSet</func>
  61. </mouserghtset>
  62. <mouserghtset>
  63. <label>삭제</label>
  64. <func>fDelPrmsDiagSet</func>
  65. </mouserghtset>
  66. <mouserghtset>
  67. <label/>
  68. <func/>
  69. </mouserghtset>
  70. <mouserghtset>
  71. <label>폴더복사</label>
  72. <func>fFolderCopy</func>
  73. </mouserghtset>
  74. <mouserghtset>
  75. <label>폴더붙여넣기</label>
  76. <func>fFolderPaste</func>
  77. </mouserghtset>
  78. <mouserghtset>
  79. <label/>
  80. <func/>
  81. </mouserghtset>
  82. <mouserghtset>
  83. <label>폴더순서변경</label>
  84. <func>fOpenPrmsSetFolderOrderChng</func>
  85. </mouserghtset>
  86. <mouserghtset2>
  87. <label>폴더복사</label>
  88. <func>fFolderCopy</func>
  89. </mouserghtset2>
  90. <mouserghtset2>
  91. <label>폴더붙여넣기</label>
  92. <func>fFolderPaste</func>
  93. </mouserghtset2>
  94. <mouserghtset3>
  95. <label>폴더복사</label>
  96. <func>fFolderCopy</func>
  97. </mouserghtset3>
  98. </msrght>
  99. <srchcond1/>
  100. <srchcond2>1</srchcond2>
  101. <srchcond3>P</srchcond3>
  102. <srchcond4>O</srchcond4>
  103. <payflagcd/>
  104. <grdwd>200</grdwd>
  105. <extngrdwd>718</extngrdwd>
  106. <grdnm>grd_promprcplist</grdnm>
  107. <orddept/>
  108. <autoflag/>
  109. </init>
  110. <hidden>
  111. <prmsprcpsetinfo>
  112. <prmsprcpsetlist>
  113. <status/>
  114. <levl/>
  115. <setno/>
  116. <supsetno/>
  117. <sortno/>
  118. <setkindcd/>
  119. <setclscd/>
  120. <settrgtcd/>
  121. <setnm/>
  122. <settypecd/>
  123. <prtlno/>
  124. <ioflag/>
  125. </prmsprcpsetlist>
  126. </prmsprcpsetinfo>
  127. <trv_value/>
  128. </hidden>
  129. <send>
  130. <reqdata/>
  131. <savedata/>
  132. <cond1/>
  133. <cond2/>
  134. <cond3/>
  135. <cond4/>
  136. <cond5/>
  137. <cond6/>
  138. <cond99/>
  139. </send>
  140. <result>
  141. <prcperrlist/>
  142. </result>
  143. <prcpdirec/>
  144. <prcpgroup/>
  145. <save>
  146. <prcp/>
  147. </save>
  148. <temp>
  149. <copy>
  150. <setno/>
  151. <settypecd/>
  152. <setkindcd/>
  153. <setclscd/>
  154. <settrgtcd/>
  155. <setnm/>
  156. <supsetno/>
  157. <trgtsettypecd/>
  158. <trgtsetkindcd/>
  159. <trgtsettrgtcd/>
  160. <trgtsetclscd/>
  161. <trgtioflag/>
  162. <ioflag/>
  163. </copy>
  164. </temp>
  165. <param>
  166. <prcpdd/>
  167. <insukind/>
  168. </param>
  169. </root>
  170. </instance>
  171. <submission id="TRMMB00601" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/prmsprcpsetinfo"/>
  172. <submission id="TXMMB00601" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata" resultref="/root/main/prmsprcpsetinfo"/>
  173. <submission id="TRMMB00202" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/prcp"/>
  174. <submission id="TXMMB00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/cond1" resultref="/root/main/prcp"/>
  175. <submission id="TRMMB00604" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/init/deptlist"/>
  176. <submission id="TRMMO00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/prcpgroup"/>
  177. <submission id="TRMMO00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/prcpdirec"/>
  178. <submission id="TRMMO00207" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/addsetprcp"/>
  179. <submission id="TRZBC00101" mediatype="application/x-www-form-urlencoded" method="post"/>
  180. <submission id="TRMMB00203" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/result"/>
  181. <submission id="TRZSD00109" mediatype="application/x-www-form-urlencoded" method="post"/>
  182. <submission id="TXMMB00607" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata" resultref="/root/main/prmsprcpsetinfo"/>
  183. <submission id="TRMMO15701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/temp/send" resultref="/root/temp/patsupkind"/>
  184. <!-- 처방 복사 로직변경 xml 2013.07.05 by 엄영만-->
  185. <submission id="TRMMO00151" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp"/>
  186. <script type="javascript" ev:event="xforms-ready">
  187. <![CDATA[
  188. if( opener.model.getValue ( "/root/cp" ) == "S" || opener.model.getValue ( "/root/cp" ) == "D" ){
  189. line8.attribute("x2") = "377px";
  190. trv_promprcpset.attribute("height") = "484px";
  191. grd_promprcplist.attribute("width") = "200px";
  192. grd_promprcplist.attribute("height") = "507px";
  193. }else if ( opener.model.getValue ( "/root/cp" ) == "Y" ) {
  194. //CP일 경우, viewer안의 컨트롤 height 사이즈를 모두 조정해야 함 (2008.08.28 JJE)
  195. opener.window.javascript.fResizeControls();
  196. }
  197. group1.attribute("height") = 0;
  198. model.removeNodeset ("/root/main/prcp/prcplist");
  199. model.setValue("/root/init/srchcond1", "P");
  200. model.setValue("/root/init/srchcond4", "O");
  201. model.makeValue("/root/send/reqdata/settypecd", "P"); //P는 의사, C는 프로토콜
  202. model.makeValue("/root/send/reqdata/setkindcd", "P"); //P는 개인, D는 부서
  203. model.makeValue("/root/send/reqdata/setclscd" , "D"); //의사 SET
  204. model.makeValue("/root/send/reqdata/ioflag", "O"); //외래입원구분
  205. if ( opener.model.getValue("/root/initsrch/envinfo[qestcd='009']/answcnt") == "002") {
  206. model.setValue("/root/init/srchcond4", "I");
  207. model.makeValue("/root/send/reqdata/ioflag", "I"); //외래입원구분
  208. }
  209. if ( opener.model.getValue("/root/initsrch/envinfo[qestcd='010']/answcnt") == "002") {
  210. model.setValue("/root/init/srchcond1", "D");
  211. model.makeValue("/root/send/reqdata/setkindcd", "D"); //P는 개인, D는 부서
  212. }
  213. if ( opener.model.getValue("/root/initsrch/envinfo[qestcd='010']/answcnt") == "003") {
  214. model.setValue("/root/init/srchcond1", "T");
  215. model.makeValue("/root/send/reqdata/setkindcd", "T"); //P는 개인, D는 부서
  216. }
  217. if(submit("TRMMB00601")){
  218. zbcfGetCodeList(new Array("M0029" ), new Array("/root/init/payflagcd"));
  219. //zbcfGetDeptCodeList(getUserInfo("dutplceinstcd"), "orduseyn", "D", "/root/init/orddept", "depthngnm"); //부서코드 콤보 조회
  220. //2008. 06. 04 오지훈 진료부서 콤보 조회는 mmbfGetDeptCodeComboList로 변경
  221. mmbfGetDeptCodeComboList("/root/send/reqdata", "/root/init/orddept", "O");
  222. }
  223. trv_promprcpset.rebuild();
  224. cmb_deptset.disabled = true;
  225. model.refresh();
  226. //2008. 06. 12. 약속처방 재선택시, 기존의 조회내용 자동 선택기능
  227. //자동저장시에는 기존의 조회내용 자동선택 기능을 해제한다.
  228. if(opener.model.getValue("/root/init/prmsautoflag") != "Y"){
  229. var selectval = opener.javascript.getParameter("SMMMO02300_selectindex");
  230. var scrnopenflag = opener.javascript.getParameter("SMMMO02300_scrnopenflag")
  231. }else{
  232. var selectval = 0;
  233. var scrnopenflag = "Y";
  234. opener.model.setValue("/root/init/prmsautoflag", "N");
  235. }
  236. if(scrnopenflag == "Y"){
  237. var path = trv_promprcpset.getItemPath(selectval, "/");
  238. var curindex = 0;
  239. var node;
  240. for(var j = 0; j < path.length; j++){
  241. if(path.charAt(j) == '/'){
  242. node = path.substring(curindex, j);
  243. curindex = j+1;
  244. trv_promprcpset.expand(labelToIndex(node, trv_promprcpset), true);
  245. }
  246. }
  247. trv_promprcpset.select(selectval);
  248. }
  249. //자동저장시 처리 완료 이후에는 처방의 자동저장구분을 N으로 처리, 추후 탭변경시, 자동선택 기능 해제되는 것을 방지함
  250. opener.model.setValue("/root/init/prmsautoflag", "N");
  251. ]]>
  252. </script>
  253. <script type="javascript">
  254. <![CDATA[
  255. //처방복사, CHC, 2009-06-22
  256. function fCopyPrcpSets()
  257. {
  258. addPrcp ( "child", "/root/main/prcp/prcplist", "/root/main/prcp", "Y", "status", "I", grd_promprcplist, "N", "02");
  259. }
  260. ]]>
  261. </script>
  262. <submission id="TRMMB04101" mediatype="application/x-www-form-urlencoded" method="post"/>
  263. </model>
  264. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  265. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  266. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  267. <script type="javascript" src="../../../emr/prcpmngtweb/js/MMO001.js"/>
  268. <script type="javascript" src="../../../emr/prcpmngtweb/js/SMMMO02300.js"/>
  269. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  270. <script type="javascript" src="../../../com/departmentcodeweb/js/ZSD001.js"/>
  271. </xhtml:head>
  272. <xhtml:body overflow="hidden" guideline="1,889;2,637;">
  273. <select1 id="rdo_srchcond3" ref="/root/init/srchcond3" visibility="hidden" appearance="full" cellspacing="10" cols="4" overflow="visible" style="left:11px; top:27px; width:155px; height:20px; border-style:none; ">
  274. <choices>
  275. <item>
  276. <label>약속처방</label>
  277. <value>P</value>
  278. </item>
  279. <item>
  280. <label>프로토콜</label>
  281. <value>C</value>
  282. </item>
  283. </choices>
  284. <script type="javascript" ev:event="xforms-value-changed">
  285. <![CDATA[
  286. model.resetInstanceNode("/root/temp/copy");
  287. var srchcond3 = model.getValue("/root/init/srchcond3");
  288. if(srchcond3 == "P"){
  289. model.setValue("/root/init/srchcond1", "P"); //개인으로 설정
  290. cmb_deptset.disabled = true;
  291. rdo_srchcond1.disabled = false;
  292. radio1.disabled = false;
  293. model.removeNodeset("/root/send/reqdata");
  294. model.makeValue("/root/send/reqdata/settypecd", "P"); //P는 의사, C는 프로토콜
  295. model.makeValue("/root/send/reqdata/setkindcd", "P"); //P는 개인, D는 부서
  296. model.makeValue("/root/send/reqdata/setclscd" , "D"); //의사 SET
  297. model.makeValue("/root/send/reqdata/ioflag", model.getValue("/root/init/srchcond4")); //외래입원구분
  298. model.setValue("/root/main/cond/deptcd", "");
  299. submit("TRMMB00601", false);
  300. }else if(srchcond3 == "C"){
  301. model.setValue("/root/init/srchcond1", "T"); //타과로 설정
  302. cmb_deptset.disabled = false;
  303. rdo_srchcond1.disabled = true;
  304. radio1.disabled = true;
  305. model.makeValue("/root/send/reqdata/setkindcd", "D"); //부서
  306. model.makeValue("/root/send/reqdata/setclscd" , "D"); //의사
  307. model.makeValue("/root/send/reqdata/settypecd", srchcond3); //처방, 프로토콜
  308. model.makeValue("/root/send/reqdata/procflag", "D"); //처리구분(D: 부서SET을 조회)
  309. model.makeValue("/root/send/reqdata/deptcd", getUserInfo("dutplcecd"));
  310. model.makeValue("/root/send/reqdata/deptnm", cmb_deptset.label);
  311. model.makeValue("/root/send/reqdata/ioflag", model.getValue("/root/init/srchcond4")); //외래입원구분
  312. submit("TRMMB00601");
  313. }
  314. model.refresh();
  315. model.setValue(trv_promprcpset.attribute("ref"), "");
  316. trv_promprcpset.rebuild();
  317. ]]>
  318. </script>
  319. </select1>
  320. <line id="line8" class="line_1" style="x1:0px; y1:79px; x2:375px; y2:79px; "/>
  321. <button id="button26" class="btn2_letter4" style="left:244px; top:58px; width:64px; height:19px; ">
  322. <caption>선택취소</caption>
  323. <script type="javascript" ev:event="DOMActivate">
  324. <![CDATA[
  325. for ( i = 1; i < grd_promprcplist.rows; i++ ) {
  326. model.setValue( "/root/main/prcp/prcplist[" + i + "]/status" ,"-");
  327. }
  328. model.refresh();
  329. ]]>
  330. </script>
  331. </button>
  332. <button id="btn_copy" class="btn5_letter4" style="left:311px; top:58px; width:64px; height:19px; ">
  333. <caption>처방복사</caption>
  334. <script type="javascript" ev:event="DOMActivate">
  335. <![CDATA[
  336. fCopyPrcpSets();
  337. ]]>
  338. </script>
  339. </button>
  340. <button id="button31" class="btn2_letter4" style="left:177px; top:58px; width:64px; height:19px; ">
  341. <caption>전체선택</caption>
  342. <script type="javascript" ev:event="DOMActivate">
  343. <![CDATA[
  344. for ( i = 1; i < grd_promprcplist.rows; i++ ) {
  345. model.setValue( "/root/main/prcp/prcplist[" + i + "]/status" ,"I");
  346. }
  347. model.refresh();
  348. ]]>
  349. </script>
  350. </button>
  351. <shape id="roundrect3" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:4px; top:4px; width:371px; height:51px; background-color:#fffbf2; border-color:#ffd799; "/>
  352. <datagrid id="grd_promprcplist" nodeset="/root/main/prcp/prcplist" scroll="auto" caption="^처방명^처방코드^1회용량^1회용량^1회수량^1회수량^횟수^일수^급비^용법검체^MIX^전달" colsep="^" colwidth="20, 176, 25, 40, 27, 37, 27, 40, 37, 70, 140, 38, 30" dataheight="25" ellipsis="true" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheight="25" rowsep="|" tooltip="true" style="left:177px; top:85px; width:199px; height:553px; text-align:center; ">
  353. <col checkvalue="I,-" ref="status" type="checkbox"/>
  354. <col ref="prcpnm" style="text-align:left; "/>
  355. <col ref="prcpcd" visibility="hidden"/>
  356. <col ref="drprcpetc7"/>
  357. <col ref="prcpvolunitnm"/>
  358. <col ref="drprcpetc8"/>
  359. <col ref="prcpqtyunitnm"/>
  360. <col ref="prcptims"/>
  361. <col ref="prcpdayno"/>
  362. <col disabled="true" ref="payflagcd" type="combo">
  363. <choices>
  364. <itemset nodeset="/root/init/payflagcd/M0029">
  365. <label ref="cdnm"/>
  366. <value ref="cdid"/>
  367. </itemset>
  368. </choices>
  369. </col>
  370. <col ref="drugmthdspccdnm" style="text-align:left; "/>
  371. <col ref="prcpmixno"/>
  372. <col ref="prcpdelivefact"/>
  373. <script type="javascript" ev:event="onmousedown">
  374. <![CDATA[
  375. fMouseRghtBtnPopupPrcp()
  376. ]]>
  377. </script>
  378. <script type="javascript" ev:event="ondblclick">
  379. <![CDATA[
  380. if(isDataCell()){
  381. model.setValue ( "/root/main/prcp/prcplist[" + grd_promprcplist.row + "]/status", "I" );
  382. addPrcp( "child", "/root/main/prcp/prcplist", "/root/main/prcp", "N", "status", "I", grd_promprcplist, "N", "02");
  383. }
  384. ]]>
  385. </script>
  386. <script type="javascript" ev:event="onclick">
  387. <![CDATA[
  388. if( grd_promprcplist.isCell(event.target) && grd_promprcplist.row >= grd_promprcplist.fixedRows ){
  389. if ( grd_promprcplist.col != 0 ) {
  390. if ( model.getValue ( "/root/main/prcp/prcplist["+ grd_promprcplist.row +"]/status" ) == "-" ) {
  391. model.setValue ( "/root/main/prcp/prcplist["+ grd_promprcplist.row +"]/status", "I" );
  392. } else {
  393. model.setValue ( "/root/main/prcp/prcplist["+ grd_promprcplist.row +"]/status", "-" );
  394. }
  395. }
  396. }
  397. model.refresh();
  398. ]]>
  399. </script>
  400. <script type="javascript" ev:event="onmouseup">
  401. <![CDATA[
  402. ]]>
  403. </script>
  404. </datagrid>
  405. <datagrid id="grd_promprcpset" nodeset="/root/main/set/promprcpset" caption="SET" colsep="^" colwidth="149" dataheight="23" ellipsis="true" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheight="23" rowsep="|" style="left:0px; top:85px; width:178px; height:403px; text-align:center; ">
  406. <col ref="setnm"/>
  407. </datagrid>
  408. <treeview id="trv_promprcpset" ref="/root/hidden/trv_value" dragmode="true" dropmode="true" expanddepth="1" fullrowselect="false" image="../../../com/commonweb/images/icon_folder_close.gif" itemsettype="depth" selectedimage="../../../com/commonweb/images/icon_folder_open.gif" style="left:0px; top:109px; width:177px; height:529px; border-color:#c7a3cf; border-style:solid; ">
  409. <script type="javascript" ev:event="onmousedown">
  410. <![CDATA[
  411. fMouseRghtBtnPopupSet();
  412. ]]>
  413. </script>
  414. <itemset nodeset="/root/main/prmsprcpsetinfo/prmsprcpsetlist">
  415. <label ref="setnm"/>
  416. <value ref="setno"/>
  417. <depth ref="levl"/>
  418. </itemset>
  419. <script type="javascript" ev:event="xforms-select">
  420. <![CDATA[
  421. //db click시 treeview 펼치기
  422. var indx = trv_promprcpset.selectedIndex;
  423. fReqPrmsDetlSet();
  424. trv_promprcpset.expand(indx, true);
  425. trv_promprcpset.refresh();
  426. opener.javascript.setParameter("SMMMO02300_selectindex" , trv_promprcpset.selectedIndex);
  427. opener.javascript.setParameter("SMMMO02300_scrnopenflag", "Y");
  428. if ( opener.model.getValue("/root/initsrch/envinfo[qestcd='008']/answcnt") == "001") {
  429. fCopyPrcpSets();
  430. }
  431. ]]>
  432. </script>
  433. </treeview>
  434. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:1px; top:57px; width:105px; height:20px; background-color:#ffffff; border-color:#3366ff; "/>
  435. <shape id="rectangle1" appearance="rectangle" style="left:8px; top:61px; width:13px; height:13px; background-color:#ff4848; border-color:#000000; "/>
  436. <caption id="caption20" style="left:24px; top:59px; width:27px; height:19px; ">
  437. <![CDATA[종료]]>
  438. <hint>
  439. <![CDATA[수가 또는 검사실 사용종료]]>
  440. </hint>
  441. </caption>
  442. <shape id="rectangle2" appearance="rectangle" style="left:58px; top:61px; width:13px; height:13px; background-color:#c0c0c0; border-color:#000000; "/>
  443. <caption id="caption21" style="left:74px; top:59px; width:30px; height:19px; ">
  444. <![CDATA[품절]]>
  445. <hint>
  446. <![CDATA[약품 품절]]>
  447. </hint>
  448. </caption>
  449. <button id="button1" class="btn2_letter4" style="left:110px; top:58px; width:64px; height:19px; ">
  450. <caption>상세보기</caption>
  451. <script type="javascript" ev:event="DOMActivate">
  452. <![CDATA[
  453. fIvwDetlVwCom("prms");
  454. ]]>
  455. </script>
  456. </button>
  457. <group id="group1" style="left:6px; top:202px; width:164px; height:55px; background-color:#99ccff; border-color:#3366ff; border-style:solid; ">
  458. <caption id="caption4" style="left:5px; top:5px; width:41px; height:20px; font-weight:bold; vertical-align:middle; ">폴더명</caption>
  459. <input id="ipt_setnm" ref="/root/main/iptbox/setnm" class="input_default" style="left:55px; top:5px; width:104px; height:19px; border-color:#3366ff; border-style:solid; ">
  460. <script type="javascript" ev:event="onkeypress">
  461. <![CDATA[
  462. inputEnterKey("btn_cnfm", "DOMActivate");
  463. var keycode = event.keyCode;
  464. if(keycode == 27){
  465. group1.attribute("height") = 0;
  466. model.setFocus("trv_promprcpset");
  467. return;
  468. }
  469. ]]>
  470. </script>
  471. </input>
  472. <button id="btn_cnfm" class="btn2_letter2" style="left:73px; top:26px; width:42px; height:19px; ">
  473. <caption>확인</caption>
  474. <script type="javascript" ev:event="DOMActivate">
  475. <![CDATA[
  476. var indx = trv_promprcpset.selectedIndex;
  477. group1.attribute("height") = 0;
  478. model.setFocus("trv_promprcpset");
  479. model.refresh();
  480. fSavePrmsDiagSet();
  481. //폴더 저장 이후, 저장된 폴더에 focus를 주기
  482. //indx == 0인 경우는 최상위 폴더, treeview의 맨 마지막 폴더가 신규로 생성된 폴더이다.
  483. if(indx == 0){
  484. trv_promprcpset.select(trv_promprcpset.length - 1);
  485. //하위 폴더의 경우, 신규로 생성될 폴더의 부모폴더를 찾고 폴더를 펼친다.
  486. //하위 폴더의 마지막 폴더가 신규로 생성된 폴더(+haschilditem())이다.
  487. }else{
  488. var path = trv_promprcpset.getItemPath(indx, "/");
  489. var curindex = 0;
  490. var node;
  491. for(var j = 0; j < path.length; j++){
  492. if(path.charAt(j) == '/'){
  493. node = path.substring(curindex, j);
  494. curindex = j+1;
  495. trv_promprcpset.expand(labelToIndex(node, trv_promprcpset), true);
  496. }
  497. }
  498. var treeitem = trv_promprcpset.item(indx);
  499. trv_promprcpset.select(indx + treeitem.haschilditem());
  500. trv_promprcpset.expand(indx , true);
  501. }
  502. trv_promprcpset.refresh();
  503. //처방화면에서 폴더선택하지 않고 바로 등록을 처리한 경우(autoflag:Y)
  504. //신규로 생성된 폴더에 처방을 등록함
  505. if(model.getValue("/root/init/autoflag") == "Y"){
  506. fPrmsSave();
  507. model.setValue("/root/init/autoflag", "N");
  508. }
  509. ]]>
  510. </script>
  511. </button>
  512. <button id="button3" class="btn2_letter2" style="left:117px; top:26px; width:42px; height:19px; ">
  513. <caption>취소</caption>
  514. <script type="javascript" ev:event="DOMActivate">
  515. <![CDATA[
  516. group1.attribute("height") = 0;
  517. ]]>
  518. </script>
  519. </button>
  520. </group>
  521. <button id="btn_srchprcp" class="btn2_letter2" style="left:299px; top:28px; width:42px; height:19px; ">
  522. <caption>검색</caption>
  523. <script type="javascript" ev:event="DOMActivate">
  524. <![CDATA[
  525. var setnm = model.getValue("/root/main/cond/setnm");
  526. for(var i = 1; i <= trv_promprcpset.length; i++){
  527. var cmpsetnm = model.getValue("/root/main/prmsprcpsetinfo/prmsprcpsetlist[" + i + "]/setnm");
  528. if(setnm == cmpsetnm){
  529. break;
  530. }
  531. }
  532. var path = trv_promprcpset.getItemPath(i-1, "/");
  533. var curindex = 0;
  534. var node;
  535. for(var j = 0; j < path.length; j++){
  536. if(path.charAt(j) == '/'){
  537. node = path.substring(curindex, j);
  538. curindex = j+1;
  539. trv_promprcpset.expand(labelToIndex(node, trv_promprcpset), true);
  540. }
  541. }
  542. trv_promprcpset.select(i-1);
  543. ]]>
  544. </script>
  545. </button>
  546. <input id="ipt_srchsetnm" ref="/root/main/cond/setnm" style="left:171px; top:28px; width:125px; height:19px; ">
  547. <script type="javascript" ev:event="onkeypress">
  548. <![CDATA[
  549. inputEnterKey("btn_srchprcp", "DOMActivate");
  550. ]]>
  551. </script>
  552. </input>
  553. <select1 id="rdo_srchcond1" ref="/root/init/srchcond1" appearance="full" cellspacing="8" cols="3" overflow="visible" style="left:170px; top:8px; width:140px; height:15px; border-style:none; ">
  554. <choices>
  555. <item>
  556. <label>개인</label>
  557. <value>P</value>
  558. </item>
  559. <item>
  560. <label>과</label>
  561. <value>D</value>
  562. </item>
  563. <item>
  564. <label>타과</label>
  565. <value>T</value>
  566. </item>
  567. </choices>
  568. <script type="javascript" ev:event="xforms-value-changed">
  569. <![CDATA[
  570. radio1.disabled = false;
  571. var srchcond1 = model.getValue ( "/root/init/srchcond1" ); //P는 의사, D는 부서, C는 프로토콜(부서);
  572. if ( srchcond1 == "P" ) { //의사차벙(개인)
  573. cmb_deptset.disabled = true;
  574. model.setValue("/root/main/cond/deptcd", "");
  575. model.removeNodeset("/root/send/reqdata");
  576. model.makeValue("/root/send/reqdata/settypecd", "P"); //P는 의사, C는 프로토콜
  577. model.makeValue("/root/send/reqdata/setkindcd", "P"); //P는 개인, D는 부서
  578. model.makeValue("/root/send/reqdata/setclscd" , "D"); //의사 SET
  579. model.makeValue("/root/send/reqdata/ioflag", model.getValue("/root/init/srchcond4")); //외래입원구분
  580. submit("TRMMB00601", false);
  581. } else if ( srchcond1 == "D" ) { //의사처방(부서)
  582. cmb_deptset.disabled = true;
  583. model.removeNodeset("/root/send/reqdata");
  584. model.makeValue("/root/send/reqdata/settypecd", "P"); //P는 의사, C는 프로토콜
  585. model.makeValue("/root/send/reqdata/setkindcd", "D"); //P는 개인, D는 부서
  586. model.makeValue("/root/send/reqdata/setclscd" , "D"); //의사 SET
  587. model.makeValue("/root/send/reqdata/ioflag", model.getValue("/root/init/srchcond4")); //외래입원구분
  588. submit("TRMMB00601", false);
  589. } else if ( srchcond1 == "C" ) { //프로토콜 처방(부서)
  590. cmb_deptset.disabled = false;
  591. model.removeNodeset("/root/send/reqdata");
  592. model.makeValue("/root/send/reqdata/settypecd", "C"); //P는 의사, C는 프로토콜
  593. model.makeValue("/root/send/reqdata/setkindcd", "D"); //P는 개인, D는 부서
  594. model.makeValue("/root/send/reqdata/setclscd" , "D"); //의사 SET
  595. submit("TRMMB00601", false);
  596. } else if ( srchcond1 == "T" ) { //타과
  597. cmb_deptset.disabled = false;
  598. model.removeNodeset("/root/send/reqdata");
  599. model.makeValue("/root/send/reqdata/setkindcd", "D"); //부서
  600. model.makeValue("/root/send/reqdata/setclscd" , "D"); //의사
  601. model.makeValue("/root/send/reqdata/settypecd", "P"); //처방
  602. model.makeValue("/root/send/reqdata/ioflag", model.getValue("/root/init/srchcond4")); //외래입원구분
  603. model.removeNodeset("/root/main/prmsprcpsetinfo/prmsprcpsetlist");
  604. }
  605. model.removeNodeset ( "/root/main/prcp/prcplist" );
  606. model.refresh();
  607. model.setValue(trv_promprcpset.attribute("ref"), "");
  608. trv_promprcpset.rebuild();
  609. ]]>
  610. </script>
  611. </select1>
  612. <select1 id="cmb_deptset" ref="/root/main/cond/deptcd" appearance="minimal" style="left:11px; top:28px; width:155px; height:19px; ">
  613. <choices>
  614. <itemset nodeset="/root/init/orddept/dept">
  615. <label ref="depthngnm"/>
  616. <value ref="deptcd"/>
  617. </itemset>
  618. </choices>
  619. <script type="javascript" ev:event="xforms-value-changed">
  620. <![CDATA[
  621. var srchcond3 = model.getValue("/root/init/srchcond3");
  622. var deptcd = model.getValue("/root/main/prmsprcp/cond/deptcd");
  623. if(deptcd != "-"){
  624. model.removeNodeset("/root/send/reqdata");
  625. model.makeValue("/root/send/reqdata/setkindcd", "D"); //부서
  626. model.makeValue("/root/send/reqdata/setclscd" , "D"); //의사
  627. model.makeValue("/root/send/reqdata/settypecd", srchcond3); //처방, 프로토콜
  628. model.makeValue("/root/send/reqdata/procflag", "D"); //처리구분(D: 부서SET을 조회)
  629. model.makeValue("/root/send/reqdata/deptcd", model.getValue("/root/main/cond/deptcd"));
  630. model.makeValue("/root/send/reqdata/deptnm", cmb_deptset.label);
  631. model.makeValue("/root/send/reqdata/ioflag", model.getValue("/root/init/srchcond4"));
  632. submit("TRMMB00601");
  633. }
  634. model.setValue(trv_promprcpset.attribute("ref"), "");
  635. trv_promprcpset.rebuild();
  636. ]]>
  637. </script>
  638. </select1>
  639. <select1 id="radio1" ref="/root/init/srchcond4" appearance="full" cellspacing="8" cols="3" overflow="visible" style="left:10px; top:8px; width:155px; height:15px; border-style:none; ">
  640. <choices>
  641. <item>
  642. <label>외래</label>
  643. <value>O</value>
  644. </item>
  645. <item>
  646. <label>입원</label>
  647. <value>I</value>
  648. </item>
  649. </choices>
  650. <script type="javascript" ev:event="xforms-value-changed">
  651. <![CDATA[
  652. var setkindcd = model.getValue("/root/init/srchcond1");
  653. if(setkindcd == "T"){
  654. setkindcd = "D";
  655. }
  656. model.removeNodeset("/root/send/reqdata");
  657. model.makeValue("/root/send/reqdata/settypecd", model.getValue("/root/init/srchcond3")); //P는 의사, C는 프로토콜
  658. model.makeValue("/root/send/reqdata/setkindcd", setkindcd); //P는 개인, D는 부서
  659. model.makeValue("/root/send/reqdata/setclscd" , "D"); //의사 SET
  660. var prmsflag = model.getValue("/root/init/srchcond1");
  661. if(prmsflag == "D"){ //과
  662. model.makeValue("/root/send/reqdata/deptcd", getUserInfo("dutplcecd"));
  663. model.makeValue("/root/send/reqdata/deptnm", getUserInfo("dutplcenm"));
  664. }else if(prmsflag == "T"){ //타과
  665. model.makeValue("/root/send/reqdata/procflag", "D"); //처리구분(D: 부서SET을 조회)
  666. model.makeValue("/root/send/reqdata/deptcd", cmb_deptset.value);
  667. model.makeValue("/root/send/reqdata/deptnm", cmb_deptset.label);
  668. }
  669. model.makeValue("/root/send/reqdata/ioflag", radio1.value); //외래입원구분
  670. submit("TRMMB00601", false);
  671. model.setValue(trv_promprcpset.attribute("ref"), "");
  672. trv_promprcpset.rebuild();
  673. ]]>
  674. </script>
  675. </select1>
  676. <shape id="rectangle3" visibility="hidden" appearance="rectangle" style="left:5px; top:270px; width:165px; height:52px; color:#99ccff; background-color:#99ccff; "/>
  677. <button id="button2" class="btn2_letter2" visibility="hidden" style="left:78px; top:297px; width:42px; height:19px; ">
  678. <caption>확인</caption>
  679. <script type="javascript" ev:event="DOMActivate">
  680. <![CDATA[
  681. var indx = trv_promprcpset.selectedIndex;
  682. rectangle1.attribute("visibility") = "hidden";
  683. caption1.attribute("visibility") = "hidden";
  684. input1.attribute("visibility") = "hidden";
  685. button2.attribute("visibility") = "hidden";
  686. button4.attribute("visibility") = "hidden";
  687. model.setFocus("trv_promprcpset");
  688. model.refresh();
  689. //약속처방 자동 저장시 부모폴더 번호 1을 설정해줘야함
  690. model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/status" , "i");
  691. model.setValue(sPRMSPRCPSETLIST_HIDDEN + "/supsetno", 1);
  692. fSavePrmsDiagSet();
  693. //폴더 저장 이후, 저장된 폴더에 focus를 주기
  694. //indx == 0인 경우는 최상위 폴더, treeview의 맨 마지막 폴더가 신규로 생성된 폴더이다.
  695. if(indx == 0){
  696. trv_promprcpset.select(trv_promprcpset.length - 1);
  697. //하위 폴더의 경우, 신규로 생성될 폴더의 부모폴더를 찾고 폴더를 펼친다.
  698. //하위 폴더의 마지막 폴더가 신규로 생성된 폴더(+haschilditem())이다.
  699. }else{
  700. var path = trv_promprcpset.getItemPath(indx, "/");
  701. var curindex = 0;
  702. var node;
  703. for(var j = 0; j < path.length; j++){
  704. if(path.charAt(j) == '/'){
  705. node = path.substring(curindex, j);
  706. curindex = j+1;
  707. trv_promprcpset.expand(labelToIndex(node, trv_promprcpset), true);
  708. }
  709. }
  710. var treeitem = trv_promprcpset.item(indx);
  711. trv_promprcpset.select(indx + treeitem.haschilditem());
  712. trv_promprcpset.expand(indx , true);
  713. }
  714. trv_promprcpset.refresh();
  715. //처방화면에서 폴더선택하지 않고 바로 등록을 처리한 경우(autoflag:Y)
  716. //신규로 생성된 폴더에 처방을 등록함
  717. if(model.getValue("/root/init/autoflag") == "Y"){
  718. fPrmsSave();
  719. model.setValue("/root/init/autoflag", "N");
  720. }
  721. ]]>
  722. </script>
  723. </button>
  724. <button id="button4" class="btn2_letter2" visibility="hidden" style="left:122px; top:297px; width:42px; height:19px; ">
  725. <caption>취소</caption>
  726. <script type="javascript" ev:event="DOMActivate">
  727. <![CDATA[
  728. rectangle1.attribute("visibility") = "hidden";
  729. caption1.attribute("visibility") = "hidden";
  730. input1.attribute("visibility") = "hidden";
  731. button2.attribute("visibility") = "hidden";
  732. button4.attribute("visibility") = "hidden";
  733. model.setValue("/root/init/autoflag", "N");
  734. trv_promprcpset.deselect();
  735. model.refresh();
  736. ]]>
  737. </script>
  738. </button>
  739. <caption id="caption1" visibility="hidden" style="left:11px; top:277px; width:41px; height:20px; font-weight:bold; vertical-align:middle; ">폴더명</caption>
  740. <input id="input1" ref="/root/main/iptbox/setnm" class="input_default" visibility="hidden" style="left:62px; top:275px; width:104px; height:19px; border-color:#3366ff; border-style:solid; ">
  741. <script type="javascript" ev:event="onkeypress">
  742. <![CDATA[
  743. inputEnterKey("button2", "DOMActivate");
  744. var keycode = event.keyCode;
  745. if(keycode == 27){
  746. rectangle1.attribute("visibility") = "hidden";
  747. caption1.attribute("visibility") = "hidden";
  748. input1.attribute("visibility") = "hidden";
  749. button2.attribute("visibility") = "hidden";
  750. button4.attribute("visibility") = "hidden";
  751. model.setFocus("trv_promprcpset");
  752. return;
  753. }
  754. ]]>
  755. </script>
  756. </input>
  757. </xhtml:body>
  758. </xhtml:html>