SMLBT10300_CM결과관리.xrw 70 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SMLBT10300_CM결과관리.xrw
  4. * 설 명 : CM결과관리
  5. * 설 계 자 : (주)에이씨케이 -
  6. * 작 성 자 : (주)에이씨케이 - 박정은
  7. * 작 성 일 : 2007.06.05
  8. * 수정이력 : 2007.08.24
  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>CM 결과관리</xhtml:title>
  15. <model id="model1">
  16. <instance id="instance1">
  17. <root>
  18. <main>
  19. <getblodprcplist>
  20. <pid/>
  21. <patnm/>
  22. <tclsscrnnm/>
  23. <abo/>
  24. <iryn/>
  25. <no/>
  26. <erprcpflag/>
  27. <prcphopedd/>
  28. <tnsreqacptno/>
  29. <blodcomcd/>
  30. <prcpgenrflag/>
  31. <coombsyn/>
  32. <prcpdd/>
  33. <kabo/>
  34. <keepspcno/>
  35. </getblodprcplist>
  36. <getbloodinfo>
  37. <getblodprcplist>
  38. <pid/>
  39. <patnm/>
  40. <tclsscrnnm/>
  41. <abo/>
  42. <iryn/>
  43. <no/>
  44. <erprcpflag/>
  45. <prcphopedd/>
  46. <tnsreqacptno/>
  47. </getblodprcplist>
  48. <getblooddetllist>
  49. <prcphopedd/>
  50. <blodcomnm/>
  51. <aborh/>
  52. <iryn/>
  53. <reqqty/>
  54. <cno/>
  55. <blodcomcd/>
  56. <blodbarcd/>
  57. </getblooddetllist>
  58. <getpatinfo>
  59. <pid/>
  60. <patnm/>
  61. <sexage/>
  62. <rstno/>
  63. <prcpgenrflag/>
  64. <orddeptnm/>
  65. <wardroom/>
  66. <aborh/>
  67. <orddrnm/>
  68. <f1/>
  69. <f2/>
  70. <f3/>
  71. <abrnblodyn/>
  72. </getpatinfo>
  73. <getpatcmt>
  74. <rgstdt/>
  75. <patcmt/>
  76. </getpatcmt>
  77. <getbloodinfo>
  78. <ast/>
  79. <id>ANTI - I</id>
  80. <coomsd>NEGATIVE</coomsd>
  81. <coomsid>POSITIVE (+)</coomsid>
  82. </getbloodinfo>
  83. <getbloodinfo>
  84. <ast>2007-07-10</ast>
  85. <id>2007-07-10</id>
  86. <coomsd>2007-07-10</coomsd>
  87. <coomsid>2007-07-10</coomsid>
  88. </getbloodinfo>
  89. <blodrslthistory>
  90. <rsltdd>20070505</rsltdd>
  91. <rsltval>A+</rsltval>
  92. </blodrslthistory>
  93. <blodrslthistory>
  94. <rsltdd>20070309</rsltdd>
  95. <rsltval>A+</rsltval>
  96. </blodrslthistory>
  97. <blodrslthistory>
  98. <rsltdd>20070204</rsltdd>
  99. <rsltval>A+</rsltval>
  100. </blodrslthistory>
  101. <blodrslthistory>
  102. <rsltdd>20070110</rsltdd>
  103. <rsltval>A+</rsltval>
  104. </blodrslthistory>
  105. <blodrslthistory>
  106. <rsltdd>20061109</rsltdd>
  107. <rsltval>A+</rsltval>
  108. </blodrslthistory>
  109. <blodrslthistory>
  110. <rsltdd>20061020</rsltdd>
  111. <rsltval>A+</rsltval>
  112. </blodrslthistory>
  113. <blodrslthistory>
  114. <rsltdd>20060907</rsltdd>
  115. <rsltval>A+</rsltval>
  116. </blodrslthistory>
  117. <getcomment/>
  118. <getbloodcom>
  119. <blodcomnm/>
  120. <fromno/>
  121. <tono/>
  122. <pcnt/>
  123. </getbloodcom>
  124. <getblodinfolist>
  125. <dt/>
  126. <rslt/>
  127. <tclsnm/>
  128. <testcd/>
  129. <unit/>
  130. <tclsnmabbr/>
  131. </getblodinfolist>
  132. <getblodinforslt>
  133. <row>
  134. <a1/>
  135. </row>
  136. <row>
  137. <a1/>
  138. </row>
  139. <hearder/>
  140. </getblodinforslt>
  141. <blodrslthistory>
  142. <rsltdt/>
  143. <rslt/>
  144. </blodrslthistory>
  145. <getprepblood>
  146. <getprepbloodlist>
  147. <chk/>
  148. <pno/>
  149. <blodno/>
  150. <blodcomnm/>
  151. <abo/>
  152. <iryn/>
  153. <testpsn/>
  154. <rslt/>
  155. <cs/>
  156. <blodcmt/>
  157. <testdt/>
  158. <rsltlist/>
  159. <blodcomstat/>
  160. <cmrslt/>
  161. <tnsreqacptno/>
  162. <blodbarcd/>
  163. <blodcomcd/>
  164. <pid/>
  165. <blodcomstatnm/>
  166. </getprepbloodlist>
  167. </getprepblood>
  168. </getbloodinfo>
  169. <gettestpsnnm>
  170. <testpsnnm/>
  171. </gettestpsnnm>
  172. <getUsernm>
  173. <usernm/>
  174. </getUsernm>
  175. <temp>
  176. <getprepbloodlist>
  177. <chk/>
  178. <pno/>
  179. <blodno/>
  180. <blodcomnm/>
  181. <abo/>
  182. <iryn/>
  183. <testpsn/>
  184. <rslt/>
  185. <cs/>
  186. <blodcmt/>
  187. <testdt/>
  188. <rsltlist/>
  189. <blodcomstat/>
  190. <cmrslt/>
  191. <tnsreqacptno/>
  192. <blodbarcd/>
  193. <blodcomcd/>
  194. </getprepbloodlist>
  195. </temp>
  196. <getBMTInfo>
  197. <getBMTInfo>
  198. <pid/>
  199. <btype/>
  200. <dnorbtype/>
  201. <trnptdg/>
  202. <trnptdd/>
  203. </getBMTInfo>
  204. <getBMTInfoList>
  205. <pid/>
  206. <btype/>
  207. <dnorbtype/>
  208. <trnptdg/>
  209. </getBMTInfoList>
  210. </getBMTInfo>
  211. </main>
  212. <send>
  213. <fromdd/>
  214. <todd/>
  215. <pid/>
  216. <tnsreqacptno/>
  217. <blodno/>
  218. <testpsnid/>
  219. <execdt/>
  220. <cmrslt/>
  221. <cmrsltlist/>
  222. <txt/>
  223. <blodcomcd/>
  224. <tclscd/>
  225. <prcpdd/>
  226. <iogbn/>
  227. <gbn/>
  228. <cancelflag/>
  229. <blodnolist/>
  230. <cmend/>
  231. <testpsnnm/>
  232. <cmt/>
  233. <blodcmt/>
  234. <codeflag/>
  235. <blodbarcd/>
  236. <acptnolist/>
  237. <prcphopedd/>
  238. <iryn/>
  239. <preplog/>
  240. <bmtsearchgbn/>
  241. </send>
  242. <init>
  243. </init>
  244. <hidden>
  245. <ref>
  246. <reffromdd/>
  247. <reftodd/>
  248. <testpsn/>
  249. <pid/>
  250. <testdt/>
  251. <cmend/>
  252. <prcpdd/>
  253. </ref>
  254. <cmrslt>
  255. </cmrslt>
  256. <rslt/>
  257. <info>
  258. <blodrslthistory>
  259. <rsltdd>20070505</rsltdd>
  260. <rsltval>A+</rsltval>
  261. </blodrslthistory>
  262. <blodrslthistory>
  263. <rsltdd>20070309</rsltdd>
  264. <rsltval>A+</rsltval>
  265. </blodrslthistory>
  266. <blodrslthistory>
  267. <rsltdd>20070204</rsltdd>
  268. <rsltval>A+</rsltval>
  269. </blodrslthistory>
  270. <blodrslthistory>
  271. <rsltdd>20070110</rsltdd>
  272. <rsltval>A+</rsltval>
  273. </blodrslthistory>
  274. <blodrslthistory>
  275. <rsltdd>20061109</rsltdd>
  276. <rsltval>A+</rsltval>
  277. </blodrslthistory>
  278. <blodrslthistory>
  279. <rsltdd>20061020</rsltdd>
  280. <rsltval>A+</rsltval>
  281. </blodrslthistory>
  282. <blodrslthistory>
  283. <rsltdd>20060907</rsltdd>
  284. <rsltval>A+</rsltval>
  285. </blodrslthistory>
  286. </info>
  287. <cancel>
  288. <cancelgbn/>
  289. <preplog/>
  290. </cancel>
  291. <keepno/>
  292. <userinfo>
  293. <tmptestpsn/>
  294. <tmptestpsnnm/>
  295. </userinfo>
  296. </hidden>
  297. </root>
  298. </instance>
  299. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  300. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  301. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  302. <script type="javascript" ev:event="xforms-ready">
  303. <![CDATA[
  304. finit();
  305. ]]>
  306. </script>
  307. <submission id="TRLBT10301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/getblodprcplist"/>
  308. <submission id="TRLBT10302" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/getbloodinfo"/>
  309. <submission id="TXLBT10301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance"/>
  310. <submission id="TRLBT10303" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/gettestpsnnm"/>
  311. <submission id="TRLBT10407" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/getbloodinfo/blodrslthistory"/>
  312. <submission id="TXLBT10302" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance"/>
  313. <submission id="TRLZZ00107" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/prcpinfo"/>
  314. <submission id="TXLLB00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance"/>
  315. <submission id="TXLBT10303" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance"/>
  316. <submission id="TRLZZ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/LB0122"/>
  317. <submission id="TXLBT10304" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance"/>
  318. <submission id="TRLBT10304" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/temp"/>
  319. <submission id="TRLZZ00109" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/prcpinfo"/>
  320. <submission id="TRLBT10209" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/getBMTInfo/getBMTInfo"/>
  321. <submission id="TRLBT10210" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/getBMTInfo/getBMTInfoList"/>
  322. <submission id="TRLZZ00104" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/getUsernm"/>
  323. </model>
  324. <script type="javascript">
  325. <![CDATA[
  326. // 초기값
  327. function finit(){
  328. model.setValue("/root/send/codeflag", "0122|"); // 0122 수혈 반납/폐기 사유
  329. submit("TRLZZ00101");
  330. // 조회일자 시스템데이트 가져오기
  331. var today = getCurrentDate();
  332. var mDate = getCurrentDate().toDate("YYYYMMDD").getAddDate(-2);
  333. model.setValue("/root/hidden/ref/reffromdd", mDate.getDateFormat("YYYYMMDD"));
  334. model.setValue("/root/hidden/ref/reftodd", today);
  335. model.setValue("/root/hidden/ref/testdt", today);
  336. model.setValue("/root/hidden/keepno", "");
  337. // focus 검사자 칸에
  338. model.setFocus("ipt_testpsn");
  339. delPatientInfos(); //환자정보 전체 삭제
  340. // 준비혈액내역 그리드 전체 선택 기능
  341. grd_prepblood.fixedcellcheckbox(0,1)= true;
  342. // 준비혈액내역 폰트 설정
  343. fSetPrepbloodFont();
  344. model.removeNodeset("/root/main/getblodprcplist");
  345. model.removeNodeset("/root/main/getbloodinfo/getblooddetllist");
  346. model.removeNodeset("/root/main/getbloodinfo/getpatinfo");
  347. model.removeNodeset("/root/main/getbloodinfo/getpatcmt");
  348. model.removeNodeset("/root/main/getbloodinfo/getbloodcom");
  349. model.removeNodeset("/root/main/getbloodinfo/getprepblood/getprepbloodlist");
  350. model.removeNodeset("/root/main/getbloodinfo/getblodinforslt/row");
  351. model.setValue("/root/hidden/ref/pid","");
  352. //grd_comment.rebuild();
  353. model.refresh();
  354. }
  355. //키이벤트 엔터키 입력시
  356. function fKeyEvent(){
  357. if(event.keyCode == "13"){
  358. // 검사자 바코드 리딩시
  359. if(event.target == "ipt_testpsn"){
  360. model.setvalue("/root/hidden/ref/testpsn", (ipt_testpsn.currentText).toUpperCase());
  361. fGetTestPsn();
  362. model.setFocus("ipt_pid");
  363. ipt_testpsn.selBegin = 0;
  364. ipt_testpsn.selEnd = ipt_testpsn.currentText.length;
  365. }
  366. // 등록번호 바코드 리딩시
  367. if(event.target=="ipt_pid"){
  368. model.setValue("/root/hidden/ref/pid", ipt_pid.currentText);
  369. fGetBloodPrcpList("bbcd");
  370. //fGetBlodInfo("bcd"); // 정보조회
  371. ipt_pid.selBegin = 0;
  372. ipt_pid.selEnd = ipt_pid.currentText.length;
  373. }
  374. }
  375. }
  376. // 검사자 조회
  377. function fGetTestPsn(){
  378. //model.setValue("/root/send/testpsnid", model.getValue("/root/hidden/ref/testpsn"));
  379. //submit("TRLBT10303");
  380. //model.setValue("/root/main/gettestpsnnm/testpsnnm", model.getValue("/root/main/gettestpsnnm/testpsnnm"));
  381. model.makeValue("/root/send/userid" , model.getValue("/root/hidden/ref/testpsn"));
  382. submit("TRLZZ00104");
  383. model.setValue("/root/hidden/userinfo/tmptestpsn", model.getValue("/root/hidden/ref/testpsn"));
  384. model.setValue("/root/hidden/userinfo/tmptestpsnnm", model.getValue("/root/main/getUsernm/usernm"));
  385. opt_testpsn.refresh();
  386. }
  387. // CM 완료
  388. function fSetRsltReg(){
  389. if(model.getValue("/root/hidden/ref/testpsn")=="" || model.getValue("/root/main/getUsernm/usernm") == ""){
  390. messageBox("검사자를 입력하세요.", 'E');
  391. return;
  392. }
  393. if(model.getValue("/root/hidden/ref/testpsn") != model.getValue("/root/hidden/userinfo/tmptestpsn")
  394. || model.getValue("/root/main/getUsernm/usernm") != model.getValue("/root/hidden/userinfo/tmptestpsnnm") ){
  395. messageBox("검사자를 확인해주세요.", "I");
  396. return;
  397. }
  398. if(model.getValue("/root/hidden/ref/pid")==""){
  399. messageBox("등록번호를 입력하세요.", 'E');
  400. return;
  401. }
  402. if(model.getValue("/root/hidden/ref/cmend") == "1" ){ // CM완료포함 선택됐을때 CM결과값 수정 2008-07-25 정은 수정함
  403. // CM 저장한 것 & 불출하기전 만 결과수정
  404. var blod = "";
  405. var cmRslt = "";
  406. var cmRsltList = "";
  407. var acptno ="";
  408. for(o= 1; o<grd_prepblood.rows; o++){
  409. if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+o+"]/chk")=="Y"){ // 준비혈액중 선택한것만
  410. if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+o+"]/blodcomstat") > "2"){ //CM완료된것만
  411. if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+o+"]/rslt")=="5"){ // 검사중
  412. model.setValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+o+"]/rslt", "1"); // 적합으로 바꾸고
  413. if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+o+"]/cs")=="Y"){ // Coomb's Y면 적,적,적으로
  414. model.setValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+o+"]/rsltlist", "▦적합▦적합▦적합▦ ▦ ▦ ");
  415. }else{
  416. model.setValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+o+"]/rsltlist", "▦ ▦ ▦ ▦ ▦ ▦ ");
  417. }
  418. }
  419. blod += "▦" + model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+o+"]/blodno");
  420. cmRslt += "▦" + model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+o+"]/rslt");
  421. cmRsltList += "★" + model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+o+"]/rsltlist");
  422. acptno += "▦" + model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+o+"]/tnsreqacptno");
  423. }
  424. }
  425. }
  426. if(blod == ""){
  427. messageBox("결과수정 할 혈액을 선택하십시오.", 'E');
  428. return;
  429. }
  430. model.setValue("/root/send/acptnolist", acptno);
  431. model.setValue("/root/send/blodno", blod);
  432. model.setValue("/root/send/cmrslt", cmRslt);
  433. model.setValue("/root/send/cmrsltlist", cmRsltList);
  434. if(submit("TXLBT10304")){
  435. model.setValue("/root/hidden/ref/pid", "");
  436. fGetBloodPrcpList("rref");
  437. if(grd_prcplist.rows > 1){
  438. }else{
  439. model.removeNodeset("/root/main/getbloodinfo/getprepblood/getprepbloodlist");
  440. grd_prepblood.rebuild();
  441. }
  442. model.setFocus("ipt_pid");
  443. }
  444. }else{ //정상 CM완료 시킬때
  445. /*if(model.getValue("/root/hidden/ref/testpsn")=="" || model.getValue("/root/main/gettestpsnnm/testpsnnm") == ""){
  446. messageBox("검사자를 입력하세요.", 'E');
  447. return;
  448. }
  449. if(model.getValue("/root/hidden/ref/pid")==""){
  450. messageBox("등록번호를 입력하세요.", 'E');
  451. return;
  452. }*/
  453. var blod = "";
  454. var cmRslt = "";
  455. var cmRsltList = "";
  456. var blodcmt = "";
  457. var blodbarcd = "";
  458. for(i=1; i<grd_prepblood.rows; i++){
  459. if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/chk")=="Y"){ // 준비혈액내역에서 선택된혈액만 CM할때
  460. if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/blodcomstat")=="2"){ // 준비된 혈액만 CM가능
  461. if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/rslt")=="5"){ // 검사중
  462. model.setValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/rslt", "1"); //적합으로 바꾸고
  463. if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/cs")=="Y"){ // Coomb's Y면 적,적,적으로
  464. model.setValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/rsltlist", "▦적합▦적합▦적합▦ ▦ ▦ ");
  465. }else{
  466. model.setValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/rsltlist", "▦ ▦ ▦ ▦ ▦ ▦ ");
  467. }
  468. }
  469. blod += "▦" + model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/blodno");
  470. blodbarcd += "▦" + model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/blodbarcd");
  471. cmRslt += "▦" + model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/rslt");
  472. cmRsltList += "★" + model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/rsltlist");
  473. if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/blodcmt")==""){
  474. blodcmt += "▦" + " ";
  475. }else{
  476. blodcmt += "▦" + model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/blodcmt");
  477. }// ▦0300000001▦0300000002 ...
  478. }
  479. }
  480. }
  481. if(blod == ""){
  482. messageBox("결과저장할 혈액을 선택하십시오.", 'E');
  483. return;
  484. }
  485. model.setValue("/root/send/pid", model.getValue("/root/hidden/ref/pid"));
  486. model.setValue("/root/send/tnsreqacptno", model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/tnsreqacptno"));
  487. model.setValue("/root/send/blodno", blod);
  488. model.setValue("/root/send/blodbarcd", blodbarcd);
  489. //alert("cmRslt= " +cmRslt);
  490. model.setValue("/root/send/cmrslt", cmRslt);
  491. model.setValue("/root/send/testpsnid", model.getValue("/root/hidden/ref/testpsn"));
  492. model.setValue("/root/send/execdt", model.getValue("/root/hidden/ref/testdt"));
  493. model.setValue("/root/send/cmrsltlist", cmRsltList);
  494. model.setValue("/root/send/testpsnnm", model.getValue("/root/main/gettestpsnnm/testpsnnm"));
  495. model.setValue("/root/send/blodcmt", blodcmt);
  496. if(submit("TXLBT10301")==true){
  497. //model.reset();
  498. model.setValue("/root/hidden/ref/pid", "");
  499. fGetBloodPrcpList("rref");
  500. if(grd_prcplist.rows > 1){
  501. //grd_prcplist.row = 1;
  502. //fGetBlodInfo("auto");
  503. //fGetBlodInfo("bcd");
  504. }else{
  505. model.removeNodeset("/root/main/getbloodinfo/getprepblood/getprepbloodlist");
  506. grd_prepblood.rebuild();
  507. }
  508. model.setFocus("ipt_pid");
  509. }
  510. } // cm완료포함 선택 안했을때
  511. }
  512. // 혈액은행 처방 목록 조회
  513. function fGetBloodPrcpList(ref){
  514. model.setValue("/root/send/fromdd", model.getValue("/root/hidden/ref/reffromdd"));
  515. model.setValue("/root/send/todd", model.getValue("/root/hidden/ref/reftodd"));
  516. model.setValue("/root/send/pid", model.getValue("/root/hidden/ref/pid"));
  517. model.setValue("/root/send/txt", ref);
  518. model.setValue("/root/send/cmend", model.getValue("/root/hidden/ref/cmend"));
  519. //submit("TRLBT10301");
  520. if(submit("TRLBT10301")==true){
  521. if(grd_prcplist.rows >1){
  522. for(i=1; i< grd_prcplist.rows; i++){
  523. grd_prcplist.rebuildStyle(i,1,i,8);
  524. //이형 type 빨간색으로 표시되게
  525. if(model.getValue("/root/main/getblodprcplist["+i+"]/abrnblodyn")=="Y"){
  526. grd_prcplist.cellStyle("color", i, 4, i, 4) = "red";
  527. }
  528. /*
  529. if(model.getValue("/root/main/getblodprcplist["+i+"]/iryn")=="Y"){
  530. grd_prcplist.cellStyle("font-weight", i, 5, i, 5) = "bold";
  531. }else if(model.getValue("/root/main/getblodprcplist["+i+"]/iryn")=="N"){
  532. model.setValue("/root/main/getblodprcplist["+i+"]/iryn", "");
  533. }
  534. */
  535. }
  536. if(ref == "bbcd"){
  537. grd_prcplist.row = 1;
  538. fGetBlodInfo("auto", "Y");
  539. }else if(ref == "rref"){
  540. //fGetBlodInfo("bcd");
  541. delPatientInfos(); //환자정보 전체 삭제
  542. model.removeNodeset("/root/main/getbloodinfo/getblooddetllist");
  543. model.removeNodeset("/root/main/getbloodinfo/getpatinfo");
  544. model.removeNodeset("/root/main/getbloodinfo/getbloodcom");
  545. model.removeNodeset("/root/main/getbloodinfo/getprepblood/getprepbloodlist");
  546. model.removeNodeset("/root/main/getbloodinfo/getpatcmt");
  547. model.removeNodeset("/root/main/getbloodinfo/getblodinforslt/row");
  548. grd_lastrslt.rebuild();
  549. grd_detllist.rebuild();
  550. grd_comment.rebuild();
  551. grd_com.rebuild();
  552. grd_prepblood.rebuild();
  553. grd_comment.rebuild();
  554. model.refresh();
  555. }else{
  556. model.setFocus("ipt_testpsn");
  557. }
  558. }else{
  559. //등록번호 조회시 처방 목록 없어도 수혈내역 조회
  560. if(ref == "bbcd"){
  561. fGetBlodInfo("bcd", "Y");
  562. }else{
  563. // 초기화 시켜야함
  564. //model.resetInstanceNode("/root/main/getbloodinfo");
  565. model.removeNodeset("/root/main/getbloodinfo");
  566. opt_pid.refresh();
  567. opt_patnm.refresh();
  568. opt_rstno.refresh();
  569. output13.refresh();
  570. output11.refresh();
  571. opt_abo.refresh();
  572. grd_prepblood.rebuild();
  573. model.setValue("/root/hidden/keepno","");
  574. cap_keep.refresh();
  575. }
  576. }
  577. }
  578. }
  579. // 등록번호 엔터 또는 처방목록 클릭시 수혈내역, 환자정보, 혈액정보, 환자별 cmt, 혈액성분 조회
  580. function fGetBlodInfo(Ref, top){
  581. chk_cmend.deselect(0);
  582. //alert(model.getValue("/root/hidden/ref/cmend"));
  583. if(Ref == "bcd"){
  584. model.setValue("/root/send/pid", model.getValue("/root/hidden/ref/pid"));
  585. }else if(Ref =="select"){
  586. model.setValue("/root/send/pid", model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/pid"));
  587. model.setValue("/root/send/tnsreqacptno", model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/tnsreqacptno"));
  588. model.setValue("/root/send/blodcomcd", model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/blodcomcd"));
  589. model.setValue("/root/hidden/ref/pid", model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/pid"));
  590. model.setValue("/root/send/prcpdd", model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/prcpdd"));
  591. }else{
  592. model.setValue("/root/send/pid", model.getValue("/root/main/getblodprcplist[1]/pid"));
  593. model.setValue("/root/send/tnsreqacptno", model.getValue("/root/main/getblodprcplist[1]/tnsreqacptno"));
  594. model.setValue("/root/send/blodcomcd", model.getValue("/root/main/getblodprcplist[1]/blodcomcd"));
  595. model.setValue("/root/send/prcpdd", model.getValue("/root/main/getblodprcplist[1]/prcpdd"));
  596. }
  597. model.setValue("/root/send/fromdd", model.getValue("/root/hidden/ref/reffromdd"));
  598. model.setValue("/root/send/todd", model.getValue("/root/hidden/ref/reftodd"));
  599. model.setValue("/root/send/cmend", model.getValue("/root/hidden/ref/cmend"));
  600. var kabo = model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/kabo");
  601. var keepno = model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/keepspcno");
  602. model.setValue("/root/hidden/keepno", kabo + keepno);
  603. cap_keep.refresh();
  604. // 혈액 상세내역, 환자정보, 혈액정보, 혈액성분 조회
  605. submit("TRLBT10302");
  606. // 최근결과내역 표시
  607. fGetBlodRslt();
  608. //--------------------------------------------------------------------
  609. // BMT 실시 정보
  610. fGetBMTInfo("info");
  611. var aborh = model.getValue("/root/main/getbloodinfo/getpatinfo/aborh").substring(0,1);
  612. var abrnblodyn = model.getValue("/root/main/getbloodinfo/getpatinfo/abrnblodyn"); //이형혈액여부
  613. var aborhValue = model.getValue("/root/main/getbloodinfo/getpatinfo/aborh");
  614. var aborhLen = aborhValue.length;
  615. //이형혈액인경우
  616. if(abrnblodyn == "Y"){
  617. if(aborhLen > 3){
  618. opt_abo.attribute("font-size") = 20;
  619. opt_abo.attribute("color") = "red";
  620. }else{
  621. opt_abo.attribute("font-size") = 40;
  622. opt_abo.attribute("color") = "red";
  623. }
  624. }else{
  625. if(aborh=="A"){
  626. if(model.getValue("/root/main/getbloodinfo/getpatinfo/aborh").substring(0,2)=="AB"){
  627. opt_abo.attribute("class") = "font_ab";
  628. }else{
  629. opt_abo.attribute("class") = "font_a";
  630. }
  631. }else if(aborh=="B"){
  632. opt_abo.attribute("class") = "font_b";
  633. }else if(aborh=="O"){
  634. opt_abo.attribute("class") = "font_o";
  635. }else{
  636. // 기타 혈액형
  637. opt_abo.attribute("class") = "font_b";
  638. opt_abo.attribute("font-size") = 28;
  639. }
  640. }
  641. grd_prepblood.rebuildStyle(1,2,(grd_prepblood.rows-1),8);
  642. //준비혈액내역
  643. for(i=1; i<grd_prepblood.rows ; i++){
  644. if((model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/cmrslt")=="-") || (model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/cmrslt")=="")){
  645. model.setValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/rslt", "5");
  646. grd_prepblood.cellStyle("font-weight", i, 2, i, 8) = "bold";
  647. grd_prepblood.cellStyle("font-size", i, 2, i, 8) = 14;
  648. }else if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/cmrslt")=="6"){ // 보류, 적합(응급) 은 결과수정할수 있어야함
  649. model.setValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/rslt", "6");
  650. grd_prepblood.cellStyle("color", i, 2, i, 8) = "#aaaaaa";
  651. grd_prepblood.cellStyle("font-weight", i, 2, i, 8) = "normal";
  652. grd_prepblood.cellStyle("font-size", i, 2, i, 8) = 12;
  653. grd_prepblood.isReadOnly(i, 8) = false;
  654. }else if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/cmrslt")=="3"){
  655. model.setValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/rslt", "3");
  656. grd_prepblood.cellStyle("color", i, 2, i, 8) = "#aaaaaa";
  657. grd_prepblood.cellStyle("font-weight", i, 2, i, 8) = "normal";
  658. grd_prepblood.cellStyle("font-size", i, 2, i, 8) = 12;
  659. grd_prepblood.isReadOnly(i, 8) = false;
  660. }else{
  661. model.setValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/rslt", model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/cmrslt"));
  662. grd_prepblood.cellStyle("color", i, 2, i, 8) = "#aaaaaa";
  663. grd_prepblood.cellStyle("font-weight", i, 2, i, 8) = "normal";
  664. grd_prepblood.cellStyle("font-size", i, 2, i, 8) = 12;
  665. grd_prepblood.isReadOnly(i, 8) = true;
  666. }
  667. model.setValue("/root/hidden/cmrslt", "");
  668. }
  669. if(model.getValue("/root/hidden/ref/cmend")=="1"){
  670. grd_prepblood.fixedcellischeck(0,1) = false;
  671. }else{
  672. grd_prepblood.fixedcellischeck(0,1) = true;
  673. }
  674. grd_prepblood.rebuild();
  675. // 준비혈액맨밑줄보이게
  676. grd_prepblood.row = (grd_prepblood.rows-1);
  677. var gridRow = grd_prepblood.rows;
  678. grd_prepblood.topRow = gridRow;
  679. if(top=="Y"){
  680. if(grd_prcplist.rows > 1){
  681. if(getPatientInfo("pid") != model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/pid")){
  682. fGetTopInfo();
  683. }
  684. }
  685. }
  686. model.setFocus("ipt_testpsn");
  687. }
  688. // 탑정보 위한 조회
  689. function fGetTopInfo(){
  690. // 2008-11-27 박정은 탑정보조회방법 변경
  691. model.setValue("/root/send/pid", model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/pid"));
  692. submit("TRLZZ00109");
  693. fUpPatinfo2();
  694. }
  695. // 탑정보
  696. function fUpPatinfo2(){
  697. if(grd_prcplist.rows> 1){
  698. if(model.getValue("/root/init/prcpinfo/pid")!=""){
  699. setParameter("errflag", "Y");
  700. //var ordtype = "";
  701. var genrflag = model.getValue("/root/init/prcpinfo/genrflag");
  702. /*if((genrflag == "I") || (genrflag =="E") || (genrflag =="D")){
  703. ordtype = "I";
  704. }else if ((genrflag =="O") || (genrflag =="S")){
  705. ordtype = "O";
  706. }*/
  707. //DSC 환자인 경우 genrflag를 I 로 보냄. 오류나서 2008.12.03 김성희 수정
  708. //SPMMO08900.js 파일(fInitialize_SPMMO08900())에서 genrflag가 "D"인 것을 처리하는 구문이 없음.("I" 로 처리해야함.)
  709. if(genrflag =="D"){
  710. genrflag = "I";
  711. }
  712. //modal("SPMMO08900");
  713. if((genrflag == "I") || (genrflag =="E")){
  714. setParameter("condparam", genrflag + "▦" +
  715. model.getValue("/root/init/prcpinfo/pid") + "▦" +
  716. model.getValue("/root/init/prcpinfo/orddd") + "▦" +
  717. model.getValue("/root/init/prcpinfo/cretno") + "▦" +
  718. model.getValue("/root/init/prcpinfo/acptseqno") + "▦" + // seqno
  719. model.getValue("/root/init/prcpinfo/todd") + "▦" +
  720. model.getValue("/root/init/prcpinfo/instcd")); // 임시로
  721. }else if((genrflag =="O") || (genrflag =="S")){
  722. setParameter("condparam", genrflag + "▦" +
  723. model.getValue("/root/init/prcpinfo/pid") + "▦" +
  724. model.getValue("/root/init/prcpinfo/orddd") + "▦" +
  725. model.getValue("/root/init/prcpinfo/cretno") + "▦" +
  726. model.getValue("/root/init/prcpinfo/instcd") + "▦" +
  727. model.getValue("/root/init/prcpinfo/acptseqno") + "▦" +
  728. model.getValue("/root/init/prcpinfo/orgorddd") + "▦");
  729. }
  730. modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
  731. }
  732. var paminfo = getGlobalVariable("paminfo");
  733. if(paminfo.length < 1){ //상단정보가 없는 경우
  734. delPatientInfos(); //환자정보 전체 삭제
  735. var pid = model.getValue("/root/main/getbloodinfo/getpatinfo/pid");
  736. var hngnm = model.getValue("/root/main/getbloodinfo/getpatinfo/patnm");
  737. //상단에 올릴 수 있는 정보가 있으면 아래와 같이 설정해 주시면 됩니다. 없으면 안 해주셔도 되구요..
  738. setPatientInfo("pid" , pid); //등록번호
  739. setPatientInfo("pname" , pid + "|" + hngnm); //환자명
  740. }
  741. }
  742. }
  743. // 탑정보
  744. function fUpPatinfo(){
  745. if(grd_prcplist.rows> 1){
  746. if(model.getValue("/root/init/prcpinfo/prcpdd")!=""){
  747. setParameter("errflag", "Y");
  748. setParameter("condparam", "S" + "▦" + model.getvalue("/root/init/prcpinfo/prcpdd")+ "▦"
  749. + model.getvalue("/root/init/prcpinfo/execprcpuniqno") + "▦"
  750. + model.getvalue("/root/init/prcpinfo/instcd"));
  751. //modal("SPMMO08900");
  752. modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
  753. }
  754. var paminfo = getGlobalVariable("paminfo");
  755. if(paminfo.length < 1){ //상단정보가 없는 경우
  756. delPatientInfos(); //환자정보 전체 삭제
  757. var pid = model.getValue("/root/main/getbloodinfo/getpatinfo/pid");
  758. var hngnm = model.getValue("/root/main/getbloodinfo/getpatinfo/patnm");
  759. //상단에 올릴 수 있는 정보가 있으면 아래와 같이 설정해 주시면 됩니다. 없으면 안 해주셔도 되구요..
  760. setPatientInfo("pid" , pid); //등록번호
  761. setPatientInfo("pname" , pid + "|" + hngnm); //환자명
  762. }
  763. }
  764. }
  765. // 임시 최근결과
  766. function fGetBlodRslt(){
  767. //model.removeNodeset("/root/main/getbloodinfo/getblodinforslt");
  768. //grd_lastrslt.rebuild();
  769. for(i=1; i<=grd_lastrslt.cols; i++){
  770. grd_lastrslt.colHidden(i) = true;
  771. }
  772. var rsltrow = getNodesetCount("/root/main/getbloodinfo/getblodinfolist");
  773. var newcap = "";
  774. for(i=0; i< rsltrow; i++){
  775. grd_lastrslt.colHidden(i) = false;
  776. //newcap += "^" + model.getValue("/root/main/getbloodinfo/getblodinfolist["+(i+1)+"]/tclsnm");
  777. newcap += "^" + model.getValue("/root/main/getbloodinfo/getblodinfolist["+(i+1)+"]/tclsnmabbr");
  778. }
  779. grd_lastrslt.addRow(false);
  780. grd_lastrslt.addRow(false);
  781. for(i=1; i<= rsltrow; i++){
  782. model.makeValue("/root/main/getbloodinfo/getblodinforslt/row[1]/a"+i, model.getValue("/root/main/getbloodinfo/getblodinfolist["+i+"]/rslt") + " " + model.getValue("/root/main/getbloodinfo/getblodinfolist["+i+"]/unit"));
  783. model.makeValue("/root/main/getbloodinfo/getblodinforslt/row[2]/a"+i, model.getValue("/root/main/getbloodinfo/getblodinfolist["+i+"]/dt"));
  784. grd_lastrslt.colWidth((i-1)) = 90;
  785. }
  786. newcap = newcap.substring(1);
  787. grd_lastrslt.caption = newcap;
  788. grd_lastrslt.rebuild();
  789. }
  790. // 환자별 comment 행추가
  791. function fSetCmtAdd(){
  792. grd_comment.addRow();
  793. grd_comment.rowStatus(0) = 1;
  794. }
  795. // 준비혈액내역 CS 체크박스 선택하면 팝업 띄우기
  796. function fSetCMRslt(){
  797. if(model.getValue("/root/hidden/ref/cmend")=="1"){ // 완료된것
  798. if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rslt") == "3"
  799. || model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rslt") == "6"
  800. ){ // 적합(응급),보류,최소적합
  801. model.setValue("/root/hidden/cmrslt", model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rsltlist"));
  802. modal("SPLBT90100","","300","300","","/root/hidden","/root/hidden");
  803. model.setValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rsltlist", model.getValue("/root/hidden/cmrslt"));
  804. if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rsltlist") != "▦ ▦ ▦ ▦ ▦ ▦ "){
  805. // 적합응급일때는 부적합으로 안바꿈
  806. if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rslt") == "3"){
  807. // CS에 값 넣으면 부적합으로 바꾸기
  808. }else if( (model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rsltlist") != "▦적합▦적합▦적합▦ ▦ ▦ ") &&
  809. (model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rsltlist") != "▦적합▦ ▦ ▦ ▦ ▦ ") &&
  810. (model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rsltlist") != "▦-▦-▦-▦ ▦ ▦ ") &&
  811. (model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rsltlist") != "▦-▦ ▦ ▦ ▦ ▦ ") ){
  812. model.setValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rslt", "2");
  813. }
  814. }
  815. }
  816. }else{ // 미완료
  817. model.setValue("/root/hidden/cmrslt", model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rsltlist"));
  818. model.setValue("/root/hidden/rslt", model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rslt"));
  819. modal("SPLBT90100","","300","300","","/root/hidden","/root/hidden");
  820. model.setValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rsltlist", model.getValue("/root/hidden/cmrslt"));
  821. //model.setValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rslt", "2");
  822. if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rsltlist") != "▦ ▦ ▦ ▦ ▦ ▦ "){
  823. // 적합응급일때는 부적합으로 안바꿈
  824. if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rslt") == "3"){
  825. // 최소적합일때 부적합으로 안바꿈
  826. }else if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rslt") == "7"){
  827. // CS에 값 넣으면 부적합으로 바꾸기
  828. }else if( (model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rsltlist") != "▦적합▦적합▦적합▦ ▦ ▦ ") &&
  829. (model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rsltlist") != "▦적합▦ ▦ ▦ ▦ ▦ ") &&
  830. (model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rsltlist") != "▦-▦-▦-▦ ▦ ▦ ") &&
  831. (model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rsltlist") != "▦-▦ ▦ ▦ ▦ ▦ ") ){
  832. model.setValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rslt", "2");
  833. }
  834. }
  835. }
  836. }
  837. // 준비혈액 내역에 적합콤보 적합 선택시 결과값 셋팅
  838. function fSetCMRsltFit(){
  839. if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rslt")=="1"){ // 적합
  840. ////if(model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/coombsyn") == "Y"){
  841. if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/cs") == "Y"){
  842. model.setValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rsltlist", "▦-▦-▦-▦ ▦ ▦ "); // 2byte 값 들어가있음 조심하세요
  843. }else{
  844. if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rsltlist")=="▦ ▦ ▦ ▦ ▦ ▦ "){ // 다른값들어있으면 안바뀌게
  845. model.setValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rsltlist", "▦ ▦ ▦ ▦ ▦ ▦ "); // 2byte 값 들어가있음 조심하세요
  846. }
  847. }
  848. }else if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rslt")=="2"){ // 부적합
  849. if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rsltlist")=="▦ ▦ ▦ ▦ ▦ ▦ "){ // 다른값들어있으면 안바뀌게
  850. model.setValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rsltlist", "▦부적합▦ ▦ ▦ ▦ ▦ ");
  851. }
  852. }else if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rslt")=="3"){ // 적합(응급)
  853. //alert(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rsltlist") + "/");
  854. //alert(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rsltlist") == "▦ ▦ ▦ ▦ ▦ ▦ ");
  855. if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rsltlist")=="▦ ▦ ▦ ▦ ▦ ▦ "){ // 다른값들어있으면 안바뀌게
  856. model.setValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rsltlist", "▦-▦ ▦ ▦ ▦ ▦ ");
  857. }
  858. }else if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rslt")=="4"){ // 준비
  859. if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rsltlist")=="▦ ▦ ▦ ▦ ▦ ▦ "){ // 다른값들어있으면 안바뀌게
  860. model.setValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rsltlist", "▦ ▦ ▦ ▦ ▦ ▦ ");
  861. }
  862. }else if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rslt")=="5"){ // 검사중
  863. if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rsltlist")=="▦ ▦ ▦ ▦ ▦ ▦ "){ // 다른값들어있으면 안바뀌게
  864. model.setValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rsltlist", "▦ ▦ ▦ ▦ ▦ ▦ ");
  865. }
  866. }else if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rslt")=="6"){ // 보류
  867. if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rsltlist")=="▦ ▦ ▦ ▦ ▦ ▦ "){ // 다른값들어있으면 안바뀌게
  868. model.setValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rsltlist", "▦ ▦ ▦ ▦ ▦ ▦ ");
  869. }
  870. }else if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rslt")=="7"){ // 최소적합
  871. if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/cs") == "Y"){
  872. model.setValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rsltlist", "▦-▦ ▦ ▦ ▦ ▦ "); // 2byte 값 들어가있음 조심하세요
  873. }else{
  874. if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rsltlist")=="▦ ▦ ▦ ▦ ▦ ▦ "){ // 다른값들어있으면 안바뀌게
  875. model.setValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rsltlist", "▦ ▦ ▦ ▦ ▦ ▦ "); // 2byte 값 들어가있음 조심하세요
  876. }
  877. }
  878. }
  879. model.setValue("/root/hidden/cmrslt", model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rsltlist"));
  880. }
  881. // 혈액정보 결과값 더블 클릭시 검사항목 결과 히스토리 보여주기
  882. function fGetBlodInfoHistory(){
  883. //grp_history.visible = true;
  884. var rsltrow = getNodesetCount("/root/main/getbloodinfo/getblodinfolist");
  885. var tclsnm = grd_lastrslt.caption;
  886. var tnm = tclsnm.split("^");
  887. for(i=0; i< rsltrow; i++){
  888. if(grd_lastrslt.col == i){
  889. if(tnm[i] == model.getValue("/root/main/getbloodinfo/getblodinfolist["+(i+1)+"]/tclsnmabbr")){
  890. model.setValue("/root/send/tclscd", model.getValue("/root/main/getbloodinfo/getblodinfolist["+(i+1)+"]/testcd"));
  891. model.setValue("/root/send/pid", model.getValue("/root/main/getbloodinfo/getpatinfo/pid"));
  892. submit("TRLBT10407");
  893. grp_history.visible = true;
  894. }
  895. }
  896. }
  897. }
  898. // CM취소
  899. function fCMCancel(){
  900. var blodnolist = "";
  901. var blodnolist2 = "";
  902. var Msg = "";
  903. var acptnolist = "";
  904. var cancellist = "";
  905. for(i=0; i< grd_prepblood.rows; i++){
  906. if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/chk")=="Y"){
  907. if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/blodcomstat")=="4"){
  908. blodnolist += model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/blodno") + "▦" ;
  909. acptnolist += model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/tnsreqacptno") + "▦" ;
  910. cancellist += "CM" + "▦";
  911. }else if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/blodcomstat")=="3"){
  912. blodnolist += model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/blodno") + "▦" ;
  913. acptnolist += model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/tnsreqacptno") + "▦" ;
  914. cancellist += "CM" + "▦";
  915. }else if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/blodcomstat")=="2"){
  916. blodnolist += model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/blodno") + "▦" ;
  917. acptnolist += model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/tnsreqacptno") + "▦" ;
  918. cancellist += "prep" + "▦";
  919. }else{
  920. blodnolist2 += i;
  921. }
  922. }
  923. }
  924. if(model.getValue("/root/hidden/cancel/cancelgbn")=="1"){ //접수취소체크
  925. if(model.getValue("/root/hidden/cancel/preplog")=="1"){ //신청체크됨
  926. Msg="신청 취소를" ;
  927. }else{
  928. Msg="접수 취소를" ;
  929. }
  930. }else{ //접수취소체크안됨
  931. if(model.getValue("/root/hidden/cancel/preplog")=="1"){//신청체크됨
  932. Msg="신청 취소를" ;
  933. }else{
  934. Msg="CM완료 취소를" ;
  935. }
  936. }
  937. model.setValue("/root/send/blodnolist", blodnolist);
  938. model.setValue("/root/send/acptnolist", acptnolist);
  939. model.setValue("/root/send/pid", model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlistp/pid")); // 준비혈액 pid 는 다 똑같음
  940. model.setValue("/root/send/tnsreqacptno", model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/tnsreqacptno"));
  941. model.setValue("/root/send/blodcomcd", model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/blodcomcd"));
  942. model.setValue("/root/send/gbn", model.getValue("/root/hidden/cancel/cancelgbn")); // 1=접수취소 else 준비취소
  943. model.makeValue("/root/send/cancellist", cancellist);
  944. var rtn = messageBox( Msg , "Q004" ); // 실행 하시겠습니까?
  945. if(rtn == "7" ){
  946. return;
  947. }
  948. if(submit("TXLLB00101")==true){
  949. fGetBloodPrcpList("rref");
  950. }
  951. }
  952. /************************************
  953. // 수혈내역 클릭하면 준비혈액내역에
  954. // 선택한 처방일자의 혈액성분별 CM결과입력 된 준비혈액내역을 조회
  955. // 2008-08-13 김성희
  956. ************************************/
  957. function fGetPrepBloodDetllist(row){
  958. chk_cmend.select(0);
  959. //준비혈액내역조회
  960. var blodbarcd = model.getValue("/root/main/getbloodinfo/getblooddetllist["+grd_detllist.row+"]/blodbarcd");
  961. var blodcomcd = model.getValue("/root/main/getbloodinfo/getblooddetllist["+grd_detllist.row+"]/blodcomcd");
  962. var pid = model.getValue("/root/hidden/ref/pid");
  963. //var pid = model.getValue("/root/main/getbloodinfo/getpatinfo/pid");
  964. var prcphopedd = model.getValue("/root/main/getbloodinfo/getblooddetllist["+grd_detllist.row+"]/prcphopedd");
  965. var iryn = model.getValue("/root/main/getbloodinfo/getblooddetllist["+grd_detllist.row+"]/iryn");
  966. var tnsreqacptno = model.getValue("/root/main/getbloodinfo/getblooddetllist["+grd_detllist.row+"]/tnsreqacptno");
  967. if(iryn == ""){
  968. iryn = "N";
  969. }
  970. model.setValue("/root/send/blodbarcd" ,blodbarcd);
  971. model.setValue("/root/send/blodcomcd" ,blodcomcd);
  972. model.setValue("/root/send/pid" ,pid);
  973. model.setValue("/root/send/prcphopedd" ,prcphopedd);
  974. model.setValue("/root/send/cmend" ,model.getValue("/root/hidden/ref/cmend"));
  975. model.setValue("/root/send/iryn" ,iryn);
  976. model.setValue("/root/send/tnsreqacptno" ,tnsreqacptno);
  977. submit("TRLBT10304");
  978. copyNodeType("/root/main/getbloodinfo/getprepblood", "/root/main/temp", "replace");
  979. grd_prepblood.refresh();
  980. grd_prepblood.rebuildStyle(1,2,(grd_prepblood.rows-1),8);
  981. //준비혈액내역
  982. for(i=1; i<grd_prepblood.rows ; i++){
  983. if((model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/cmrslt")=="-") || (model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/cmrslt")=="")){
  984. model.setValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/rslt", "5");
  985. grd_prepblood.cellStyle("font-weight", i, 2, i, 8) = "bold";
  986. grd_prepblood.cellStyle("font-size", i, 2, i, 8) = 14;
  987. }else if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/cmrslt")=="6"){ // 보류, 적합(응급) 은 결과수정할수 있어야함
  988. model.setValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/rslt", "6");
  989. grd_prepblood.cellStyle("color", i, 2, i, 8) = "#aaaaaa";
  990. grd_prepblood.cellStyle("font-weight", i, 2, i, 8) = "normal";
  991. grd_prepblood.cellStyle("font-size", i, 2, i, 8) = 12;
  992. grd_prepblood.isReadOnly(i, 8) = false;
  993. }else if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/cmrslt")=="3"){
  994. model.setValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/rslt", "3");
  995. grd_prepblood.cellStyle("color", i, 2, i, 8) = "#aaaaaa";
  996. grd_prepblood.cellStyle("font-weight", i, 2, i, 8) = "normal";
  997. grd_prepblood.cellStyle("font-size", i, 2, i, 8) = 12;
  998. grd_prepblood.isReadOnly(i, 8) = false;
  999. }else{
  1000. model.setValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/rslt", model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/cmrslt"));
  1001. grd_prepblood.cellStyle("color", i, 2, i, 8) = "#aaaaaa";
  1002. grd_prepblood.cellStyle("font-weight", i, 2, i, 8) = "normal";
  1003. grd_prepblood.cellStyle("font-size", i, 2, i, 8) = 12;
  1004. grd_prepblood.isReadOnly(i, 8) = true;
  1005. }
  1006. model.setValue("/root/hidden/cmrslt", "");
  1007. }
  1008. if(model.getValue("/root/hidden/ref/cmend")=="1"){
  1009. grd_prepblood.fixedcellischeck(0,1) = false;
  1010. }else{
  1011. grd_prepblood.fixedcellischeck(0,1) = true;
  1012. }
  1013. grd_prepblood.rebuild();
  1014. // 준비혈액맨밑줄보이게
  1015. grd_prepblood.row = (grd_prepblood.rows-1);
  1016. var gridRow = grd_prepblood.rows;
  1017. grd_prepblood.topRow = gridRow;
  1018. model.setFocus("ipt_testpsn");
  1019. }
  1020. // 준비혈액내역 폰트 설정
  1021. function fSetPrepbloodFont(){
  1022. grd_prepblood.rebuildStyle(1,2,(grd_prepblood.rows-1),8);
  1023. for(i=1; i<=grd_prepblood.rows; i++){
  1024. if(model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+i+"]/rslt") != "1"){
  1025. grd_prepblood.cellStyle("font-weight", i, 2, i, 8) = "bold";
  1026. grd_prepblood.cellStyle("font-size", i, 2, i, 8) = 14;
  1027. }
  1028. }
  1029. grd_prepblood.rebuild();
  1030. }
  1031. // cmt 저장
  1032. function fExePatCmt(){
  1033. var cmt = grd_comment.getUpdateData();
  1034. model.setValue("/root/send/pid", model.getValue("/root/main/getbloodinfo/getpatinfo/pid"));
  1035. model.setValue("/root/send/cmt", cmt);
  1036. submit("TXLBT10303");
  1037. fGetBlodInfo("select", "N");
  1038. }
  1039. // cmt 삭제
  1040. function fDelCmtAdd(){
  1041. grd_comment.rowStatus(grd_comment.row) = 4;
  1042. var cmt = grd_comment.getUpdateData();
  1043. model.setValue("/root/send/pid", model.getValue("/root/main/getbloodinfo/getpatinfo/pid"));
  1044. model.setValue("/root/send/cmt", cmt);
  1045. submit("TXLBT10303");
  1046. fGetBlodInfo("select", "N");
  1047. }
  1048. //BMT 실시 정보
  1049. function fGetBMTInfo(gbn){
  1050. //--------------------------------------------------------------------
  1051. // BMT 실시 정보
  1052. model.setValue("/root/send/pid" , model.getValue("/root/main/getblodprcplist["+grd_prcplist.row+"]/pid"));
  1053. model.setValue("/root/send/bmtsearchgbn" , gbn);
  1054. if(gbn == "info"){
  1055. submit("TRLBT10209");
  1056. }else if(gbn == "list"){
  1057. submit("TRLBT10210");
  1058. grp_bmtinfo.visible = true;
  1059. }
  1060. }
  1061. ]]>
  1062. </script>
  1063. </xhtml:head>
  1064. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  1065. <group id="grp_tle" style="left:0px; top:0px; width:1195px; height:13px; ">
  1066. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:199px; height:13px; ">CM결과관리</caption>
  1067. </group>
  1068. <group id="grp_biz" scroll="auto" style="left:0px; top:40px; width:1195px; height:744px; ">
  1069. <datagrid id="grd_prcplist" nodeset="/root/main/getblodprcplist" caption="등록번호^환자명^처방^Type^I^수량^E^예약일자^caption1^coombs^접수번호^성분제제" colsep="^" colwidth="80, 80, 117, 115, 24, 43, 22, 149, 0, 0, 0, 0" dataheight="23" defaultrows="1" ellipsis="true" explorerbar="sortshow" fixedcols="0" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" tooltip="true" style="left:0px; top:75px; width:640px; height:502px; font-weight:bold; ">
  1070. <col ref="pid"/>
  1071. <col ref="patnm" format="yyyy-mm-dd"/>
  1072. <col ref="tclsscrnnm" format="yyyy-mm-dd hh:nn"/>
  1073. <col ref="abo"/>
  1074. <col ref="iryn" type="output" style="font-weight:bold; color:#ff0000; text-align:center; "/>
  1075. <col ref="no"/>
  1076. <col checkvalue="Y,N" disabled="true" ref="erprcpflag" type="checkbox"/>
  1077. <col ref="prcphopedd" format="yyyy-mm-dd hh:nn"/>
  1078. <col ref="prcpdd"/>
  1079. <col ref="coombsyn"/>
  1080. <col ref="tnsreqacptno"/>
  1081. <col ref="blodcomcd"/>
  1082. <script type="javascript" ev:event="onclick">
  1083. <![CDATA[
  1084. // 처방 목록 리스트 선택
  1085. if(grd_prcplist.isCell(event.target) && grd_prcplist.row >= grd_prcplist.fixedRows){
  1086. fGetBlodInfo("select", "Y");
  1087. }
  1088. ]]>
  1089. </script>
  1090. <script type="javascript" ev:event="onaftersort">
  1091. <![CDATA[
  1092. grd_prcplist.gridToInstance();
  1093. ]]>
  1094. </script>
  1095. </datagrid>
  1096. <datagrid id="grd_prepblood" nodeset="/root/main/getbloodinfo/getprepblood/getprepbloodlist" caption="^No^혈액번호^혈액성분^혈액형^I^검사자^적합^CS^Comment^검사일시^혈액바코드^성분제제코드^pid^상태^cmrslt^rsltlist^tnsreqacptno" colsep="^" colwidth="25, 50, 80, 100, 56, 30, 64, 60, 30, 70, 70, 0, 0, 0,70,0, 0, 0" dataheight="23" defaultrows="1" ellipsis="true" explorerbar="sortshow" frozencols="4" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" tooltip="true" style="left:645px; top:551px; width:549px; height:192px; font-weight:bold; ">
  1097. <col checkvalue="Y,N" ref="chk" type="checkbox"/>
  1098. <col ref="pno"/>
  1099. <col ref="blodno"/>
  1100. <col ref="blodcomnm"/>
  1101. <col ref="abo"/>
  1102. <col ref="iryn" type="output" style="font-weight:bold; color:#ff0000; text-align:center; "/>
  1103. <col ref="testid"/>
  1104. <col ref="rslt" type="combo">
  1105. <choices>
  1106. <item>
  1107. <label>적합</label>
  1108. <value>1</value>
  1109. </item>
  1110. <item>
  1111. <label>부적합</label>
  1112. <value>2</value>
  1113. </item>
  1114. <item>
  1115. <label>적합(응급)</label>
  1116. <value>3</value>
  1117. </item>
  1118. <item>
  1119. <label>준비</label>
  1120. <value>4</value>
  1121. </item>
  1122. <item>
  1123. <label>검사중</label>
  1124. <value>5</value>
  1125. </item>
  1126. <item>
  1127. <label>보류</label>
  1128. <value>6</value>
  1129. </item>
  1130. <item>
  1131. <label>최소적합</label>
  1132. <value>7</value>
  1133. </item>
  1134. </choices>
  1135. </col>
  1136. <col checkvalue="Y,N" disabled="true" ref="cs" type="checkbox"/>
  1137. <col ref="blodcmt" type="input"/>
  1138. <col ref="testdt" format="yyyy-mm-dd"/>
  1139. <col ref="blodbarcd"/>
  1140. <col ref="blodcomcd"/>
  1141. <col ref="pid"/>
  1142. <col ref="blodcomstatnm"/>
  1143. <col ref="cmrslt"/>
  1144. <col ref="rsltlist"/>
  1145. <col ref="tnsreqacptno"/>
  1146. <script type="javascript" ev:event="xforms-select">
  1147. <![CDATA[
  1148. // if(grd_prepblood.isCell(event.target) && grd_prepblood.row >= grd_prepblood.fixedRows){
  1149. // CM 저장할꺼
  1150. if(grd_prepblood.col != 1){
  1151. fSetCMRsltFit();
  1152. }
  1153. // }
  1154. ]]>
  1155. </script>
  1156. <script type="javascript" ev:event="ondblclick">
  1157. <![CDATA[
  1158. if(grd_prepblood.isCell(event.target) && grd_prepblood.row >= grd_prepblood.fixedRows){
  1159. if(grd_prepblood.col == 9){
  1160. //교차시험 완료 이후이고, 적합응급,보류혈액인 경우와 교차시험 완료 이전인 경우
  1161. //var blodcomstat = model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/blodcomstat");
  1162. //var rslt = model.getValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/rslt");
  1163. //if(((blodcomstat == "3" || blodcomstat == "4" || blodcomstat == "5") && (rslt == "3" || rslt == "6")) || blodcomstat == "2"){
  1164. fSetCMRslt();
  1165. // }
  1166. }
  1167. }
  1168. ]]>
  1169. </script>
  1170. <script type="javascript" ev:event="xforms-value-changed">
  1171. <![CDATA[
  1172. model.setValue("/root/main/getbloodinfo/getprepblood/getprepbloodlist["+grd_prepblood.row+"]/chk", "Y");
  1173. ]]>
  1174. </script>
  1175. <script type="javascript" ev:event="onaftersort">
  1176. <![CDATA[
  1177. grd_prepblood.gridToInstance();
  1178. ]]>
  1179. </script>
  1180. </datagrid>
  1181. <datagrid id="grd_detllist" nodeset="/root/main/getbloodinfo/getblooddetllist" caption="처방일자^혈액성분^Type^I^처방수량^준비수량^혈액성분코드^blodbarcd^tnsreqacptno" colsep="^" colwidth="119, 100, 75, 30, 130, 127, 0,0,0" dataheight="23" defaultrows="1" ellipsis="true" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" style="left:0px; top:606px; width:640px; height:137px; ">
  1182. <col ref="prcphopedd" format="yyyy-mm-dd"/>
  1183. <col ref="blodcomnm"/>
  1184. <col ref="aborh"/>
  1185. <col ref="iryn" type="output" style="font-weight:bold; color:#ff0000; text-align:center; "/>
  1186. <col ref="reqqty"/>
  1187. <col ref="cno"/>
  1188. <col ref="blodcomcd"/>
  1189. <col ref="blodbarcd"/>
  1190. <col ref="tnsreqacptno"/>
  1191. <script type="javascript" ev:event="onclick">
  1192. <![CDATA[
  1193. //수혈내역 클릭하면 준비혈액내역 조회
  1194. //datagrid click or dbclick 시점에 현재 click target이 data 영역인지 check
  1195. if(isDataCell("grd_detllist")){
  1196. fGetPrepBloodDetllist(grd_detllist.row);
  1197. }
  1198. ]]>
  1199. </script>
  1200. <script type="javascript" ev:event="onaftersort">
  1201. <![CDATA[
  1202. grd_detllist.gridToInstance();
  1203. ]]>
  1204. </script>
  1205. </datagrid>
  1206. <datagrid id="grd_com" nodeset="/root/main/getbloodinfo/getbloodcom" caption="혈액성분^From No^To No^준비수량" colsep="^" colwidth="198, 110, 120, 80" dataheight="23" defaultrows="1" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" style="left:645px; top:427px; width:549px; height:94px; ">
  1207. <col ref="blodcomnm"/>
  1208. <col ref="fromno"/>
  1209. <col ref="tono"/>
  1210. <col ref="pcnt"/>
  1211. </datagrid>
  1212. <datagrid id="grd_comment" nodeset="/root/main/getbloodinfo/getpatcmt" caption="등록일자^Comment" colsep="^" colwidth="119, 390" dataheight="23" defaultrows="1" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="23" rowsep="|" style="left:645px; top:326px; width:549px; height:71px; ">
  1213. <col ref="rgstdt" format="yyyy-mm-dd hh:nn"/>
  1214. <col editmode="input" ref="patcmt" type="combo">
  1215. <choices>
  1216. <itemset nodeset="/root/init/LB0122">
  1217. <label ref="nm"/>
  1218. <value ref="nm"/>
  1219. </itemset>
  1220. </choices>
  1221. </col>
  1222. </datagrid>
  1223. <group id="grp_sea" style="left:0px; top:10px; width:1194px; height:35px; vertical-align:top; ">
  1224. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:1194px; height:35px; "/>
  1225. <line id="line13" class="line_4" style="x1:1108px; y1:7px; x2:1108px; y2:29px; "/>
  1226. <caption id="caption1" class="search_no_b" visibility="hidden" style="left:563px; top:10px; width:15px; height:17px; ">~</caption>
  1227. <caption id="caption16" class="search_name" style="left:742px; top:8px; width:93px; height:17px; ">등록번호 :</caption>
  1228. <caption id="caption8" class="search_name" style="left:45px; top:8px; width:80px; height:17px; ">검사자 :</caption>
  1229. <caption id="caption2" class="search_name" visibility="hidden" style="left:356px; top:9px; width:91px; height:17px; ">조회일자 :</caption>
  1230. <button id="btn_ref" class="btn1_letter2" style="left:1123px; top:7px; width:56px; height:22px; ">
  1231. <caption>조회</caption>
  1232. <script type="javascript" ev:event="DOMActivate">
  1233. <![CDATA[
  1234. fGetBloodPrcpList("rref");
  1235. ]]>
  1236. </script>
  1237. </button>
  1238. <input id="ipt_fromdd" ref="/root/hidden/ref/reffromdd" class="input_s_essential" visibility="hidden" inputtype="date" style="left:445px; top:8px; width:115px; height:19px; "/>
  1239. <input id="ipt_testpsn" ref="/root/hidden/ref/testpsn" class="input_button" inputtype="button" style="left:128px; top:8px; width:90px; height:19px; "/>
  1240. <output id="opt_testpsn" ref="/root/main/getUsernm/usernm" class="output_fix" style="left:221px; top:8px; width:95px; height:19px; "/>
  1241. <input id="ipt_pid" ref="/root/hidden/ref/pid" class="input_button" inputtype="button" style="left:835px; top:8px; width:100px; height:19px; "/>
  1242. <input id="ipt_todd" ref="/root/hidden/ref/reftodd" class="input_s_essential" visibility="hidden" inputtype="date" style="left:581px; top:8px; width:115px; height:19px; "/>
  1243. </group>
  1244. <line id="line10" class="line_1" style="x1:0px; y1:70px; x2:640px; y2:70px; "/>
  1245. <line id="line12" class="line_1" style="x1:0px; y1:601px; x2:640px; y2:601px; "/>
  1246. <caption id="caption32" class="tit_2" style="left:5px; top:55px; width:131px; height:13px; ">혈액은행 처방 목록</caption>
  1247. <caption id="caption7" class="tit_2" style="left:5px; top:586px; width:70px; height:13px; ">수혈내역</caption>
  1248. <line id="line8" class="line_1" style="x1:645px; y1:321px; x2:1194px; y2:321px; "/>
  1249. <output id="output11" ref="/root/main/getBMTInfo/getBMTInfo/trnptdd" class="output_fix" style="left:1114px; top:144px; width:80px; height:19px; "/>
  1250. <output id="output13" ref="/root/main/getBMTInfo/getBMTInfo/btype" class="output_fix" style="left:912px; top:144px; width:60px; height:19px; "/>
  1251. <line id="line15" class="line_1" style="x1:645px; y1:70px; x2:1194px; y2:70px; "/>
  1252. <caption id="caption3" class="tit_2" style="left:650px; top:306px; width:124px; height:13px; ">환자별 Comment</caption>
  1253. <caption id="caption14" class="tit_2" style="left:650px; top:55px; width:70px; height:13px; ">환자정보</caption>
  1254. <line id="line1" class="line_3" style="x1:645px; y1:166px; x2:1194px; y2:166px; "/>
  1255. <line id="line3" class="line_1" style="x1:645px; y1:191px; x2:1194px; y2:191px; "/>
  1256. <caption id="caption17" class="tit_2" style="left:650px; top:176px; width:70px; height:13px; ">혈액정보</caption>
  1257. <caption id="caption15" class="tit_2" style="left:650px; top:531px; width:136px; height:13px; ">준비 혈액 내역</caption>
  1258. <line id="line2" class="line_1" style="x1:645px; y1:546px; x2:1194px; y2:546px; "/>
  1259. <caption id="caption13" class="tit_2" style="left:650px; top:407px; width:136px; height:8px; ">혈액성분</caption>
  1260. <line id="line16" class="line_1" style="x1:645px; y1:422px; x2:1194px; y2:422px; "/>
  1261. <line id="line7" class="line_3" style="x1:645px; y1:297px; x2:1194px; y2:297px; "/>
  1262. <caption id="caption4" visibility="hidden" style="left:850px; top:305px; width:102px; height:20px; vertical-align:middle; ">진료에 보여주는거</caption>
  1263. <button id="btn_addrow" class="btn2_letter3" style="left:1040px; top:301px; width:53px; height:19px; ">
  1264. <caption>행추가</caption>
  1265. <script type="javascript" ev:event="DOMActivate">
  1266. <![CDATA[
  1267. fSetCmtAdd();
  1268. ]]>
  1269. </script>
  1270. </button>
  1271. <button id="btn_save" class="btn2_letter2" style="left:1152px; top:301px; width:42px; height:19px; ">
  1272. <caption>저장</caption>
  1273. <script type="javascript" ev:event="DOMActivate">
  1274. <![CDATA[
  1275. // cmt 저장
  1276. fExePatCmt();
  1277. ]]>
  1278. </script>
  1279. </button>
  1280. <output id="opt_pid" ref="/root/main/getbloodinfo/getpatinfo/pid" class="font_pid" style="left:645px; top:75px; width:300px; height:65px; text-align:left; "/>
  1281. <output id="opt_patnm" ref="/root/main/getbloodinfo/getpatinfo/patnm" class="font_pid" style="left:948px; top:75px; width:245px; height:65px; text-align:left; "/>
  1282. <output id="opt_sexage" ref="/root/main/getbloodinfo/getpatinfo/sexage" class="output_fix" visibility="hidden" style="left:840px; top:400px; width:55px; height:19px; "/>
  1283. <output id="opt_rstno" ref="/root/main/getbloodinfo/getpatinfo/rstno" class="output_fix" style="left:733px; top:144px; width:95px; height:19px; "/>
  1284. <output id="opt_iogbn" ref="/root/main/getbloodinfo/getpatinfo/prcpgenrflag" class="output_fix" visibility="hidden" style="left:900px; top:400px; width:80px; height:19px; "/>
  1285. <output id="opt_dept" ref="/root/main/getbloodinfo/getpatinfo/orddeptnm" class="output_fix" visibility="hidden" style="left:1050px; top:400px; width:49px; height:19px; "/>
  1286. <output id="opt_wardroom" ref="/root/main/getbloodinfo/getpatinfo/wardroom" class="output_fix" visibility="hidden" style="left:1105px; top:400px; width:80px; height:19px; "/>
  1287. <output id="opt_abo" ref="/root/main/getbloodinfo/getpatinfo/aborh" class="font_ab" style="left:645px; top:221px; width:150px; height:75px; font-size:36pt; word-wrap:word; "/>
  1288. <output id="output1" ref="/root/main/getbloodinfo/getpatinfo/orddrnm" class="output_fix" visibility="hidden" style="left:985px; top:400px; width:60px; height:19px; "/>
  1289. <line id="line4" class="line_2" style="x1:946px; y1:75px; x2:946px; y2:137px; "/>
  1290. <datagrid id="grd_lastrslt" nodeset="/root/main/getbloodinfo/getblodinforslt/row" visibility="visible" caption="a^b^c^d^e^f^g^h^i^j^k^l" colsep="^" colwidth="0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" dataheight="23" defaultrows="2" ellipsis="true" mergecellsfixedrows="bycolrec" rowsep="|" selectionmode="free" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:798px; top:196px; width:396px; height:100px; ">
  1291. <col ref="a1"/>
  1292. <col ref="a2"/>
  1293. <col ref="a3"/>
  1294. <col ref="a4"/>
  1295. <col ref="a5"/>
  1296. <col ref="a6"/>
  1297. <col ref="a7"/>
  1298. <col ref="a8"/>
  1299. <col ref="a9"/>
  1300. <col ref="a10"/>
  1301. <col ref="a11"/>
  1302. <col ref="a12"/>
  1303. <script type="javascript" ev:event="ondblclick">
  1304. <![CDATA[
  1305. if(grd_lastrslt.isCell(event.target) && grd_lastrslt.row >= grd_lastrslt.fixedRows){
  1306. fGetBlodInfoHistory();
  1307. }
  1308. ]]>
  1309. </script>
  1310. </datagrid>
  1311. <select id="checkbox2" ref="/root/hidden/cancel/cancelgbn" overflow="visible" appearance="full" style="left:1081px; top:527px; width:70px; height:15px; border-style:none; ">
  1312. <choices>
  1313. <item>
  1314. <label>접수취소</label>
  1315. <value>1</value>
  1316. </item>
  1317. </choices>
  1318. </select>
  1319. <button id="btn_cancel" class="btn2_letter2" style="left:1152px; top:525px; width:42px; height:19px; ">
  1320. <caption>취소</caption>
  1321. <script type="javascript" ev:event="DOMActivate">
  1322. <![CDATA[
  1323. //fPrepCancel();
  1324. fCMCancel();
  1325. ]]>
  1326. </script>
  1327. </button>
  1328. <caption id="caption12" class="cell_1" style="left:645px; top:196px; width:150px; height:23px; vertical-align:middle; ">환자혈액형</caption>
  1329. <caption id="caption5" class="cell_1" style="left:645px; top:142px; width:85px; height:23px; vertical-align:middle; ">주민등록번호</caption>
  1330. <caption id="caption10" class="cell_1" style="left:1076px; top:142px; width:35px; height:23px; vertical-align:middle; ">일시</caption>
  1331. <line id="line5" class="line_2" style="x1:645px; y1:140px; x2:1194px; y2:140px; "/>
  1332. <select id="chk_cmend" ref="/root/hidden/ref/cmend" visibility="hidden" overflow="visible" appearance="full" style="left:143px; top:54px; width:100px; height:20px; border-style:none; ">
  1333. <choices>
  1334. <item>
  1335. <label>CM완료 포함</label>
  1336. <value>1</value>
  1337. </item>
  1338. </choices>
  1339. </select>
  1340. <caption id="caption11" class="cell_1" style="left:975px; top:142px; width:35px; height:23px; vertical-align:middle; ">Do</caption>
  1341. <caption id="caption18" class="cell_1" style="left:874px; top:142px; width:35px; height:23px; vertical-align:middle; ">Pt</caption>
  1342. <output id="output2" ref="/root/main/getBMTInfo/getBMTInfo/dnorbtype" class="output_fix" style="left:1013px; top:144px; width:60px; height:19px; "/>
  1343. <button id="button2" class="btn2_letter3" style="left:1096px; top:301px; width:56px; height:19px; ">
  1344. <caption>행삭제</caption>
  1345. <script type="javascript" ev:event="DOMActivate">
  1346. <![CDATA[
  1347. fDelCmtAdd();
  1348. ]]>
  1349. </script>
  1350. </button>
  1351. <group id="grp_bmtinfo" visibility="hidden" style="left:865px; top:170px; width:330px; height:215px; border-color:#5abaff; border-width:1px; border-style:solid; ">
  1352. <datagrid id="gdp_bmtinfo" nodeset="/root/main/getBMTInfo/getBMTInfoList" caption="이식전 btype^공여자 btype^이식일자^차수" colsep="^" colwidth="100, 80, 80, 40" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:0px; width:324px; height:190px; ">
  1353. <col ref="btype"/>
  1354. <col ref="dnorbtype"/>
  1355. <col ref="trnptdd" format="yyyy-mm-dd"/>
  1356. <col ref="trnptdg"/>
  1357. </datagrid>
  1358. <button id="button7" class="btn2_letter2" style="left:280px; top:191px; width:42px; height:19px; ">
  1359. <caption>닫기</caption>
  1360. <script type="javascript" ev:event="DOMActivate">
  1361. <![CDATA[
  1362. grp_bmtinfo.visible = false;
  1363. ]]>
  1364. </script>
  1365. </button>
  1366. </group>
  1367. <group id="grp_history" visibility="hidden" style="left:984px; top:195px; width:210px; height:190px; border-color:#5abaff; border-width:1px; border-style:solid; ">
  1368. <datagrid id="datagrid1" nodeset="/root/main/getbloodinfo/blodrslthistory" caption="일자^결과" colsep="^" colwidth="100, 86" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:0px; width:208px; height:163px; ">
  1369. <col ref="rsltdt" format="yyyy-mm-dd"/>
  1370. <col ref="rslt"/>
  1371. </datagrid>
  1372. <button id="button1" class="btn2_letter2" style="left:166px; top:166px; width:42px; height:19px; ">
  1373. <caption>닫기</caption>
  1374. <script type="javascript" ev:event="DOMActivate">
  1375. <![CDATA[
  1376. grp_history.visible = false;
  1377. ]]>
  1378. </script>
  1379. </button>
  1380. </group>
  1381. <select id="checkbox1" ref="/root/hidden/cancel/preplog" visibility="hidden" overflow="visible" appearance="full" style="left:1030px; top:528px; width:46px; height:15px; border-style:none; ">
  1382. <choices>
  1383. <item>
  1384. <label>신청</label>
  1385. <value>1</value>
  1386. </item>
  1387. </choices>
  1388. </select>
  1389. <button id="button8" class="btn2_letter2" style="left:830px; top:143px; width:42px; height:19px; ">
  1390. <caption>BMT</caption>
  1391. <script type="javascript" ev:event="DOMActivate">
  1392. <![CDATA[
  1393. fGetBMTInfo("list");
  1394. ]]>
  1395. </script>
  1396. </button>
  1397. </group>
  1398. <group id="grp_btn" style="left:0px; top:13px; width:1195px; height:27px; ">
  1399. <line id="line32" class="line_6" style="x1:0px; y1:25px; x2:1194px; y2:25px; "/>
  1400. <button id="btn_cm" class="btn4_letter6" style="left:1021px; top:3px; width:80px; height:22px; ">
  1401. <caption>CM 결과저장</caption>
  1402. <script type="javascript" ev:event="DOMActivate">
  1403. <![CDATA[
  1404. fSetRsltReg();
  1405. ]]>
  1406. </script>
  1407. </button>
  1408. <button id="btn_clear" class="btn4_letter3" style="left:1127px; top:3px; width:68px; height:22px; ">
  1409. <caption>초기화</caption>
  1410. <script type="javascript" ev:event="DOMActivate">
  1411. <![CDATA[
  1412. finit();
  1413. ]]>
  1414. </script>
  1415. </button>
  1416. </group>
  1417. <script type="javascript" ev:event="onkeypress">
  1418. <![CDATA[
  1419. fKeyEvent();
  1420. ]]>
  1421. </script>
  1422. <caption id="caption19" style="left:220px; top:12px; width:55px; height:25px; font-size:12pt; font-weight:bold; border-color:#f3e1bf; border-width:1px; border-style:solid; ">보검</caption>
  1423. <caption id="cap_keep" ref="/root/hidden/keepno" style="left:285px; top:12px; width:85px; height:25px; font-size:14pt; font-weight:bold; border-color:#f3e1bf; border-width:1px; border-style:solid; "/>
  1424. </xhtml:body>
  1425. </xhtml:html>