SMLQF10700_핵의학QC물질별검사관리.xrw 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763
  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>Control Range 관리</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <matrlist>
  11. <matrcd/>
  12. <matrnm/>
  13. <levlcd/>
  14. <levlnm/>
  15. <lotno/>
  16. <matrfromdd/>
  17. <matrtodd/>
  18. <prodcmpy/>
  19. <proddt/>
  20. <windt/>
  21. <matrifcd/>
  22. <fstrgstrid/>
  23. <fstrgstdt/>
  24. </matrlist>
  25. <testlist>
  26. <chk/>
  27. <testcd/>
  28. <testnm/>
  29. </testlist>
  30. <matrtclslist>
  31. <testcd/>
  32. <testnm/>
  33. <testfromdd/>
  34. <testtodd/>
  35. <rsltkind/>
  36. <refkind/>
  37. <refflag/>
  38. <refl/>
  39. <refls/>
  40. <refhs/>
  41. <refh/>
  42. <refcval/>
  43. <intrsltfrmt/>
  44. <rsltunit/>
  45. <avg/>
  46. <sdval/>
  47. <wgmrscop/>
  48. <judgkind/>
  49. <rundkind/>
  50. <graphdispyn/>
  51. <fstrgstrid/>
  52. <fstrgstdt/>
  53. <ddosevalue/>
  54. </matrtclslist>
  55. <matrinfo>
  56. <matrfromdd/>
  57. <matrcd/>
  58. <levlcd/>
  59. </matrinfo>
  60. </main>
  61. <init/>
  62. <hidden>
  63. <refgbn>1</refgbn>
  64. <refcont/>
  65. <searchflag>1</searchflag>
  66. <searchtestcd/>
  67. <testlrg>00</testlrg>
  68. <testmdl>
  69. <cd>00</cd>
  70. </testmdl>
  71. </hidden>
  72. <send>
  73. <codeflag/>
  74. <refcont/>
  75. <refgbn/>
  76. <deptflag/>
  77. <searchflag/>
  78. <matrtclslist/>
  79. <matrfromdd/>
  80. <matrcd/>
  81. <levlcd/>
  82. <matrinfo/>
  83. <testlrgcd/>
  84. <testmdlcd/>
  85. </send>
  86. </root>
  87. </instance>
  88. <script type="javascript" ev:event="xforms-ready">
  89. <![CDATA[
  90. fSetInit();
  91. ]]>
  92. </script>
  93. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  94. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  95. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  96. <submission id="TRLQF00701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/matrlist"/>
  97. <submission id="TRLZZ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/LB0000"/>
  98. <submission id="TRLQF00702" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/testlist"/>
  99. <submission id="TXLQF00701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send"/>
  100. <submission id="TRLQF00703" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/matrtclslist"/>
  101. <submission id="TRLQF00704" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/testlist"/>
  102. </model>
  103. <script type="javascript">
  104. <![CDATA[
  105. //초기화
  106. function fSetInit(){
  107. grd_testList.fixedcellcheckbox(0, 1) = true;
  108. grd_testList.fixedcellischeck(0, 1) = false;
  109. model.resetInstanceNode("/root/main/matrinfo");
  110. model.removeNodeset("/root/main/matrlist");
  111. grd_matrList.rebuild();
  112. model.removeNodeset("/root/main/testlist");
  113. grd_testList.rebuild();
  114. model.removeNodeset("/root/main/matrtclslist");
  115. grd_matrTclsList.rebuild();
  116. grd_matrTclsList.fixedcellcheckbox(0, grd_matrTclsList.colRef("graphdispyn")) = true;
  117. grd_matrTclsList.fixedcellischeck(0, grd_matrTclsList.colRef("graphdispyn")) = false;
  118. model.setValue("/root/send/codeflag", "0102|0104|0000|"); // 0102= 중분류 // 0104 대분류 // 0000 userdeptflagcd
  119. submit("TRLZZ00101");
  120. fGetMatrList(); //물질리스트조회
  121. fGetTestList(); //검사항목리스트조회
  122. }
  123. //엔터키
  124. function fKeyEvent(){
  125. if(event.keyCode == "13"){
  126. //물질 리스트 조회
  127. if(event.target =="ipt_search"){
  128. model.setValue("/root/hidden/refcont", ipt_search.currentText);
  129. fGetMatrList();
  130. }
  131. //검사항목 리스트 조회
  132. if(event.target == "ipt_searchTestCd"){
  133. model.setValue("/root/send/refcont", ipt_searchTestCd.currentText);
  134. fGetTestList();
  135. }
  136. }
  137. }
  138. //중분류 초기정보 조회
  139. function fSetTestLrgCd(){
  140. var lrg = model.getvalue("/root/hidden/testlrg");
  141. if(lrg == "00"){
  142. cmb_testMdlCd.choices.itemset.attribute("nodeset") = "/root/init/LB0102";
  143. model.setValue("/root/hidden/testmdl/cd" , "00");
  144. }
  145. else{
  146. model.setValue("/root/hidden/testmdl/cd" , "00");
  147. cmb_testMdlCd.choices.itemset.attribute("nodeset") = "/root/init/LB0102[cd= '00' or etc01='"+ lrg +"']";
  148. }
  149. cmb_testMdlCd.refresh();
  150. fGetTclscdList();
  151. }
  152. // 검사코드 리스트 조회
  153. function fGetTclscdList(){
  154. model.removeNodeset("/root/main/testlist");
  155. grd_testList.rebuild();
  156. model.setValue("/root/send/testlrgcd" , model.getValue("/root/hidden/testlrg"));
  157. model.setValue("/root/send/testmdlcd" , model.getValue("/root/hidden/testmdl/cd"));
  158. model.setValue("/root/send/deptflag" , model.getValue("/root/init/LB0000/nm"));
  159. submit("TRLQF00704");
  160. }
  161. //물질 리스트 조회
  162. function fGetMatrList(){
  163. model.setValue("/root/send/refgbn" , model.getValue("/root/hidden/refgbn")); //전체, 사용가능자료 구분
  164. model.setValue("/root/send/searchflag" , model.getValue("/root/hidden/searchflag")); //물질코드, 물질명 구분
  165. model.setValue("/root/send/refcont" , model.getValue("/root/hidden/refcont")); //입력Text
  166. model.setValue("/root/send/deptflag" , model.getValue("/root/init/LB0000/nm")); //사용자 부서코드
  167. submit("TRLQF00701");
  168. }
  169. //검사항목 리스트 조회
  170. function fGetTestList(){
  171. model.setValue("/root/send/refcont" , model.getValue("/root/hidden/searchtestcd")); //입력Text
  172. model.setValue("/root/send/deptflag" , model.getValue("/root/init/LB0000/nm")); //사용자 부서코드
  173. submit("TRLQF00702");
  174. }
  175. //검사항목 복사
  176. function fSetTestCopy(){
  177. if(model.getValue("/root/main/matrinfo/matrfromdd" ) != ""){ //물질이 선택되어있지 않은 상태에서 검사코드 추가하고자 할때 알림.. //20080726추가 -승현-
  178. var sTestcd = model.getValue("/root/main/testlist["+grd_testList.row+"]/testcd");
  179. var findrow = grd_matrTclsList.findRow(sTestcd , 1,1 , true,true);
  180. if(findrow >0 ) {
  181. alert("이미 선택된 검사코드입니다.");
  182. return;
  183. }
  184. grd_matrTclsList.addRow();
  185. model.setValue("/root/main/matrtclslist[" + (grd_matrTclsList.rows-1) + "]/testcd" , model.getValue("/root/main/testlist[" + grd_testList.row + "]/testcd"));
  186. model.setValue("/root/main/matrtclslist[" + (grd_matrTclsList.rows-1) + "]/testnm" , model.getValue("/root/main/testlist[" + grd_testList.row + "]/testnm"));
  187. //model.setValue("/root/main/matrtclslist[" + (grd_matrTclsList.rows-1) + "]/testfromdd" , getCurrentDate());
  188. model.setValue("/root/main/matrtclslist[" + (grd_matrTclsList.rows-1) + "]/testfromdd" , model.getValue("/root/main/matrinfo/matrfromdd"));
  189. model.setValue("/root/main/matrtclslist[" + (grd_matrTclsList.rows-1) + "]/testtodd" , '99991231');
  190. /*for(i=1; i<grd_matrTclsList.rows; i++){
  191. grd_matrTclsList.rowStatus(i) = 1;
  192. }*/
  193. model.setValue("/root/main/testlist[" + grd_testList.row + "]/chk ", "false");
  194. grd_matrTclsList.bottomRow = grd_matrTclsList.rows;
  195. }else{
  196. alert("물질을 먼저 선택하세요!");
  197. model.setValue("/root/main/testlist[" + grd_testList.row + "]/chk ", "false");
  198. }
  199. }
  200. //물질목록 복사
  201. function fSetMatrCopy(){
  202. model.setValue("/root/main/matrinfo/matrfromdd" , model.getValue("/root/main/matrlist[" + grd_matrList.row + "]/matrfromdd"));
  203. model.setValue("/root/main/matrinfo/matrcd" , model.getValue("/root/main/matrlist[" + grd_matrList.row + "]/matrcd"));
  204. model.setValue("/root/main/matrinfo/levlcd" , model.getValue("/root/main/matrlist[" + grd_matrList.row + "]/levlcd"));
  205. model.refresh();
  206. }
  207. //물질별 검사항목 조회
  208. function fGetMatrTclsList(){
  209. model.setValue("/root/send/matrfromdd" , model.getValue("/root/main/matrlist["+grd_matrList.row+"]/matrfromdd"));
  210. model.setValue("/root/send/matrcd" , model.getValue("/root/main/matrlist["+grd_matrList.row+"]/matrcd"));
  211. model.setValue("/root/send/levlcd" , model.getValue("/root/main/matrlist["+grd_matrList.row+"]/levlcd"));
  212. model.setValue("/root/send/deptflag" , model.getValue("/root/init/LB0000/nm"));
  213. if(submit("TRLQF00703")){
  214. fSetMatrCopy(); //조회 데이터가 없으면 물질목록 복사
  215. }
  216. grd_matrTclsList.isReadOnly(1,1, grd_matrTclsList.rows-1, 4) = true; //검사코드부터 종료일자까지 비활성화...
  217. //wgmr 열에 tooltiptext 를 설정한다
  218. for(var i=grd_matrTclsList.fixedRows; i<grd_matrTclsList.rows; i++)
  219. {
  220. grd_matrTclsList.tooltipText(i, grd_matrTclsList.colRef("wgmrscop")) = "1 : 1(2S)" + "\n" + "2 : 1(3S)" + "\n" + "3 : 2(2S)" + "\n" + "4 : R(4S)" + "\n" + "5 : 4(1S)" + "\n" + "6 : 10X " ;
  221. }
  222. }
  223. //저장 데이터 확인
  224. function checkGridUpdate(grid)
  225. {
  226. var iData = grid.getUpdateDataXml("insert");
  227. var uData = grid.getUpdateDataXml("update");
  228. var dData = grid.getUpdateDataXml("delete");
  229. if (iData=="" && uData=="" && dData=="") return false;
  230. else return true;
  231. }
  232. //물질별 검사 정보 저장
  233. function fExeMatrTclsList(){
  234. model.setValue("/root/send/matrtclslist" , grd_matrTclsList.getUpdateData());
  235. model.copyNode("/root/send/matrinfo" , "/root/main/matrinfo");
  236. model.setValue("/root/send/deptflag" , model.getValue("/root/init/LB0000/nm"));
  237. if(model.getValue("/root/main/matrinfo/matrfromdd") == "" || model.getValue("/root/main/matrinfo/matrcd") == "" || model.getValue("/root/main/matrinfo/levlcd") == "" ||
  238. model.getValue("/root/main/matrtclslist/testcd") == "" || model.getValue("/root/main/matrtclslist/testfromdd")==""){
  239. messageBox("필수 항목이 입력되지 않았습니다.","I007");
  240. return false;
  241. }
  242. if ( submit("TXLQF00701") ) {
  243. //grd_matrTclsList.clearStatus(); // submit() 성공하면 그리드의 i,u,d 상태 제거
  244. fGetMatrTclsList(); // 물질정보 다시 조회
  245. }
  246. }
  247. //검사항목 리스트 클릭시 Row선택하면 체크 선택되게
  248. function fTestListClick(){
  249. if(grd_testList.col != "1"){
  250. if(model.getValue("/root/main/testlist[" + grd_testList.row + "]/chk") == "false"){
  251. model.setValue("/root/main/testlist[" + grd_testList.row + "]/chk", "true");
  252. }else{
  253. model.setValue("/root/main/testlist[" + grd_testList.row + "]/chk", "false");
  254. }
  255. }
  256. }
  257. //선택 항목 복사함
  258. function fCopyTestList(){ //grd_matrTclsList
  259. var vChk = ""
  260. var vTestCd = ""
  261. var vTestNm = ""
  262. if(model.getValue("/root/main/matrinfo/matrfromdd" ) != ""){ //물질이 선택되어있지 않은 상태에서 검사코드 추가하고자 할때 알림..
  263. for ( i = 1; i < grd_testList.rows; i++){
  264. vChk = model.getValue("/root/main/testlist[" + i + "]/chk");
  265. vTestCd = model.getValue("/root/main/testlist[" + i + "]/testcd");
  266. vTestNm = model.getValue("/root/main/testlist[" + i + "]/testnm");
  267. if( vChk == "true"){ //검사항목 선택된놈들
  268. if(grd_matrTclsList.findRow(vTestCd, 1, 1, true, true) == "-1"){ //물질별 검사항목에 등록되어있지 않은 항목만
  269. grd_matrTclsList.addRow(false);
  270. model.setValue("/root/main/matrtclslist[" + (grd_matrTclsList.rows-1) + "]/testcd" , vTestCd);
  271. model.setValue("/root/main/matrtclslist[" + (grd_matrTclsList.rows-1) + "]/testnm" , vTestNm);
  272. //model.setValue("/root/main/matrtclslist[" + (grd_matrTclsList.rows-1) + "]/testfromdd" , getCurrentDate());
  273. model.setValue("/root/main/matrtclslist[" + (grd_matrTclsList.rows-1) + "]/testfromdd" , model.getValue("/root/main/matrinfo/matrfromdd"));
  274. model.setValue("/root/main/matrtclslist[" + (grd_matrTclsList.rows-1) + "]/testtodd" , '99991231');
  275. model.setValue("/root/main/testlist[" + i + "]/chk", "false");
  276. }else{
  277. alert(vTestCd + " 항목이 중복되었습니다");
  278. model.setValue("/root/main/testlist[" + i + "]/chk", "false");
  279. }
  280. }
  281. }//end for
  282. grd_matrTclsList.bottomRow = grd_matrTclsList.rows;
  283. }else{
  284. alert("물질을 먼저 선택하세요");
  285. }
  286. model.refresh();
  287. }
  288. //Low, High 입력시 평균 및 표준편차 Set
  289. function fSetRef(){
  290. var vRefL = model.getValue("/root/main/matrtclslist[" + grd_matrTclsList.row + "]/refl");
  291. var vRefH = model.getValue("/root/main/matrtclslist[" + grd_matrTclsList.row + "]/refh");
  292. if(vRefL != "" && vRefH != ""){
  293. if(parseFloat(vRefL) > parseFloat(vRefH)){
  294. alert("참고치 하한값이 상한값보다 클 수 없습니다.");
  295. return;
  296. }
  297. var vAvg = (parseFloat(vRefL) + parseFloat(vRefH)) / 2;
  298. var vSD = vAvg / 2;
  299. model.setValue("/root/main/matrtclslist[" + grd_matrTclsList.row + "]/avg" , vAvg);
  300. model.setValue("/root/main/matrtclslist[" + grd_matrTclsList.row + "]/sdval" , vSD);
  301. }
  302. }
  303. ]]>
  304. </script>
  305. </xhtml:head>
  306. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  307. <group id="group1" style="left:0px; top:40px; width:1195px; height:744px; font-size:18pt; ">
  308. <line id="line7" class="line_1" style="x1:0px; y1:376px; x2:1194px; y2:376px; "/>
  309. <caption id="cap_regno" class="cell_1" style="left:0px; top:381px; width:190px; height:23px; ">사용시작일자</caption>
  310. <group id="group4" style="left:0px; top:10px; width:625px; height:35px; ">
  311. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:625px; height:35px; "/>
  312. <button id="btn_sea" class="btn1_letter2" style="left:473px; top:7px; width:56px; height:22px; ">
  313. <caption>조회</caption>
  314. <script type="javascript" ev:event="DOMActivate">
  315. <![CDATA[
  316. //물질리스트조회
  317. fGetMatrList();
  318. ]]>
  319. </script>
  320. </button>
  321. <caption id="caption15" class="search_name" style="left:15px; top:9px; width:86px; height:18px; ">조회구분 :</caption>
  322. <input id="ipt_search" ref="/root/hidden/refcont" class="input_s_button" style="left:313px; top:8px; width:100px; height:19px; ">
  323. <script type="javascript" ev:event="onkeypress">
  324. <![CDATA[
  325. fKeyEvent();
  326. ]]>
  327. </script>
  328. </input>
  329. <select1 id="cbo_searchFlag" ref="/root/hidden/refgbn" class="combo_s_essential" appearance="minimal" style="left:103px; top:8px; width:100px; height:19px; ">
  330. <choices>
  331. <item>
  332. <label>사용가능자료</label>
  333. <value>1</value>
  334. </item>
  335. <item>
  336. <label>전체자료</label>
  337. <value>2</value>
  338. </item>
  339. </choices>
  340. </select1>
  341. <line id="line2" class="line_4" style="x1:458px; y1:6px; x2:458px; y2:28px; "/>
  342. <select1 id="combo1" ref="/root/hidden/searchflag" class="combo_s_essential" appearance="minimal" style="left:208px; top:8px; width:100px; height:19px; ">
  343. <choices>
  344. <item>
  345. <label>Control 코드</label>
  346. <value>1</value>
  347. </item>
  348. <item>
  349. <label>Control 명</label>
  350. <value>2</value>
  351. </item>
  352. </choices>
  353. </select1>
  354. </group>
  355. <datagrid id="grd_matrList" nodeset="/root/main/matrlist" caption="Control 코드^Control 명^levlcd^Standard 명^LOT번호^사용시작일시^사용종료일시^제조회사^제조일시^입고일시^IF코드^등록자^등록일시" colsep="^" colwidth="70, 100, 0, 70, 70, 70, 70, 70, 70, 70, 50, 60, 70" dataheight="23" explorerbar="sortshow" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:0px; top:75px; width:890px; height:276px; ">
  356. <col ref="matrcd"/>
  357. <col ref="matrnm"/>
  358. <col ref="levlcd"/>
  359. <col ref="levlnm" visibility="hidden"/>
  360. <col ref="lotno"/>
  361. <col ref="matrfromdd" format="yyyy-mm-dd"/>
  362. <col ref="matrtodd" format="yyyy-mm-dd"/>
  363. <col ref="prodcmpy"/>
  364. <col ref="proddt" format="yyyy-mm-dd"/>
  365. <col ref="windt" format="yyyy-mm-dd"/>
  366. <col ref="matrifcd" visibility="hidden"/>
  367. <col ref="fstrgstrid"/>
  368. <col ref="fstrgstdt" format="yyyy-mm-dd"/>
  369. <script type="javascript" ev:event="ondblclick">
  370. <![CDATA[
  371. //더블 클릭시 물질정보 조회
  372. if(grd_matrList.isCell(event.target) && grd_matrList.row >= grd_matrList.fixedRows){
  373. fGetMatrTclsList();
  374. }
  375. ]]>
  376. </script>
  377. <script type="javascript" ev:event="onaftersort">
  378. <![CDATA[
  379. grd_matrList.gridToInstance();
  380. ]]>
  381. </script>
  382. </datagrid>
  383. <line id="line1" class="line_1" style="x1:0px; y1:70px; x2:890px; y2:70px; "/>
  384. <caption id="caption1" class="tit_2" style="left:5px; top:361px; width:169px; height:14px; ">Control 정보</caption>
  385. <caption id="cap_sexage" class="cell_1" style="left:396px; top:381px; width:190px; height:23px; ">Control 코드</caption>
  386. <caption id="cap_psnno" class="cell_1" style="left:792px; top:381px; width:190px; height:23px; ">Standard 코드</caption>
  387. <output id="opt_matrfromdd" ref="/root/main/matrinfo/matrfromdd" class="output_fix" style="left:193px; top:382px; width:200px; height:19px; "/>
  388. <output id="out_matrcd" ref="/root/main/matrinfo/matrcd" class="output_fix" style="left:589px; top:382px; width:200px; height:19px; "/>
  389. <output id="out_levlcd" ref="/root/main/matrinfo/levlcd" class="output_fix" style="left:985px; top:382px; width:209px; height:19px; "/>
  390. <line id="line9" class="line_3" style="x1:0px; y1:403px; x2:1194px; y2:403px; "/>
  391. <caption id="caption7" class="tit_2" style="left:5px; top:55px; width:115px; height:14px; ">Control 리스트</caption>
  392. <group id="group3" style="left:630px; top:10px; width:565px; height:35px; ">
  393. <shape id="roundrect2" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:565px; height:35px; "/>
  394. <button id="button1" class="btn1_letter2" style="left:224px; top:7px; width:56px; height:22px; ">
  395. <caption>조회</caption>
  396. <script type="javascript" ev:event="DOMActivate">
  397. <![CDATA[
  398. fGetTestList();
  399. ]]>
  400. </script>
  401. </button>
  402. <caption id="caption4" class="search_name" style="left:5px; top:9px; width:86px; height:17px; ">검사코드 :</caption>
  403. <input id="ipt_searchTestCd" ref="/root/hidden/searchtestcd" class="input_s_button" style="left:98px; top:8px; width:100px; height:19px; ">
  404. <script type="javascript" ev:event="onkeypress">
  405. <![CDATA[
  406. fKeyEvent();
  407. ]]>
  408. </script>
  409. </input>
  410. <select1 id="cmb_testLrgCd" ref="/root/hidden/testlrg" class="combo_s_essential" appearance="minimal" itemcount="10" style="left:325px; top:8px; width:110px; height:19px; ">
  411. <choices>
  412. <itemset nodeset="/root/init/LB0104">
  413. <label ref="nm"/>
  414. <value ref="cd"/>
  415. </itemset>
  416. </choices>
  417. <script type="javascript" ev:event="xforms-value-changed">
  418. <![CDATA[
  419. fSetTestLrgCd();
  420. ]]>
  421. </script>
  422. </select1>
  423. <select1 id="cmb_testMdlCd" ref="/root/hidden/testmdl/cd" class="combo_s_essential" appearance="minimal" itemcount="10" style="left:440px; top:8px; width:115px; height:19px; ">
  424. <choices>
  425. <itemset nodeset="/root/init/LB0102">
  426. <label ref="nm"/>
  427. <value ref="cd"/>
  428. </itemset>
  429. </choices>
  430. <script type="javascript" ev:event="xforms-select">
  431. <![CDATA[
  432. //검사코드리스트조회
  433. fGetTclscdList();
  434. ]]>
  435. </script>
  436. </select1>
  437. <line id="line13" class="line_4" style="x1:214px; y1:6px; x2:214px; y2:28px; "/>
  438. <line id="line5" class="line_4" style="x1:304px; y1:6px; x2:304px; y2:28px; "/>
  439. </group>
  440. <datagrid id="grd_testList" nodeset="/root/main/testlist" caption="^검사코드^검사명" colsep="^" colwidth="30, 100, 120" dataheight="23" explorerbar="sortshow" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:895px; top:75px; width:299px; height:276px; ">
  441. <col checkvalue="true,false" ref="chk" type="checkbox" visibility="visible"/>
  442. <col ref="testcd"/>
  443. <col ref="testnm"/>
  444. <script type="javascript" ev:event="ondblclick">
  445. <![CDATA[
  446. //더블 클릭시 검사코드, 검사명 복사
  447. if(grd_testList.isCell(event.target) && grd_testList.row >= grd_testList.fixedRows){
  448. fSetTestCopy();
  449. }
  450. ]]>
  451. </script>
  452. <script type="javascript" ev:event="onaftersort">
  453. <![CDATA[
  454. grd_testList.gridToInstance();
  455. ]]>
  456. </script>
  457. <script type="javascript" ev:event="onclick">
  458. <![CDATA[
  459. if(grd_testList.isCell(event.target) && grd_testList.row >= grd_testList.fixedRows){
  460. fTestListClick();
  461. }
  462. ]]>
  463. </script>
  464. </datagrid>
  465. <line id="line14" class="line_1" style="x1:895px; y1:70px; x2:1194px; y2:70px; "/>
  466. <caption id="caption3" class="tit_2" style="left:900px; top:55px; width:115px; height:14px; ">검사항목 리스트</caption>
  467. <datagrid id="grd_matrTclsList" nodeset="/root/main/matrtclslist" caption="검사코드^검사명^시작일자^종료일자^Def. DOSE^결과유형^참고치유형^참고치구분^참고치하한^하한^상한^참고치상한^참고치문자^소수길이^단위^평균^표준편차^WGMR범위^판정유형^반올림옵션^그래프^등록자^등록일시" colsep="^" colwidth="80, 120, 85, 85, 80, 80, 80, 80, 80, 50, 50, 80, 80, 60, 50, 50, 60, 80, 80, 80, 60, 80, 135" dataheight="23" explorerbar="sortshow" frozencols="4" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="23" rowsep="|" tooltip="true" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:0px; top:433px; width:1194px; height:299px; ">
  468. <col ref="testcd" style="left:20px; top:23px; width:80px; height:23px; "/>
  469. <col ref="testnm"/>
  470. <col ref="testfromdd" type="inputdate"/>
  471. <col ref="testtodd" type="inputdate"/>
  472. <col ref="ddosevalue" type="input"/>
  473. <col ref="rsltkind" type="combo">
  474. <choices>
  475. <item>
  476. <label>문자+숫자</label>
  477. <value>0</value>
  478. </item>
  479. <item>
  480. <label>숫자</label>
  481. <value>1</value>
  482. </item>
  483. </choices>
  484. </col>
  485. <col ref="refkind" type="combo">
  486. <choices>
  487. <item>
  488. <label>없음</label>
  489. <value>0</value>
  490. </item>
  491. <item>
  492. <label>문자</label>
  493. <value>1</value>
  494. </item>
  495. <item>
  496. <label>숫자</label>
  497. <value>2</value>
  498. </item>
  499. </choices>
  500. </col>
  501. <col ref="refflag" type="combo">
  502. <choices>
  503. <item>
  504. <label>사용안함</label>
  505. <value>0</value>
  506. </item>
  507. <item>
  508. <label>하한만사용</label>
  509. <value>1</value>
  510. </item>
  511. <item>
  512. <label>상한만사용</label>
  513. <value>2</value>
  514. </item>
  515. <item>
  516. <label>모두사용</label>
  517. <value>3</value>
  518. </item>
  519. </choices>
  520. </col>
  521. <col ref="refl" type="input"/>
  522. <col ref="refls" type="combo">
  523. <choices>
  524. <item>
  525. <label>
  526. <![CDATA[<]]>
  527. </label>
  528. <value>0</value>
  529. </item>
  530. <item>
  531. <label>
  532. <![CDATA[<=]]>
  533. </label>
  534. <value>1</value>
  535. </item>
  536. </choices>
  537. </col>
  538. <col ref="refhs" type="combo">
  539. <choices>
  540. <item>
  541. <label>
  542. <![CDATA[<]]>
  543. </label>
  544. <value>0</value>
  545. </item>
  546. <item>
  547. <label>
  548. <![CDATA[<=]]>
  549. </label>
  550. <value>1</value>
  551. </item>
  552. </choices>
  553. </col>
  554. <col ref="refh" type="input"/>
  555. <col ref="refcval" type="input"/>
  556. <col ref="intrsltfrmt" type="combo">
  557. <choices>
  558. <item>
  559. <label>-</label>
  560. <value>-</value>
  561. </item>
  562. <item>
  563. <label>0</label>
  564. <value>0</value>
  565. </item>
  566. <item>
  567. <label>1</label>
  568. <value>1</value>
  569. </item>
  570. <item>
  571. <label>2</label>
  572. <value>2</value>
  573. </item>
  574. <item>
  575. <label>3</label>
  576. <value>3</value>
  577. </item>
  578. <item>
  579. <label>4</label>
  580. <value>4</value>
  581. </item>
  582. <item>
  583. <label>5</label>
  584. <value>5</value>
  585. </item>
  586. <item>
  587. <label>6</label>
  588. <value>6</value>
  589. </item>
  590. <item>
  591. <label>7</label>
  592. <value>7</value>
  593. </item>
  594. <item>
  595. <label>8</label>
  596. <value>8</value>
  597. </item>
  598. <item>
  599. <label>9</label>
  600. <value>9</value>
  601. </item>
  602. <item>
  603. <label>10</label>
  604. <value>10</value>
  605. </item>
  606. </choices>
  607. </col>
  608. <col ref="rsltunit" type="input"/>
  609. <col ref="avg" type="input"/>
  610. <col ref="sdval" type="input"/>
  611. <col imemode="disabled" ref="wgmrscop" type="input" visibility="hidden" maxlength="6" _chartype="upper"/>
  612. <col ref="judgkind" type="combo">
  613. <choices>
  614. <item>
  615. <label>미사용</label>
  616. <value>0</value>
  617. </item>
  618. <item>
  619. <label>
  620. <![CDATA[L/H]]>
  621. </label>
  622. <value>1</value>
  623. </item>
  624. </choices>
  625. </col>
  626. <col ref="rundkind" type="combo">
  627. <choices>
  628. <item>
  629. <label>사용안함</label>
  630. <value>0</value>
  631. </item>
  632. <item>
  633. <label>반올림</label>
  634. <value>1</value>
  635. </item>
  636. <item>
  637. <label>올림</label>
  638. <value>2</value>
  639. </item>
  640. <item>
  641. <label>내림</label>
  642. <value>3</value>
  643. </item>
  644. </choices>
  645. </col>
  646. <col checkvalue="Y,N" ref="graphdispyn" type="checkbox"/>
  647. <col ref="fstrgstrid"/>
  648. <col ref="fstrgstdt" format="yyyy-mm-dd hh:mm:ss"/>
  649. <script type="javascript" ev:event="xforms-value-changed">
  650. <![CDATA[
  651. if(grd_matrTclsList.isCell(event.target) && grd_matrTclsList.row >= grd_matrTclsList.fixedRows){
  652. if(grd_matrTclsList.col == grd_matrTclsList.colRef("refl") || grd_matrTclsList.col == grd_matrTclsList.colRef("refh")){
  653. fSetRef();
  654. }
  655. }
  656. ]]>
  657. </script>
  658. </datagrid>
  659. <button id="button52" class="btn2_letter3" disabled="true" visibility="hidden" style="left:1085px; top:407px; width:53px; height:19px; ">
  660. <caption>행추가</caption>
  661. <script type="javascript" ev:event="DOMActivate">
  662. <![CDATA[
  663. grd_matrTclsList.addItem();
  664. ]]>
  665. </script>
  666. </button>
  667. <button id="button53" class="btn2_letter3" style="left:1141px; top:407px; width:53px; height:19px; ">
  668. <caption>행삭제</caption>
  669. <script type="javascript" ev:event="DOMActivate">
  670. <![CDATA[
  671. //grd_matrTclsList.rowStatus(grd_matrTclsList.row) = 4; //멀티업데이트 시 Delete로 설정 //0:new, 1:insert, 2:update, 3:insert&new, 4:delete
  672. grd_matrTclsList.deleteitem(grd_matrTclsList.row); //물질리스트의 검사항목 삭제기능을 사용한다고 해서 주석처리..20080714 심양보 팀장님 회의 내용
  673. ]]>
  674. </script>
  675. </button>
  676. <button id="btn_up" class="icon_bottom" style="left:1035px; top:354px; width:26px; height:19px; ">
  677. <caption/>
  678. <script type="javascript" ev:event="DOMActivate">
  679. <![CDATA[
  680. fCopyTestList();
  681. ]]>
  682. </script>
  683. </button>
  684. <caption id="caption2" class="tit_2" style="left:0px; top:413px; width:170px; height:14px; ">Control 별 검사항목 설정</caption>
  685. <line id="line4" class="line_1" style="x1:0px; y1:428px; x2:1194px; y2:428px; "/>
  686. </group>
  687. <group id="group2" style="left:0px; top:0px; width:1195px; height:13px; ">
  688. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:139px; height:14px; ">Control Range 관리</caption>
  689. </group>
  690. <group id="grp_btn" style="left:0px; top:13px; width:1195px; height:27px; ">
  691. <button id="btn_init" class="btn4_letter3" style="left:1127px; top:3px; width:68px; height:22px; ">
  692. <caption>초기화</caption>
  693. <script type="javascript" ev:event="DOMActivate">
  694. <![CDATA[
  695. window.reload();
  696. ]]>
  697. </script>
  698. </button>
  699. <button id="btn_exec" class="btn4_letter2" style="left:1068px; top:3px; width:56px; height:22px; ">
  700. <caption>저장</caption>
  701. <script type="javascript" ev:event="DOMActivate">
  702. <![CDATA[
  703. if(messageBox("", "Q002")==6){
  704. if(!checkGridUpdate(grd_matrTclsList)){
  705. messageBox("저장할 자료가 존재하지 않아 실행", "E001");
  706. return;
  707. }
  708. //저장버튼
  709. fExeMatrTclsList();
  710. }
  711. ]]>
  712. </script>
  713. </button>
  714. <line id="line3" class="line_6" style="x1:0px; y1:25px; x2:1194px; y2:25px; "/>
  715. </group>
  716. </xhtml:body>
  717. </xhtml:html>