SPMMD08100_성분분류조회.xrw 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468
  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>DIF약품검색</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <list>
  11. <resultlist>
  12. <paytype/>
  13. <hdrugcd/>
  14. <edicd/>
  15. <edinm/>
  16. <kornm/>
  17. <engnm/>
  18. <iengnm/>
  19. <bocheongunit/>
  20. <hamryang/>
  21. <jeyaksanm/>
  22. <yakpumgu/>
  23. <fdrugcd/>
  24. <gcnseqno/>
  25. </resultlist>
  26. </list>
  27. <list2>
  28. <resultlist>
  29. <paytype/>
  30. <hdrugcd/>
  31. <edicd/>
  32. <edinm/>
  33. <kornm/>
  34. <engnm/>
  35. <iengnm/>
  36. <bocheongunit/>
  37. <hamryang/>
  38. <jeyaksanm/>
  39. <yakpumgu/>
  40. <fdrugcd/>
  41. <gcnseqno/>
  42. </resultlist>
  43. </list2>
  44. <treelist>
  45. <node/>
  46. </treelist>
  47. <treetmp/>
  48. <list3/>
  49. </main>
  50. <send>
  51. <req>
  52. <pSearchType>03</pSearchType>
  53. <pScope>02</pScope>
  54. <pKeyword/>
  55. </req>
  56. <reqClassfication>
  57. <pSearchType>01</pSearchType>
  58. <pScope>02</pScope>
  59. <pKeyword/>
  60. <pClassification/>
  61. </reqClassfication>
  62. </send>
  63. <init>
  64. </init>
  65. <hidden>
  66. </hidden>
  67. <temp>
  68. <receivedata>
  69. <receiveref/>
  70. <receivedrugpnm/>
  71. <receivedrugflag/>
  72. <receivedrugcom/>
  73. </receivedata>
  74. </temp>
  75. <difParam>
  76. <pageUrl>SMZCR00101_복약안내.xrw</pageUrl>
  77. <pYakpumCd>SIMV040TAB0218|ITCZ100CAP0172|ATVT011TAB0185</pYakpumCd>
  78. </difParam>
  79. </root>
  80. </instance>
  81. <submission id="TRZCN00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/req" resultref="/root/main/list"/>
  82. <submission id="TRZCN00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqClassfication" resultref="/root/main/treelist"/>
  83. <submission id="TRZCN00301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqClassfication" resultref="/root/main/list2"/>
  84. <submission id="TRZCN00401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqClassfication" resultref="/root/main/list3"/>
  85. </model>
  86. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  87. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  88. <script type="javascript" src="../../../com/navigationweb/js/ZCN001.js"/>
  89. <script type="javascript" ev:event="xforms-ready">
  90. <![CDATA[
  91. if(isPopup()){
  92. OpenUID = opener.javascript.getScreenID();
  93. for(var i = 0; i < AceptUID.length; i++){
  94. if(OpenUID == AceptUID[i]) execYN = "Y";
  95. }
  96. }
  97. /*
  98. 화면을 초기화 합니다.
  99. 선택된 약품리스트를 불러온다. zcnfGetDurgList();
  100. 선택된 약품리스트 중에 선택된 값을 가져온다.zcnfGetDurgInfo();
  101. */
  102. fInitialize();
  103. zcnfGetDurgList();
  104. zcnfGetDurgInfo();
  105. var param1 = model.getValue("/root/main/selectedDrugInfo/pYakpumCd");
  106. var param2 = model.getValue("/root/main/selectedDrugInfo/pGcnSeqNo");
  107. var selecredRow = model.getValue("/root/main/selectedDrugInfo/pSelectRow");
  108. //getDetailDrugInfo(param1,param2, selecredRow);
  109. model.refresh();
  110. if(selecredRow == ""){
  111. selecredRow = 1;
  112. }
  113. //model.setFocus("left_datagrid1");
  114. //left_datagrid1.select(selecredRow,1) = true;
  115. //left_datagrid1.refresh();
  116. ]]>
  117. </script>
  118. <script type="javascript">
  119. <![CDATA[
  120. /*
  121. OpenUID - 부모창 UID
  122. AceptUID - 허용 UID
  123. execYN - 반영여부
  124. */
  125. var OpenUID = "";
  126. var AceptUID = new Array("SPMMD03300","SPADC60900","SMADC00600");
  127. var execYN = "N";
  128. /*
  129. 초기화 작업을 합니다.
  130. */
  131. function fInitialize(){
  132. model.removeNodeset("/root/main/list/resultlist");
  133. model.removeNodeset("/root/main/list2/resultlist");
  134. model.removeNodeset("/root/main/selectedlist");
  135. model.removeNodeset("/root/main/treelist");
  136. model.removeNodeset("/root/main/treetmp");
  137. model.removeNodeset("/root/main/detailinfo");
  138. }
  139. function fInitialize1(){
  140. model.removeNodeset("/root/main/list3/resultlist");
  141. model.removeNodeset("/root/main/list2/resultlist");
  142. model.makeValue("/root/send/reqClassfication/pKeyword","");
  143. model.makeValue("/root/send/reqClassfication/pClassification","");
  144. }
  145. /*
  146. model.getValue(); 를 함수로 만들었습니다.
  147. param1 : node는 grid의 xPath입니다.
  148. param2 : row는 grid에서 선택한 row값입니다.
  149. param3 : element는 getvalue할 해당 element 명입니다.
  150. 해당 getvalue값을 return 해줍니다.
  151. return 하지 않으면 해당값을 가져올 수 없습니다.
  152. */
  153. function fGetValue(node, row, element) {
  154. var rtnValue = model.getValue(node + "[" + row + "]/" + element);
  155. return rtnValue;
  156. }
  157. /*
  158. model.reqGetDetailInfo(); 를 함수로 만들었습니다.
  159. param1 : 선택된 약품 grid에서 선택된 약품코드 입니다.
  160. param2 : 선택된 약품 grid에서 선택된 GCN코드 입니다.
  161. param3 : 선택된 약품 grid에서 선택된 ROW값 입니다.
  162. 해당 getvalue값을 return 해줍니다.
  163. return 하지 않으면 해당값을 가져올 수 없습니다.
  164. */
  165. function reqGetDetailInfo(param1,param2,param3) {
  166. //각 화면별 개별처리; 현페이지는 처리 사항 없음
  167. }
  168. // 인자로 넘어온 값을 label 로 같은 아이템의 인덱스를 반환
  169. function labelToIndex(label, tree)
  170. {
  171. for(var i=0; i<tree.length; i++)
  172. {
  173. if(tree.item(i).label == label)
  174. return i;
  175. }
  176. return -1;
  177. }
  178. function FirstDIS_Request(){
  179. model.makeValue("/root/firstDISsend/refno","1");
  180. model.makeValue("/root/firstDISsend/drugcode",model.getValue("/root/main/selectedDrugInfo/pYakpumCd"));
  181. modal("../../referenceweb/xrw/SPZCR00301_약품검색문의", "", "", "", "SPZCR00301","/root/firstDISsend","/root/main/req");
  182. }
  183. /*
  184. 조회된 그리드의 머지를 처리한다
  185. */
  186. function mergecolTab1(){
  187. grd_resultlist.mergecol(1)=false;
  188. grd_resultlist.mergecol(2)=false;
  189. grd_resultlist.mergecol(3)=false;
  190. grd_resultlist.mergecol(4)=false;
  191. grd_resultlist.mergecol(5)=false;
  192. grd_resultlist.mergecol(6)=false;
  193. grd_resultlist.mergecol(7)=false;
  194. grd_resultlist.mergecells="byrestriccol";
  195. grd_resultlist.refresh();
  196. }
  197. function mergecolTab2(){
  198. grd_resultlist2.mergecol(1)=false;
  199. grd_resultlist2.mergecol(2)=false;
  200. grd_resultlist2.mergecol(3)=false;
  201. grd_resultlist2.mergecol(4)=false;
  202. grd_resultlist2.mergecol(5)=false;
  203. grd_resultlist2.mergecol(6)=false;
  204. grd_resultlist2.mergecol(7)=false;
  205. grd_resultlist2.mergecells="byrestriccol";
  206. grd_resultlist2.refresh();
  207. }
  208. ]]>
  209. </script>
  210. </xhtml:head>
  211. <xhtml:body pagewidth="830" pageheight="660" guideline="1,1194;2,658;2,628;2,655;1,809;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  212. <switch id="switch1" class="sw_no_border" style="left:0px; top:0px; width:810px; height:628px; ">
  213. <case id="case2" selected="true">
  214. <shape id="roundrect4" class="roundrect_search" appearance="roundrect" style="left:420px; top:266px; width:390px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
  215. <shape id="roundrect2" class="roundrect_search" appearance="roundrect" style="left:0px; top:1px; width:810px; height:60px; background-color:#fffbf2; border-color:#ffd799; "/>
  216. <select1 id="radio4" ref="/root/send/reqClassfication/pScope" class="radio_search" visibility="visible" appearance="full" cols="2" itemwidth="100" overflow="visible" style="left:110px; top:6px; width:260px; height:20px; border-style:none; ">
  217. <choices>
  218. <item>
  219. <label>원내의약품</label>
  220. <value>01</value>
  221. </item>
  222. <item>
  223. <label>전체의약품</label>
  224. <value>02</value>
  225. </item>
  226. </choices>
  227. </select1>
  228. <datagrid id="grd_resultlist2" nodeset="/root/main/list2/resultlist" caption="급여구분^병원코드^영문상품명^영문성분명^제조회사^약품구분^약품명^함량^fdrugcd^gcnseqno" colsep="^" colwidth="80, 80, 140, 110, 110, 75, 110, 100, 100, 100" dataheight="25" ellipsis="true" extendlastcol="scroll" mergecells="byrestriccol" mergecellsfixedrows="bycolrec" rowheight="25" rowsep="|" style="left:0px; top:306px; width:810px; height:321px; ">
  229. <col ref="paytype" style="vertical-align:top; "/>
  230. <col ref="hdrugcd"/>
  231. <col ref="iengnm"/>
  232. <col ref="engnm"/>
  233. <col ref="jeyaksanm"/>
  234. <col ref="yakpumgu"/>
  235. <col ref="kornm"/>
  236. <col ref="hamryang"/>
  237. <col ref="fdrugcd" visibility="hidden"/>
  238. <col ref="gcnseqno" visibility="hidden"/>
  239. <script type="javascript" ev:event="ondblclick">
  240. <![CDATA[
  241. if(!isDataCell()) return;
  242. if(execYN == "N") return;
  243. var receiveref = model.getValue("/root/temp/receivedata/receiveref");
  244. var receivedrugpnm = model.getValue("/root/temp/receivedata/receivedrugpnm");
  245. var receivedrugflag = model.getValue("/root/temp/receivedata/receivedrugflag");
  246. var receivedrugcom = model.getValue("/root/temp/receivedata/receivedrugcom");
  247. if ( checkOpener() ) {
  248. /* @ DUR관련 알러지 인터페이스
  249. /root/temp/receivedata/receiveref
  250. /root/temp/receivedata/receivedrugpnm //선택된 약(처방)명
  251. /root/temp/receivedata/receivedrugflag //선택된 약(처방)의 원내/DIF 구분 (원내-C / DIF-D)
  252. /root/temp/receivedata/receivedrugcom //선택된 약(처방)의 성분코드
  253. */
  254. var drugflag = "";
  255. var drugcd = "";
  256. if(grd_resultlist2.valueMatrix(grd_resultlist2.row, grd_resultlist2.colRef("hdrugcd")) != ""){
  257. drugflag = "C";
  258. drugcd = grd_resultlist2.valueMatrix(grd_resultlist2.row, grd_resultlist2.colRef("hdrugcd"));
  259. }else{
  260. drugflag = "D";
  261. drugcd = grd_resultlist2.valueMatrix(grd_resultlist2.row, grd_resultlist2.colRef("fdrugcd"));
  262. }
  263. opener.model.setValue(receiveref, drugcd);
  264. opener.model.setValue(receivedrugpnm, grd_resultlist2.valueMatrix(grd_resultlist2.row, grd_resultlist2.colRef("kornm")));
  265. opener.model.setValue(receivedrugflag, drugflag);
  266. //opener.model.setValue("/root/temp/receivedata/receivedrugcom", grd_resultlist.valueMatrix(grd_resultlist.row, grd_resultlist.colRef("")));
  267. opener.model.refresh();
  268. btn_cls.dispatch("DOMActivate");
  269. } else {
  270. messageBox("상위화면이 변경되어 데이터를 전달할 수","I004");
  271. }
  272. ]]>
  273. </script>
  274. </datagrid>
  275. <button id="button4" class="btn1_letter2" style="left:745px; top:270px; width:56px; height:22px; background-image:../../../com/commonweb/images/btn1_letter2.gif; ">
  276. <caption>조회</caption>
  277. <script type="javascript" ev:event="onclick">
  278. <![CDATA[
  279. model.removeNodeset("/root/main/list2");
  280. submit("TRZCN00301",false);
  281. mergecolTab2();
  282. ]]>
  283. </script>
  284. </button>
  285. <caption id="caption11" class="search_name" style="left:20px; top:36px; width:86px; height:17px; ">조회구분 :</caption>
  286. <caption id="caption14" class="search_name" style="left:20px; top:6px; width:91px; height:17px; ">조회범위 :</caption>
  287. <input id="input2" ref="/root/send/reqClassfication/pKeyword" class="input_search" style="left:574px; top:274px; width:165px; height:19px; ">
  288. <script type="javascript" ev:event="onkeypress">
  289. <![CDATA[
  290. if (event.keycode == 13)
  291. {
  292. input2.value = input2.currentText;
  293. model.removeNodeset("/root/main/list2");
  294. submit("TRZCN00301",false);
  295. mergecolTab2();
  296. }
  297. ]]>
  298. </script>
  299. </input>
  300. <select1 id="radio3" ref="/root/send/reqClassfication/pSearchType" class="radio_search" visibility="visible" appearance="full" cols="3" itemwidth="100" overflow="visible" style="left:110px; top:36px; width:255px; height:20px; border-style:none; ">
  301. <choices>
  302. <item>
  303. <label>AHFS 분류</label>
  304. <value>01</value>
  305. </item>
  306. <item>
  307. <label>ATC 분류</label>
  308. <value>02</value>
  309. </item>
  310. <item>
  311. <label>복지부 분류</label>
  312. <value>03</value>
  313. </item>
  314. </choices>
  315. <script type="javascript" ev:event="onclick">
  316. <![CDATA[
  317. model.removeNodeset("/root/main/treelist");
  318. fInitialize1()
  319. submit("TRZCN00201");
  320. ]]>
  321. </script>
  322. </select1>
  323. <treeview id="trv_drugClassfication" class="treeview" itemsettype="depth" style="left:0px; top:71px; width:405px; height:230px; ">
  324. <itemset nodeset="/root/main/treelist/node">
  325. <label ref="ahfs_desc"/>
  326. <value ref="ahfs"/>
  327. <depth ref="lvl"/>
  328. </itemset>
  329. <script type="javascript" ev:event="xforms-select">
  330. <![CDATA[
  331. // var idx = trv_drugClassfication.focusIndex;
  332. var idx = trv_drugClassfication.selectedindex;
  333. if(idx>=0)
  334. {
  335. trv_drugClassfication.select(idx);
  336. var treeItem = trv_drugClassfication.item(idx);
  337. var vdepth = treeItem.depth;
  338. var nItmeCnt = treeItem.haschilditem();
  339. if((nItmeCnt == -1) || ( vdepth >= 3)) {
  340. var value = treeItem.value;
  341. model.makeValue("root/send/reqClassfication/pKeyword", value);
  342. model.removeNodeset("/root/main/list2");
  343. input2.refresh();
  344. grd_resultlist2.refresh();
  345. submit("TRZCN00301",false);
  346. mergecolTab2();
  347. // model.setfocus("trv_drugClassfication", true);
  348. // trv_drugClassfication.select(idx);
  349. return;
  350. }else{
  351. model.makeValue("root/send/reqClassfication/pKeyword", value);
  352. model.removeNodeset("/root/main/list2");
  353. input2.refresh();
  354. grd_resultlist2.refresh();
  355. mergecolTab2();
  356. return;
  357. }
  358. }
  359. ]]>
  360. </script>
  361. </treeview>
  362. <caption id="caption1" class="search_name" style="left:430px; top:274px; width:99px; height:17px; ">코드별검색 :</caption>
  363. <datagrid id="grd_resultlist3" nodeset="/root/main/list3/resultlist" caption="분류코드^분류명" colsep="^" colwidth="80, 300" dataheight="25" ellipsis="true" extendlastcol="scroll" mergecells="byrestriccol" mergecellsfixedrows="bycolrec" rowheight="25" rowsep="|" style="left:422px; top:71px; width:388px; height:190px; ">
  364. <col ref="cls"/>
  365. <col ref="clsdesc"/>
  366. <script type="javascript" ev:event="ondblclick">
  367. <![CDATA[
  368. // 입력한 값을 label 로 가지는 아이템을 찾아서 펼치고 선택한다
  369. var selectedrow = grd_resultlist3.row;
  370. if(0 == selectedrow){return;}
  371. var keyword = model.getValue("/root/main/list3/resultlist" + "[" + selectedrow + "]/" + "cls");
  372. for(var i=0; i<trv_drugClassfication.length; i++)
  373. {
  374. if(trv_drugClassfication.item(i).value == keyword)
  375. {
  376. var path = trv_drugClassfication.getItemPath(i, "/");
  377. var curIndex = 0;
  378. var node;
  379. for(var j=0; j<path.length; j++)
  380. {
  381. if(path.charAt(j) == '/')
  382. {
  383. node = path.substring(curIndex, j);
  384. curIndex = j+1;
  385. trv_drugClassfication.expand(labelToIndex(node, trv_drugClassfication), true);
  386. }
  387. }
  388. trv_drugClassfication.select(i);
  389. submit("TRZCN00301",false);
  390. mergecolTab2();
  391. return;
  392. }
  393. }
  394. alert("동일한 분류가 트리내에 존재하지 않습니다....!");
  395. ]]>
  396. </script>
  397. </datagrid>
  398. <button id="button2" class="btn1_letter2" style="left:745px; top:35px; width:56px; height:22px; background-image:../../../com/commonweb/images/btn1_letter2.gif; ">
  399. <caption>조회</caption>
  400. <script type="javascript" ev:event="onclick">
  401. <![CDATA[
  402. model.removeNodeset("/root/main/list3");
  403. submit("TRZCN00401",false);
  404. grd_resultlist3.refresh();
  405. ]]>
  406. </script>
  407. </button>
  408. <caption id="caption2" class="search_name" style="left:420px; top:37px; width:99px; height:17px; ">분류명 :</caption>
  409. <input id="input1" ref="/root/send/reqClassfication/pClassification" class="input_search" style="left:495px; top:35px; width:245px; height:19px; ">
  410. <script type="javascript" ev:event="onkeypress">
  411. <![CDATA[
  412. if (event.keycode == 13)
  413. {
  414. input1.value = input1.currentText;
  415. model.removeNodeset("/root/main/list3");
  416. submit("TRZCN00401",false);
  417. grd_resultlist3.refresh();
  418. }
  419. ]]>
  420. </script>
  421. </input>
  422. </case>
  423. </switch>
  424. <button id="btn_cls" class="btn4_letter2" style="left:755px; top:635px; width:56px; height:22px; ">
  425. <caption>닫기</caption>
  426. <close ev:event="DOMActivate"/>
  427. </button>
  428. </xhtml:body>
  429. </xhtml:html>