SMLQP10300_핵의학QC장비상관관계조회.xrw 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SMLQP00300_QC장비상관관계조회.xrw
  4. * 설 명 : QC장비상관관계조회
  5. * 설 계 자 : (주)에이씨케이 -
  6. * 작 성 자 : (주)에이씨케이 -
  7. * 작 성 일 : 2006.12.26
  8. * 수정이력 :
  9. * 기 타 :
  10. -->
  11. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  12. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  13. <xhtml:head>
  14. <xhtml:title/>
  15. <model id="model1">
  16. <instance id="instance1">
  17. <root>
  18. <main>
  19. <eqmtdata1/>
  20. <eqmtdata2/>
  21. </main>
  22. <send>
  23. <acptfromdd/>
  24. <acpttodd/>
  25. <testroom>00</testroom>
  26. <eqmtcd1>00</eqmtcd1>
  27. <eqmtcd2>00</eqmtcd2>
  28. <testcd/>
  29. <testcd2/>
  30. <testnm/>
  31. <testnm2/>
  32. <levlcd/>
  33. <levlcd2/>
  34. <levlnm/>
  35. <deptflag/>
  36. <acptflag>00</acptflag>
  37. </send>
  38. <init/>
  39. <hidden>
  40. <ref>
  41. <testlist>
  42. <testnm/>
  43. <testcd/>
  44. <testcd2/>
  45. <testnm2/>
  46. </testlist>
  47. <levllist>
  48. <levlnm/>
  49. <levlcd/>
  50. <levlcd2/>
  51. </levllist>
  52. </ref>
  53. <testdetlinfo>
  54. <testdetlinfo/>
  55. </testdetlinfo>
  56. <calcrslt>
  57. <meandiff/>
  58. <meandiff2/>
  59. <sddiff/>
  60. <sddiff2/>
  61. <cvdiff/>
  62. <cvdiff2/>
  63. <sdi/>
  64. <cvr/>
  65. <accuracy/>
  66. <corr/>
  67. </calcrslt>
  68. </hidden>
  69. </root>
  70. </instance>
  71. <script type="javascript" ev:event="xforms-ready">
  72. <![CDATA[
  73. fSetInit();
  74. ]]>
  75. </script>
  76. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  77. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  78. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  79. <submission id="TRLZZ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/LB0111"/>
  80. <submission id="TRLQP00301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/"/>
  81. </model>
  82. <script type="javascript">
  83. <![CDATA[
  84. function fSetInit(){
  85. //model.removeNodeset("/root/main/testdetlinfo");
  86. //grd_testDetlInfo.rebuild();
  87. var fromdate = getCurrentDate().toDate("YYYYMMDD").getAddDate(-15)
  88. model.setValue("/root/send/acptfromdd", fromdate.getDateFormat("YYYYMMDD"));
  89. //model.setValue("/root/send/acptfromdd" , getCurrentDate());
  90. model.setValue("/root/send/acpttodd" , getCurrentDate());
  91. model.makeValue("/root/send/codeflag","0000|0111|0701|"); //0000:사용자부서코드, 0111:시행부서계 0707: 장비코드
  92. submit("TRLZZ00101", false);
  93. model.makeValue("/root/send/basecdid", model.getValue("/root/init/LB0000/nm"));
  94. model.setValue("/root/send/codeflag", "0501|0704|"); //사용자 부서별로 레벨코드를 조회하기 위해 사용자부서 코드를 가져온 다음 다시 레벨코드 조회
  95. submit("TRLZZ00101");
  96. }
  97. //검사실에 대한 장비 조회
  98. function fSetEqmtCd(){
  99. model.removeNodeset("/root/init/LB0701");
  100. var testroom = model.getValue("/root/send/testroom");
  101. model.makeValue("/root/send/basecdid", testroom); //검사실구분 코드(장비코드앞자리)
  102. model.makeValue("/root/send/codeflag","0701|");
  103. model.setValue("/root/send/eqmtcd1", '00');
  104. model.setValue("/root/send/eqmtcd2", '00');
  105. submit("TRLZZ00101");
  106. }
  107. //검사항목별 레벨 조회 팝업
  108. function fTestLevlSch(){
  109. var eqmtcd = model.getValue("/root/send/eqmtcd"); //장비코드
  110. var deptflag = model.getValue("/root/init/LB0000/nm"); //사용자부서코드
  111. var tlentgh = model.getValue("/root/hidden/ref/testlist/testcd").split("▦");
  112. var testcd = model.getValue("/root/hidden/ref/testlist/testcd");
  113. for(i = 0; i < tlentgh.length; i++){
  114. testcd = testcd.replace("▦", "▤");
  115. }
  116. var sflag = "nu" + "▦" + eqmtcd + "▦" + deptflag+ "▦" + testcd;
  117. setParameter("opener_parameter_id", sflag);
  118. modal("SPLQP00200", "", "", "", "", "", "");
  119. model.setValue("/root/send/levlnm" , model.getValue("/root/hidden/ref/levllist/levlnm")); //검사명
  120. model.setValue("/root/send/levlcd" , model.getValue("/root/hidden/ref/levllist/levlcd")); //검사코드를 받아와서 셋팅~
  121. model.setValue("/root/send/levlcd2" , model.getValue("/root/hidden/ref/levllist/levlcd2"));
  122. model.refresh();
  123. fGrdSet();//검사항목에 따른 그리드 셋팅
  124. }
  125. //장비별 검사항목 조회 팝업
  126. function fTestListSch(){
  127. var eqmtcd1 = model.getValue("/root/send/eqmtcd1"); //장비코드
  128. var eqmtcd2 = model.getValue("/root/send/eqmtcd2"); //장비코드
  129. if(eqmtcd1 == "00"){ //장비코드가 전체이면
  130. messageBox("장비1을", "C002","");
  131. return;
  132. }
  133. if(eqmtcd2 == "00"){ //장비코드가 전체이면
  134. messageBox("장비2를", "C002","");
  135. return;
  136. }
  137. if(eqmtcd1 == eqmtcd2){ //장비1과 2가 같다면
  138. alert("장비1과 장비2가 같습니다!\n장비를 다시 선택하세요!!");
  139. return;
  140. }
  141. var deptflag = model.getValue("/root/init/LB0000/nm"); //사용자부서코드
  142. var sflag = "nu" + "▦" + eqmtcd1 + "▦" + deptflag + "▦" + eqmtcd2;
  143. setParameter("opener_parameter_id", sflag);
  144. modal("SPLQP00100", "", "", "", "", "", "");
  145. model.setValue("/root/send/testnm" , model.getValue("/root/hidden/ref/testlist/testnm")); //검사명
  146. model.setValue("/root/send/testnm2" , model.getValue("/root/hidden/ref/testlist/testnm2")); //검사명
  147. model.setValue("/root/send/testcd" , model.getValue("/root/hidden/ref/testlist/testcd")); //검사코드를 받아와서 셋팅~
  148. model.setValue("/root/send/testcd2" , model.getValue("/root/hidden/ref/testlist/testcd2"));
  149. model.refresh();
  150. fGrdSet();//검사항목에 따른 그리드 셋팅
  151. }
  152. //검사항목에 따른 그리드 셋팅
  153. function fGrdSet(){
  154. model.removeNodeset("/root/main/eqmtdata1");
  155. model.removeNodeset("/root/main/eqmtdata2");
  156. if(model.getValue("/root/hidden/ref/testlist/testnm") != ""){
  157. datagrid1.addRow(); ///////////////////////////////////////////////////removeNodeset하면 컬럼이 사라지지 않아
  158. datagrid2.addRow();
  159. //그리드 컬럼 추가 및 캡션 설정 //컬럼 추가때 사용
  160. var vCap = "접수일시"; //캡션 test로 초기화(고정인 컬럼 캡션)
  161. var vTestnm = model.getValue("/root/hidden/ref/testlist/testnm2").split("▦"); //검사항목을 ", "단위로 쪼개서 담고
  162. var vLevlnm = model.getValue("/root/hidden/ref/levllist/levlnm").split(", "); //검사항목을 ", "단위로 쪼개서 담고
  163. if( vTestnm.length > 10){
  164. alert("10항목 이상 선택하실 수 없습니다\n검사항목을 다시 선택하세요!!");
  165. fTestListSch();
  166. return;
  167. }
  168. //1번째 컬럼을 제외하고 다 지운다~~
  169. for(i = datagrid1.cols; i>2; i--){
  170. datagrid1.removeColumn(false);
  171. datagrid2.removeColumn(false);
  172. }
  173. //검사항목 갯수만큼 컬럼 추가
  174. for(i = 0; i<vTestnm.length ; i++){ //선택한 검사항목 갯수만큼
  175. for(j = 0; j < vLevlnm.length; j++){
  176. vCap = vCap + "^" + vTestnm[i]+"\n"+vLevlnm[j]; //캡션에 하나씩 넣어주고
  177. datagrid1.addColumn("ref:column"+i+j+ " ; type:output;", false); //컬럼 ref설정 및 output타입으로 컬럼 추가
  178. datagrid2.addColumn("ref:column"+i+j+ " ; type:output;", false); //컬럼 ref설정 및 output타입으로 컬럼 추가
  179. }
  180. }
  181. datagrid1.caption = vCap;
  182. datagrid2.caption = vCap;
  183. }
  184. model.refresh();
  185. }
  186. //결과조회(검사항목별)
  187. function fGetRslt(){
  188. model.removeNodeset("/root/main/eqmtdata1");
  189. model.removeNodeset("/root/main/eqmtdata2");
  190. if(model.getValue("/root/send/eqmtcd1") == "00"){
  191. messageBox("장비1을", "C002","");
  192. return;
  193. }
  194. if(model.getValue("/root/send/eqmtcd2") == "00"){
  195. messageBox("장비2를", "C002","");
  196. return;
  197. }
  198. if(model.getValue("/root/hidden/ref/testlist/testnm") == ""){
  199. messageBox("검사항목을", "C002","");
  200. fTestListSch();
  201. return;
  202. }
  203. if(model.getValue("/root/send/levlcd") == ""){
  204. messageBox("Standard를", "C002","");
  205. return;
  206. }
  207. model.setValue("/root/send/deptflag", model.getValue("/root/init/LB0000/nm"));
  208. submit("TRLQP00301", false);
  209. model.refresh();
  210. }
  211. function fGetCalcRslt(col){
  212. var cv1 = parseFloat(datagrid1.valueMatrix(1, col)); //장비1의 결과
  213. var mean1 = parseFloat(datagrid1.valueMatrix(2, col));
  214. var sd1 = parseFloat(datagrid1.valueMatrix(3, col));
  215. var cv2 = parseFloat(datagrid2.valueMatrix(1, col)); //장비2의 결과
  216. var mean2 = parseFloat(datagrid2.valueMatrix(2, col));
  217. var sd2 = parseFloat(datagrid2.valueMatrix(3, col));
  218. var meanDiff = Math.round((mean2 - mean1) * Math.pow(10, 10)) / Math.pow(10, 10); //Diff
  219. var meanDiff2 = Math.round((meanDiff / mean2) * Math.pow(10, 10)) / Math.pow(10, 10); //Diff(%)
  220. var sdDiff = Math.round((sd2 - sd1) * Math.pow(10, 10)) / Math.pow(10, 10);
  221. var sdDiff2 = Math.round((sdDiff / sd2) * Math.pow(10, 10)) / Math.pow(10, 10);
  222. var cvDiff = Math.round((cv2 - cv1) * Math.pow(10, 10)) / Math.pow(10, 10);
  223. var cvDiff2 = Math.round((cvDiff / cv2) * Math.pow(10, 10)) / Math.pow(10, 10);
  224. var sdi = Math.round(((mean2-mean1) / sd1) * Math.pow(10, 10)) / Math.pow(10, 10); //(실험실평균-peer 평균)/ peer SD
  225. var cvr = Math.round((cv1 / cv2) * Math.pow(10, 10)) / Math.pow(10, 10); //Peer CV / 실험실 CV
  226. var accuracy = Math.round((mean2 / mean1) * Math.pow(10, 10)) / Math.pow(10, 10);
  227. //var corr = ;
  228. model.setValue("/root/hidden/calcrslt/meandiff" , meanDiff);
  229. model.setValue("/root/hidden/calcrslt/meandiff2" , meanDiff2);
  230. model.setValue("/root/hidden/calcrslt/sddiff" , sdDiff);
  231. model.setValue("/root/hidden/calcrslt/sddiff2" , sdDiff2);
  232. model.setValue("/root/hidden/calcrslt/cvdiff" , cvDiff);
  233. model.setValue("/root/hidden/calcrslt/cvdiff2" , cvDiff2);
  234. model.setValue("/root/hidden/calcrslt/sdi" , sdi);
  235. model.setValue("/root/hidden/calcrslt/cvr" , cvr);
  236. model.setValue("/root/hidden/calcrslt/accuracy" , accuracy);
  237. //model.setValue("/root/hidden/calcrslt/corr", corr);
  238. model.refresh();
  239. }
  240. ]]>
  241. </script>
  242. </xhtml:head>
  243. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  244. <group id="group3" scroll="auto" style="left:0px; top:40px; width:1195px; height:744; ">
  245. <caption id="caption13" class="tit_2" style="left:5px; top:73px; width:370px; height:13px; ">장비간 검사항목별 비교결과 정보</caption>
  246. <line id="line6" class="line_1" style="x1:0px; y1:88px; x2:1194px; y2:88px; "/>
  247. <caption id="caption23" class="cell_1" style="left:201px; top:94px; width:85px; height:23px; ">Mean_Diff</caption>
  248. <caption id="caption24" class="cell_1" style="left:201px; top:119px; width:85px; height:23px; ">Mean_Diff(%)</caption>
  249. <caption id="caption25" class="cell_1" style="left:400px; top:95px; width:85px; height:23px; ">SD_Diff</caption>
  250. <caption id="caption7" class="cell_1" style="left:1px; top:95px; width:85px; height:23px; ">CV_Diff</caption>
  251. <caption id="caption11" class="cell_1" style="left:1px; top:120px; width:85px; height:24px; ">CV_Diff(%)</caption>
  252. <caption id="caption26" class="cell_1" style="left:598px; top:95px; width:116px; height:23px; ">SDI</caption>
  253. <caption id="caption27" class="cell_1" style="left:897px; top:95px; width:116px; height:23px; ">CVR</caption>
  254. <caption id="caption28" class="cell_1" style="left:598px; top:120px; width:116px; height:23px; ">Accuracy</caption>
  255. <caption id="caption29" class="cell_1" style="left:400px; top:120px; width:85px; height:24px; ">SD_Diff(%)</caption>
  256. <caption id="caption30" class="cell_1" style="left:897px; top:120px; width:116px; height:23px; ">상관성(Corr)</caption>
  257. <output id="output1" ref="/root/hidden/calcrslt/meandiff" class="output_fix" style="left:288px; top:96px; width:108px; height:19px; vertical-align:middle; ">
  258. <hint>
  259. <![CDATA[(장비2)Mean-(장비1)Mean]]>
  260. </hint>
  261. </output>
  262. <output id="output2" ref="/root/hidden/calcrslt/meandiff2" class="output_fix" format="(-)###.###" roundmode="round" roundposition="-4" style="left:288px; top:121px; width:108px; height:19px; vertical-align:middle; ">
  263. <hint>
  264. <![CDATA[Mean_Diff/(장비2)Mean]]>
  265. </hint>
  266. </output>
  267. <output id="output3" ref="/root/hidden/calcrslt/sddiff" class="output_fix" style="left:487px; top:97px; width:108px; height:19px; vertical-align:middle; ">
  268. <hint>
  269. <![CDATA[(장비2)SD-(장비1)SD]]>
  270. </hint>
  271. </output>
  272. <output id="output4" ref="/root/hidden/calcrslt/sdi" class="output_fix" format="(-)###.###" roundmode="round" roundposition="-4" style="left:716px; top:97px; width:177px; height:19px; ">
  273. <hint>
  274. <![CDATA[((장비2)Mean-(장비1)Mean)/(장비1)SD]]>
  275. </hint>
  276. </output>
  277. <output id="output5" ref="/root/hidden/calcrslt/cvr" class="output_fix" format="(-)###.###" roundmode="round" roundposition="-4" style="left:1015px; top:97px; width:177px; height:19px; ">
  278. <hint>
  279. <![CDATA[(장비1)CV/(장비2)CV]]>
  280. </hint>
  281. </output>
  282. <output id="output6" ref="/root/hidden/calcrslt/accuracy" class="output_fix" format="(-)###.###" roundmode="round" roundposition="-4" style="left:716px; top:122px; width:177px; height:19px; ">
  283. <hint>
  284. <![CDATA[(장비2)Mean/(장비1)Mean]]>
  285. </hint>
  286. </output>
  287. <output id="output7" ref="/root/hidden/calcrslt/cvdiff" class="output_fix" style="left:88px; top:97px; width:108px; height:19px; vertical-align:middle; ">
  288. <hint>
  289. <![CDATA[(장비2)CV-(장비1)CV]]>
  290. </hint>
  291. </output>
  292. <output id="output8" ref="/root/hidden/calcrslt/cvdiff2" class="output_fix" format="(-)###.###" roundmode="round" roundposition="-4" style="left:88px; top:122px; width:108px; height:19px; vertical-align:middle; ">
  293. <hint>
  294. <![CDATA[CV_Diff/(장비2)CV]]>
  295. </hint>
  296. </output>
  297. <output id="output10" ref="/root/hidden/calcrslt/corr" class="output_fix" format="(-)###.###" roundmode="round" roundposition="-4" style="left:1015px; top:120px; width:177px; height:19px; "/>
  298. <output id="output9" ref="/root/hidden/calcrslt/sddiff2" class="output_fix" format="(-)###.###" roundmode="round" roundposition="-4" style="left:487px; top:122px; width:108px; height:19px; vertical-align:middle; ">
  299. <hint>
  300. <![CDATA[SD_Diff/(장비2)SD]]>
  301. </hint>
  302. </output>
  303. <line id="line1" class="line_3" style="x1:0px; y1:145px; x2:1194px; y2:145px; "/>
  304. <line id="line2" class="line_1" style="x1:0px; y1:165px; x2:595px; y2:165px; "/>
  305. <caption id="caption1" class="tit_2" style="left:5px; top:150px; width:134px; height:13px; ">장비1 상세내역</caption>
  306. <group id="group1" style="left:0px; top:10px; width:1195px; height:60px; ">
  307. <shape id="roundrect2" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:1195px; height:60px; "/>
  308. <button id="button3" class="btn1_letter2" style="left:1124px; top:31px; width:56px; height:22px; ">
  309. <caption>조회</caption>
  310. <script type="javascript" ev:event="DOMActivate">
  311. <![CDATA[
  312. fGetRslt();
  313. ]]>
  314. </script>
  315. </button>
  316. <caption id="caption2" class="search_name" style="left:735px; top:10px; width:94px; height:17px; ">접수구분 :</caption>
  317. <select1 id="combo2" ref="/root/send/acptflag" class="combo_search" appearance="minimal" style="left:825px; top:9px; width:110px; height:19px; ">
  318. <choices>
  319. <itemset nodeset="/root/init/LB0704">
  320. <label ref="nm"/>
  321. <value ref="cd"/>
  322. </itemset>
  323. </choices>
  324. </select1>
  325. <line id="line3" class="line_4" style="x1:1109px; y1:31px; x2:1109px; y2:53px; "/>
  326. <caption id="caption5" class="search_name" style="left:15px; top:9px; width:87px; height:17px; ">접수일자 :</caption>
  327. <caption id="caption8" style="left:196px; top:9px; width:15px; height:20px; vertical-align:middle; ">~</caption>
  328. <caption id="caption9" class="search_name" style="left:321px; top:9px; width:92px; height:17px; ">장 비1 :</caption>
  329. <input id="input3" ref="/root/send/acptfromdd" class="input_search" inputtype="date" style="left:106px; top:8px; width:85px; height:19px; "/>
  330. <input id="input4" ref="/root/send/acpttodd" class="input_search" inputtype="date" style="left:211px; top:8px; width:85px; height:19px; "/>
  331. <caption id="caption3" class="search_name" style="left:15px; top:36px; width:86px; height:17px; ">검사항목 :</caption>
  332. <caption id="caption4" class="search_name" visibility="hidden" style="left:960px; top:35px; width:94px; height:17px; ">검사실 :</caption>
  333. <output id="input1" ref="/root/send/testnm" class="output_fix" style="left:106px; top:35px; width:385px; height:19px; "/>
  334. <button id="button4" class="icon_search" visibility="visible" style="left:888px; top:37px; width:16px; height:16px; background-image:../../../com/commonweb/images/icon_search.gif; ">
  335. <caption/>
  336. <script type="javascript" ev:event="DOMActivate">
  337. <![CDATA[
  338. fTestLevlSch(); //레벨조회 팝업 뜨지롱
  339. ]]>
  340. </script>
  341. </button>
  342. <select1 id="combo1" ref="/root/send/eqmtcd1" class="combo_search" appearance="minimal" style="left:419px; top:8px; width:95px; height:19px; ">
  343. <choices>
  344. <itemset nodeset="/root/init/LB0701">
  345. <label ref="nm"/>
  346. <value ref="cd"/>
  347. </itemset>
  348. </choices>
  349. <script type="javascript" ev:event="xforms-select">
  350. <![CDATA[
  351. if(combo1.value != "00" && combo3.value != "00"){
  352. if(combo1.value == combo3.value){
  353. alert("장비1과 장비2가 같습니다!\n장비를 다시 선택하세요!!");
  354. return;
  355. }
  356. fTestListSch(); //장비에대한 검사항목 조회 팝업뜬다~~~
  357. }
  358. var eqmt1 = (combo1.label).substr(6, combo1.label.length);
  359. caption1.value = eqmt1+" 상세내역";
  360. model.removeNodeset("/root/main/eqmtdata1");
  361. model.removeNodeset("/root/main/eqmtdata2");
  362. model.resetInstanceNode("/root/hidden/calcrslt");
  363. model.refresh();
  364. ]]>
  365. </script>
  366. </select1>
  367. <button id="btn_testListSch" class="icon_search" style="left:494px; top:37px; width:16px; height:16px; background-image:../../../com/commonweb/images/icon_search.gif; ">
  368. <caption/>
  369. <script type="javascript" ev:event="DOMActivate">
  370. <![CDATA[
  371. fTestListSch(); //장비별 검사항목 팝업 뜨지롱
  372. ]]>
  373. </script>
  374. </button>
  375. <select1 id="combo5" ref="/root/send/testroom" class="combo_s_essential" visibility="hidden" appearance="minimal" style="left:1046px; top:34px; width:30px; height:19px; ">
  376. <choices>
  377. <itemset nodeset="/root/init/LB0111">
  378. <label ref="nm"/>
  379. <value ref="cd"/>
  380. </itemset>
  381. </choices>
  382. <script type="javascript" ev:event="xforms-select">
  383. <![CDATA[
  384. fSetEqmtCd(); //검사실에 대한 장비 조회
  385. ]]>
  386. </script>
  387. </select1>
  388. <select1 id="combo3" ref="/root/send/eqmtcd2" class="combo_search" appearance="minimal" style="left:620px; top:8px; width:95px; height:19px; ">
  389. <choices>
  390. <itemset nodeset="/root/init/LB0701">
  391. <label ref="nm"/>
  392. <value ref="cd"/>
  393. </itemset>
  394. </choices>
  395. <script type="javascript" ev:event="xforms-select">
  396. <![CDATA[
  397. if(combo1.value != "00" && combo3.value != "00"){
  398. if(combo1.value == combo3.value){
  399. alert("장비1과 장비2가 같습니다!\n장비를 다시 선택하세요!!");
  400. return;
  401. }
  402. fTestListSch(); //장비에대한 검사항목 조회 팝업뜬다~~~
  403. }
  404. var eqmt2 = (combo3.label).substr(6, combo3.label.length);
  405. caption4.value = eqmt2+" 상세내역";
  406. model.removeNodeset("/root/main/eqmtdata1");
  407. model.removeNodeset("/root/main/eqmtdata2");
  408. model.resetInstanceNode("/root/hidden/calcrslt");
  409. model.refresh();
  410. ]]>
  411. </script>
  412. </select1>
  413. <caption id="caption10" class="search_name" style="left:521px; top:9px; width:92px; height:17px; ">장 비2 :</caption>
  414. <caption id="caption12" class="search_name" style="left:521px; top:37px; width:92px; height:17px; ">Standard :</caption>
  415. <input id="input2" ref="/root/send/levlnm" class="input_s_essential" style="left:619px; top:35px; width:260px; height:19px; "/>
  416. <select1 id="cbo_levlCd" ref="/root/send/levlcd" class="combo_search" appearance="minimal" style="left:619px; top:35px; width:260px; height:19px; ">
  417. <choices>
  418. <itemset nodeset="/root/init/LB0501">
  419. <label ref="nm"/>
  420. <value ref="cd"/>
  421. </itemset>
  422. </choices>
  423. </select1>
  424. <output id="output11" ref="/root/send/levlnm" class="output_fix" appearance="minimal" style="left:619px; top:35px; width:260px; height:19px; "/>
  425. </group>
  426. <datagrid id="datagrid1" nodeset="/root/main/eqmtdata1" class="datagrid2" caption="접수일시" colsep="^" colwidth="120" dataheight="23" frozenrows="3" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" selectionmode="bycol" style="left:0px; top:170px; width:595px; height:573px; ">
  427. <col ref="rsltcnfmdt"/>
  428. <script type="javascript" ev:event="onclick">
  429. <![CDATA[
  430. var col = datagrid1.col;
  431. if (isDataCell() && col > 1 && datagrid1.valueMatrix(2, col) != "" && datagrid2.valueMatrix(2, col) != ""){
  432. fGetCalcRslt(col);
  433. }else{
  434. model.resetInstanceNode("/root/hidden/calcrslt");
  435. model.refresh();
  436. }
  437. ]]>
  438. </script>
  439. </datagrid>
  440. <caption id="caption6" class="tit_2" style="left:600px; top:150px; width:134px; height:13px; ">장비2 상세내역</caption>
  441. <button id="btn_excel1" class="btn2_letter5" style="left:1039px; top:145px; width:75px; height:19px; ">
  442. <caption>장비1저장</caption>
  443. <script type="javascript" ev:event="DOMActivate">
  444. <![CDATA[
  445. var eqmt1 = (combo1.label).substr(6, combo1.label.length);
  446. var fileName = window.fileDialog("save", ",", false, getCurrentDate()+"_"+eqmt1, "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  447. if (fileName != ""){
  448. datagrid1.saveExcel(fileName);
  449. }
  450. ]]>
  451. </script>
  452. </button>
  453. <button id="btn_excel2" class="btn2_letter5" style="left:1116px; top:145px; width:75px; height:19px; ">
  454. <caption>장비2저장</caption>
  455. <script type="javascript" ev:event="DOMActivate">
  456. <![CDATA[
  457. var eqmt2 = (combo3.label).substr(6, combo3.label.length);
  458. var fileName = window.fileDialog("save", ",", false, getCurrentDate()+"_"+eqmt2, "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  459. if (fileName != ""){
  460. datagrid2.saveExcel(fileName);
  461. }
  462. ]]>
  463. </script>
  464. </button>
  465. <line id="line4" class="line_1" style="x1:599px; y1:165px; x2:1194px; y2:165px; "/>
  466. <datagrid id="datagrid2" nodeset="/root/main/eqmtdata2" class="datagrid2" caption="접수일시" colsep="^" colwidth="120" dataheight="23" frozenrows="3" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" selectionmode="bycol" style="left:599px; top:170px; width:595px; height:573px; ">
  467. <col ref="rsltcnfmdt"/>
  468. <script type="javascript" ev:event="onclick">
  469. <![CDATA[
  470. var col = datagrid2.col;
  471. if (isDataCell() && col > 1 && datagrid1.valueMatrix(2, col) != "" && datagrid2.valueMatrix(2, col) != ""){
  472. fGetCalcRslt(col);
  473. }else{
  474. model.resetInstanceNode("/root/hidden/calcrslt");
  475. model.refresh();
  476. }
  477. ]]>
  478. </script>
  479. </datagrid>
  480. </group>
  481. <group id="group4" scroll="auto" style="left:0px; top:13px; width:1195px; height:27px; ">
  482. <button id="button5" class="btn4_letter3" style="left:1127px; top:3px; width:68px; height:22px; ">
  483. <caption>초기화</caption>
  484. <script type="javascript" ev:event="onclick">
  485. <![CDATA[
  486. window.reload();
  487. ]]>
  488. </script>
  489. </button>
  490. <button id="button11" class="btn6_letter2" visibility="hidden" style="left:0px; top:3px; width:56px; height:22px; ">
  491. <caption>출력</caption>
  492. </button>
  493. <line id="line7" class="line_2" style="x1:0px; y1:25px; x2:1194px; y2:25px; "/>
  494. </group>
  495. <group id="group2" style="left:0px; top:0px; width:1195px; height:13px; ">
  496. <caption id="caption14" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">QC장비상관관계조회</caption>
  497. </group>
  498. </xhtml:body>
  499. </xhtml:html>