SPMQP01800_주호소코드조회.xrw 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297
  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. <reqdata/>
  12. <srchflag>A</srchflag>
  13. <wordflag/>
  14. </cond>
  15. <indxlist>
  16. <item>
  17. <depth/>
  18. <indxcd/>
  19. <upindxcd/>
  20. <indxengnm/>
  21. <indxhngnm/>
  22. <path/>
  23. </item>
  24. </indxlist>
  25. <ccinfo>
  26. <info>
  27. <check/>
  28. <termcd/>
  29. <engnm/>
  30. <hngnm/>
  31. <attrcd/>
  32. </info>
  33. </ccinfo>
  34. </main>
  35. <hidden>
  36. </hidden>
  37. <send>
  38. </send>
  39. <init>
  40. </init>
  41. <temp>
  42. <getdata>
  43. <grdfocus/>
  44. <poolsize>1</poolsize>
  45. <pool>
  46. <cd/>
  47. </pool>
  48. </getdata>
  49. </temp>
  50. </root>
  51. </instance>
  52. <script type="javascript" ev:event="xforms-ready">
  53. <![CDATA[
  54. grd_cccdlist.fixedcellcheckbox(0,0) = true;
  55. model.makeValue("/root/send/reqdata/flag", "2");
  56. submit("TRMQP01801");
  57. var condbuttonNode = opener.instance1.selectSingleNode("/root/main/cond/condbutton");
  58. if( condbuttonNode != null ) condbutton = condbuttonNode.text;
  59. ]]>
  60. </script>
  61. <submission id="TRMQP01801" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/indxlist"/>
  62. <submission id="TRMQP01802" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/ccinfo"/>
  63. <submission id="TRMQP01803" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/ccinfo"/>
  64. </model>
  65. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  66. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  67. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  68. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  69. <script type="javascript">
  70. <![CDATA[
  71. var condbutton = ""; //값을 opener에 opener에 parameter로 보낼지, opener의 인스턴스에 직접 반영할지 구분 ( IF/THEN이면 parameter, 그렇지 않으면 instance로)
  72. // 중복 체크를 한 후 OPENER 로 데이터를 전달한다.
  73. function fSetOpenerValue( iRow ) {
  74. var bool = "false";
  75. var iCnt = parseInt(model.getValue("/root/temp/getdata/poolsize"));
  76. var selCd = model.getValue("/root/main/ccinfo/info["+ iRow + "]/termcd");
  77. if(iCnt != 1){
  78. for(var i=1; i<=iCnt; i++) {
  79. if(selCd == model.getValue("/root/temp/getdata/pool/cd[" + i + "]")){
  80. bool = "ture";
  81. return;
  82. }
  83. }
  84. }
  85. if(bool == "false"){
  86. var sRow = model.getValue("/root/temp/getdata/grdfocus");
  87. sRow = parseInt(sRow) + 1;
  88. var selCd = model.getValue("/root/main/ccinfo/info[" + iRow + "]/termcd");
  89. var selHNM = model.getValue("/root/main/ccinfo/info[" + iRow + "]/hngnm");
  90. var selENM = model.getValue("/root/main/ccinfo/info[" + iRow + "]/engnm");
  91. opener.grd_cc.addRow();
  92. opener.model.makeValue("/root/main/ccinfo/cclist[" + sRow + "]/termcd", selCd);
  93. opener.model.makeValue("/root/main/ccinfo/cclist[" + sRow + "]/termhngnm", selHNM);
  94. opener.model.makeValue("/root/main/ccinfo/cclist[" + sRow + "]/termengnm", selENM);
  95. opener.model.makeValue("/root/main/ccinfo/cclist[" + sRow + "]/termflag", "T20");
  96. opener.model.makeValue("/root/main/diaginfo/diaglist[" + sRow + "]/m", "");
  97. //opener.grd_cc.rowStatus(sRow)= 1;
  98. //opener.grd_cc.rebuild();
  99. model.setValue("/root/temp/getdata/grdfocus", sRow);
  100. model.makeValue("/root/temp/getdata/pool/cd[" + iCnt + "]", selCd);
  101. iCnt = parseInt(iCnt)+1;
  102. model.setValue("/root/temp/getdata/poolsize", iCnt);
  103. }
  104. }
  105. function fReqccCD(){
  106. var reqdata = model.getValue("/root/main/cond/reqdata");
  107. if(reqdata.charCodeAt(0) > 255){
  108. model.setValue("/root/main/cond/wordflag", "H");
  109. }else{
  110. model.setValue("/root/main/cond/wordflag", "E");
  111. }
  112. model.removeNodeset("/root/send");
  113. model.makeNode("/root/send/reqdata");
  114. var toUpC = reqdata.toUpperCase();
  115. model.setValue("/root/main/cond/reqdata", toUpC);
  116. model.copyNode("/root/send/reqdata", "/root/main/cond");
  117. model.makeValue("/root/send/reqdata/flag", "2");
  118. submit("TRMQP01803");
  119. }
  120. function fSetOpenerParameter(){
  121. var header = "testitemcd▦testcd▦testnm▦hvalappflag▦lvalappflag▦refhval▦reflval▦unitnm▦refseq▦alertcdflag▦alertrem▦alertprecondyn▦checkyn▦m";
  122. var detail = "";
  123. //var condbuttonNode = opener.instance1.selectSingleNode("/root/main/cond/condbutton");
  124. //var condbutton = "";
  125. //if( condbuttonNode == null ) condbutton = "";
  126. //else condbutton = condbuttonNode.text;
  127. var alertcdflagNode = opener.instance1.selectSingleNode("/root/main/cond/alertcdflag");
  128. var alertcdflag = "";
  129. var alertprecondyn = "";
  130. if( alertcdflagNode == null ) alertcdflag = "";
  131. else alertcdflag = alertcdflagNode.text;
  132. var nodeList = instance1.selectNodes("/root/main/ccinfo/info[check='true']");
  133. //by sonjy 20100723 if조건도 다중선택 가능하게 변경. 단, clinical rule generator의 경우만.
  134. var inpttypecd = "";
  135. if( checkOpener() ) inpttypecd = opener.model.getValue("/root/main/cond/inpttypecd");
  136. if( condbutton == "IF" && nodeList.length > 1 && inpttypecd != "Q" ){
  137. messageBox ( "IF 조건은 2건 이상 입력", "E001" )
  138. return;
  139. }
  140. // CPG 모니터링에서 열 경우 : 2009. 01. 16 :김영학
  141. for( var i=0; i<nodeList.length; i++ ){
  142. var node = nodeList.item(i);
  143. var selCdNode = node.selectSingleNode("termcd");
  144. var selENmNode = node.selectSingleNode("engnm");
  145. if (condbutton == "IF") {
  146. alertprecondyn = "Y";
  147. }else if (condbutton == "THEN") {
  148. alertprecondyn = "N";
  149. }
  150. detail = detail + "▩" + selCdNode.text + "▦" + selCdNode.text + "▦" + selENmNode.text + "▦N▦N▦▦▦-▦▦" + alertcdflag + "▦-▦" + alertprecondyn + "▦Y▦i";
  151. }
  152. if( detail != "" ){
  153. opener.javascript.setParameter( "SPMMD06100_detlinfo", header + detail );
  154. }
  155. window.close();
  156. }
  157. ]]>
  158. </script>
  159. </xhtml:head>
  160. <xhtml:body pagewidth="866" pageheight="600" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  161. <caption id="caption13" class="tit_2" style="left:15px; top:5px; width:118px; height:14px; ">주호소 코드 조회</caption>
  162. <treeview id="trv_indxlist" ref="/root/main/indxlist/item" expanddepth="2" itemsettype="depth" style="left:0px; top:25px; width:380px; height:545px; ">
  163. <itemset nodeset="/root/main/indxlist/item">
  164. <label ref="indxhngnm"/>
  165. <value ref="indxcd"/>
  166. <depth ref="depth"/>
  167. </itemset>
  168. <script type="javascript" ev:event="xforms-select">
  169. <![CDATA[
  170. var item = trv_indxlist.item(trv_indxlist.selectedIndex);
  171. /*if(item.depth == 0){
  172. //상위index만을 클릭한 경우 return한다.
  173. return;
  174. } by sonjy 20100723 막음
  175. */
  176. var indxcd = trv_indxlist.value;
  177. model.removeNodeset("/root/send");
  178. model.makeValue("/root/send/reqdata/flag", "2");
  179. model.makeValue("/root/send/reqdata/srchindxcd", indxcd);
  180. submit("TRMQP01802");
  181. ]]>
  182. </script>
  183. </treeview>
  184. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:385px; top:26px; width:465px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
  185. <line id="line4" class="line_1" style="x1:0px; y1:20px; x2:380; y2:20px; "/>
  186. <group id="grp_btn" style="left:0px; top:570px; width:850px; height:27px; ">
  187. <button id="button10" class="btn4_letter2" style="left:733px; top:3px; width:56px; height:22px; ">
  188. <caption>선택</caption>
  189. <script type="javascript" ev:event="DOMActivate">
  190. <![CDATA[
  191. if( condbutton != "" ){
  192. fSetOpenerParameter();
  193. return;
  194. }
  195. var rowCnt = grd_cccdlist.rows;
  196. for(var i=1; i<rowCnt; i++){
  197. var bool = grd_cccdlist.valueMatrix(i,0);
  198. if(bool == "true"){
  199. fSetOpenerValue( i );
  200. }
  201. }
  202. ]]>
  203. </script>
  204. </button>
  205. <button id="button9" class="btn4_letter2" style="left:792px; top:3px; width:56px; height:22px; ">
  206. <caption>닫기</caption>
  207. <script type="javascript" ev:event="DOMActivate">
  208. <![CDATA[
  209. window.close();
  210. ]]>
  211. </script>
  212. </button>
  213. </group>
  214. <input id="input1" ref="/root/main/cond/reqdata" class="input_search" style="left:529px; top:34px; width:229px; height:19px; ">
  215. <script type="javascript" ev:event="onkeypress">
  216. <![CDATA[
  217. inputEnterKey("btn_req", "DOMActivate");
  218. ]]>
  219. </script>
  220. </input>
  221. <button id="btn_req" class="btn1_letter2" style="left:784px; top:33px; width:56px; height:22px; ">
  222. <caption>조회</caption>
  223. <script type="javascript" ev:event="DOMActivate">
  224. <![CDATA[
  225. var srchStr = model.getValue("/root/main/cond/reqdata");
  226. if( isNull(srchStr) ){
  227. var msg = messageBox("검색어를 ", "C001");
  228. return;
  229. }else if( getStringLength(srchStr) < 3 ){
  230. var msg = messageBox("2글자 이상 ", "C001");
  231. return;
  232. }else{
  233. fReqccCD();
  234. }
  235. ]]>
  236. </script>
  237. </button>
  238. <line id="line1" style="x1:776px; y1:33px; x2:776px; y2:55px; border-color:#ffe4bb; border-left-style:solid; "/>
  239. <select1 id="radio1" ref="/root/main/cond/srchflag" appearance="full" cols="3" overflow="visible" style="left:395px; top:35px; width:130px; height:20px; border-style:none; ">
  240. <choices>
  241. <item>
  242. <label>전체</label>
  243. <value>A</value>
  244. </item>
  245. <item>
  246. <label>코드</label>
  247. <value>C</value>
  248. </item>
  249. <item>
  250. <label>단어</label>
  251. <value>W</value>
  252. </item>
  253. </choices>
  254. </select1>
  255. <datagrid id="grd_cccdlist" nodeset="/root/main/ccinfo/info" caption="^주호소코드^영문명^한글명^caption1" colsep="^" colwidth="27, 117, 192, 199, 29" ellipsis="true" explorerbar="sort" mergecellsfixedrows="bycolrec" rowsep="|" tooltip="true" style="left:385px; top:65px; width:464px; height:505px; background-color:#ffffff; border-color:#B0B0B0; ">
  256. <col checkvalue="true,false" ref="check" type="checkbox"/>
  257. <col ref="termcd"/>
  258. <col ref="engnm"/>
  259. <col ref="hngnm"/>
  260. <col ref="icdcd" visibility="hidden"/>
  261. <script type="javascript" ev:event="ondblclick">
  262. <![CDATA[
  263. iRow = grd_cccdlist.row;
  264. model.setValue("/root/main/ccinfo/info[" + iRow + "]/check", "true");
  265. grd_cccdlist.refresh();
  266. if( condbutton != "" ){
  267. fSetOpenerParameter();
  268. return;
  269. }
  270. if(iRow < 1){
  271. return;
  272. }
  273. fSetOpenerValue(iRow);
  274. window.close();
  275. ]]>
  276. </script>
  277. </datagrid>
  278. <line id="line2" class="line_1" style="x1:385; y1:20px; x2:850; y2:20px; "/>
  279. </xhtml:body>
  280. </xhtml:html>