SMMMB01700_처방분류관리.xrw 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366
  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. <cond>
  11. <srchcond/>
  12. <calcscorcd/>
  13. <prcpnm/>
  14. <earncls1/>
  15. <earncls2/>
  16. <earncls3/>
  17. <stnddd/>
  18. </cond>
  19. <prcpclsmngtinfo>
  20. <prcpclsmngtlist>
  21. <prcpclscd/>
  22. <calcscorcd/>
  23. <ordnm/>
  24. <engnm/>
  25. <earncls/>
  26. <todd/>
  27. <ordinptflag/>
  28. <ordinptfromdd/>
  29. </prcpclsmngtlist>
  30. </prcpclsmngtinfo>
  31. <earncls1info>
  32. <earncls1list>
  33. </earncls1list>
  34. </earncls1info>
  35. <earncls2info>
  36. <earncls2list>
  37. <earncls2>all</earncls2>
  38. <earncls2nm>전체</earncls2nm>
  39. </earncls2list>
  40. </earncls2info>
  41. <earncls3info>
  42. <earncls3list>
  43. <earncls3>all</earncls3>
  44. <earncls3nm>전체</earncls3nm>
  45. </earncls3list>
  46. </earncls3info>
  47. </main>
  48. <send>
  49. <reqdata/>
  50. <savedata/>
  51. </send>
  52. <hidden>
  53. </hidden>
  54. <init>
  55. <cond>
  56. <M0005/>
  57. </cond>
  58. <cond>
  59. <P0141/>
  60. </cond>
  61. </init>
  62. </root>
  63. </instance>
  64. <script type="javascript" ev:event="xforms-ready">
  65. <![CDATA[
  66. //처방분류를 공통코드로 받아옴
  67. zbcfGetCodeList(
  68. new Array("M0005"),
  69. new Array("/root/init/cond/M0005")
  70. );
  71. //************코드가 '00'~'09'까지 나타나지 않게 하기
  72. //인스턴스 개수를 받아온다.
  73. var dataCnt = getNodesetCnt(model, "/root/init/cond/M0005/M0005");
  74. for(var i = dataCnt; i > 0 ; i--){
  75. var cdid = model.getValue("/root/init/cond/M0005/M0005[" + i + "]/cdid");
  76. //해당 코드 값이 있으면 인스턴스를 삭제
  77. if((cdid == '00')||(cdid == '01')||(cdid == '02')||(cdid == '03')||(cdid == '04')||(cdid == '05')||(cdid == '06')||(cdid == '07')||(cdid == '08')||(cdid == '09')){
  78. model.removenode("/root/init/cond/M0005/M0005[" + i + "]");
  79. }
  80. }
  81. //처방입력구분을 공통코드로 받아옴
  82. zbcfGetCodeList(
  83. new Array("P0141"),
  84. new Array("/root/init/cond/P0141")
  85. );
  86. //현재 날짜를 받아옴
  87. model.setValue("/root/main/cond/stnddd", getCurrentDate());
  88. model.refresh();
  89. //초기화시 검색조건에 따라 조건 박스가 뜨도록 처음에는 안뜨게 표시
  90. ipt_calcscorcd.visible = false;
  91. ipt_prcpnm.visible = false;
  92. cmb_earncls1.visible= true;
  93. cmb_earncls2.visible= true;
  94. cmb_earncls3.visible= true;
  95. //리스트 화면을 초기화
  96. model.removeNodeset("/root/main/prcpclsmngtinfo/prcpclsmngtlist");
  97. model.refresh();
  98. //처방분류 대 콤보 박스에 리스트가 조회
  99. submit("TRMMB01702");
  100. //검색조건에 기본적으로 처방분류가 들어가 있는 상태로 초기화
  101. cmb_srchcond.select(2); //처방분류
  102. cmb_earncls1.select(0); //처방분류 조회후 첫번째 값
  103. cmb_earncls2.select(0); //전체
  104. cmb_earncls3.select(0); //전체
  105. ]]>
  106. </script>
  107. <submission id="TRMMB01701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/prcpclsmngtinfo"/>
  108. <submission id="TRMMB01702" mediatype="application/x-www-form-urlencoded" method="post" add="bottom" resultref="/root/main/earncls1info"/>
  109. <submission id="TRMMB01703" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" add="bottom" resultref="/root/main/earncls2info"/>
  110. <submission id="TRMMB01704" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" add="bottom" resultref="/root/main/earncls3info"/>
  111. <submission id="TRZBC00101" mediatype="application/x-www-form-urlencoded" method="post"/>
  112. <submission id="TXMMB01701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/prcpclsmngtinfo"/>
  113. </model>
  114. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  115. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  116. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  117. <script type="javascript" src="../../../emr/prcpmngtweb/js/MMO001.js"/>
  118. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  119. <script type="javascript" src="../../../emr/commonweb/js/EMRCommon.js"/>
  120. </xhtml:head>
  121. <xhtml:body guideline="1,1195;2,782;1,413;1,550;" style="margin-left:8; margin-right:8; ">
  122. <caption id="caption1" class="tit_1" style="left:0px; top:0px; width:140px; height:13px; ">처방분류관리</caption>
  123. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:21px; width:1191px; height:39px; background-color:#fffbf2; border-color:#ffd799; "/>
  124. <caption id="caption2" class="search_name" style="left:20px; top:30px; width:105px; height:17px; ">검색조건 :</caption>
  125. <select1 id="cmb_srchcond" ref="/root/main/cond/srchcond" navindex="1" appearance="minimal" style="left:120px; top:30px; width:140px; height:19px; ">
  126. <choices>
  127. <item>
  128. <label>처방코드</label>
  129. <value>CD</value>
  130. </item>
  131. <item>
  132. <label>처방명</label>
  133. <value>NM</value>
  134. </item>
  135. <item>
  136. <label>처방분류</label>
  137. <value>CLS</value>
  138. </item>
  139. </choices>
  140. <script type="javascript" ev:event="xforms-select">
  141. <![CDATA[
  142. // 콤보박스에서 선택한 값에 따라 조건 옆에 해당박스가 뜨게 선택하고 각 input박스나 콤보박스에 포커스가 가있게 한다.
  143. if(model.getValue("/root/main/cond/srchcond") == 'CD'){
  144. ipt_calcscorcd.visible = true;
  145. ipt_prcpnm.visible = false;
  146. cmb_earncls1.visible= false;
  147. cmb_earncls2.visible= false;
  148. cmb_earncls3.visible= false;
  149. model.setFocus("ipt_calcscorcd");
  150. }else if(model.getValue("/root/main/cond/srchcond") == 'NM'){
  151. ipt_calcscorcd.visible = false;
  152. ipt_prcpnm.visible = true;
  153. cmb_earncls1.visible= false;
  154. cmb_earncls2.visible= false;
  155. cmb_earncls3.visible= false;
  156. model.setFocus("ipt_prcpnm");
  157. }else if(model.getValue("/root/main/cond/srchcond") == 'CLS'){
  158. ipt_calcscorcd.visible = false;
  159. ipt_prcpnm.visible = false;
  160. cmb_earncls1.visible= true;
  161. cmb_earncls2.visible= true;
  162. cmb_earncls3.visible= true;
  163. model.setFocus("cmb_earncls1");
  164. }
  165. ]]>
  166. </script>
  167. <script type="javascript" ev:event="xforms-value-changed">
  168. <![CDATA[
  169. //input박스에 예전에 검색한 data값이 남지 않도록 지워준다.
  170. model.resetInstanceNode("/root/main/cond/calcscorcd");
  171. model.resetInstanceNode("/root/main/cond/prcpnm");
  172. model.refresh();
  173. //콤보박스에 예전에 검색한 data값이 남지 않고 언제나 첫조건이 조회되도록 한다.
  174. cmb_earncls1.select(0);
  175. cmb_earncls2.select(0);
  176. cmb_earncls3.select(0);
  177. ]]>
  178. </script>
  179. </select1>
  180. <input id="ipt_calcscorcd" ref="/root/main/cond/calcscorcd" class="input_search" maxlength="12" _chartype="upper" style="left:285px; top:30px; width:150px; height:19px; margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  181. <script type="javascript" ev:event="onkeypress">
  182. <![CDATA[
  183. //조건을 적고 enter를 치면 바로 조회 버튼을 누르지 않고 조회
  184. inputEnterKey("btn_req", "DOMActivate");
  185. ]]>
  186. </script>
  187. <hint>
  188. <![CDATA[처방코드를 2자리이상 입력하세요.]]>
  189. </hint>
  190. </input>
  191. <input id="ipt_prcpnm" ref="/root/main/cond/prcpnm" class="input_search" style="left:285px; top:30px; width:200px; height:19px; ">
  192. <script type="javascript" ev:event="onkeypress">
  193. <![CDATA[
  194. //조건을 적고 enter를 치면 바로 조회 버튼을 누르지 않고 조회
  195. inputEnterKey("btn_req", "DOMActivate");
  196. ]]>
  197. </script>
  198. <hint>
  199. <![CDATA[처방명을 2자리이상 입력하세요.]]>
  200. </hint>
  201. </input>
  202. <button id="btn_req" class="btn1_letter2" navindex="5" style="left:1112px; top:30px; width:56px; height:22px; ">
  203. <caption>조회</caption>
  204. <script type="javascript" ev:event="DOMActivate">
  205. <![CDATA[
  206. //한글인지 영문인지 판단하고 data개수도 판단하여 작은 경우 메세지가 뜨게 한다.
  207. var srchcond = model.getValue("/root/main/cond/srchcond");
  208. var codenm = "";
  209. if(srchcond == "CD"){
  210. codenm = model.getValue("/root/main/cond/calcscorcd");
  211. if (isNull(codenm)) {
  212. model.alert ( "처방코드를 입력하세요..!." );
  213. model.setFocus("ipt_calcscorcd");
  214. return;
  215. } else if (codenm.length < 2) {
  216. model.alert ( "처방코드를 2자리 이상 입력하세요..!." );
  217. model.setFocus("ipt_calcscorcd");
  218. return;
  219. }
  220. }else if(srchcond == "NM"){
  221. codenm = model.getValue("/root/main/cond/prcpnm");
  222. if (isNull(codenm)) {
  223. model.alert ( "처방명을 입력하세요..!." );
  224. model.setFocus("ipt_prcpnm");
  225. return;
  226. }
  227. //한글인지 확인
  228. if (fIsHangul(codenm) == "H") {
  229. if (codenm.length < 2) {
  230. model.alert ( "한글 처방명 2자리 이상 입력하세요..!." );
  231. model.setFocus("ipt_prcpnm");
  232. return;
  233. }
  234. } else {
  235. if (codenm.length < 4) {
  236. model.alert ( "영문 처방명 2자리 이상 입력하세요..!." );
  237. model.setFocus("ipt_prcpnm");
  238. return;
  239. }
  240. }
  241. }
  242. //조건에 맞는 데이터 조회
  243. model.copyNode("/root/send/reqdata","/root/main/cond");
  244. submit("TRMMB01701");
  245. //데이타가 길어 한줄에 다 나오지않는 경우 줄이 늘어나게 함
  246. //grd_prcpclsmngtlist.autoResize = true;
  247. ]]>
  248. </script>
  249. </button>
  250. <select1 id="cmb_earncls1" ref="/root/main/cond/earncls1" navindex="2" appearance="minimal" style="left:285px; top:30px; width:130px; height:19px; ">
  251. <choices>
  252. <itemset nodeset="/root/main/earncls1info/earncls1list">
  253. <label ref="earncls1nm"/>
  254. <value ref="earncls1"/>
  255. </itemset>
  256. </choices>
  257. <script type="javascript" ev:event="xforms-value-changed">
  258. <![CDATA[
  259. //콤보박스 리스트를 제거
  260. model.removeNodeset("/root/main/earncls2info");
  261. model.makeNode("/root/main/earncls2info/earncls2list/earncls2nm");
  262. model.makeNode("/root/main/earncls2info/earncls2list/earncls2");
  263. model.setValue("/root/main/earncls2info/earncls2list/earncls2nm",'전체');
  264. model.setValue("/root/main/earncls2info/earncls2list/earncls2",'all');
  265. //콤보박스 리스트 변경시 다시 전체가 조회되도록 선택
  266. cmb_earncls2.select(0);
  267. //콤보박스에 나올 리스트 조회
  268. model.copyNode("/root/send/reqdata","/root/main/cond");
  269. submit("TRMMB01703");
  270. ]]>
  271. </script>
  272. </select1>
  273. <select1 id="cmb_earncls2" ref="/root/main/cond/earncls2" navindex="3" appearance="minimal" style="left:420px; top:30px; width:130px; height:19px; ">
  274. <choices>
  275. <itemset nodeset="/root/main/earncls2info/earncls2list">
  276. <label ref="earncls2nm"/>
  277. <value ref="earncls2"/>
  278. </itemset>
  279. </choices>
  280. <script type="javascript" ev:event="xforms-value-changed">
  281. <![CDATA[
  282. //콤보박스 리스트를 제거
  283. model.removeNodeset("/root/main/earncls3info");
  284. model.makeNode("/root/main/earncls3info/earncls3list/earncls3nm");
  285. model.makeNode("/root/main/earncls3info/earncls3list/earncls3");
  286. model.setValue("/root/main/earncls3info/earncls3list/earncls3nm",'전체');
  287. model.setValue("/root/main/earncls3info/earncls3list/earncls3",'all');
  288. //콤보박스 리스트 변경시 다시 전체가 조회되도록 선택
  289. cmb_earncls3.select(0);
  290. //콤보박스에 나올 리스트 조회
  291. model.copyNode("/root/send/reqdata","/root/main/cond");
  292. submit("TRMMB01704");
  293. ]]>
  294. </script>
  295. </select1>
  296. <select1 id="cmb_earncls3" ref="/root/main/cond/earncls3" navindex="4" appearance="minimal" style="left:555px; top:30px; width:130px; height:19px; ">
  297. <choices>
  298. <itemset nodeset="/root/main/earncls3info/earncls3list">
  299. <label ref="earncls3nm"/>
  300. <value ref="earncls3"/>
  301. </itemset>
  302. </choices>
  303. </select1>
  304. <caption id="caption25" class="tit_2" style="left:0px; top:72px; width:147px; height:13px; ">처방분류리스트</caption>
  305. <line id="line1" class="line_1" style="x1:0px; y1:89px; x2:1193px; y2:89px; "/>
  306. <datagrid id="grd_prcpclsmngtlist" nodeset="/root/main/prcpclsmngtinfo/prcpclsmngtlist" scroll="vertical" autoresize="true" caption="처방분류^종료일자^처방코드^처방명^처방영문명^처방분류^처방입력^시작일자" colsep="^" colwidth="70, 0, 100, 280, 280, 280, 55, 70" extendlastcol="noscroll" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" navindex="6" style="left:0px; top:94px; width:1193px; height:687px; ">
  307. <col ref="prcpclscd" type="combo">
  308. <choices>
  309. <itemset nodeset="/root/init/cond/M0005/M0005">
  310. <label ref="cdnm"/>
  311. <value ref="cdid"/>
  312. </itemset>
  313. </choices>
  314. </col>
  315. <col ref="todd"/>
  316. <col ref="calcscorcd"/>
  317. <col ref="ordnm"/>
  318. <col ref="engnm"/>
  319. <col ref="earncls"/>
  320. <col ref="ordinptflag" type="combo" style="text-align:center; ">
  321. <choices>
  322. <itemset nodeset="/root/init/cond/P0141/P0141">
  323. <label ref="cdnm"/>
  324. <value ref="cdid"/>
  325. </itemset>
  326. </choices>
  327. </col>
  328. <col ref="ordinptfromdd" format="yyyy-mm-dd"/>
  329. </datagrid>
  330. <button id="btn_save" class="btn4_letter2" navindex="7" style="left:1135px; top:65px; width:56px; height:22px; ">
  331. <caption>저장</caption>
  332. <script type="javascript" ev:event="DOMActivate">
  333. <![CDATA[
  334. //처방분류를 변경하고 data 저장하고 다시 조회
  335. //처방분류가 변경되 데아타를 가지고 감
  336. model.setValue("/root/send/savedata",grd_prcpclsmngtlist.getUpdateData());
  337. //검색조건으로 조회하기 위해 데이터를 가지고고 감
  338. model.copyNode("/root/send/reqdata","/root/main/cond");
  339. //변경된 데이타를 수가기분테이블에서 수정
  340. submit("TXMMB01701");
  341. ]]>
  342. </script>
  343. </button>
  344. <line id="line3" style="x1:1100px; y1:25px; x2:1100px; y2:55px; border-color:#ffe4bb; border-left-style:solid; "/>
  345. </xhtml:body>
  346. </xhtml:html>