SMLLR90700_DIFF입력.xrw 24 KB

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