SPLNP90400_핵의학특이참고치.xrw 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SPLNP00400.xrw
  4. * 설 명 : 핵의학특이참고치
  5. * 설 계 자 : (주)에이씨케이 -
  6. * 작 성 자 : (주)에이씨케이 -
  7. * 작 성 일 : 2006.12.05
  8. * 수정이력 :
  9. * 기 타 :
  10. -->
  11. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  12. <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">
  13. <xhtml:head>
  14. <xhtml:title>참고치 조회</xhtml:title>
  15. <model id="model1">
  16. <instance id="instance1">
  17. <root>
  18. <main>
  19. <tclslist>
  20. <tclscd/>
  21. <tclsnm/>
  22. <reffromdd/>
  23. <reftodd/>
  24. </tclslist>
  25. <searchtest/>
  26. </main>
  27. <send>
  28. <str/>
  29. <tclscd/>
  30. <setflag/>
  31. <codeflag/>
  32. <bcno/>
  33. <histstat/>
  34. <reftodd/>
  35. <reffromdd/>
  36. <fromdd/>
  37. <todd/>
  38. <stclscd/>
  39. <deptflagcd/>
  40. </send>
  41. <init>
  42. <RefFlag>
  43. <![CDATA[
  44. <html>
  45. <head><title>test</title></head>
  46. <body>
  47. 테스트 화면입니다.
  48. </body>
  49. </html>
  50. ]]>
  51. </RefFlag>
  52. </init>
  53. <hidden>
  54. <prcpcd/>
  55. <ref/>
  56. <filedata>
  57. <rslt/>
  58. </filedata>
  59. <loaddata>
  60. <rslt/>
  61. </loaddata>
  62. <histstat/>
  63. <testcd/>
  64. </hidden>
  65. <tmp>
  66. <cond>
  67. <testcd/>
  68. <testnm/>
  69. </cond>
  70. </tmp>
  71. </root>
  72. </instance>
  73. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  74. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  75. <script type="javascript" ev:event="xforms-ready">
  76. <![CDATA[
  77. setinit();
  78. ]]>
  79. </script>
  80. <submission id="TRLZZ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/LB0000"/>
  81. <submission id="TXLNP90401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance"/>
  82. <submission id="TRLNP90401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/filedata"/>
  83. <submission id="TRLNP90402" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/tclslist"/>
  84. <submission id="TRLLF90102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/searchtest"/>
  85. </model>
  86. <script type="javascript">
  87. <![CDATA[
  88. function setinit(){
  89. input3.currentText = "";
  90. input4.currentText = "";
  91. model.setValue("/root/send/todd", "");
  92. model.setValue("/root/send/fromdd", "");
  93. model.setValue("/root/send/reftodd", "");
  94. model.setValue("/root/send/reffromdd", "");
  95. model.setValue("/root/send/deptflagcd",""); //진검외 서술형참고치 보이게 수정 20120308 유민규
  96. //model.setValue("/root/hidden/prcpcd", "NC7326|O13XD06M0"); //test
  97. //model.setValue("/root/hidden/prcpcd", "NC7326"); //test
  98. var prcpcd = model.getValue("/root/hidden/prcpcd");
  99. var cdcnt = prcpcd.indexOf("|");
  100. if(cdcnt == -1){
  101. model.setValue("/root/send/bcno", "");
  102. }else{
  103. model.setValue("/root/send/bcno", prcpcd.substring(cdcnt+1));
  104. prcpcd = prcpcd.substring(0, cdcnt);
  105. }
  106. //alert(cdcnt);
  107. //alert(prcpcd.substring(0,cdcnt));
  108. //alert(prcpcd.substring(cdcnt+1));
  109. //browser1.Navigate("about:blank");
  110. //alert(model.getValue("/root/init/RefFlag"));
  111. //browser1.Document.write(model.getValue("/root/init/RefFlag"));
  112. //browser1.refresh();
  113. model.setValue("/root/send/codeflag","0000|"); //0000:사용자부서코드
  114. submit("TRLZZ00101");
  115. model.setValue("/root/send/deptflagcd", model.getValue("/root/init/LB0000/nm")); //진검외 서술형참고치 보이게 수정 20120308 유민규
  116. if(model.getValue("/root/init/LB0000/nm") != "N" && model.getValue("/root/init/LB0000/nm") != "L"){
  117. button5.visible = false; //저장버튼 숨기기
  118. button3.visible = false; //돋보기 숨기기
  119. checkbox1.visible = false;
  120. datagrid1.colHidden(datagrid1.colRef("reffromdd"))=true; //이력관리 숨기기
  121. datagrid1.colHidden(datagrid1.colRef("reftodd"))=true;
  122. }
  123. submit("TRLNP90402");
  124. //browser1.Navigate("about:blank");
  125. //var prcpcd = model.getValue("/root/hidden/prcpcd");
  126. //20120309
  127. if(prcpcd != ""){
  128. for(i = 1 ; i < datagrid1.rows ; i ++){
  129. var tempcd = datagrid1.valueMatrix(i, 0);
  130. if(tempcd.indexOf(prcpcd) != -1){
  131. datagrid1.row = i;
  132. datagrid1.topRow = i; //20120309 수정
  133. input3.currentText = prcpcd; //20120309 수정
  134. input4.currentText = model.getValue("/root/main/tclslist["+datagrid1.row+"]/tclsnm"); //20120309 수정
  135. fGetRefVal();
  136. return;
  137. }
  138. }
  139. }
  140. }
  141. function fGetRefVal(){
  142. var row = datagrid1.row;
  143. var tclscd = model.getValue("/root/main/tclslist["+row+"]/tclscd");
  144. var fromdd = model.getValue("/root/main/tclslist["+row+"]/fromdd");
  145. var todd = model.getValue("/root/main/tclslist["+row+"]/todd");
  146. model.setValue("/root/send/tclscd", tclscd);
  147. //submit("TRLNP90401");
  148. //alert(getActionURL("TRLNP90401") + "&str=&tclscd=" + tclscd + "&setflag=&");
  149. object1.Navigate(getActionURL("TRLNP90401") + "&str=&tclscd=" + tclscd + "&fromdd=" + fromdd + "&todd=" + todd
  150. + "&setflag=&");
  151. input3.currentText = tclscd; //20120309 유민규
  152. input4.currentText = model.getValue("/root/main/tclslist["+datagrid1.row+"]/tclsnm");
  153. model.setvalue("/root/hidden/ref","");
  154. //browser1.Navigate("about:blank"); //브라우져 초기화
  155. //browser1.Document.write(model.getValue("/root/hidden/filedata/rslt"));
  156. //browser1.refresh();
  157. //model.refresh();
  158. }
  159. function fOnclickFileSearch(){
  160. var row = datagrid1.row;
  161. var lastrow = datagrid1.rows;
  162. if(row > 0 && row < lastrow){
  163. var file = openImageFileDialog(); // image 파일이 너무 크면 submit 시간이 매우 오래(5분이상) 걸리므로 가급적 사이즈를 작게 제한한다.
  164. if (file == "") {
  165. return;
  166. }
  167. model.setvalue("/root/hidden/ref",file);
  168. fChangeImage(file);
  169. }else{
  170. alert("검사코드가 선택되지 않았습니다.");
  171. }
  172. }
  173. function fChangeImage(file){
  174. var fso, f,r;
  175. //var ForReading = 1, ForWriting 2;
  176. fso = new ActiveXObject("Scripting.FileSystemObject");
  177. f = fso.OpenTextFile(file, 1, true);
  178. r = f.ReadAll();
  179. model.setvalue("/root/hidden/loaddata/rslt",r);
  180. object1.Navigate(file);
  181. //model.setValue("/root/send/str" , r);
  182. //browser1.Document.write(model.getValue("/root/hidden/loaddata/rslt"));
  183. model.refresh();
  184. }
  185. function fsetCham(){
  186. model.setValue("/root/send/tclscd", "");
  187. model.setValue("/root/send/str" , "");
  188. var row = datagrid1.row;
  189. var tclscd = model.getValue("/root/main/tclslist["+row+"]/tclscd");
  190. model.setValue("/root/send/tclscd", tclscd);
  191. model.setValue("/root/send/setflag", "I");
  192. model.setValue("/root/send/str" , model.getvalue("/root/hidden/loaddata/rslt"));
  193. var reftodd = model.getValue("/root/main/tclslist["+row+"]/reftodd");
  194. var reffromdd = model.getValue("/root/main/tclslist["+row+"]/reffromdd");
  195. var todd = model.getValue("/root/main/tclslist["+row+"]/todd");
  196. var fromdd = model.getValue("/root/main/tclslist["+row+"]/fromdd");
  197. if(todd != ""){
  198. if(reftodd != todd || reffromdd != fromdd){
  199. model.setValue("/root/send/setflag", "U");
  200. }
  201. }
  202. model.setValue("/root/send/reftodd" , reftodd);
  203. model.setValue("/root/send/reffromdd" , reffromdd);
  204. model.setValue("/root/send/todd" , todd);
  205. model.setValue("/root/send/fromdd" , fromdd);
  206. submit("TXLNP90401");
  207. setinit();
  208. model.setvalue("/root/hidden/loaddata/rslt", "");
  209. }
  210. function fInsRowAdd() {
  211. var userdeptflag = model.getValue("/root/init/LB0000/nm");
  212. if(userdeptflag == "N"){
  213. modal("SPLNP90200","","","","","","");
  214. var testcdlist= model.getValue("/root/tmp/cond/testcd");
  215. var testnmlist = model.getValue("/root/tmp/cond/testnm");
  216. var testcd = testcdlist.split("▦");
  217. var testnm = testnmlist.split("▦");
  218. var testcdcount = testcd.length;
  219. if(testcdcount > 0){
  220. for(i = 0 ; i < testcdcount ; i++){
  221. datagrid1.addRow(false);
  222. var curRow = datagrid1.Row;
  223. model.makeValue("/root/main/tclslist["+(curRow)+"]/tclsnm",testnm[i]);
  224. model.makeValue("/root/main/tclslist["+(curRow)+"]/tclscd",testcd[i] );
  225. model.makeValue("/root/main/tclslist["+(curRow)+"]/reffromdd","19000101");
  226. model.makeValue("/root/main/tclslist["+(curRow)+"]/reftodd","99991231");
  227. }
  228. }
  229. model.refresh();
  230. }else{
  231. ipt_tclscd.visible = true;
  232. btn_recalc.visible = true;
  233. }
  234. }
  235. function fInsRowdel(){
  236. var row = datagrid1.row;
  237. var lastrow = datagrid1.rows;
  238. if(row > 0 && row < lastrow){
  239. var tclscd = model.getValue("/root/main/tclslist["+row+"]/tclscd");
  240. var tclsnm = model.getValue("/root/main/tclslist["+row+"]/tclsnm");
  241. var todd = model.getValue("/root/main/tclslist["+row+"]/todd");
  242. var fromdd = model.getValue("/root/main/tclslist["+row+"]/fromdd");
  243. model.setValue("/root/send/tclscd", tclscd);
  244. model.setValue("/root/send/todd", todd);
  245. model.setValue("/root/send/fromdd", fromdd);
  246. model.setValue("/root/send/setflag", "D");
  247. var retval = window.alert(tclsnm + " 데이터를 정말 삭제합니까 ?", "결과관리", "35" );
  248. if (retval != "6") return; // yes = 6, no = 7
  249. submit("TXLNP90401");
  250. setinit();
  251. }else{
  252. alert("검사코드가 선택되지 않았습니다.");
  253. }
  254. }
  255. function fGetCodeinfo(){
  256. submit("TRLNP90402");
  257. }
  258. function fGetTestCd(Flag) {
  259. if(Flag != "popup") { //다른화면에서 팝업으로 띄울때가 아니라면 검체코드를 삭제 시켜준다. 그래야 다른 검사 조회시 검체코드가 셋팅된다.
  260. model.resetInstanceNode("/root/hidden/spccd");
  261. }
  262. model.setvalue("/root/hidden/testcd", ipt_tclscd.currentText);
  263. if((Flag == "tclscd") || (Flag == "popup")) { //검사코드(or 다른화면에서 팝업으로 띄울때) 검색
  264. model.setValue("/root/send/tclscd", model.getValue("/root/hidden/testcd").toUpperCase());
  265. //model.setValue("/root/send/tclsnm", "");
  266. } else if(Flag == "tclsnm") { //검색명 검색
  267. model.setValue("/root/send/tclscd", "");
  268. //model.setValue("/root/send/tclsnm", model.getValue("/root/hidden/tclsnm"));
  269. }
  270. //alert(model.getValue("/root/send/tclscd"));
  271. submit("TRLLF90102");
  272. var count = getNodesetCount("/root/main/searchtest");
  273. if(count < 2) {
  274. fGetTcls("1");
  275. }else {
  276. if(Flag == "popup") { //팝업으로 띄웠을 경우 동일한 검사를 조회한다.
  277. var row = grd_searchtest.findRow(model.getValue("/root/hidden/testcd").toUpperCase(), 1, 1, true, true);
  278. fGetTcls(row);
  279. } else { //검색된 검사가 많을 경우
  280. grd_searchtest.attribute("visibility") = "visible";
  281. }
  282. }
  283. }
  284. function fKeyEvent(){
  285. if(event.keyCode == "13"){
  286. if(event.target == "ipt_tclscd"){
  287. fGetTestCd("tclscd");
  288. ipt_tclscd.selBegin = 0;
  289. ipt_tclscd.selEnd = ipt_tclscd.currentText.length;
  290. model.setFocus("ipt_tclsnm");
  291. } else if(event.target == "ipt_tclsnm"){
  292. model.setvalue("/root/hidden/tclsnm", ipt_tclsnm.currentText);
  293. fGetTestCd("tclsnm");
  294. ipt_tclsnm.selBegin = 0;
  295. ipt_tclsnm.selEnd = ipt_tclsnm.currentText.length;
  296. }
  297. }
  298. }
  299. function fGetTcls(flag) {
  300. model.setValue("/root/hidden/testcd", "");
  301. datagrid1.addRow(false);
  302. var curRow = datagrid1.Row;
  303. model.makeValue("/root/main/tclslist["+(curRow)+"]/tclsnm",model.getValue("/root/main/searchtest["+ flag +"]/tclsnm"));
  304. model.makeValue("/root/main/tclslist["+(curRow)+"]/tclscd",model.getValue("/root/main/searchtest["+ flag +"]/tclscd") );
  305. model.makeValue("/root/main/tclslist["+(curRow)+"]/reffromdd","19000101");
  306. model.makeValue("/root/main/tclslist["+(curRow)+"]/reftodd","99991231");
  307. grd_searchtest.attribute("visibility") = "hidden";
  308. ipt_tclscd.visible = false;
  309. btn_recalc.visible = false;
  310. model.refresh();
  311. }
  312. ]]>
  313. </script>
  314. </xhtml:head>
  315. <xhtml:body pagewidth="1100" pageheight="780" guideline="1,1194;1,569;1,578;" style="border-color:#000000; margin-left:8; margin-top:8; margin-right:8; margin-bottom:8; ">
  316. <group id="group3" scroll="auto" style="left:0px; top:20px; width:1075px; height:725px; ">
  317. <line id="line1" class="line_1" style="x1:0px; y1:45px; x2:350px; y2:45px; "/>
  318. <datagrid id="datagrid1" nodeset="/root/main/tclslist" class="datagrid2" autoresize="true" caption="검사코드^검사명^시작일자^종료일자" colsep="^" colwidth="80, 115, 76, 79, 100, 100" dataheight="23" defaultrows="1" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheight="32" rowsep="|" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:0px; top:50px; width:350px; height:650px; ">
  319. <col ref="tclscd"/>
  320. <col ref="tclsnm"/>
  321. <col ref="reffromdd" type="inputdate" format="yyyy-mm-dd"/>
  322. <col ref="reftodd" type="inputdate" format="yyyy-mm-dd"/>
  323. <col ref="fromdd" type="inputdate" visibility="hidden" format="yyyy-mm-dd"/>
  324. <col ref="todd" type="inputdate" visibility="hidden" format="yyyy-mm-dd"/>
  325. <script type="javascript" ev:event="onclick">
  326. <![CDATA[
  327. fGetRefVal();
  328. ]]>
  329. </script>
  330. </datagrid>
  331. <caption id="caption2" class="tit_2" style="left:0px; top:5px; width:134px; height:13px; ">검사코드내역</caption>
  332. <line id="line2" class="line_1" style="x1:355px; y1:45px; x2:1070px; y2:45px; "/>
  333. <caption id="caption3" class="tit_2" style="left:355px; top:28px; width:160px; height:13px; ">검사항목별 참고치</caption>
  334. <button id="button3" class="icon_search" style="left:987px; top:53px; width:16px; height:16px; background-image:../../../com/commonweb/images/icon_search.gif; ">
  335. <caption/>
  336. <script type="javascript" ev:event="DOMActivate">
  337. <![CDATA[
  338. fOnclickFileSearch();
  339. ]]>
  340. </script>
  341. </button>
  342. <caption id="caption1" class="cell_1" style="left:355px; top:50px; width:80px; height:23px; ">파일경로</caption>
  343. <input id="input1" ref="/root/hidden/ref" style="left:438px; top:52px; width:542px; height:19px; "/>
  344. <line id="line15" class="line_3" style="x1:355px; y1:73px; x2:1070px; y2:73px; "/>
  345. <button id="button5" class="btn4_letter2" style="left:1015px; top:50px; width:56px; height:22px; ">
  346. <caption>저장</caption>
  347. <script type="javascript" ev:event="onclick">
  348. <![CDATA[
  349. fsetCham();
  350. ]]>
  351. </script>
  352. </button>
  353. <button id="button1" class="btn2_letter3" style="left:296px; top:25px; width:53px; height:19px; ">
  354. <caption>행삭제</caption>
  355. <script type="javascript" ev:event="DOMActivate">
  356. <![CDATA[
  357. fInsRowdel();
  358. ]]>
  359. </script>
  360. </button>
  361. <button id="button4" class="btn2_letter3" style="left:241px; top:25px; width:53px; height:19px; ">
  362. <caption>행추가</caption>
  363. <script type="javascript" ev:event="DOMActivate">
  364. <![CDATA[
  365. fInsRowAdd(datagrid1);
  366. ]]>
  367. </script>
  368. </button>
  369. <object id="object1" clsid="{8856f961-340a-11d0-a96b-00c04fd705a2}" style="left:355px; top:75px; width:715px; height:625px; "/>
  370. <select id="checkbox1" ref="/root/hidden/histstat" overflow="visible" appearance="full" style="left:0px; top:30px; width:70px; height:20px; border-style:none; ">
  371. <choices>
  372. <item>
  373. <label>전체보기</label>
  374. <value>1</value>
  375. </item>
  376. </choices>
  377. <script type="javascript" ev:event="xforms-value-changed">
  378. <![CDATA[
  379. model.setValue("/root/send/histstat", model.getValue("/root/hidden/histstat"));
  380. submit("TRLNP90402");
  381. //model.refresh();
  382. ]]>
  383. </script>
  384. </select>
  385. <input id="input2" ref="/root/send/stclscd" style="left:125px; top:25px; width:70px; height:19px; ">
  386. <script type="javascript" ev:event="onkeypress">
  387. <![CDATA[
  388. if(event.keyCode == "13"){
  389. if(event.target == "input2"){
  390. model.setvalue("/root/send/stclscd",input2.currentText);
  391. model.refresh();
  392. fGetCodeinfo();
  393. }
  394. }
  395. ]]>
  396. </script>
  397. </input>
  398. <button id="button61" class="icon_search" style="left:199px; top:26px; width:16px; height:16px; ">
  399. <caption/>
  400. <script type="javascript" ev:event="DOMActivate">
  401. <![CDATA[
  402. fGetCodeinfo();
  403. ]]>
  404. </script>
  405. </button>
  406. <datagrid id="grd_searchtest" nodeset="/root/main/searchtest" visibility="hidden" caption="중분류^검사코드^검사명" colsep="^" colwidth="46, 85, 218" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:45px; width:355px; height:150px; ">
  407. <col ref="mdlnm"/>
  408. <col ref="tclscd"/>
  409. <col ref="tclsnm"/>
  410. <script type="javascript" ev:event="ondblclick">
  411. <![CDATA[
  412. if(grd_searchtest.isCell(event.target) && grd_searchtest.row >= grd_searchtest.fixedRows ){
  413. fGetTcls(grd_searchtest.row);
  414. }
  415. ]]>
  416. </script>
  417. </datagrid>
  418. <input id="ipt_tclscd" ref="/root/hidden/testcd" class="input_essential" visibility="hidden" imemode="disabled" inputtype="button" _chartype="upper" style="left:225px; top:25px; width:127px; height:19px; ">
  419. <script type="javascript" ev:event="onbuttonclick">
  420. <![CDATA[
  421. fGetTestCd("tclscd");
  422. ]]>
  423. </script>
  424. <script type="javascript" ev:event="onkeypress">
  425. <![CDATA[
  426. fKeyEvent();
  427. ]]>
  428. </script>
  429. </input>
  430. <button id="btn_recalc" class="btn2_letter2" visibility="hidden" style="left:310px; top:195px; width:42px; height:19px; ">
  431. <caption>닫기</caption>
  432. <script type="javascript" ev:event="DOMActivate">
  433. <![CDATA[
  434. grd_searchtest.attribute("visibility") = "hidden";
  435. btn_recalc.visible = false;
  436. ipt_tclscd.visible = false;
  437. model.refresh();
  438. ]]>
  439. </script>
  440. </button>
  441. <caption id="caption4" class="search_name" style="left:498px; top:26px; width:80px; height:17px; ">검사코드</caption>
  442. <input id="input3" disabled="true" appearance="input" style="left:575px; top:25px; width:80px; height:19px; "/>
  443. <caption id="caption5" class="search_name" style="left:657px; top:26px; width:68px; height:17px; ">검사명</caption>
  444. <input id="input4" disabled="true" appearance="input" style="left:725px; top:25px; width:345px; height:19px; "/>
  445. </group>
  446. <group id="group2" style="left:0px; top:0px; width:1000px; height:13px; ">
  447. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">서술형 참고치</caption>
  448. </group>
  449. </xhtml:body>
  450. </xhtml:html>