SMLLR90800_DIFF계산기능.xrw 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SPLLR90700_DIFF입력.xrw
  4. * 설 명 : DIFF입력
  5. * 설 계 자 : (주)에이씨케이 -
  6. * 작 성 자 : (주)에이씨케이 - 조철형
  7. * 작 성 일 : 2007.07.06
  8. * 수정이력 :
  9. * 기 타 :
  10. -->
  11. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.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>DiffCount Result</xhtml:title>
  15. <model id="model1">
  16. <instance id="instance1">
  17. <root xmlns="">
  18. <main>
  19. <testlist>
  20. <tclsscrnnm/>
  21. <diffcountkey/>
  22. <cnt readonly=""/>
  23. <percent/>
  24. <testcd/>
  25. <spccd/>
  26. <used/>
  27. <iud/>
  28. </testlist>
  29. </main>
  30. <send>
  31. <codeflag/>
  32. </send>
  33. <init>
  34. </init>
  35. <hidden>
  36. <Count>
  37. <Max/>
  38. <Total/>
  39. <BFcount/>
  40. </Count>
  41. <isSetKey>n</isSetKey>
  42. <manual/>
  43. <testcdflag>LHR105</testcdflag>
  44. </hidden>
  45. </root>
  46. </instance>
  47. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  48. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  49. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  50. <script type="javascript" src="../../../lis/commonweb/js/LLZ001.js"/>
  51. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  52. <script type="javascript" ev:event="xforms-ready">
  53. <![CDATA[
  54. fBaseInfoRef("8002|");
  55. grd_TestInfoCnts.removeRow();
  56. fInitForm_Click();
  57. //키 설정 버튼 표시여부 - 병원별로 다름.
  58. if(model.getValue("/root/init/LB8002[cd='02']/etc01") == "Y"){
  59. btn_setkey.visible = true;
  60. }else{
  61. btn_setkey.visible = false;
  62. }
  63. ]]>
  64. </script>
  65. <submission id="TXLLR90701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance"/>
  66. <submission id="TRLLR90701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/testlist"/>
  67. <submission id="TRLZZ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init"/>
  68. <bind id="bind1" ref="/root/main/testlist/percent" calculate="../cnt div /root/hidden/Count/Total * 100"/>
  69. </model>
  70. <script type="javascript">
  71. <![CDATA[
  72. function fInitForm_Click(){
  73. fGetDiffCountHangMok();
  74. model.setValue("/root/hidden/Count/Max", "100");
  75. model.setValue("/root/hidden/Count/Total", "0");
  76. model.setvalue("/root/hidden/Count/BFcount" , "100");
  77. model.setFocus("grd_TestInfoCnts");
  78. model.refresh();
  79. }
  80. //diffCount 항목 조회
  81. function fGetDiffCountHangMok(){
  82. model.makeValue("/root/send/bcno", ""); //submit 날리기 위해.
  83. model.makeValue("/root/send/testcd", model.getValue("/root/hidden/testcdflag"));
  84. model.makeValue("/root/send/flag", "C");
  85. submit("TRLLR90701");
  86. fRefreshKeyPad();
  87. }
  88. function fRefreshKeyPad() {
  89. model.resetInstanceNode("/root/main/KeyPad");
  90. for (var vRow = 1; vRow < grd_TestInfoCnts.rows; vRow++) {
  91. var key = model.getValue("/root/main/testlist[" + vRow +"]/diffcounttkey");
  92. var tnm = "";
  93. var sTestcd = model.getvalue("/root/main/testlist[" + vRow +"]/testcd");
  94. var abTF = false;
  95. for(xx=1;xx<=getNodesetCount("/root/main/patInfo/testinfo/getTestInfoCnts");xx++){
  96. var cd = model.getvalue("/root/main/patInfo/testinfo/getTestInfoCnts["+xx+"]/testcd");
  97. if(cd == sTestcd){
  98. abTF = true;
  99. break;
  100. }
  101. }
  102. if(abTF) model.setvalue("/root/main/testlist[" + vRow +"]/used" , "Y");
  103. if (model.getValue("/root/main/testlist[" + vRow +"]/used") == "N" ) {
  104. grd_TestInfoCnts.rowStyle(vRow, "data", "background-color") = "#eaeaea";
  105. } else {
  106. grd_TestInfoCnts.cellstyle("background-color", vRow, 2) = "#f3e1bf";
  107. grd_TestInfoCnts.cellstyle("color", vRow, 2) = "#ff3300";
  108. grd_TestInfoCnts.cellstyle("background-position", vRow, 2) = "center";
  109. grd_TestInfoCnts.cellstyle("font-weight", vRow, 2) = "bold";
  110. grd_TestInfoCnts.cellstyle("background-color", vRow, 3) = "#b9e5fb";
  111. }
  112. }
  113. model.refresh();
  114. }
  115. function fGrdOnKeyPress(){
  116. var isSetKey = model.getValue("/root/hidden/isSetKey"); // 키설정 구분
  117. var isAdd = "true";
  118. var sysKey = event.keyCode;
  119. //var curkey = String.fromCharCode(event.keyCode);
  120. var key = fKepMap(sysKey, "2");
  121. if (event.ctrlKey == "1") isAdd = "false";
  122. var curCol = grd_TestInfoCnts.col;
  123. var curRow = grd_TestInfoCnts.row;
  124. //var key = curkey;
  125. if (isSetKey == "n") {
  126. fCalcDiffCount(key, isAdd);
  127. } else { //키설정
  128. if (key.getTrim() != "" ) {
  129. var findrow = grd_TestInfoCnts.FindRow(key, 1, grd_TestInfoCnts.colRef("diffcountkey"), false,false);
  130. if (findrow == curRow) return;
  131. if (findrow > 0) {
  132. var tnm = model.getValue("/root/main/testlist[" + findrow + "]/tclsscrnnm");
  133. var yn = messageBox("[" + key + "]키는 항목 [" + tnm + "]에 정의된 키 입니다.\n\n선택한 항목에 키를 ","S001","");
  134. if (yn != 6) return; // No
  135. fGrdSetKey("/root/main/testlist", findrow, "");
  136. }
  137. fGrdSetKey("/root/main/testlist", curRow, key);
  138. //} else if (curKey == 8) { // Back Space
  139. // fGrdSetKey("/root/MainData/HangMokList", curRow, ""); // 설정된키 제거
  140. }
  141. }
  142. }
  143. function fGrdSetKey(pRef, pRow, pKey) {
  144. model.setValue(pRef + "[" + pRow + "]/diffcountkey", pKey);
  145. model.setvalue(pRef + "[" + pRow + "]/iud", "U");
  146. grd_TestInfoCnts.refresh();
  147. }
  148. function fCalcDiffCount(pKey, pIsAdd) {
  149. var findrow = grd_TestInfoCnts.FindRow(pKey, 1, 2, true, true);
  150. //alert("pIsAdd : " + pIsAdd + " pKey :" + pKey )
  151. //alert(findrow)
  152. var nrbcTF = false;
  153. if(model.getvalue("/root/main/testlist[" + findrow + "]/testcd") == "LHR10518"){
  154. nrbcTF = true;
  155. }
  156. if (findrow > 0) {
  157. // 키패드의 항목 찾은경우
  158. if (pIsAdd == "") pIsAdd = "true";
  159. if (model.getValue("/root/main/testlist[" + findrow + "]/used") == "Y") {
  160. // Order가 있을때만 Count 증가
  161. var maxcnt = model.getValue("/root/hidden/Count/Max"); // Maxium Count
  162. var totalcnt = model.getValue("/root/hidden/Count/Total"); // Total Count
  163. if (totalcnt == "") totalcnt = "0";
  164. var curcnt = model.getvalue("/root/main/testlist[" + findrow + "]/cnt"); // 해당항목 Count
  165. if (curcnt == "") curcnt = "0";
  166. //alert(pIsAdd)
  167. if (pIsAdd == "false") {
  168. if (parseInt(curcnt) - 1 < 0) {
  169. //alert( findrow)
  170. // 최대입력 초과시
  171. //messageBox("Count는 0보다 작을 수 없습니다." ,"E","");
  172. } else {
  173. if(!nrbcTF) totalcnt = (parseInt(totalcnt) - 1).toString();
  174. curcnt = (parseInt(curcnt) - 1).toString();
  175. model.setValue("/root/hidden/Count/Total", totalcnt);
  176. model.setValue("/root/main/testlist[" + findrow + "]/cnt", curcnt);
  177. grd_TestInfoCnts.row= findrow;
  178. grd_TestInfoCnts.col= 1;
  179. }
  180. } else {
  181. if (parseInt(totalcnt) + 1 > parseInt(maxcnt ) && !nrbcTF) {
  182. // 최대입력 초과시
  183. messageBox("Maxium Count를 ","E003","");
  184. } else if(parseInt(totalcnt) + 1 > parseInt(maxcnt ) && nrbcTF) {
  185. } else {
  186. if(!nrbcTF) totalcnt = (parseInt(totalcnt) + 1).toString();
  187. curcnt = (parseInt(curcnt) + 1).toString();
  188. model.setValue("/root/hidden/Count/Total", totalcnt);
  189. model.setValue("/root/main/testlist[" + findrow + "]/cnt", curcnt);
  190. grd_TestInfoCnts.row= findrow;
  191. grd_TestInfoCnts.col= 1;
  192. }
  193. }
  194. var cnt = model.getvalue("/root/main/testlist[" + findrow + "]/cnt");
  195. var total = model.getvalue("/root/hidden/Count/Total");
  196. model.recalculate(); // 재 계산
  197. //if(getNodesetCount("/root/main/testlist[testcd = 'LHR10518']/percent") > 0)
  198. //model.setValue("/root/main/testlist[testcd = 'LHR10518']/percent","0");
  199. //model.gridRefresh("grdHML");
  200. model.refresh();
  201. }
  202. }
  203. }
  204. function fOnEndEdit() {
  205. var row = grd_TestInfoCnts.row;
  206. var nrbcTF = false;
  207. if(model.getvalue("/root/main/testlist[" + row + "]/testcd") == "LHR10518"){ // NRBC인 경우 total에 포함 안하게 하기 위해.
  208. nrbcTF = true;
  209. }
  210. if (row > 0) {
  211. if (model.getValue("/root/main/testlist[" + row + "]/used") == "Y") { // Order가 있을때만 수기입력 가능
  212. var nrbccount = model.getValue("/root/main/testlist[testcd = 'LHR10518']/cnt"); //NRBC COUNT
  213. if(nrbccount != "") {
  214. model.setValue("/root/hidden/Count/Total", model.getXPathValue("sum(/root/main/testlist/cnt)") - parseInt(nrbccount)); //총합 - NRBC count
  215. } else {
  216. model.setValue("/root/hidden/Count/Total", model.getXPathValue("sum(/root/main/testlist/cnt)"));
  217. }
  218. var maxcnt = model.getValue("/root/hidden/Count/Max"); // Maxium Count
  219. var totalcnt = model.getValue("/root/hidden/Count/Total"); // Total Count
  220. if (totalcnt == "") totalcnt = "0";
  221. var countsum = model.getXPathValue("sum(/root/main/testlist/cnt)"); //전체 Count
  222. var percentsum = model.getXPathValue("sum(/root/main/testlist/percent)"); //전체 percent
  223. if (countsum == "") countsum = "0";
  224. if (percentsum == "") percentsum = "0";
  225. if (parseInt(totalcnt) > parseInt(maxcnt ) && !nrbcTF) { //total이 maxium 넘을때. (NRBC 외 다른 것들은 입력 불가)
  226. // 최대입력 초과시 (NRBC는 count에 들어가지 않는다.)
  227. messageBox("Maxium Count를 ","E003","");
  228. totalcnt = totalcnt - parseInt(model.getValue("/root/main/testlist[" + row + "]/cnt")); // Total - 현재 입력한 count
  229. model.setValue("/root/hidden/Count/Total", totalcnt);
  230. model.setValue("/root/main/testlist[" + row + "]/cnt", "0"); //현재 입력한 count 초기화.
  231. }
  232. var cnt = model.getvalue("/root/main/testlist[" + row + "]/cnt");
  233. var total = model.getvalue("/root/hidden/Count/Total");
  234. model.recalculate(); // 재 계산
  235. //if(getNodesetCount("/root/main/testlist[testcd = 'LHR10518']/percent") > 0) //NRBC의 percent는 항상 0
  236. //model.setValue("/root/main/testlist[testcd = 'LHR10518']/percent","0");
  237. //model.gridRefresh("grdHML");
  238. model.refresh();
  239. }
  240. }
  241. }
  242. function fSetDiffCnt() {
  243. var nrbcTF = false;
  244. var maxcnt = model.getValue("/root/hidden/Count/Max");
  245. var totalcnt = model.getValue("/root/hidden/Count/Total");
  246. if(parseInt(maxcnt) > parseInt(totalcnt)) {
  247. messageBox("Total Count가 Maxium Count보다 작을 수 없습니다. ","E","");
  248. return;
  249. }
  250. var vSendData = "";
  251. for(x=1;x<grd_TestInfoCnts.rows;x++){
  252. var tclscd = model.getValue("/root/main/testlist[" + x + "]/testcd");
  253. var orgrst = model.getValue("/root/main/testlist[" + x+ "]/percent");
  254. var count = model.getValue("/root/main/testlist[" + x+ "]/cnt");
  255. if (count.getTrim() == "" ) {//|| count.getTrim() == "0" ) {
  256. vSendData = vSendData + tclscd + "▦▩"; // Count가 0이거나 결과가 없으면 초기화
  257. } else {
  258. orgrst = fCOMLIS_RstRound(orgrst, "0", "1");
  259. if(model.getvalue("/root/main/testlist[" + x + "]/testcd") == "LHR10518"){
  260. vSendData = vSendData + tclscd + "▦" + count + "▩";
  261. }
  262. else{
  263. vSendData = vSendData + tclscd + "▦" + orgrst + "▩";
  264. }
  265. }
  266. }
  267. opener.model.setValue("/root/hidden/DiffGGParm/bufDiffGG", vSendData);
  268. window.close();
  269. }
  270. /**
  271. * 정의된 키코드, 키값 리턴
  272. *
  273. */
  274. function fKepMap(pKey, pGbn) {
  275. var sKeyMap = new Array("A", "B", "C", "D", "E",
  276. "F", "G", "H", "I", "J",
  277. "K", "L", "M", "N", "O",
  278. "P", "Q", "R", "S", "T",
  279. "U", "V", "W", "X", "Y",
  280. "Z", "0", "1", "2", "3",
  281. "4", "5", "6", "7", "8",
  282. "9", "/", "*", "-", "+",
  283. "e", ".",
  284. "0" ,"1" ,"2" ,"3" ,"4" ,"5" ,"6" ,"7" ,"8" ,"9" ,
  285. "ins" , "hom" , "up" , "del" , "end" , "down");
  286. var sKeyVal = new Array("65", "66", "67", "68", "69",
  287. "70", "71", "72", "73", "74",
  288. "75", "76", "77", "78", "79",
  289. "80", "81", "82", "83", "84",
  290. "85", "86", "87", "88", "89",
  291. "90", "96", "97", "98", "99",
  292. "100", "101", "102", "103", "104",
  293. "105", "111", "106", "109", "107",
  294. "13", "110",
  295. "48" , "49" ,"50","51" , "52" , "53" , "54" ,"55" ,"56" , "57",
  296. "45", "36" , "33" , "46" , "35" , "34");
  297. var vRet = "";
  298. if (pGbn == "1") {
  299. for (var i = 0; i < sKeyMap.length; i++) {
  300. if (sKeyMap[i] == pKey) {
  301. vRet = (i + 1).toString().getLeftPad(2,0);
  302. break;
  303. }
  304. }
  305. } else if (pGbn == "2") {
  306. for (var i = 0; i < sKeyVal.length; i++) {
  307. if (sKeyVal[i] == pKey) {
  308. vRet = sKeyMap[i];
  309. break;
  310. }
  311. }
  312. }
  313. return vRet;
  314. }
  315. /**
  316. * 키설정버튼 클릭
  317. *
  318. */
  319. function fSetKey_Click(pInit) {
  320. var isSetKey = model.getvalue("/root/hidden/isSetKey");
  321. if (isSetKey == "y") {
  322. // Diff Count 입력상태로 변경
  323. var findrow = grd_TestInfoCnts.FindRow("U", 1, grd_TestInfoCnts.colRef("iud"), false, false);
  324. if (pInit != "Y" && findrow > 0 ) {
  325. var yn = messageBox("변경된 키패드 설정을 ","S001","");
  326. if (yn == 6) {
  327. grd_TestInfoCnts.clearStatus();
  328. for(i=1 ; i <grd_TestInfoCnts.rows ; i++){
  329. if(model.getvalue("/root/main/testlist["+i+"]/iud") == "U"){
  330. grd_TestInfoCnts.addStatus(i, "update");
  331. }
  332. }
  333. model.setValue("/root/send/data2" , grd_TestInfoCnts.getUpdateData());
  334. submit("TXLLR90701");
  335. fRefreshKeyPad();
  336. } else {
  337. // 다시조회
  338. fInitForm_Click()
  339. }
  340. }
  341. // 키설정 상태
  342. model.setValue("/root/hidden/isSetKey", "n");
  343. grd_TestInfoCnts.colHidden(grd_TestInfoCnts.colRef("cnt")) = false;
  344. grd_TestInfoCnts.colHidden(grd_TestInfoCnts.colRef("percent")) = false;
  345. grd_TestInfoCnts.colWidth(grd_TestInfoCnts.colRef("diffcountkey")) = 52;
  346. btn_setkey.attribute("text") = "키 설정";
  347. } else {
  348. // Diff Count Key 설정상태로 변경
  349. model.setValue("/root/hidden/isSetKey", "y");
  350. grd_TestInfoCnts.colHidden(grd_TestInfoCnts.colRef("cnt")) = true;
  351. grd_TestInfoCnts.colHidden(grd_TestInfoCnts.colRef("percent")) = true;
  352. btn_setkey.attribute("text") = "설정저장";
  353. grd_TestInfoCnts.colWidth(grd_TestInfoCnts.colRef("diffcountkey")) = 168;
  354. }
  355. model.refresh();
  356. }
  357. ]]>
  358. </script>
  359. </xhtml:head>
  360. <xhtml:body pagewidth="390" pageheight="580" guideline="1,1194;" style="border-color:#000000; margin-left:8; margin-top:8; margin-right:8; margin-bottom:8; ">
  361. <group id="group1" style="left:0px; top:0px; width:365px; height:565px; ">
  362. <line id="line1" class="line_1" style="x1:0px; y1:26px; x2:364px; y2:26px; "/>
  363. <datagrid id="grd_TestInfoCnts" nodeset="/root/main/testlist" backcoloralternate="transparent" caption="검사항목명^키패드^Count^Percent(%)^testcd^spccd^caption1^iud" colsep="^" colwidth="173, 52, 46, 70, 0, 0, 0, 0" dataheight="23" defaultrows="1" fixedcols="0" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" selectionmode="free" navindex="1" fixed.background-image="../../../com/commonweb/images/grid_bg.gif" style="left:0px; top:55px; width:364px; height:485px; ">
  364. <col ref="tclsscrnnm" format="yyyy-mm-dd"/>
  365. <col ref="diffcountkey"/>
  366. <col ref="cnt"/>
  367. <col ref="percent" format="#,###.99"/>
  368. <col ref="testcd"/>
  369. <col ref="spccd"/>
  370. <col/>
  371. <col ref="iud"/>
  372. <script type="javascript" ev:event="onkeydown">
  373. <![CDATA[
  374. if(model.getValue("/root/hidden/manual") != "1") { //menual 입력이 아닌 경우
  375. fGrdOnKeyPress();
  376. }
  377. //alert("down --> "+event.keyCode)
  378. ]]>
  379. </script>
  380. <script type="javascript" ev:event="onendedit">
  381. <![CDATA[
  382. fOnEndEdit();
  383. ]]>
  384. </script>
  385. </datagrid>
  386. <caption id="caption3" class="tit_2" style="left:5px; top:11px; width:123px; height:14px; ">DiffCount Result</caption>
  387. <caption id="caption15" class="cell_1" style="left:0px; top:31px; width:108px; height:23px; vertical-align:middle; ">Maxium Count</caption>
  388. <select1 id="combo3" ref="/root/hidden/Count/Max" class="combo_search" appearance="minimal" style="left:110px; top:33px; width:45px; height:19px; ">
  389. <choices>
  390. <item>
  391. <label>30</label>
  392. <value>30</value>
  393. </item>
  394. <item>
  395. <label>50</label>
  396. <value>50</value>
  397. </item>
  398. <item>
  399. <label>70</label>
  400. <value>70</value>
  401. </item>
  402. <item>
  403. <label>100</label>
  404. <value>100</value>
  405. </item>
  406. <item>
  407. <label>150</label>
  408. <value>150</value>
  409. </item>
  410. <item>
  411. <label>200</label>
  412. <value>200</value>
  413. </item>
  414. <item>
  415. <label>250</label>
  416. <value>250</value>
  417. </item>
  418. <item>
  419. <label>300</label>
  420. <value>300</value>
  421. </item>
  422. </choices>
  423. <script type="javascript" ev:event="xforms-value-changed">
  424. <![CDATA[
  425. var maxCnt = model.getvalue("/root/hidden/Count/Max");
  426. var totalCnt = model.getvalue("/root/hidden/Count/Total");
  427. var bfmaxlCnt = model.getvalue("/root/hidden/Count/BFcount");
  428. //alert("maxCnt :" + maxCnt + ", totalCnt : " +totalCnt+ ", bfmaxlCnt : " + bfmaxlCnt )
  429. if(parseInt(maxCnt) < parseInt(totalCnt)){
  430. model.setvalue("/root/hidden/Count/Max" , bfmaxlCnt);
  431. messageBox(" Maxium Count가 Total Count보다 작을수 없습니다. ","E","");
  432. model.setFocus("grd_TestInfoCnts");
  433. model.refresh();
  434. return;
  435. }
  436. else{
  437. model.setvalue("/root/hidden/Count/BFcount" , maxCnt);
  438. model.setFocus("grd_TestInfoCnts");
  439. model.refresh();
  440. }
  441. ]]>
  442. </script>
  443. </select1>
  444. <caption id="caption1" class="cell_1" style="left:160px; top:30px; width:80px; height:24px; vertical-align:middle; ">Total Count</caption>
  445. <output id="output1" ref="/root/hidden/Count/Total" class="output_fix" style="left:241px; top:33px; width:29px; height:19px; "/>
  446. <line id="line2" class="line_3" style="x1:0px; y1:55px; x2:364px; y2:55px; "/>
  447. <select id="checkbox1" ref="/root/hidden/manual" overflow="visible" appearance="full" style="left:270px; top:5px; width:93px; height:20px; border-style:none; ">
  448. <choices>
  449. <item>
  450. <label>Manual 입력</label>
  451. <value>1</value>
  452. </item>
  453. </choices>
  454. <script type="javascript" ev:event="xforms-value-changed">
  455. <![CDATA[
  456. fInitForm_Click();
  457. if(model.getvalue("/root/hidden/manual") == "1"){
  458. grd_TestInfoCnts.colType(grd_TestInfoCnts.colRef("cnt")) = "input";
  459. // grd_TestInfoCnts.colType(grd_TestInfoCnts.colRef("percent")) = "input";
  460. } else {
  461. grd_TestInfoCnts.colType(grd_TestInfoCnts.colRef("cnt")) = "";
  462. // grd_TestInfoCnts.colType(grd_TestInfoCnts.colRef("percent")) = "";
  463. }
  464. model.refresh();
  465. ]]>
  466. </script>
  467. </select>
  468. <select1 id="combo1" ref="/root/hidden/testcdflag" appearance="minimal" style="left:132px; top:6px; width:100px; height:19px; ">
  469. <choices>
  470. <item>
  471. <label>혈액 Diff</label>
  472. <value>LHR105</value>
  473. </item>
  474. <item>
  475. <label>B.F</label>
  476. <value>LFR107</value>
  477. </item>
  478. </choices>
  479. <script type="javascript" ev:event="xforms-value-changed">
  480. <![CDATA[
  481. /* fGetDiffCountHangMok(); //diffcount 항목 조회
  482. model.setFocus("grd_TestInfoCnts");
  483. model.refresh();*/
  484. fInitForm_Click();
  485. ]]>
  486. </script>
  487. </select1>
  488. <button id="btn_setkey" class="btn3_letter4" visibility="hidden" style="left:284px; top:32px; width:80px; height:22px; background-image:../../../com/commonweb/images/btn3_letter5.gif; ">
  489. <caption>키 설정</caption>
  490. <script type="javascript" ev:event="onclick">
  491. <![CDATA[
  492. fSetKey_Click();
  493. ]]>
  494. </script>
  495. </button>
  496. </group>
  497. <group id="group3" style="left:0px; top:541px; width:365px; height:27px; ">
  498. <button id="button1" class="btn4_letter2" visibility="hidden" style="left:181px; top:5px; width:56px; height:22px; ">
  499. <caption>확인</caption>
  500. <script type="javascript" ev:event="DOMActivate">
  501. <![CDATA[
  502. fSetDiffCnt();
  503. ]]>
  504. </script>
  505. </button>
  506. <button id="button2" class="btn4_letter2" style="left:307px; top:5px; width:56px; height:22px; ">
  507. <caption>닫기</caption>
  508. <script type="javascript" ev:event="onclick">
  509. <![CDATA[
  510. window.close();
  511. ]]>
  512. </script>
  513. </button>
  514. <button id="button3" class="btn4_letter3" style="left:238px; top:5px; width:68px; height:22px; ">
  515. <caption>초기화</caption>
  516. <script type="javascript" ev:event="onclick">
  517. <![CDATA[
  518. fInitForm_Click();
  519. ]]>
  520. </script>
  521. </button>
  522. <caption id="caption2" style="left:0px; top:5px; width:168px; height:20px; ">☞【 Ctrl+키패드 】Count 감소</caption>
  523. </group>
  524. <script type="javascript" ev:event="onkeydown">
  525. <![CDATA[
  526. //fGrdOnKeydown();
  527. ]]>
  528. </script>
  529. </xhtml:body>
  530. </xhtml:html>