SPMMO00800_처방진단검색.xrw 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613
  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. <diaginfo>
  11. <diagcdlist>
  12. <status/>
  13. <dispdiagcd/>
  14. <diagengnm/>
  15. <diaghngnm/>
  16. <orgdiagnm/>
  17. <spclinfo/>
  18. <orgdiagcd/>
  19. <tootfact/>
  20. <icd10cd/>
  21. <diagcd/>
  22. </diagcdlist>
  23. </diaginfo>
  24. </main>
  25. <send>
  26. <cond1/>
  27. <cond2/>
  28. <cond3/>
  29. <cond4/>
  30. <cond5/>
  31. <synmflag>Y</synmflag>
  32. <scrnflag/>
  33. <diagsrchmetd/>
  34. </send>
  35. <init>
  36. <diagsrchcond1/>
  37. <diagsrchnm/>
  38. <srchmode/>
  39. </init>
  40. </root>
  41. </instance>
  42. <script type="javascript">
  43. <![CDATA[
  44. function getDiagNodeListCSV(nodeList) {
  45. if( nodeList.length == 0 ){
  46. return;
  47. }
  48. var sColSep = "▦";
  49. var sRowSep = "▩";
  50. var rCSV = "";
  51. var childNodeList = nodeList.item(0).childNodes;
  52. var childNodeCnt = childNodeList.length;
  53. if( childNodeCnt == 0 ){
  54. return;
  55. }
  56. var i, j;
  57. for( i = 0; i < childNodeCnt - 1; i++) {
  58. rCSV += childNodeList.item(i).nodeName + sColSep;
  59. }
  60. rCSV += childNodeList.item(i).nodeName + sRowSep;
  61. var node;
  62. var cnt = 1;
  63. var selCnt = 0;
  64. while( node = nodeList.nextNode() ) {
  65. if (model.getValue ( "/root/main/diaginfo/diagcdlist[" + cnt++ + "]/status" ) == "I" ) {
  66. childNodeList = node.childNodes;
  67. for( i = 0; i < childNodeCnt - 1; i++) {
  68. rCSV += childNodeList.item(i).text + sColSep;
  69. }
  70. rCSV += childNodeList.item(i).text + sRowSep;
  71. selCnt++;
  72. }
  73. }
  74. if ( selCnt == 0 ) {
  75. return "N"
  76. } else {
  77. return rCSV;
  78. }
  79. }
  80. /**
  81. * 진단검색
  82. * @param srchflag : 검색구분(1:코드, 2:명)
  83. * dataflag : 명칭검색구분(1:코드, 2:단어, 3:문장, 4:첫단어)
  84. * langflag : 한영구분(H: 한글, E:영문)
  85. * stnddd : 기준일자(외래일때는 진료일자, 입원일때는 처방일자)
  86. * srchdata : 검색내용
  87. * scrnflag : 화면구분(처방화면일 경우, 진단코드 검색시, 확장코드가 .000.인 것만 조회처리, *를 붙이면 전체로 처리
  88. * ageflag : 나이구분
  89. * sexflag : 성별구분
  90. */
  91. function fReqGetDiagComnInfo(srchflag, dataflag, langflag, stnddd, srchdata, scrnflag, ageflag, sexflag){
  92. model.removeNodeset("/root/send");
  93. model.makeValue("/root/send/cond1", srchflag);
  94. model.makeValue("/root/send/cond2", dataflag);
  95. model.makeValue("/root/send/cond3", langflag);
  96. model.makeValue("/root/send/cond4", stnddd);
  97. model.makeValue("/root/send/cond5", srchdata);
  98. model.makeValue("/root/send/scrnflag", scrnflag);
  99. model.makeValue("/root/send/ageflag" , ageflag);
  100. model.makeValue("/root/send/sexflag" , sexflag);
  101. if(submit("TRMMO00801")){
  102. var srchinfo = model.getValue("root/send/diagsrchmetd");
  103. var srcNodeList = model.instances(0).selectNodes("/root/main/diaginfo/diagcdlist");
  104. if(srcNodeList.length == 0){
  105. if (srchinfo == "perdept"){
  106. messageBox ( "개인셋, 과셋에서 검색된 진단이 없습니다. 전체 선택 후 진행", "I008" );
  107. return;
  108. }else {
  109. opener.javascript.setParameter( "SPMMO00800_rtn", "" );
  110. opener.javascript.setParameter( "SPMMO00800_rtn_useyn", "N");
  111. messageBox ( "검색된 진단이", "I004" );
  112. return;
  113. }
  114. }else if(srcNodeList.length == 1) {
  115. model.setValue ( "/root/main/diaginfo/diagcdlist/status", "I" );
  116. var rtn1 = getDiagNodeListCSV ( model.instances(0).selectNodes( "/root/main/diaginfo/diagcdlist" ));
  117. opener.javascript.setParameter( "SPMMO00800_rtn", rtn1 );
  118. opener.javascript.setParameter( "SPMMO00800_rtn_useyn", "Y");
  119. window.close();
  120. }
  121. //grd_diaghist.autoResize = true ;
  122. grd_diaghist.refresh();
  123. }
  124. }
  125. /**
  126. * @desc : 진단 검색
  127. * @param :
  128. * @return :
  129. * @authur : HIT 진료
  130. */
  131. function fGetDiagSrch() {
  132. //초기화 작업
  133. model.removeNodeset ( "/root/main/diaginfo/diagcdlist" );
  134. opener.javascript.setParameter( "SPMMO00800_rtn", "" );
  135. opener.javascript.setParameter( "SPMMO00800_rtn_useyn", "N");
  136. var cond1 = opener.javascript.getParameter ( "SPMMO00800_cond1" ); //검색구분(1:코드, 2:명)
  137. var cond2 = opener.javascript.getParameter ( "SPMMO00800_cond2" ); //명칭검색구분(1:코드, 2:단어, 3:문장, 4:첫단어)
  138. var cond3 = opener.javascript.getParameter ( "SPMMO00800_cond3" ); //한영구분(H: 한글, E:영문)
  139. var cond4 = opener.javascript.getParameter ( "SPMMO00800_cond4" ); //기준일자: 외래일때는 진료일자, 입원일때는 처방일자
  140. var cond5 = opener.javascript.getParameter ( "SPMMO00800_cond5" ); //검색내용
  141. var srchmodecond = opener.javascript.getParameter ( "SPMMO00800_srchmode" ); //검색위치
  142. model.setValue("/root/init/diagsrchnm", cond5);
  143. if (cond5 == "") {
  144. alert("검색어가 없습니다. 검색어 입력 후 진행하세요.");
  145. return ;
  146. }
  147. if(cond1 != "1"){
  148. if(cond3 == "H"){ //한글인 경우
  149. cond1 = 2;
  150. }else if(cond3 == "E"){ //영문인 경우
  151. if(isNumber(cond5.charAt(1)) == true){ //두번째 자리가 숫자는 영문코드
  152. cond1 = 1;
  153. }else{ //두번째 자리가 숫자가 아닌 경우, 영문단어
  154. cond1 = 2;
  155. }
  156. }
  157. }
  158. if (srchmodecond == "C") {
  159. cond2 = model.getValue("/root/init/diagsrchcond1");
  160. }
  161. if ( cond1 == "1" ) {
  162. //grd_diaghist.colWidth ( 2 ) = 390;
  163. //grd_diaghist.colWidth ( 3 ) = 390;
  164. //grd_diaghist.colWidth ( 4 ) = 0;
  165. caption3.disabled = true ;
  166. radio1.disabled = true;
  167. } else {
  168. caption3.disabled = false ;
  169. radio1.disabled = false;
  170. }
  171. //처방화면에 진단검색을 실행한 경우, scrnflag값을 설정해 준다.
  172. //처방화면에서 진단코드 검색을 실행한 경우, 확장코드가 .000.인 것만 조회하기 위해서 처리함
  173. //2008.07.11 오지훈
  174. //단어검색의 경우, contains를 활용하기 위해 %를 검색단어 사이에 추가해야함
  175. //2008.07.28 오지훈
  176. if(opener.javascript.getScreenID() == "SMMMO00100"){
  177. if(cond1 == 1){ //진단코드로 조회시에만 처리함
  178. var astflag = cond5.search(/[*]/);
  179. if(astflag < 0){ //*가 없는 경우는 0보다 작은 값 .000.인 것만 조회
  180. var scrnflag = "Y";
  181. }else{ //*가 있는 경우, 처방화면이지만 .000.인 것만을 조회하지 않는다.
  182. cond5 = cond5.replace(/[*]/g, ""); //*를 제거
  183. var scrnflag = "N";
  184. }
  185. }
  186. }
  187. if(cond2 == 2){ //단어검색인 경우
  188. var word = (cond5.getTrimLeft()).getTrimRight(); //좌,우측의 공백을 제거
  189. word = word.split(" ");
  190. if(word.length > 1){
  191. var fst = word[0].concat("% ");
  192. var sec = word[1].concat("%");
  193. cond5 = fst.concat(sec);
  194. }else{
  195. cond5 = word[0].concat("%");
  196. }
  197. }
  198. model.setValue("/root/init/diagsrchcond1", cond2);
  199. model.setValue("/root/send/cond1", cond1 );
  200. model.setValue("/root/send/cond2", cond2 );
  201. model.setValue("/root/send/cond3", cond3 );
  202. model.setValue("/root/send/cond4", cond4 );
  203. model.setValue("/root/send/cond5", cond5 );
  204. model.setValue("/root/send/scrnflag", scrnflag);
  205. if ( srchmodecond == "P") { // Parent인 opener window에서 콜할때, Child인 current window에서 콜할때...
  206. model.setValue("/root/send/diagsrchmetd", "perdept");
  207. }
  208. if ( astflag >= 0) {
  209. model.setValue("/root/send/diagsrchmetd", "diag");
  210. }
  211. /*===============================================================================
  212. * 진단검색시 조건 추가 (나이/성별)
  213. * by sonjy 2008-07-21
  214. ===============================================================================*/
  215. var vAge = getPatientInfo("age") ;
  216. if( !isNull(vAge) ){
  217. model.makeValue("/root/send/sexflag", getArrayData (vAge, 0, 0, "^", "/" ) );
  218. model.makeValue("/root/send/ageflag", getArrayData (vAge, 0, 1, "^", "/" ) );
  219. }
  220. var perdept = model.getValue("/root/send/diagsrchmetd");
  221. if(submit("TRMMO00801")){
  222. var srchinfo = model.getValue("root/send/diagsrchmetd");
  223. var srcNodeList = model.instances(0).selectNodes("/root/main/diaginfo/diagcdlist");
  224. if(srcNodeList.length == 0){
  225. if (srchinfo == "perdept"){
  226. //messageBox ( "개인셋, 과셋에서 검색된 진단이 없습니다. 전체마스터에서 조회합니다.", "I" );
  227. return "X";
  228. }else {
  229. opener.javascript.setParameter( "SPMMO00800_rtn", "" );
  230. opener.javascript.setParameter( "SPMMO00800_rtn_useyn", "N");
  231. messageBox ( "검색된 진단이", "I004" );
  232. return;
  233. }
  234. }else if(srcNodeList.length == 1) {
  235. model.setValue ( "/root/main/diaginfo/diagcdlist/status", "I" );
  236. var rtn1 = getDiagNodeListCSV ( model.instances(0).selectNodes( "/root/main/diaginfo/diagcdlist" ));
  237. opener.javascript.setParameter( "SPMMO00800_rtn", rtn1 );
  238. opener.javascript.setParameter( "SPMMO00800_rtn_useyn", "Y");
  239. window.close();
  240. }
  241. //grd_diaghist.autoResize = true ;
  242. grd_diaghist.refresh();
  243. }
  244. }
  245. /**
  246. * @desc : 진단 검색을 위한 체크 버튼 클릭 시 조회 패턴
  247. * @param :
  248. * @return : void
  249. * @authur : HIT 진료
  250. */
  251. function fChngSrchMetd() {
  252. model.setValue("root/init/srchmode", "C"); // 검색 위치 Parent, Child
  253. var diagsrchcond1 = model.getValue("/root/init/diagsrchcond1"); // 검색방법
  254. var cond5 = model.getValue("/root/init/diagsrchnm"); // 검색내용 current window
  255. var cond3 = fIsHangul(cond5); //한글, 영문구분
  256. if ( isNull(cond5)) {
  257. messageBox ( "검색어를", "C001" );
  258. return;
  259. } else if ( cond3 == "E" ){ //영문,숫자일때는 3글자 넣어야 검색가능
  260. if ( cond5.length < 2 ){
  261. messageBox ( "2글자 이상", "C001" );
  262. return;
  263. }
  264. }
  265. var cond4 = getCurrentDate(); //기준일자
  266. if ( diagsrchcond1 != 1 ) {
  267. if(cond3 == "H"){ //한글인 경우
  268. cond1 = 2;
  269. }else if(cond3 == "E"){ //영문인 경우
  270. if(isNumber(cond5.charAt(1)) == true){ //두번째 자리가 숫자는 영문코드
  271. cond1 = 1;
  272. }else{ //두번째 자리가 숫자가 아닌 경우, 영문단어
  273. cond1 = 2;
  274. }
  275. }
  276. }
  277. if(opener.javascript.getScreenID() == "SMMMO00100"){
  278. if(diagsrchcond1 == 1){ //진단코드로 조회시에만 처리함
  279. var astflag = cond5.search(/[*]/);
  280. if(astflag < 0){ //*가 없는 경우는 0보다 작은 값 .000.인 것만 조회
  281. var scrnflag = "Y";
  282. }else{ //*가 있는 경우, 처방화면이지만 .000.인 것만을 조회하지 않는다.
  283. cond5 = cond5.replace(/[*]/g, ""); //*를 제거
  284. var scrnflag = "N";
  285. }
  286. }
  287. }
  288. if(diagsrchcond1 == 2){ //단어검색인 경우
  289. var word = (cond5.getTrimLeft()).getTrimRight(); //좌,우측의 공백을 제거
  290. word = word.split(" ");
  291. if(word.length > 1){
  292. var fst = word[0].concat("% ");
  293. var sec = word[1].concat("%");
  294. cond5 = fst.concat(sec);
  295. }else{
  296. cond5 = word[0].concat("%");
  297. }
  298. }
  299. model.setValue("/root/send/cond2", model.getValue("/root/init/diagsrchcond1"));
  300. model.setValue("/root/send/cond3", cond3);
  301. model.setValue("/root/send/cond5", cond5);
  302. model.setValue("/root/send/scrnflag", scrnflag);
  303. var diagsrchmetd = model.getValue("/root/send/diagsrchmetd");
  304. if(submit("TRMMO00801")){
  305. var srchinfo = model.getValue("root/send/diagsrchmetd");
  306. var srcNodeList = model.instances(0).selectNodes("/root/main/diaginfo/diagcdlist");
  307. if(srcNodeList.length == 0){
  308. if (srchinfo == "perdept"){
  309. messageBox ( "개인셋, 과셋에서 검색된 진단이 없습니다. 전체 선택 후 진행", "I008" );
  310. return;
  311. }else {
  312. opener.javascript.setParameter( "SPMMO00800_rtn", "" );
  313. opener.javascript.setParameter( "SPMMO00800_rtn_useyn", "N");
  314. messageBox ( "검색된 진단이", "I004" );
  315. return;
  316. }
  317. }else if(srcNodeList.length == 1) {
  318. model.setValue ( "/root/main/diaginfo/diagcdlist/status", "I" );
  319. var rtn1 = getDiagNodeListCSV ( model.instances(0).selectNodes( "/root/main/diaginfo/diagcdlist" ));
  320. opener.javascript.setParameter( "SPMMO00800_rtn", rtn1 );
  321. opener.javascript.setParameter( "SPMMO00800_rtn_useyn", "Y");
  322. window.close();
  323. }
  324. //grd_diaghist.autoResize = true ;
  325. model.refresh();
  326. }
  327. }
  328. ]]>
  329. </script>
  330. <submission id="TRMMO00801" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/diaginfo"/>
  331. <script type="javascript" ev:event="xforms-ready">
  332. <![CDATA[
  333. if ( fGetDiagSrch() == "X" ) {
  334. model.setValue ( "/root/send/diagsrchmetd" , "diag" );
  335. if ( model.getValue ( "/root/init/diagsrchcond1") != "1" ) {
  336. //20090227 마정민 수정 박하나 선생님 요청. 자동으로 전체검색으로 넘어갔을 경우에도 단어검색으로 되게 수정
  337. //model.setValue ( "/root/init/diagsrchcond1" , "4" );
  338. }
  339. fChngSrchMetd();
  340. }
  341. /*
  342. var srcNodeList = model.instances(0).selectNodes("/root/main/diaginfo/diagcdlist");
  343. if ( srcNodeList.length == 1 ) {
  344. model.setValue ( "/root/main/diaginfo/diagcdlist/status", "I" );
  345. var rtn1 = getDiagNodeListCSV ( model.instances(0).selectNodes( "/root/main/diaginfo/diagcdlist" ));
  346. opener.javascript.setParameter( "SPMMO00800_rtn", rtn1 );
  347. opener.javascript.setParameter( "SPMMO00800_rtn_useyn", "Y");
  348. window.close();
  349. } else if ( srcNodeList.length == 0 ) {
  350. opener.javascript.setParameter( "SPMMO00800_rtn", "" );
  351. opener.javascript.setParameter( "SPMMO00800_rtn_useyn", "N");
  352. messageBox ( "검색된 진단이", "I004" );
  353. if ( opener.javascript.getParameter ( "SPMMO00800_cond1" ) == "1" ) {
  354. window.close();
  355. }
  356. }
  357. grd_diaghist.autoResize = true ;
  358. */
  359. ]]>
  360. </script>
  361. <script type="javascript" ev:event="xforms-model-construct-done">
  362. <![CDATA[
  363. ]]>
  364. </script>
  365. </model>
  366. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  367. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  368. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  369. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  370. <script type="javascript" src="../../../emr/prcpmngtweb/js/MMO001.js"/>
  371. <script type="javascript" src="../../../emr/prcpmngtweb/js/SMMMO00100.js"/>
  372. </xhtml:head>
  373. <xhtml:body pagewidth="810" pageheight="330" style="word-wrap:word; ">
  374. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:4px; top:6px; width:801px; height:33px; background-color:#fffbf2; border-color:#ffd799; "/>
  375. <datagrid id="grd_diaghist" nodeset="/root/main/diaginfo/diagcdlist" autoresize="true" caption="^진단코드^영문명^한글명^유사/동의어^특례^orgdiagcd^tootfact^icd10cd^diagcd" colsep="^" colwidth="30, 83, 313, 297, 0, 55, 0, 0, 0, 0" explorerbar="sortshow" style="left:5px; top:49px; width:800px; height:249px; ">
  376. <col checkvalue="I,N" ref="status" type="checkbox"/>
  377. <col ref="dispdiagcd" style="text-align:left; "/>
  378. <col ref="diagengnm"/>
  379. <col ref="diaghngnm"/>
  380. <col ref="orgdiagnm"/>
  381. <col autonext="spclinfo" ref="spclinfo"/>
  382. <col ref="orgdiagcd" visibility="hidden"/>
  383. <col ref="tootfact" visibility="hidden"/>
  384. <col ref="icd10cd" visibility="hidden"/>
  385. <col ref="diagcd" visibility="hidden"/>
  386. <script type="javascript" ev:event="ondblclick">
  387. <![CDATA[
  388. if(isDataCell()){
  389. model.setValue ( "/root/main/diaginfo/diagcdlist[" + grd_diaghist.row + "]/status", "I" );
  390. var rtn1 = getDiagNodeListCSV ( model.instances(0).selectNodes( "/root/main/diaginfo/diagcdlist" ));
  391. opener.javascript.setParameter( "SPMMO00800_rtn", rtn1 );
  392. opener.javascript.setParameter("SPMMO00800_rtn_useyn", "Y");
  393. window.close();
  394. }
  395. ]]>
  396. </script>
  397. <script type="javascript" ev:event="onclick">
  398. <![CDATA[
  399. grd_diaghist.gridToInstance();
  400. if(isDataCell()){
  401. if ( grd_diaghist.col != 0 ) {
  402. var status = model.getValue ( "/root/main/diaginfo/diagcdlist["+ grd_diaghist.row +"]/status" ) ;
  403. if ( status == "N" || isNull ( status ) ) {
  404. model.setValue ( "/root/main/diaginfo/diagcdlist["+ grd_diaghist.row +"]/status", "I" );
  405. } else {
  406. model.setValue ( "/root/main/diaginfo/diagcdlist["+ grd_diaghist.row +"]/status", "N" );
  407. }
  408. }
  409. model.refresh();
  410. }
  411. ]]>
  412. </script>
  413. </datagrid>
  414. <line id="line4" class="line_1" style="x1:5px; y1:44px; x2:805px; y2:44px; "/>
  415. <button id="button1" class="btn4_letter2" style="left:750px; top:304px; width:56px; height:22px; ">
  416. <caption>취소</caption>
  417. <script type="javascript" ev:event="DOMActivate">
  418. <![CDATA[
  419. opener.javascript.setParameter( "SPMMO00800_rtn", "" );
  420. opener.javascript.setParameter( "SPMMO00800_rtn_useyn", "N");
  421. window.close();
  422. ]]>
  423. </script>
  424. </button>
  425. <button id="btn_copy" class="btn4_letter2" style="left:692px; top:304px; width:56px; height:22px; ">
  426. <caption>선택</caption>
  427. <script type="javascript" ev:event="DOMActivate">
  428. <![CDATA[
  429. var rtn1 = getDiagNodeListCSV ( model.instances(0).selectNodes( "/root/main/diaginfo/diagcdlist" ));
  430. if ( rtn1 == "N" ) {
  431. messageBox ( "선택된 진단이", "I004" );
  432. } else {
  433. opener.javascript.setParameter( "SPMMO00800_rtn", rtn1 );
  434. opener.javascript.setParameter( "SPMMO00800_rtn_useyn", "Y");
  435. window.close();
  436. }
  437. ]]>
  438. </script>
  439. </button>
  440. <select1 id="radio1" ref="/root/init/diagsrchcond1" appearance="full" cellspacing="10" cols="4" overflow="visible" style="left:96px; top:15px; width:245px; height:20px; border-style:none; ">
  441. <choices>
  442. <item>
  443. <label>첫단어검색</label>
  444. <value>4</value>
  445. </item>
  446. <item>
  447. <label>단어검색</label>
  448. <value>2</value>
  449. </item>
  450. <item>
  451. <label>문장검색</label>
  452. <value>3</value>
  453. </item>
  454. </choices>
  455. <script type="javascript" ev:event="xforms-value-changed">
  456. <![CDATA[
  457. fChngSrchMetd();
  458. ]]>
  459. </script>
  460. </select1>
  461. <bool id="bool1" visibility="hidden" checkvalue="Y,N" ref="/root/send/synmflag" style="left:426px; top:15px; width:31px; height:15px; ">
  462. <script type="javascript" ev:event="xforms-value-changed">
  463. <![CDATA[
  464. model.setValue("/root/send/cond2", model.getValue ( "/root/init/diagsrchcond1" ));
  465. if(submit("TRMMO00801")){
  466. var srchinfo = model.getValue("root/send/diagsrchmetd");
  467. var srcNodeList = model.instances(0).selectNodes("/root/main/diaginfo/diagcdlist");
  468. if(srcNodeList.length == 0){
  469. if (srchinfo == "perdept"){
  470. messageBox ( "개인셋, 과셋에서 검색된 진단이 없습니다. 전체 선택 후 진행", "I008" );
  471. return;
  472. }else {
  473. opener.javascript.setParameter( "SPMMO00800_rtn", "" );
  474. opener.javascript.setParameter( "SPMMO00800_rtn_useyn", "N");
  475. messageBox ( "검색된 진단이", "I004" );
  476. return;
  477. }
  478. }else if(srcNodeList.length == 1) {
  479. model.setValue ( "/root/main/diaginfo/diagcdlist/status", "I" );
  480. var rtn1 = getDiagNodeListCSV ( model.instances(0).selectNodes( "/root/main/diaginfo/diagcdlist" ));
  481. opener.javascript.setParameter( "SPMMO00800_rtn", rtn1 );
  482. opener.javascript.setParameter( "SPMMO00800_rtn_useyn", "Y");
  483. window.close();
  484. }
  485. grd_diaghist.autoResize = true ;
  486. grd_diaghist.refresh();
  487. }
  488. ]]>
  489. </script>
  490. </bool>
  491. <caption id="caption1" visibility="hidden" style="left:452px; top:15px; width:74px; height:15px; ">동의어검색</caption>
  492. <caption id="caption3" class="search_name" style="left:11px; top:14px; width:79px; height:17px; vertical-align:middle; ">검색방법 :</caption>
  493. <caption id="caption4" class="search_name" style="left:531px; top:14px; width:86px; height:17px; ">검색어 :</caption>
  494. <input id="ipt_search" ref="/root/init/diagsrchnm" class="input_search" style="left:605px; top:14px; width:120px; height:19px; ">
  495. <script type="javascript" ev:event="onkeypress">
  496. <![CDATA[
  497. inputEnterKey("button3", "DOMActivate");
  498. ]]>
  499. </script>
  500. </input>
  501. <button id="button3" class="btn1_letter2" style="left:745px; top:12px; width:56px; height:22px; ">
  502. <caption>조회</caption>
  503. <script type="javascript" ev:event="DOMActivate">
  504. <![CDATA[
  505. var cond2 = model.getValue("/root/init/diagsrchcond1"); //검색방법
  506. var cond4 = getCurrentDate(); //기준일자
  507. var cond5 = model.getValue("/root/init/diagsrchnm"); //검색어
  508. var cond3 = fIsHangul(cond5); //한글, 영문구분
  509. if ( isNull(cond5)) {
  510. messageBox ( "검색어를", "C001" );
  511. return;
  512. } else if ( cond3 == "E" ){ //영문,숫자일때는 3글자 넣어야 검색가능
  513. if ( cond5.length < 2 ){
  514. messageBox ( "2글자 이상", "C001" );
  515. return;
  516. }
  517. }
  518. if ( cond2 != 1 ) {
  519. if(cond3 == "H"){ //한글인 경우
  520. cond1 = 2;
  521. cond2 = 4;
  522. }else if(cond3 == "E"){ //영문인 경우
  523. if(isNumber(cond5.charAt(1)) == true){ //두번째 자리가 숫자는 영문코드
  524. cond1 = 1;
  525. }else{ //두번째 자리가 숫자가 아닌 경우, 영문단어
  526. cond1 = 2;
  527. cond2 = 4;
  528. }
  529. }
  530. } else {
  531. cond1 = 1;
  532. }
  533. opener.javascript.setParameter ( "SPMMO00800_cond1", cond1);
  534. opener.javascript.setParameter ( "SPMMO00800_cond2", cond2);
  535. opener.javascript.setParameter ( "SPMMO00800_cond3", cond3 );
  536. opener.javascript.setParameter ( "SPMMO00800_cond4", cond4);
  537. opener.javascript.setParameter ( "SPMMO00800_cond5", cond5 );
  538. opener.javascript.setParameter ( "SPMMO00800_srchmode", "C" );
  539. fGetDiagSrch();
  540. ]]>
  541. </script>
  542. </button>
  543. <line id="line6" style="x1:733px; y1:12px; x2:733px; y2:34px; border-color:#ffe4bb; border-left-style:solid; "/>
  544. <bool id="bool2" visibility="visible" checkvalue="diag,perdept" ref="/root/send/diagsrchmetd" style="left:340px; top:16px; width:31px; height:15px; ">
  545. <script type="javascript" ev:event="xforms-value-changed">
  546. <![CDATA[
  547. fChngSrchMetd();
  548. ]]>
  549. </script>
  550. </bool>
  551. <caption id="caption5" visibility="visible" style="left:366px; top:16px; width:30px; height:15px; ">전체</caption>
  552. </xhtml:body>
  553. </xhtml:html>