SMLBT10800_교차시험완료.xrw 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SMLBT10800_교차시험완료.xrw
  4. * 설 명 : 교차시험완료
  5. * 설 계 자 : (주)에이씨케이 - 윤재한
  6. * 작 성 자 : (주)에이씨케이 -
  7. * 작 성 일 : 2007.09. 28
  8. * 수정이력 : 박정은 2008-02-11
  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. <getwaitpat>
  20. <pid/>
  21. <patnm/>
  22. <blodnm/>
  23. <btype/>
  24. <i/>
  25. <prcpcnt/>
  26. <abrnblodyn/>
  27. <blodcomcd/>
  28. <tnsreqacptno/>
  29. <coombsyn/>
  30. <spclblodyn/>
  31. <prcpgenrflag/>
  32. <hopedt/>
  33. <blodbarcd/>
  34. </getwaitpat>
  35. <getwaitblod>
  36. <no/>
  37. <blodno/>
  38. <blodnm/>
  39. <btype/>
  40. <i/>
  41. <testpsn/>
  42. <tnsreqseq/>
  43. <blodbarcd/>
  44. <blodcomcd/>
  45. <pid/>
  46. <patnm/>
  47. </getwaitblod>
  48. <getreteblod>
  49. <no/>
  50. <blodno/>
  51. <blodnm/>
  52. <btype/>
  53. <i/>
  54. <cmrslt/>
  55. <pid/>
  56. <patnm/>
  57. </getreteblod>
  58. <getUsernm>
  59. <usernm/>
  60. </getUsernm>
  61. </main>
  62. <send>
  63. <pid/>
  64. <blodcomcd/>
  65. <tnsreqacptno/>
  66. <patdata/>
  67. <bloddata/>
  68. <flag/>
  69. <prcpdd/>
  70. <iogbn/>
  71. <blodno/>
  72. </send>
  73. <init>
  74. </init>
  75. <hidden>
  76. <reteblodno/>
  77. <spclblod/>
  78. <testid/>
  79. </hidden>
  80. </root>
  81. </instance>
  82. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  83. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  84. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  85. <script type="javascript" ev:event="xforms-ready">
  86. <![CDATA[
  87. fSetInit();
  88. ]]>
  89. </script>
  90. <submission id="TRLBT10801" mediatype="application/x-www-form-urlencoded" method="post" replace="instance" resultref="/root/main/getwaitpat"/>
  91. <submission id="TRLBT10802" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/getwaitblod"/>
  92. <submission id="TRLBT10803" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/getreteblod"/>
  93. <submission id="TXLBT10801" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance"/>
  94. <submission id="TRLZZ00107" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/prcpinfo"/>
  95. <submission id="TRLZZ00104" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/getUsernm"/>
  96. <submission id="TXLBT10802" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance"/>
  97. </model>
  98. <script type="javascript">
  99. <![CDATA[
  100. //초기화
  101. function fSetInit() {
  102. model.removeNodeset("/root/main/getwaitpat");
  103. model.removeNodeset("/root/main/getwaitblod");
  104. model.removeNodeset("/root/main/getreteblod");
  105. delPatientInfos(); //환자정보 전체 삭제
  106. model.setValue("/root/hidden/reteblodno", "");
  107. model.setFocus("ipt_testpsn");
  108. fTimer();
  109. model.refresh();
  110. if(model.getValue("/root/hidden/testid") == "") {
  111. messageBox("검사자를", "C001");
  112. model.setFocus("ipt_testpsn");
  113. ipt_testpsn.refresh();
  114. return;
  115. }else{
  116. fGetWaitPat("A");
  117. }
  118. }
  119. //검사완료 대기 환자 조회
  120. function fGetWaitPat(Flag) { // 조회버튼 "A"
  121. submit("TRLBT10801"); // 무조건 검사완료대기환자 조회
  122. for(i=1; i< grd_waitpat.rows; i++){
  123. grd_waitpat.rebuildStyle(i,1,i,6);
  124. //이형 type 빨간색으로 표시되게
  125. if(model.getValue("/root/main/getwaitpat["+i+"]/abrnblodyn")=="Y"){
  126. grd_waitpat.cellStyle("color", i, 4, i, 4) = "red";
  127. }
  128. }
  129. if(grd_waitpat.rows <= 1){ // 검사완료 대기환자 없을때 아무것도 안하게
  130. return;
  131. }
  132. if(Flag == "A") {
  133. grd_waitpat.row = 1;
  134. fGetWaitBlod("A"); // 검사완료 대기혈액조회
  135. } else if(Flag == "M"){ // "M" 미사용
  136. grd_waitpat.row = 1;
  137. fGetWaitBlod("M"); // 검사완료 대기혈액조회
  138. }
  139. model.refresh();
  140. }
  141. //검사완료 대기 혈액 조회
  142. function fGetWaitBlod(Flag) {
  143. if(Flag == "M") { // M 검사완료 대기 환자 그리드선택
  144. model.setValue("/root/send/pid", model.getValue("/root/main/getwaitpat["+ grd_waitpat.row +"]/pid"));
  145. model.setValue("/root/send/blodcomcd", model.getValue("/root/main/getwaitpat["+ grd_waitpat.row +"]/blodcomcd"));
  146. model.setValue("/root/send/tnsreqacptno", model.getValue("/root/main/getwaitpat["+ grd_waitpat.row +"]/tnsreqacptno"));
  147. submit("TRLBT10802"); // 대기혈액조회
  148. if(grd_waitpat.rows > 1){
  149. if(getPatientInfo("pid") != model.getValue("/root/main/getwaitpat["+grd_waitpat.row+"]/pid")){
  150. fGetTopInfo(); // 상단정보설정
  151. }
  152. }
  153. } else if(Flag == "A") { // A 조회시 자동
  154. if(model.getValue("/root/hidden/spclblod") != "1"){
  155. if(grd_waitpat.rows > 1){
  156. grd_waitpat.row = 1;
  157. model.setValue("/root/send/pid", model.getValue("/root/main/getwaitpat["+ grd_waitpat.row +"]/pid"));
  158. model.setValue("/root/send/blodcomcd", model.getValue("/root/main/getwaitpat["+ grd_waitpat.row +"]/blodcomcd"));
  159. model.setValue("/root/send/tnsreqacptno", model.getValue("/root/main/getwaitpat["+ grd_waitpat.row +"]/tnsreqacptno"));
  160. submit("TRLBT10802"); // 검사완료 대기혈액조회
  161. }else{
  162. model.removeNodeset("/root/main/getwaitpat");
  163. model.removeNodeset("/root/main/getwaitblod");
  164. }
  165. } else if(model.getValue("/root/hidden/spclblod")=="1"){ // 특수혈액자동완료 선택돼있을때
  166. for(i = 1; i<grd_waitpat.rows; i++){
  167. grd_waitpat.row = i;
  168. // 기본으로 검사완료 대기혈액 조회
  169. model.setValue("/root/send/pid", model.getValue("/root/main/getwaitpat["+ i +"]/pid"));
  170. model.setValue("/root/send/blodcomcd", model.getValue("/root/main/getwaitpat["+ i +"]/blodcomcd"));
  171. model.setValue("/root/send/tnsreqacptno", model.getValue("/root/main/getwaitpat["+ i +"]/tnsreqacptno"));
  172. submit("TRLBT10802"); // 검사완료 대기혈액조회
  173. var blodbcd = model.getValue("/root/main/getwaitpat["+ i +"]/blodbarcd"); // 대기환자의 성분제제코드
  174. var crmtautendyn = model.getValue("/root/main/getwaitblod[1]/crmtautendyn"); // 대기환자의 교차시험자동완료여부
  175. //교차시험 자동완료여부가 Y이면
  176. if(crmtautendyn == "Y"){
  177. //if( (blodbcd == "12003") || (blodbcd == "12004") || (blodbcd == "12017") ){ // PC, LRSDP 특수 체크돼있으면 자동으로 넘기기
  178. model.setValue("/root/send/pid", model.getValue("/root/main/getwaitpat["+ i +"]/pid"));
  179. model.setValue("/root/send/blodcomcd", model.getValue("/root/main/getwaitpat["+ i +"]/blodcomcd"));
  180. model.setValue("/root/send/tnsreqacptno", model.getValue("/root/main/getwaitpat["+ i +"]/tnsreqacptno"));
  181. submit("TRLBT10802"); // 대기혈액조회
  182. ////submit("TRLBT10803"); // 보류혈액 조회
  183. fExeCMEnd("A");
  184. //}// PC, LRSDP end
  185. if( (blodbcd == "18203") || (blodbcd == "18204") || (blodbcd == "10103") || (blodbcd == "10104") ) { //FFP, CRYO 시간 걸기 예약시간 2시15분이면 2시부터 2시15분사이는 자동으로 넘어가기 예약시간 지나도 자동으로 넘어가기
  186. var dt = getCurrentDate() + getCurrentTime(); // 현재일시
  187. var hopeddtm = model.getValue("/root/main/getwaitpat["+i+"]/hopedt");
  188. if(hopeddtm == "00000000000000"){
  189. var hopem15tm = dt.toDate("YYYYMMDDhhmmss").getAddDate(-15, "m"); // Wed Oct 8 13:48:17 UTC+0900 2008
  190. var hopem15tm2 = hopem15tm.getDateFormat("YYYYMMDDhhmmss"); // 20081008134817
  191. }else{
  192. var hopem15tm = hopeddtm.toDate("YYYYMMDDhhmmss").getAddDate(-15, "m"); // Wed Oct 8 13:48:17 UTC+0900 2008
  193. var hopem15tm2 = hopem15tm.getDateFormat("YYYYMMDDhhmmss"); // 20081008134817
  194. }
  195. ////model.makeValue("/root/send/hhdd", hopeddtm);
  196. ////model.makeValue("/root/send/hhtt", hopem15tm);
  197. ////model.makeValue("/root/send/hhdt", hopem15tm2);
  198. if(dt >= hopem15tm2) { // 현재시간 예약시간15분 이상 남았으면 안타고 15분전부터 지난거까지는 완료되도록
  199. model.setValue("/root/send/pid", model.getValue("/root/main/getwaitpat["+ i +"]/pid"));
  200. model.setValue("/root/send/blodcomcd", model.getValue("/root/main/getwaitpat["+ i +"]/blodcomcd"));
  201. model.setValue("/root/send/tnsreqacptno", model.getValue("/root/main/getwaitpat["+ i +"]/tnsreqacptno"));
  202. submit("TRLBT10802"); // 대기혈액조회
  203. ////submit("TRLBT10803"); // 보류혈액 조회
  204. fExeCMEnd("A");
  205. }
  206. }// FFP, CRYO 시간 걸기 end
  207. }// 교차시험 자동완료여부 체크 end
  208. }// for end
  209. }
  210. }
  211. model.refresh();
  212. }
  213. //CM 완료
  214. function fExeCMEnd(Flag) {
  215. if(grd_waitpat.rows < 2){
  216. messageBox("검사완료 대기 환자가 없습니다. ", 'I');
  217. return;
  218. } else if(model.getValue("/root/hidden/testid") == "" || model.getValue("/root/main/getUsernm/usernm") == "") {
  219. messageBox("검사자를", "C001");
  220. model.setFocus("ipt_testpsn");
  221. ipt_testpsn.refresh();
  222. return;
  223. }
  224. for(i = 1; i < grd_waitblod.rows; i++) {
  225. grd_waitblod.rowStatus(i) = 1;
  226. }
  227. grd_waitpat.rowStatus(grd_waitpat.row) = 1;
  228. model.setValue("/root/send/patdata", getGridUpdateData(grd_waitpat));
  229. model.setValue("/root/send/bloddata", getGridUpdateData(grd_waitblod));
  230. model.makeValue("/root/send/userid", model.getValue("/root/hidden/testid"));
  231. submit("TXLBT10801");
  232. // 검사완료 대기환자 없으면 검사완료 대기 혈액 없애기
  233. if(grd_waitpat.row< 2){
  234. model.removeNodeset("/root/main/getwaitblod");
  235. }
  236. if(Flag == "A") {
  237. grd_waitpat.rowStatus(grd_waitpat.row) = 0;
  238. fGetWaitPat("A"); // 정은추가
  239. } else if(Flag == "M") {
  240. //fGetWaitPat("M");
  241. fGetWaitPat("A");
  242. }
  243. model.refresh();
  244. }
  245. //타이머
  246. var gTimerID;
  247. function fTimer(){
  248. //if(model.getvalue("/root/hidden2/autoref") == "1"){
  249. gTimerID = window.setInterval( "fAutoCMEnd()", 60000 );
  250. //}
  251. //else{
  252. // window.clearInterval(gTimerID) ;
  253. //}
  254. }
  255. //자동 CM완료
  256. function fAutoCMEnd(){
  257. fGetWaitPat("A");
  258. //fGetWaitBlod("A");
  259. model.refresh();
  260. }
  261. // 탑정보 위한 조회
  262. function fGetTopInfo(){
  263. model.setValue("/root/send/pid", model.getValue("/root/main/getwaitpat["+ grd_waitpat.row +"]/pid"));
  264. model.setValue("/root/send/prcpdd", model.getValue("/root/main/getwaitpat["+ grd_waitpat.row +"]/hopedt").substr(0,8));
  265. model.setValue("/root/send/iogbn", model.getValue("/root/main/getwaitpat["+ grd_waitpat.row +"]/prcpgenrflag"));
  266. submit("TRLZZ00107");
  267. fUpPatinfo();
  268. }
  269. // 탑정보
  270. function fUpPatinfo(){
  271. if(grd_waitpat.rows > 1){
  272. if(model.getValue("/root/init/prcpinfo/prcpdd")!=""){
  273. setParameter("errflag", "Y");
  274. setParameter("condparam", "S" + "▦" + model.getvalue("/root/init/prcpinfo/prcpdd")+ "▦"
  275. + model.getvalue("/root/init/prcpinfo/execprcpuniqno") + "▦"
  276. + model.getvalue("/root/init/prcpinfo/instcd"));
  277. //modal("SPMMO08900");
  278. modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
  279. }
  280. var paminfo = getGlobalVariable("paminfo");
  281. if(paminfo.length < 1){ //상단정보가 없는 경우
  282. delPatientInfos(); //환자정보 전체 삭제
  283. var pid = model.getValue("/root/main/getwaitpat["+grd_waitpat.row+"]/pid");
  284. var hngnm = model.getValue("/root/main/getwaitpat["+grd_waitpat.row+"]/patnm");
  285. //상단에 올릴 수 있는 정보가 있으면 아래와 같이 설정해 주시면 됩니다. 없으면 안 해주셔도 되구요..
  286. setPatientInfo("pid" , pid); //등록번호
  287. setPatientInfo("pname" , pid + "|" + hngnm); //환자명
  288. }
  289. }
  290. }
  291. //키이벤트
  292. function fKeyEvent(){
  293. if(event.keyCode == "13"){
  294. if(event.target == "ipt_testpsn"){
  295. model.setvalue("/root/hidden/testid",ipt_testpsn.currentText.toUpperCase());
  296. model.refresh();
  297. fUserNMRef();
  298. fGetWaitPat("A"); // 검사자 넣으면 자동처리하기
  299. ipt_testpsn.selBegin = 0;
  300. ipt_testpsn.selEnd = ipt_testpsn.currentText.length;
  301. model.setFocus("ipt_testpsn");
  302. }
  303. if(event.target == "ipt_reteblodno"){
  304. model.setvalue("/root/hidden/reteblodno", ipt_reteblodno.currentText.toUpperCase());
  305. model.refresh();
  306. fSetReteBlod();
  307. ipt_reteblodno.selBegin = 0;
  308. ipt_reteblodno.selEnd = ipt_reteblodno.currentText.length;
  309. model.setFocus("ipt_reteblodno");
  310. }
  311. }
  312. }
  313. //사용자 이름 검색
  314. function fUserNMRef(flag){
  315. if(model.getvalue("/root/hidden/testid") != ""){
  316. model.makeValue("/root/send/userid" , model.getvalue("/root/hidden/testid"));
  317. submit("TRLZZ00104");
  318. }
  319. model.removeNodeset("/root/send/userid");
  320. model.refresh();
  321. }
  322. // 보류혈액번호 입력시 보류혈액칸으로 이동
  323. function fSetReteBlod(){
  324. if(grd_waitpat.row < 1){
  325. alert("검사완료 대기 환자를 선택 하십시오.");
  326. return;
  327. }
  328. model.setValue("/root/send/blodno", model.getValue("/root/hidden/reteblodno"));
  329. model.setValue("/root/send/tnsreqacptno", model.getValue("/root/main/getwaitpat["+grd_waitpat.row+"]/tnsreqacptno"));
  330. if(submit("TXLBT10802")){
  331. fGetWaitBlod("M");
  332. model.setValue("/root/hidden/reteblodno","");
  333. model.setFocus("ipt_reteblodno");
  334. }
  335. }
  336. // 특수혈액 자동완료 체크값 변경시
  337. function fExeSpclAutoEnd(){
  338. if(model.getValue("/root/hidden/spclblod")=="1"){ // 특수 선택됨
  339. fGetWaitPat("A");
  340. }
  341. }
  342. ]]>
  343. </script>
  344. </xhtml:head>
  345. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  346. <group id="grp_tle" style="left:0px; top:0px; width:1195px; height:13px; ">
  347. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:199px; height:13px; ">교차시험 완료</caption>
  348. </group>
  349. <group id="grp_biz" scroll="auto" style="left:0px; top:40px; width:1195px; height:744px; ">
  350. <datagrid id="grd_waitpat" nodeset="/root/main/getwaitpat" caption="등록번호^환자명^혈액성분^Type^I^blodcomcd^tnsreqacptno^coombsyn^spclblodcomyn^hopedt^처방갯수^caption1^교차시험자동완료여부" colsep="^" colwidth="87, 100, 190, 45, 30, 0, 0, 0, 0, 0, 115, 0, 0" dataheight="23" defaultrows="1" ellipsis="true" explorerbar="sortshow" fixedcols="0" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="23" rowsep="|" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:0px; top:75px; width:640px; height:667px; text-align:center; ">
  351. <col ref="pid" style="text-align:left; "/>
  352. <col ref="patnm"/>
  353. <col ref="blodnm" style="text-align:left; "/>
  354. <col ref="btype"/>
  355. <col ref="i" type="output" style="font-weight:bold; color:#ff0000; "/>
  356. <col ref="blodcomcd"/>
  357. <col ref="tnsreqacptno"/>
  358. <col ref="coombsyn"/>
  359. <col ref="spclblodyn"/>
  360. <col ref="hopedt"/>
  361. <col ref="prcpcnt"/>
  362. <col ref="blodbarcd"/>
  363. <col ref="crmtautendyn"/>
  364. <script type="javascript" ev:event="onclick">
  365. <![CDATA[
  366. if(grd_waitpat.isCell(event.target) && grd_waitpat.row >= grd_waitpat.fixedRows){
  367. fGetWaitBlod("M");
  368. }
  369. ]]>
  370. </script>
  371. <script type="javascript" ev:event="onaftersort">
  372. <![CDATA[
  373. grd_waitpat.gridToInstance();
  374. ]]>
  375. </script>
  376. </datagrid>
  377. <datagrid id="grd_reteblod" nodeset="/root/main/getreteblod" caption="No^혈액번호^혈액성분^혈액형^I^적합^등록번호^환자명" colsep="^" colwidth="45, 80, 120, 45, 30, 100, 87, 100" dataheight="23" defaultrows="1" explorerbar="sortshow" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" style="left:645px; top:466px; width:549px; height:276px; ">
  378. <col ref="no"/>
  379. <col ref="blodno"/>
  380. <col ref="blodnm"/>
  381. <col ref="btype"/>
  382. <col ref="i" type="output" style="font-weight:bold; color:#ff0000; "/>
  383. <col disabled="true" ref="cmrslt" type="combo">
  384. <choices>
  385. <item>
  386. <label>적합</label>
  387. <value>1</value>
  388. </item>
  389. <item>
  390. <label>부적합</label>
  391. <value>2</value>
  392. </item>
  393. <item>
  394. <label>적합(응급)</label>
  395. <value>3</value>
  396. </item>
  397. <item>
  398. <label>준비</label>
  399. <value>4</value>
  400. </item>
  401. <item>
  402. <label>검사중</label>
  403. <value>5</value>
  404. </item>
  405. <item>
  406. <label>보류</label>
  407. <value>6</value>
  408. </item>
  409. </choices>
  410. </col>
  411. <col ref="pid" style="text-align:left; "/>
  412. <col ref="patnm"/>
  413. <script type="javascript" ev:event="onaftersort">
  414. <![CDATA[
  415. grd_reteblod.gridToInstance();
  416. ]]>
  417. </script>
  418. </datagrid>
  419. <datagrid id="grd_waitblod" nodeset="/root/main/getwaitblod" caption="No^혈액번호^혈액성분^혈액형^I^coombsyn^spclblodcomyn^prcpgenrflag^hopedt^검사자^caption1^혈액바코드^성분제제코드^등록번호^환자명" colsep="^" colwidth="50, 80, 120, 45, 30, 0, 0, 0, 0, 70, 0, 0, 0, 87, 100" dataheight="23" defaultrows="1" explorerbar="sortshow" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="23" rowsep="|" style="left:645px; top:75px; width:549px; height:368px; text-align:center; ">
  420. <col ref="no"/>
  421. <col ref="blodno"/>
  422. <col ref="blodnm" style="text-align:left; "/>
  423. <col ref="btype"/>
  424. <col ref="i" type="output" style="font-weight:bold; color:#ff0000; "/>
  425. <col ref="coombsyn"/>
  426. <col ref="spclblodyn"/>
  427. <col ref="prcpgenrflag"/>
  428. <col ref="hopedt"/>
  429. <col ref="testpsn"/>
  430. <col ref="tnsreqseq"/>
  431. <col ref="blodbarcd"/>
  432. <col ref="blodcomcd"/>
  433. <col ref="pid" style="text-align:left; "/>
  434. <col ref="patnm"/>
  435. <script type="javascript" ev:event="onaftersort">
  436. <![CDATA[
  437. grd_waitblod.gridToInstance();
  438. ]]>
  439. </script>
  440. </datagrid>
  441. <group id="grp_sea" style="left:0px; top:10px; width:1194px; height:35px; vertical-align:top; ">
  442. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:1194px; height:35px; "/>
  443. <line id="line13" class="line_4" style="x1:1108px; y1:7px; x2:1108px; y2:29px; "/>
  444. <caption id="caption2" class="search_name" style="left:16px; top:9px; width:114px; height:17px; ">보류혈액번호 :</caption>
  445. <button id="btn_ref" class="btn1_letter2" style="left:1123px; top:7px; width:56px; height:22px; ">
  446. <caption>조회</caption>
  447. <script type="javascript" ev:event="DOMActivate">
  448. <![CDATA[
  449. //fGetWaitPat("M");
  450. fGetWaitPat("A");
  451. ]]>
  452. </script>
  453. </button>
  454. <input id="ipt_reteblodno" ref="/root/hidden/reteblodno" class="input_search" disabled="true" style="left:135px; top:8px; width:135px; height:19px; ">
  455. <script type="javascript" ev:event="onclick">
  456. <![CDATA[
  457. alert("보류혈액은 강남성모병원에서 사용안합니다. ");
  458. ]]>
  459. </script>
  460. </input>
  461. <select id="checkbox1" ref="/root/hidden/spclblod" overflow="visible" appearance="full" style="left:963px; top:10px; width:130px; height:20px; border-style:none; ">
  462. <choices>
  463. <item>
  464. <label>특수혈액 자동완료</label>
  465. <value>1</value>
  466. </item>
  467. </choices>
  468. <script type="javascript" ev:event="xforms-value-changed">
  469. <![CDATA[
  470. fExeSpclAutoEnd();
  471. ]]>
  472. </script>
  473. </select>
  474. </group>
  475. <line id="line10" class="line_1" style="x1:0px; y1:70px; x2:640px; y2:70px; "/>
  476. <caption id="caption32" class="tit_2" style="left:5px; top:55px; width:131px; height:13px; ">검사완료 대기 환자</caption>
  477. <line id="line15" class="line_1" style="x1:645px; y1:70px; x2:1194px; y2:70px; "/>
  478. <caption id="caption14" class="tit_2" style="left:650px; top:55px; width:145px; height:13px; ">검사완료 대기 혈액</caption>
  479. <caption id="caption13" class="tit_2" style="left:650px; top:446px; width:136px; height:13px; ">보류 혈액</caption>
  480. <line id="line16" class="line_1" style="x1:645px; y1:461px; x2:1194px; y2:461px; "/>
  481. <input id="ipt_testpsn" ref="/root/hidden/testid" class="input_button" inputtype="button" style="left:754px; top:17px; width:101px; height:19px; "/>
  482. <output id="opt_testpsn" ref="/root/main/getUsernm/usernm" class="output_fix" style="left:858px; top:17px; width:82px; height:19px; "/>
  483. <caption id="caption7" class="tit_2" style="left:690px; top:20px; width:60px; height:13px; ">검사자</caption>
  484. </group>
  485. <group id="grp_btn" style="left:0px; top:13px; width:1195px; height:27px; ">
  486. <line id="line32" class="line_6" style="x1:0px; y1:25px; x2:1194px; y2:25px; "/>
  487. <button id="btn_cm" class="btn4_letter4" style="left:1044px; top:3px; width:80px; height:22px; ">
  488. <caption>CM 완료</caption>
  489. <script type="javascript" ev:event="DOMActivate">
  490. <![CDATA[
  491. fExeCMEnd("M");
  492. ]]>
  493. </script>
  494. </button>
  495. <button id="btn_clear" class="btn4_letter3" style="left:1127px; top:3px; width:68px; height:22px; ">
  496. <caption>초기화</caption>
  497. <script type="javascript" ev:event="DOMActivate">
  498. <![CDATA[
  499. fSetInit();
  500. ]]>
  501. </script>
  502. </button>
  503. <button id="button3" class="btn4_letter4" style="left:961px; top:3px; width:80px; height:22px; ">
  504. <caption>혈액보류</caption>
  505. </button>
  506. </group>
  507. <script type="javascript" ev:event="onkeypress">
  508. <![CDATA[
  509. fKeyEvent();
  510. ]]>
  511. </script>
  512. </xhtml:body>
  513. </xhtml:html>