SMLQJ10200_핵의학물질별결과관리.xrw 46 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  3. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  4. <xhtml:head>
  5. <xhtml:title>QC 결과관리</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <acptlist>
  11. <rsltmark/>
  12. <bcno/>
  13. <matrnm/>
  14. <levlnm/>
  15. <matrcd/>
  16. <levlcd/>
  17. <acptdt/>
  18. <testcd/>
  19. <testnm/>
  20. </acptlist>
  21. <rsltinfo>
  22. <testrsltinfo>
  23. <chk/>
  24. <testnm/>
  25. <buforgrslt/>
  26. <viewrslt/>
  27. <judgmark/>
  28. <rsltstat/>
  29. <wgmrmark/>
  30. <wgmrstat/>
  31. <bcno/>
  32. <testcd/>
  33. <measfactcnts/>
  34. <judgkind/>
  35. <refkind/>
  36. <refflag/>
  37. <refl/>
  38. <refh/>
  39. <refls/>
  40. <refhs/>
  41. <orgrslt/>
  42. <rsltkind/>
  43. <wgmrscop/>
  44. <sdval/>
  45. <avg/>
  46. <rundkind/>
  47. <graphdispyn/>
  48. <refcval/>
  49. <intrsltfrmt/>
  50. <bfrslt1/>
  51. <rsltcnfmdt/>
  52. <bfrsltcnfmdt/>
  53. <bfrsltcnfmid/>
  54. <bfrslt2/>
  55. <bfrslt3/>
  56. <bfrslt4/>
  57. <bfrslt5/>
  58. <bfrslt6/>
  59. <bfrslt7/>
  60. <bfrslt8/>
  61. <bfrslt9/>
  62. <rsltunit/>
  63. <cdosevalue/>
  64. <bfvalue/>
  65. <ddosevalue/>
  66. </testrsltinfo>
  67. <spcinfo>
  68. <matrnm/>
  69. <levlnm/>
  70. <lotno/>
  71. <prodcmpy/>
  72. <eqmtnm/>
  73. </spcinfo>
  74. <spcinfo2>
  75. <wgmr/>
  76. <avg/>
  77. <sdval/>
  78. <refval/>
  79. <unit/>
  80. </spcinfo2>
  81. </rsltinfo>
  82. </main>
  83. <init/>
  84. <hidden>
  85. <bcno/>
  86. <acptfromdd/>
  87. <acpttodd/>
  88. <testroom>00</testroom>
  89. <eqmtcd>00</eqmtcd>
  90. <acptflag>00</acptflag>
  91. <matrcd/>
  92. <rsltstat>3</rsltstat>
  93. <check>0</check>
  94. <testcd/>
  95. <spcinfo>
  96. <matrnm/>
  97. <levlnm/>
  98. <lotno/>
  99. <prodcmpy/>
  100. <eqmtnm/>
  101. <wgmr/>
  102. <avg/>
  103. <sdval/>
  104. <refval/>
  105. <unit/>
  106. </spcinfo>
  107. </hidden>
  108. <send/>
  109. </root>
  110. </instance>
  111. <script type="javascript" ev:event="xforms-ready">
  112. <![CDATA[
  113. fSetInit();
  114. ]]>
  115. </script>
  116. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  117. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  118. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  119. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  120. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  121. <script type="javascript" src="../../../lis/commonweb/js/LQZ001.js"/>
  122. <submission id="TRLZZ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/LB0111"/>
  123. <submission id="TRLQJ00201" mediatype="application/x-www-form-urlencoded" method="post" ref="root/send" resultref="/root/main/acptlist"/>
  124. <submission id="TRLQJ00202" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/rsltinfo"/>
  125. <submission id="TRLQJ00203" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/rsltinfo/spcinfo2"/>
  126. <submission id="TXLQJ00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send"/>
  127. </model>
  128. <script type="javascript">
  129. <![CDATA[
  130. // 초기화 버튼
  131. function fSetInit(){
  132. model.removeNodeset("/root/main/acptlist");
  133. grd_acptList.rebuild();
  134. model.removeNodeset("/root/main/rsltinfo/testrsltinfo");
  135. grd_testRsltInfo.rebuild();
  136. model.resetInstanceNode("/root/main/rsltinfo");
  137. //grd_testRsltInfo.fixedcellcheckbox(0,1) = true;
  138. /*var cDate = getCurrentDate();
  139. var toDate = cDate.toDate().getAddDate(-1);
  140. model.setValue("/root/hidden/acptfromdd", toDate.getDateFormat()); //이전날짜로 셋팅할경우..*/
  141. model.setValue("/root/hidden/acptfromdd" , getCurrentDate());
  142. model.setValue("/root/hidden/acpttodd" , getCurrentDate());
  143. model.makeValue("/root/send/codeflag" ,"0000|0111|0701|"); //0000:사용자부서코드, 0111:시행부서계 0701: 장비코드
  144. submit("TRLZZ00101");
  145. model.setValue("/root/send/codeflag","0704|"); //0704: 접수구분
  146. model.makeValue("/root/send/basecdid", model.getValue("/root/init/LB0000/nm"));
  147. submit("TRLZZ00101");
  148. }
  149. //장비코드설정
  150. function fSetEqmtCd(){
  151. model.removeNodeset("/root/init/LB0701");
  152. model.makeValue("/root/send/basecdid", model.getValue("/root/hidden/testroom")); //검사실구분 코드(장비코드앞자리)
  153. model.makeValue("/root/send/codeflag","0701|");
  154. model.makeValue("/root/hidden/eqmtcd", '00');
  155. submit("TRLZZ00101");
  156. }
  157. //#2 검사항목 설정
  158. function fSetTestCd(){
  159. model.removeNodeset("/root/init/eqmttestlist");
  160. model.makeValue("/root/send/basecdid", model.getValue("/root/hidden/eqmtcd"));
  161. model.makeValue("/root/send/codeflag", "0702|");
  162. submit("TRLZZ00101");
  163. model.setValue("/root/hidden/testcd", "00");
  164. combo1.refresh();
  165. }
  166. //키입력이벤트
  167. function fKeyEvent(){
  168. if(event.keyCode == "13" ){
  169. if(event.target == "ipt_matr" || event.target == "ipt_bcno"){ //검체번호나 QC물질일때..
  170. model.setValue("/root/hidden/bcno", (ipt_bcno.currentText).toUpperCase());
  171. model.setValue("/root/hidden/matrcd", ipt_matr.currentText);
  172. //QC 접수리스트 조회
  173. fGetAcptList(1);
  174. }
  175. }
  176. }
  177. //키다운 이벤트
  178. function fGrdKeyDown(){
  179. if(event.keyCode == "38"){ //방향키↑키라면
  180. if(grd_testRsltInfo.row != "1"){ //첫 행이 아니라면
  181. if(grd_testRsltInfo.col == 3){ //입력 결과 칸이라면 실제 결과 조회
  182. //model.setValue("/root/main/rsltinfo/testrsltinfo[" + (grd_testRsltInfo.row-1)+ "]/buforgrslt", model.getvalue("/root/main/rsltinfo/testrsltinfo[" + (grd_testRsltInfo.row-1) + "]/orgrslt"));
  183. for(i =1; i<grd_testRsltInfo.rows; i++){
  184. if (i == (grd_testRsltInfo.row-1)){
  185. if(model.getvalue("/root/main/rsltinfo/testrsltinfo[" + (grd_testRsltInfo.row-1) + "]/orgrslt") != ""){
  186. model.setValue("/root/main/rsltinfo/testrsltinfo[" + i + "]/buforgrslt", model.getvalue("/root/main/rsltinfo/testrsltinfo[" + (grd_testRsltInfo.row-1) + "]/orgrslt")); //실제 결과를 보여준다
  187. }
  188. }
  189. else {
  190. model.setValue("/root/main/rsltinfo/testrsltinfo[" + i + "]/buforgrslt", ""); //다른행을 선택하면""
  191. }
  192. }
  193. }
  194. var refkind = model.getValue("/root/main/rsltinfo/testrsltinfo[" + (grd_testRsltInfo.row-1) + "]/refkind");
  195. var refval = "";
  196. if(refkind == "1"){
  197. refval = model.getValue("/root/main/rsltinfo/testrsltinfo[" + (grd_testRsltInfo.row-1) + "]/refcval");
  198. }else if(refkind == "2"){
  199. refval = model.getValue("/root/main/rsltinfo/testrsltinfo[" + (grd_testRsltInfo.row-1) + "]/refl") + " ~ " + model.getValue("/root/main/rsltinfo/testrsltinfo[" + (grd_testRsltInfo.row-1) + "]/refh");
  200. }else if(refkind == "0"){
  201. refval = "없음";
  202. }
  203. model.setValue("/root/main/rsltinfo/spcinfo2/wgmr" , model.getValue("/root/main/rsltinfo/testrsltinfo[" + (grd_testRsltInfo.row-1) + "]/wgmrscop"));
  204. model.setValue("/root/main/rsltinfo/spcinfo2/sdval" , model.getValue("/root/main/rsltinfo/testrsltinfo[" + (grd_testRsltInfo.row-1) + "]/sdval"));
  205. model.setValue("/root/main/rsltinfo/spcinfo2/avg" , model.getValue("/root/main/rsltinfo/testrsltinfo[" + (grd_testRsltInfo.row-1) + "]/avg"));
  206. model.setValue("/root/main/rsltinfo/spcinfo2/unit" , model.getValue("/root/main/rsltinfo/testrsltinfo[" + (grd_testRsltInfo.row-1) + "]/rsltunit"));
  207. model.setValue("/root/main/rsltinfo/spcinfo2/refval" , refval);
  208. /*
  209. model.makeValue("/root/send/testcd" , model.getValue("/root/main/rsltinfo/testrsltinfo[" + (grd_testRsltInfo.row-1) + "]/testcd")); //다른정보는 결과조회하면서 send에 있음
  210. submit("TRLQJ00203");//검체 정보 조회*/
  211. }
  212. }
  213. if(event.keyCode == "40"){ //방향키↓키라면
  214. if(grd_testRsltInfo.row != grd_testRsltInfo.rows-1){ //젤 마지막 행이 아니라면
  215. if(grd_testRsltInfo.col == 3){ //입력 결과 칸이라면 실제 결과 조회
  216. //model.setValue("/root/main/rsltinfo/testrsltinfo[" + (grd_testRsltInfo.row+1) + "]/buforgrslt", model.getvalue("/root/main/rsltinfo/testrsltinfo[" + (grd_testRsltInfo.row+1) + "]/orgrslt"));
  217. for(i =1; i<grd_testRsltInfo.rows; i++){
  218. if (i == (grd_testRsltInfo.row+1)){
  219. if(model.getvalue("/root/main/rsltinfo/testrsltinfo[" + (grd_testRsltInfo.row+1) + "]/orgrslt") != ""){
  220. model.setValue("/root/main/rsltinfo/testrsltinfo[" + i + "]/buforgrslt", model.getvalue("/root/main/rsltinfo/testrsltinfo[" + (grd_testRsltInfo.row+1) + "]/orgrslt")); //실제 결과를 보여준다
  221. }
  222. }
  223. else {
  224. model.setValue("/root/main/rsltinfo/testrsltinfo[" + i + "]/buforgrslt", ""); //다른행을 선택하면""
  225. }
  226. }
  227. }
  228. var refkind = model.getValue("/root/main/rsltinfo/testrsltinfo[" + (grd_testRsltInfo.row+1) + "]/refkind");
  229. var refval = "";
  230. if(refkind == "1"){
  231. refval = model.getValue("/root/main/rsltinfo/testrsltinfo[" + (grd_testRsltInfo.row+1) + "]/refcval");
  232. }else if(refkind == "2"){
  233. refval = model.getValue("/root/main/rsltinfo/testrsltinfo[" + (grd_testRsltInfo.row+1) + "]/refl") + " ~ " + model.getValue("/root/main/rsltinfo/testrsltinfo[" + (grd_testRsltInfo.row+1) + "]/refh");
  234. }else if(refkind == "0"){
  235. refval = "없음";
  236. }
  237. model.setValue("/root/main/rsltinfo/spcinfo2/wgmr" , model.getValue("/root/main/rsltinfo/testrsltinfo[" + (grd_testRsltInfo.row+1) + "]/wgmrscop"));
  238. model.setValue("/root/main/rsltinfo/spcinfo2/sdval" , model.getValue("/root/main/rsltinfo/testrsltinfo[" + (grd_testRsltInfo.row+1) + "]/sdval"));
  239. model.setValue("/root/main/rsltinfo/spcinfo2/avg" , model.getValue("/root/main/rsltinfo/testrsltinfo[" + (grd_testRsltInfo.row+1) + "]/avg"));
  240. model.setValue("/root/main/rsltinfo/spcinfo2/unit" , model.getValue("/root/main/rsltinfo/testrsltinfo[" + (grd_testRsltInfo.row+1) + "]/rsltunit"));
  241. model.setValue("/root/main/rsltinfo/spcinfo2/refval" , refval);
  242. /*model.makeValue("/root/send/testcd" , model.getValue("/root/main/rsltinfo/testrsltinfo[" + (grd_testRsltInfo.row+1) + "]/testcd")); //다른정보는 결과조회하면서 send에 있음
  243. submit("TRLQJ00203");//검체 정보 조회*/
  244. }
  245. }
  246. model.refresh();
  247. }
  248. //검사항목별 결과정보 결과에서 엔터키..
  249. function fGrdKeyEvent(){
  250. if(event.keyCode == "13"){ //엔터키이면
  251. var vOrgRslt = model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/buforgrslt"); //입력결과
  252. var vJudgKind = model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/judgkind"); //판정유형 0:미사용, 1:L/H
  253. var vRefKind = model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/refkind"); //참고치유형 0:없음, 1:문자, 2:숫자
  254. var vRefFalg = model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/refflag"); //참고치구분 0:사용안함, 1:하한만사용, 2:상한만사용, 3:모두사용
  255. var vRefL = model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/refl"); //참고치하한
  256. var vRefH = model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/refh"); //참고치상한
  257. var vRefLS = model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/refls"); //참고치하한부등호 0:<, 1:<=
  258. var vRefHS = model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/refhs"); //참고치상한부등호 0:>, 1>=
  259. var vWgmr = model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/wgmrscop"); //WGMR범위
  260. var vAvg = model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/avg"); //평균
  261. var vSdVal = model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/sdval"); //표준편차
  262. var vIntFrmt = model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/intrsltfrmt"); //소수점이하자릿수
  263. var vRundKind = model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/rundkind"); //반올림옵션 0:사용안함, 1:반올림, 2:올림, 3:내림
  264. var vRsltKind = model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/rsltkind"); //결과유형 0:문자+숫자, 1:숫자
  265. var vBfRslt = model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/bfrslt"); //이전결과
  266. var vBfRslt2 = model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/bfrslt2"); //이전결과 접수일자 기준 최근 2번째
  267. var vBfRslt3 = model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/bfrslt3"); //이전결과 접수일자 기준 최근 3번째
  268. var vBfRslt4 = model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/bfrslt4"); //이전결과
  269. var vBfRslt5 = model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/bfrslt5"); //이전결과
  270. var vBfRslt6 = model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/bfrslt6"); //이전결과
  271. var vBfRslt7 = model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/bfrslt7"); //이전결과
  272. var vBfRslt8 = model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/bfrslt8"); //이전결과
  273. var vBfRslt9 = model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/bfrslt9"); //이전결과
  274. var vViewRslt = fCOMLIS_CvtRslt(vOrgRslt, vRsltKind, vIntFrmt, vRundKind); //결과유형 판별 및 반올림옵션 적용
  275. var vJudgLH = fCOMLIS_QCJudgLH(vOrgRslt, vJudgKind, vRefKind, vRefFalg, vRefL, vRefLS, vRefH, vRefHS); //L/H구분 //판정하기 위해 함수 호출
  276. //var vJudgWGMR = "";
  277. /*if (vWgmr != "NNNNNN"){
  278. vJudgWGMR = fCOMLIS_QCJudgWGMR(vOrgRslt, vWgmr, vAvg, vSdVal, vBfRslt, vBfRslt2, vBfRslt3, vBfRslt4, vBfRslt5, vBfRslt6, vBfRslt7, vBfRslt8, vBfRslt9); //WGMR 판정 함수 호출
  279. }*/
  280. if(vViewRslt == "err") { //결과유형이 숫자로 되어있는데 문자로 입력되어있을때 등등... (239Line - fCOMLIS_CvtRslt)
  281. model.setvalue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/buforgrslt","");
  282. return;
  283. }
  284. model.setvalue("root/main/rsltinfo/testrsltinfo["+grd_testRsltInfo.row +"]/judgmark", vJudgLH); //L/H 판정 받은 값을 넣어줌
  285. //model.setvalue("root/main/rsltinfo/testrsltinfo["+grd_testRsltInfo.row +"]/wgmrstat", vJudgWGMR); //WGMR 판정 값을 WGMR판정에 넣어줌
  286. if(model.getvalue("root/main/rsltinfo/testrsltinfo["+grd_testRsltInfo.row +"]/wgmrstat") != ""){
  287. model.setvalue("root/main/rsltinfo/testrsltinfo["+grd_testRsltInfo.row +"]/wgmrmark", "W"); //WGMR 판정 값이 있다면 WGMR상태에 "W"넣어줌
  288. }else model.setvalue("root/main/rsltinfo/testrsltinfo["+grd_testRsltInfo.row +"]/wgmrmark", ""); //WGMR 판정 값이 없다면 WGMR상태에 ""넣어줌
  289. model.setValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/viewrslt", vViewRslt); //입력결과를 반올림처리한 보이는 결과로
  290. model.setValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/orgrslt", vOrgRslt); //입력결과를 실제 결과로 저장
  291. //판정값에 따라 그리드 셀 배경색 변경
  292. // L/H값에 따른 배경색 변경
  293. if(vJudgLH == "H"){ //판정값이 H일때 배경색 변경
  294. grd_testRsltInfo.cellStyle ("background-color", grd_testRsltInfo.row, 7, grd_testRsltInfo.row, 7) = "#f7a08b";
  295. }
  296. else if(vJudgLH == "L"){ //판정값이 L일때 배경색 변경
  297. grd_testRsltInfo.cellStyle ("background-color", grd_testRsltInfo.row, 7, grd_testRsltInfo.row, 7) = "#b9e5fb";
  298. }
  299. else{ //L이나 H가 아닐경우 허연색으로
  300. grd_testRsltInfo.cellStyle ("background-color", grd_testRsltInfo.row, 7, grd_testRsltInfo.row, 7) = "#fffff:";
  301. }
  302. //WGMR판정에 따른 배경색 변경
  303. /*if(model.getvalue("root/main/rsltinfo/testrsltinfo["+grd_testRsltInfo.row +"]/wgmrmark") == "W"){ //판정 값이 W면..
  304. grd_testRsltInfo.cellStyle ("background-color", grd_testRsltInfo.row, 9, grd_testRsltInfo.row, 9) = "#99cf16";
  305. }
  306. else{ //판정값이 ""일경우 허연색으로..
  307. grd_testRsltInfo.cellStyle ("background-color", grd_testRsltInfo.row, 9, grd_testRsltInfo.row, 9) = "#fffff:";
  308. }*/
  309. grd_testRsltInfo.refresh();
  310. //결과값이 입력되면 체크 선택
  311. if(model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/orgrslt") != ""){
  312. model.setValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/chk", "1");
  313. }else{
  314. model.setValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/chk", "0");
  315. }
  316. //엔터키 누른 후 다음칸으로 내려가게 조정하기 위하여 설정
  317. grd_testRsltInfo.row = grd_testRsltInfo.row+1;
  318. grd_testRsltInfo.col = 3;
  319. fRsltGrdEvent(); //검체 정보 조회(적용룰, 평균, 편차, 참고치, 단위등) 및 다음행 실제 결과를 임시결과칸으로 보여지게..
  320. //fGetSpcInfo(); // 다음 항목 참고치등 검체 정보 조회(▲ 함수에 같이 들어있음..아래꺼도..)
  321. //model.setValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/buforgrslt"
  322. // , model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/orgrslt")); //다음행 실제 결과를 임시결과칸으로 보여지게..
  323. }
  324. }
  325. //QC 접수 리스트 조회
  326. function fGetAcptList(pVal){
  327. model.makeValue("/root/send/bcno" , model.getValue("/root/hidden/bcno"));
  328. model.makeValue("/root/send/acptfromdd" , model.getValue("/root/hidden/acptfromdd"));
  329. model.makeValue("/root/send/acpttodd" , model.getValue("/root/hidden/acpttodd"));
  330. model.makeValue("/root/send/testroom" , model.getValue("/root/hidden/testroom"));
  331. model.makeValue("/root/send/eqmtcd" , model.getValue("/root/hidden/eqmtcd"));
  332. model.makeValue("/root/send/testcd" , model.getValue("/root/hidden/testcd"));
  333. model.makeValue("/root/send/acptflag" , model.getValue("/root/hidden/acptflag"));
  334. model.makeValue("/root/send/matrcd" , model.getValue("/root/hidden/matrcd"));
  335. model.makeValue("/root/send/rsltstat" , model.getValue("/root/hidden/rsltstat"));
  336. model.makeValue("/root/send/deptflag" , model.getValue("/root/init/LB0000/nm"));
  337. submit("TRLQJ00201");
  338. if(grd_acptList.rows != 1){
  339. grd_acptList.row = pVal;
  340. fGetDetlInfo();
  341. }
  342. }
  343. //접수리스트 선택 시 검체 정보 및 결과정보 조회
  344. function fGetDetlInfo(){
  345. model.removeNodeset("/root/main/rsltinfo/testrsltinfo");
  346. grd_testRsltInfo.rebuild();
  347. model.makeValue("/root/send/bcno" , model.getValue("/root/main/acptlist[" + grd_acptList.row + "]/bcno"));
  348. model.makeValue("/root/send/testcd" , model.getValue("/root/main/acptlist[" + grd_acptList.row + "]/testcd"));
  349. model.makeValue("/root/send/matrcd" , model.getValue("/root/main/acptlist[" + grd_acptList.row + "]/matrcd"));
  350. //model.makeValue("/root/send/levlcd" , model.getValue("/root/main/acptlist[" + grd_acptList.row + "]/levlcd"));
  351. model.makeValue("/root/send/eqmtcd" , model.getValue("/root/main/acptlist[" + grd_acptList.row + "]/eqmtcd"));
  352. model.makeValue("/root/send/acptdt" , model.getValue("/root/main/acptlist[" + grd_acptList.row + "]/acptdt"));
  353. model.makeValue("/root/send/deptflag" , model.getValue("/root/init/LB0000/nm"));
  354. submit("TRLQJ00202");
  355. //조회 후 판정값에 따라 배경 색 변환
  356. for( i =1; i<grd_testRsltInfo.rows; i++){
  357. var vJudgLH = model.getValue("/root/main/rsltinfo/testrsltinfo[" + i + "]/judgmark");
  358. var vJudgWGMR = model.getValue("/root/main/rsltinfo/testrsltinfo[" + i + "]/wgmrmark");
  359. var vRsltStat = model.getValue("/root/main/rsltinfo/testrsltinfo[" + i + "]/rsltstat");
  360. //L/H판정 값에 따른 색변경
  361. if(vJudgLH == "H"){ //판정값이 H일때 배경색 변경
  362. grd_testRsltInfo.cellStyle ("background-color", i, 7) = "#f7a08b";
  363. }
  364. else if(vJudgLH == "L"){ //판정값이 L일때 배경색 변경
  365. grd_testRsltInfo.cellStyle ("background-color", i, 7) = "#b9e5fb";
  366. }
  367. grd_testRsltInfo.cellstyle("background-color" , i,3) = "#EEFFFF";
  368. //WGMR판정값에 따른 배경색 변경
  369. if(vJudgWGMR == "W"){ //판정 값이 W다면..
  370. grd_testRsltInfo.cellStyle ("background-color", i, 9) = "#99cf16";
  371. }
  372. //결과상태 R(제외)일때 색 변경
  373. if(vRsltStat == "R"){
  374. grd_testRsltInfo.cellStyle ("background-color", i, 8) = "#fec34d";
  375. }
  376. //결과값이 있다면 자동..체크..
  377. if(model.getValue("/root/main/rsltinfo/testrsltinfo[" + i + "]/rsltstat") == "△"){ //orgrslt") != ""에서 조건 변경
  378. model.setValue("/root/main/rsltinfo/testrsltinfo[" + i + "]/chk", "1");
  379. }else{
  380. model.setValue("/root/main/rsltinfo/testrsltinfo[" + i + "]/chk", "0");
  381. }
  382. }
  383. model.setFocus("ipt_bcno");
  384. }
  385. //검사항목별 결과정보 그리드 클릭시
  386. function fRsltGrdEvent(){
  387. //if(isDataCell(grd_testRsltInfo)){ //클릭한 시점이 data영역이면 (tfHelper)//요것땜에 문제 있어서 제거함.엔터키눌르면 값이 안사라짐..
  388. fGetSpcInfo(); //검체 정보 조회(적용룰, 평균, 편차, 참고치, 단위등)
  389. //입력결과 컬럼 선택할때
  390. var col = grd_testRsltInfo.col;
  391. var vOrgRslt = model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/orgrslt"); //입력결과 선택 시 실제결과 보이게 하기 위한 변수
  392. for(i =1; i<grd_testRsltInfo.rows; i++){
  393. if (i == grd_testRsltInfo.row){
  394. if(col==3){ //입력결과 컬럼을 클릭하면
  395. if(vOrgRslt != ""){
  396. model.setValue("/root/main/rsltinfo/testrsltinfo[" + i + "]/buforgrslt", vOrgRslt); //실제 결과를 보여준다
  397. }
  398. }else {
  399. model.setValue("/root/main/rsltinfo/testrsltinfo[" + i+ "]/buforgrslt", ""); //다른칸을 선택하면""
  400. }
  401. }else {
  402. model.setValue("/root/main/rsltinfo/testrsltinfo[" + i + "]/buforgrslt", ""); //다른행을 선택하면""
  403. }
  404. }
  405. model.refresh();
  406. //}
  407. }
  408. //검사항목별 결과 정보 선택 시 검체정보 조회
  409. function fGetSpcInfo(){
  410. var refkind = model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/refkind");
  411. var flevlnm = model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/levlnm");
  412. //var vRow = model.getValue("/root/main/rsltinfo/testrsltinfo[levlnm ='"+ flevlnm +"']/orgrslt");
  413. //alert(flevlnm + "-" +vRow); return;
  414. var refval = "";
  415. if(refkind == "0"){
  416. refval = "없음";
  417. }else if(refkind == "1"){
  418. refval = model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/refcval");
  419. }else if(refkind == "2"){
  420. refval = model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/refl") + " ~ " + model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/refh");
  421. }
  422. model.setValue("/root/hidden/spcinfo/wgmr" , model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/wgmrscop"));
  423. model.setValue("/root/hidden/spcinfo/sdval" , model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/sdval"));
  424. model.setValue("/root/hidden/spcinfo/avg" , model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/avg"));
  425. model.setValue("/root/hidden/spcinfo/unit" , model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/rsltunit"));
  426. model.setValue("/root/hidden/spcinfo/refval" , model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/refval"));
  427. model.setValue("/root/hidden/spcinfo/matrnm" , model.getValue("/root/main/rsltinfo/spcinfo[levlnm = '"+flevlnm+"']/matrnm"));
  428. model.setValue("/root/hidden/spcinfo/levlnm" , model.getValue("/root/main/rsltinfo/spcinfo[levlnm = '"+flevlnm+"']/levlnm"));
  429. model.setValue("/root/hidden/spcinfo/lotno" , model.getValue("/root/main/rsltinfo/spcinfo[levlnm = '"+flevlnm+"']/lotno"));
  430. model.setValue("/root/hidden/spcinfo/prodcmpy" , model.getValue("/root/main/rsltinfo/spcinfo[levlnm = '"+flevlnm+"']/prodcmpy"));
  431. model.setValue("/root/hidden/spcinfo/eqmtnm" , model.getValue("/root/main/rsltinfo/spcinfo[levlnm = '"+flevlnm+"']/eqmtnm"));
  432. //아래꺼에서 위에걸로 변경 submit안타게 처리_20081015_승현
  433. /*model.makeValue("/root/send/testcd" , model.getValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/testcd")); //다른정보는 결과조회하면서 send에 있음
  434. submit("TRLQJ00203");*/
  435. model.refresh();
  436. }
  437. // 보고 방법 변경 버튼
  438. function fSetreptmthdchng(){
  439. }
  440. // 재검 버튼
  441. function fExeReTest(){
  442. }
  443. // 확인, 저장 할 데이터 확인
  444. function fInsSave(){
  445. if(model.getValue("/root/send/rsltstat")=="1"){ //저장일때
  446. for( i =1; i<grd_testRsltInfo.rows; i++){
  447. if(model.getValue("/root/main/rsltinfo/testrsltinfo[" + i + "]/chk") == "1"){ // 선택된 항목만 저장
  448. if(model.getValue("/root/main/rsltinfo/testrsltinfo[" + i + "]/rsltstat") == "◆" || model.getValue("/root/main/rsltinfo/testrsltinfo[" + i + "]/rsltstat") == "R"){// 확인인 항목이 있다면 저장을 하면 안되기에..
  449. alert("선택된 항목 중 확인 완료된 항목이 있습니다.");
  450. return 0;
  451. }
  452. if(model.getValue("/root/main/rsltinfo/testrsltinfo[" + i + "]/viewrslt") == ""){// 저장된 값이 없다면 저장을 하면 안되기에..
  453. alert("선택된 항목 중 결과값이 입력되지 않은항목이 있습니다.");
  454. return 0;
  455. }
  456. grd_testRsltInfo.addStatus(i, "update"); //status 를 update 변경
  457. }else{
  458. grd_testRsltInfo.removeStatus(i , "update"); //선택된 항목이 아니라면 update를 초기화한다
  459. }
  460. }
  461. }else if(model.getValue("/root/send/rsltstat")=="2"){ // 확인일때
  462. for( i =1; i<grd_testRsltInfo.rows; i++){
  463. if(model.getValue("/root/main/rsltinfo/testrsltinfo[" + i + "]/chk") == "1"){ // 선택된 항목만 저장
  464. if(model.getValue("/root/main/rsltinfo/testrsltinfo[" + i + "]/viewrslt") == ""){ // 결과값 입력 유무 체크
  465. alert("선택된 항목 중 결과값이 입력되지 않은항목이 있습니다.");
  466. return 0; //결과값이 없다면 알림창 띄우고 땡~
  467. }
  468. /*if(model.getValue("/root/main/rsltinfo/testrsltinfo[" + i + "]/rsltstat") == "◆" || model.getValue("/root/main/rsltinfo/testrsltinfo[" + i + "]/rsltstat") == "R"){// 확인인 항목이 있다면 저장을 하면 안되기에..
  469. alert("선택된 항목 중 확인 완료된 항목이 있습니다.");
  470. return 0;
  471. }*/
  472. grd_testRsltInfo.addStatus(i, "update"); //status 를 update 변경
  473. }else{
  474. grd_testRsltInfo.removeStatus(i , "update"); //선택된 항목이 아니라면 update를 초기화한다
  475. }
  476. }
  477. }else if(model.getValue("/root/send/rsltstat")=="R"){
  478. for( i =1; i<grd_testRsltInfo.rows; i++){
  479. if(model.getValue("/root/main/rsltinfo/testrsltinfo[" + i + "]/chk") == "1"){ // 선택된 항목만 저장
  480. if(model.getValue("/root/main/rsltinfo/testrsltinfo[" + i + "]/viewrslt") == ""){ // 결과값 입력 유무 체크
  481. var rtn = messageBox("결과값이 입력되지 않은항목이 있습니다.\n", "Q003");
  482. if(rtn != "6"){
  483. return 0;
  484. }
  485. }
  486. if(model.getValue("/root/main/rsltinfo/testrsltinfo[" + i + "]/measfactcnts") == ""){ // 조치사항사유 입력 유무 체크
  487. alert("제외를 위해 조치사항에 사유를 입력하세요");
  488. return 0; //결과값이 없다면 알림창 띄우고 땡~
  489. }
  490. grd_testRsltInfo.addStatus(i, "update"); //status 를 update 변경
  491. }else{
  492. grd_testRsltInfo.removeStatus(i , "update"); //선택된 항목이 아니라면 update를 초기화한다
  493. }
  494. }
  495. }
  496. }
  497. //결과 저장 및 확인 버튼
  498. function fExeSave(){
  499. if(fInsSave() !=0){
  500. model.makeValue("/root/send/testrsltlist", grd_testRsltInfo.getUpdateData());
  501. submit("TXLQJ00201", false);
  502. //fGetDetlInfo(); //검사항목별 결과정보 다시 조회
  503. fGetAcptList(grd_acptList.row);
  504. }
  505. }
  506. //전체선택 기능(결과 입력된 값만)
  507. function btnAllCheck(){
  508. var checked = model.getValue("/root/hidden/check");
  509. if(checked=="0") {
  510. checked ="1";
  511. } else {
  512. checked ="0";
  513. }
  514. model.setValue("/root/hidden/check", checked);
  515. for(i=1 ; i<grd_testRsltInfo.rows; i++){ //결과입력상태인 항목만 체크 함 -> 전체 체크로 변경
  516. //if(model.getValue("/root/main/rsltinfo/testrsltinfo[" + i + "]/rsltstat") == "△"){ //orgrslt != "" 에서 조건 변경
  517. model.setValue("/root/main/rsltinfo/testrsltinfo[" + i + "]/chk", checked);
  518. //}else{
  519. // model.setValue("/root/main/rsltinfo/testrsltinfo[" + i + "]/chk", "0");
  520. //}
  521. }
  522. btn_check.attribute("background-image") = "../../../lis/commonweb/images/chkRPT" + checked + ".gif"; //전체 체크 이미지셋팅
  523. }
  524. ]]>
  525. </script>
  526. </xhtml:head>
  527. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  528. <group id="group1" style="left:0px; top:40px; width:1195px; height:744px; font-size:18pt; ">
  529. <datagrid id="grd_testRsltInfo" nodeset="/root/main/rsltinfo/testrsltinfo" caption="^Standard^결과^결과^DEF.DOSE^CALC DOSE^%B/F^검사항목명^레벨코드^결과등록일시^결과보고시간^N^S^W^WGMR판정^조치사항^bcno^testcd^판정유형^참고치유형^참고치구분^하한^상한^refls^refhs^실제결과^결과유형^단위^wgmr범위^표준편차^평균^반올림옵션^그래프표시^참고치문자^숫자결과포멧^이전결과^이전결과일^검사자" colsep="^" colwidth="25, 100, 50, 50, 100, 100, 80, 80, 60, 0, 90, 25, 25, 25, 80, 150, 80, 50, 30, 30, 30, 30, 30, 30, 30, 30, 25,30 , 60, 35, 35, 25, 25, 40, 40, 60, 120, 80" dataheight="23" ellipsis="true" extendlastcol="scroll" frozencols="9" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" selectionmode="free" tooltip="true" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:320px; top:125px; width:874px; height:605px; ">
  530. <col checkimage="../../../lis/commonweb/images/chkRPT1.gif" checkvalue="1,0" ref="chk" type="checkbox" uncheckimage="../../../lis/commonweb/images/chkRPT0.gif"/>
  531. <col ref="levlnm"/>
  532. <col ref="buforgrslt" type="input"/>
  533. <col ref="viewrslt"/>
  534. <col ref="ddosevalue" type="input"/>
  535. <col ref="cdosevalue" type="input"/>
  536. <col ref="bfvalue" type="input"/>
  537. <col ref="testnm" visibility="hidden"/>
  538. <col ref="levlcd" visibility="hidden"/>
  539. <col ref="rsltrgstdt" format="yyyy-mm-dd hh:mm:ss"/>
  540. <col ref="rsltcnfmdt" format="yyyy-mm-dd hh:mm:ss"/>
  541. <col ref="judgmark" style="font-weight:bolder; text-align:center; "/>
  542. <col ref="rsltstat" style="font-size:9pt; font-weight:bolder; color:#339966; text-align:center; "/>
  543. <col ref="wgmrmark" visibility="hidden" style="font-weight:bolder; text-align:center; "/>
  544. <col ref="wgmrstat" visibility="hidden"/>
  545. <col ref="measfactcnts" type="input"/>
  546. <col ref="bcno" visibility="hidden"/>
  547. <col ref="testcd" visibility="hidden"/>
  548. <col ref="judgkind" visibility="hidden"/>
  549. <col ref="refkind" visibility="hidden"/>
  550. <col ref="refflag" visibility="hidden"/>
  551. <col ref="refl" visibility="hidden"/>
  552. <col ref="refh" visibility="hidden"/>
  553. <col ref="refls" visibility="hidden"/>
  554. <col ref="refhs" visibility="hidden"/>
  555. <col ref="orgrslt" visibility="hidden"/>
  556. <col ref="rsltkind" visibility="hidden"/>
  557. <col ref="rsltunit" visibility="hidden"/>
  558. <col ref="wgmrscop" visibility="hidden"/>
  559. <col ref="sdval" visibility="hidden"/>
  560. <col ref="avg" visibility="hidden"/>
  561. <col ref="rundkind" visibility="hidden"/>
  562. <col ref="graphdispyn" visibility="hidden"/>
  563. <col ref="refcval" visibility="hidden"/>
  564. <col ref="intrsltfrmt" visibility="hidden"/>
  565. <col ref="bfrslt1"/>
  566. <col ref="bfrsltcnfmdt" format="yyyy-mm-dd hh:mm:ss"/>
  567. <col ref="bfrsltcnfmid"/>
  568. <script type="javascript" ev:event="onclick">
  569. <![CDATA[
  570. if(isDataCell(grd_testRsltInfo)){
  571. fRsltGrdEvent(); //검체 정보 조회와 3번째칸 클릭하면 실제 결과 보여줌
  572. }
  573. ]]>
  574. </script>
  575. <script type="javascript" ev:event="onkeypress">
  576. <![CDATA[
  577. if(grd_testRsltInfo.col == 3){ //입력 결과 컬럼일때..
  578. fGrdKeyEvent(); //결과 입력 키이벤트
  579. }else if(event.keyCode == "13"){
  580. grd_testRsltInfo.row = grd_testRsltInfo.row+1;
  581. fRsltGrdEvent();
  582. }
  583. ]]>
  584. </script>
  585. <script type="javascript" ev:event="onkeydown">
  586. <![CDATA[
  587. fGrdKeyDown(); //방향키
  588. ]]>
  589. </script>
  590. <script type="javascript" ev:event="xforms-value-changed">
  591. <![CDATA[
  592. model.setValue("/root/main/rsltinfo/testrsltinfo[" + grd_testRsltInfo.row + "]/chk", "1");
  593. ]]>
  594. </script>
  595. </datagrid>
  596. <button id="btn_check" style="left:343px; top:128px; width:20px; height:20px; text-align:center; background-image:../../../lis/commonweb/images/chkRPT0.gif; background-position:center; ">
  597. <caption/>
  598. <script type="javascript" ev:event="DOMActivate">
  599. <![CDATA[
  600. btnAllCheck(); //결과 입력된 값 전체 체크
  601. ]]>
  602. </script>
  603. </button>
  604. <line id="line1" class="line_1" style="x1:0px; y1:200px; x2:320px; y2:200px; "/>
  605. <caption id="caption7" class="tit_2" style="left:5px; top:185px; width:115px; height:13px; ">QC 접수 리스트</caption>
  606. <datagrid id="grd_acptList" nodeset="/root/main/acptlist" caption="^Control코드^검사명^검사코드^검체번호^Standard 명^Control명^Standard코드^접수일시^장비코드" colsep="^" colwidth="20, 90, 100, 80, 90, 80, 80, 90, 130, 60" dataheight="23" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:0px; top:205px; width:320px; height:528px; ">
  607. <col ref="rsltmark" style="font-size:9pt; color:#339966; text-align:center; "/>
  608. <col ref="matrcd"/>
  609. <col ref="testnm"/>
  610. <col ref="testcd" visibility="hidden"/>
  611. <col ref="bcno" visibility="hidden"/>
  612. <col ref="levlnm" visibility="hidden"/>
  613. <col ref="matrnm" visibility="hidden"/>
  614. <col ref="levlcd" visibility="hidden"/>
  615. <col ref="acptdt" format="yyyy-mm-dd hh:nn:ss"/>
  616. <col ref="eqmtcd"/>
  617. <script type="javascript" ev:event="onclick">
  618. <![CDATA[
  619. if(isDataCell(grd_acptList)){
  620. fGetDetlInfo(); //결과정보 및 검체정보 조회(물질, 레벨, LOT번호, 제조회사, 장비)
  621. }
  622. ]]>
  623. </script>
  624. </datagrid>
  625. <line id="line14" class="line_1" style="x1:325px; y1:125px; x2:1194px; y2:125px; "/>
  626. <caption id="caption3" class="tit_2" style="left:330px; top:110px; width:139px; height:14px; ">검사항목별 결과정보</caption>
  627. <group id="group3" style="left:0px; top:10px; width:320px; height:165px; ">
  628. <shape id="roundrect2" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:320px; height:165px; "/>
  629. <caption id="caption1" class="search_name" style="left:15px; top:62px; width:89px; height:17px; ">접수구분 :</caption>
  630. <button id="btn_getAcptList" class="btn1_letter2" style="left:249px; top:131px; width:56px; height:22px; ">
  631. <caption>조회</caption>
  632. <script type="javascript" ev:event="DOMActivate">
  633. <![CDATA[
  634. fGetAcptList(1); //QC 접수리스트 조회
  635. ]]>
  636. </script>
  637. </button>
  638. <line id="line13" class="line_4" style="x1:234px; y1:131px; x2:234px; y2:153px; "/>
  639. <caption id="caption2" class="search_no_b" style="left:199px; top:14px; width:15px; height:17px; vertical-align:middle; ">~</caption>
  640. <select1 id="cbo_acptFlag" ref="/root/hidden/acptflag" class="combo_search" appearance="minimal" style="left:105px; top:61px; width:200px; height:19px; ">
  641. <choices>
  642. <itemset nodeset="/root/init/LB0704">
  643. <label ref="nm"/>
  644. <value ref="cd"/>
  645. </itemset>
  646. </choices>
  647. </select1>
  648. <caption id="caption4" class="search_name" style="left:15px; top:14px; width:89px; height:17px; ">접수일자 :</caption>
  649. <caption id="caption5" class="search_name" visibility="hidden" style="left:15px; top:86px; width:94px; height:17px; ">Control :</caption>
  650. <input id="ipt_acptfromdd" ref="/root/hidden/acptfromdd" class="input_search" inputtype="date" style="left:105px; top:13px; width:90px; height:19px; "/>
  651. <input id="ipt_acpttodd" ref="/root/hidden/acpttodd" class="input_search" inputtype="date" style="left:215px; top:13px; width:90px; height:19px; "/>
  652. <caption id="caption18" class="search_name" visibility="hidden" style="left:0px; top:135px; width:89px; height:17px; ">검체번호 :</caption>
  653. <input id="ipt_bcno" ref="/root/hidden/bcno" class="input_button" visibility="hidden" imemode="disabled" inputtype="button" maxlength="10" _chartype="upper" style="left:10px; top:135px; width:200px; height:19px; ">
  654. <script type="javascript" ev:event="onkeypress">
  655. <![CDATA[
  656. fKeyEvent();
  657. ]]>
  658. </script>
  659. </input>
  660. <line id="line6" class="line_7" visibility="hidden" style="x1:25px; y1:145px; x2:220px; y2:145px; "/>
  661. <caption id="caption8" class="search_name" visibility="hidden" style="left:0px; top:135px; width:88px; height:17px; ">검 사 실 :</caption>
  662. <select1 id="cbo_testRoom" ref="/root/hidden/testroom" class="combo_search" visibility="hidden" appearance="minimal" style="left:0px; top:135px; width:200px; height:19px; ">
  663. <choices>
  664. <itemset nodeset="/root/init/LB0111">
  665. <label ref="nm"/>
  666. <value ref="cd"/>
  667. </itemset>
  668. </choices>
  669. <script type="javascript" ev:event="xforms-value-changed">
  670. <![CDATA[
  671. fSetEqmtCd(); //검사실에 따른 장비 설정
  672. ]]>
  673. </script>
  674. </select1>
  675. <select1 id="cbo_eqmtCd" ref="/root/hidden/eqmtcd" class="combo_search" appearance="minimal" style="left:105px; top:37px; width:200px; height:19px; ">
  676. <choices>
  677. <itemset nodeset="/root/init/LB0701">
  678. <label ref="nm"/>
  679. <value ref="cd"/>
  680. </itemset>
  681. </choices>
  682. <script type="javascript" ev:event="xforms-select">
  683. <![CDATA[
  684. fSetTestCd();
  685. ]]>
  686. </script>
  687. </select1>
  688. <caption id="caption9" class="search_name" style="left:15px; top:37px; width:88px; height:17px; ">장 비 :</caption>
  689. <caption id="caption10" class="search_name" style="left:15px; top:109px; width:94px; height:17px; ">작업구분 :</caption>
  690. <select1 id="rdo_Rsltflag" ref="/root/hidden/rsltstat" class="radio_search" appearance="full" cellspacing="20" cols="3" overflow="visible" style="left:105px; top:111px; width:210px; height:13px; border-style:none; ">
  691. <choices>
  692. <item>
  693. <label>전체</label>
  694. <value>1</value>
  695. </item>
  696. <item>
  697. <label>완료</label>
  698. <value>3</value>
  699. </item>
  700. <item>
  701. <label>미완료</label>
  702. <value>2</value>
  703. </item>
  704. </choices>
  705. <script type="javascript" ev:event="xforms-value-changed">
  706. <![CDATA[
  707. if(rdo_Rsltflag.value == "3"){
  708. btn_save.disabled = true;
  709. //btn_cfm.disabled = true;
  710. }else{
  711. btn_save.disabled = false;
  712. //btn_cfm.disabled = false;
  713. }
  714. model.removeNodeset("/root/main/acptlist");
  715. model.removeNodeset("/root/main/rsltinfo/testrsltinfo");
  716. model.removeNodeset("/root/main/rsltinfo/spcinfo");
  717. model.removeNodeset("/root/main/rsltinfo/spcinfo2");
  718. model.refresh();
  719. ]]>
  720. </script>
  721. </select1>
  722. <input id="ipt_matr" ref="/root/hidden/matrcd" class="input_s_search" visibility="hidden" inputtype="button" style="left:105px; top:85px; width:200px; height:19px; ">
  723. <script type="javascript" ev:event="onkeypress">
  724. <![CDATA[
  725. fKeyEvent();
  726. ]]>
  727. </script>
  728. </input>
  729. <caption id="caption23" class="search_name" style="left:15px; top:86px; width:89px; height:17px; ">검사항목 :</caption>
  730. <select1 id="combo1" ref="/root/hidden/testcd" class="combo_search" appearance="minimal" style="left:105px; top:85px; width:200px; height:19px; ">
  731. <choices>
  732. <itemset nodeset="/root/init/LB0702">
  733. <label ref="nm"/>
  734. <value ref="cd"/>
  735. </itemset>
  736. </choices>
  737. </select1>
  738. </group>
  739. <line id="line2" class="line_1" style="x1:325px; y1:25px; x2:1194px; y2:25px; "/>
  740. <caption id="caption11" class="tit_2" style="left:330px; top:10px; width:115px; height:14px; ">검체정보</caption>
  741. <caption id="caption19" class="cell_1" style="left:325px; top:78px; width:60px; height:23px; ">평균</caption>
  742. <caption id="caption20" class="cell_1" style="left:757px; top:78px; width:60px; height:23px; ">참고치</caption>
  743. <caption id="caption21" class="cell_1" style="left:541px; top:78px; width:60px; height:23px; ">표준편차</caption>
  744. <caption id="caption22" class="cell_1" style="left:974px; top:78px; width:60px; height:23px; ">단위</caption>
  745. <output id="opt_matrcd" ref="/root/hidden/spcinfo/matrnm" class="output_fix" style="left:408px; top:31px; width:205px; height:19px; "/>
  746. <line id="line4" class="line_2" style="x1:325px; y1:52px; x2:1194px; y2:52px; "/>
  747. <line id="line5" class="line_2" style="x1:325px; y1:76px; x2:1194px; y2:76px; "/>
  748. <output id="opt_levlcd" ref="/root/hidden/spcinfo/levlnm" class="output_fix" style="left:699px; top:31px; width:205px; height:19px; "/>
  749. <output id="opt_lotno" ref="/root/hidden/spcinfo/lotno" class="output_fix" style="left:989px; top:31px; width:205px; height:19px; "/>
  750. <output id="opt_wgRule" ref="/root/main/rsltinfo/spcinfo2/wgmr" class="output_fix" visibility="hidden" style="left:578px; top:105px; width:225px; height:19px; "/>
  751. <script type="javascript" ev:event="onmouseover">
  752. <![CDATA[
  753. opt_wgRule.hint = "1 : 1(2S) " + "\n" + "2 : 1(3S) " + "\n" + "3 : 2(2S) " + "\n" + "4 : R(4S) " + "\n" + "5 : 4(1S) " + "\n" + "6 : 10X ";
  754. ]]>
  755. </script>
  756. <output id="opt_prodCmpy" ref="/root/hidden/spcinfo/prodcmpy" class="output_fix" style="left:408px; top:55px; width:345px; height:19px; "/>
  757. <output id="opt_eqmtCd" ref="/root/hidden/spcinfo/eqmtnm" class="output_fix" style="left:840px; top:55px; width:354px; height:19px; "/>
  758. <output id="opt_avg" ref="/root/hidden/spcinfo/avg" class="output_fix" style="left:388px; top:79px; width:150px; height:19px; "/>
  759. <line id="line7" class="line_3" style="x1:325px; y1:100px; x2:1194px; y2:100px; "/>
  760. <output id="opt_sDVal" ref="/root/hidden/spcinfo/sdval" class="output_fix" style="left:604px; top:79px; width:150px; height:19px; "/>
  761. <output id="opt_refVal" ref="/root/hidden/spcinfo/refval" class="output_fix" style="left:821px; top:79px; width:150px; height:19px; "/>
  762. <output id="opt_unit" ref="/root/hidden/spcinfo/unit" class="output_fix" style="left:1037px; top:79px; width:157px; height:19px; "/>
  763. <caption id="caption12" class="cell_1" style="left:616px; top:30px; width:80px; height:23px; ">Standard</caption>
  764. <caption id="caption13" class="cell_1" style="left:325px; top:30px; width:80px; height:23px; ">Control</caption>
  765. <caption id="caption14" class="cell_1" style="left:907px; top:30px; width:80px; height:23px; ">LOT번호</caption>
  766. <caption id="caption15" class="cell_1" visibility="hidden" style="left:515px; top:104px; width:60px; height:23px; ">적용룰</caption>
  767. <caption id="caption16" class="cell_1" style="left:757px; top:54px; width:79px; height:23px; ">장비</caption>
  768. <caption id="caption17" class="cell_1" style="left:326px; top:54px; width:79px; height:23px; ">제조회사</caption>
  769. </group>
  770. <group id="group2" style="left:0px; top:0px; width:1195px; height:13px; ">
  771. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:132px; height:14px; ">QC 결과관리</caption>
  772. </group>
  773. <group id="grp_btn" style="left:0px; top:13px; width:1195px; height:27px; ">
  774. <line id="line3" class="line_6" style="x1:0px; y1:25px; x2:1194px; y2:25px; "/>
  775. <button id="btn_cle" class="btn4_letter3" style="left:1127px; top:3px; width:68px; height:22px; ">
  776. <caption>초기화</caption>
  777. <script type="javascript" ev:event="onclick">
  778. <![CDATA[
  779. window.reload();
  780. ]]>
  781. </script>
  782. </button>
  783. <button id="btn_exception" class="btn4_letter2" visibility="hidden" style="left:948px; top:3px; width:56px; height:22px; ">
  784. <caption>제외</caption>
  785. <script type="javascript" ev:event="onclick">
  786. <![CDATA[
  787. model.makeValue("/root/send/rsltstat", "R");
  788. fExeSave();//fInsSave();
  789. ]]>
  790. </script>
  791. </button>
  792. <button id="btn_cfm" class="btn4_letter2" style="left:1068px; top:3px; width:56px; height:22px; ">
  793. <caption>확인</caption>
  794. <script type="javascript" ev:event="onclick">
  795. <![CDATA[
  796. model.makeValue("/root/send/rsltstat", "2");
  797. fExeSave();//fInsSave();
  798. ]]>
  799. </script>
  800. </button>
  801. <button id="btn_save" class="btn4_letter2" style="left:1009px; top:3px; width:56px; height:22px; ">
  802. <caption>저장</caption>
  803. <script type="javascript" ev:event="onclick">
  804. <![CDATA[
  805. model.makeValue("/root/send/rsltstat", "1");
  806. fExeSave();//fInsSave();
  807. ]]>
  808. </script>
  809. </button>
  810. <button id="btn_retest" class="btn4_letter2" visibility="hidden" style="left:891px; top:3px; width:56px; height:22px; ">
  811. <caption>재검</caption>
  812. <script type="javascript" ev:event="onclick">
  813. <![CDATA[
  814. fExeReTest();
  815. ]]>
  816. </script>
  817. </button>
  818. <button id="btn_reptmthdchng" class="btn4_letter6" visibility="hidden" style="left:784px; top:3px; width:104px; height:22px; ">
  819. <caption>보고방법변경</caption>
  820. <script type="javascript" ev:event="onclick">
  821. <![CDATA[
  822. fSetreptmthdchng();
  823. ]]>
  824. </script>
  825. </button>
  826. </group>
  827. </xhtml:body>
  828. </xhtml:html>