SPMNR10400_FlowSheet수액입력화면.xrw 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/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>Fluid 입력</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <cond>
  10. <dayinfo/>
  11. <recflag/>
  12. <pid/>
  13. <indd/>
  14. <cretno/>
  15. <ioflag/>
  16. </cond>
  17. <main>
  18. <fluidinfo>
  19. <fluidlist>
  20. <hh/>
  21. <mm/>
  22. <fluidstat/>
  23. <cc/>
  24. <etc/>
  25. <usernm/>
  26. <clncobsseqno/>
  27. </fluidlist>
  28. </fluidinfo>
  29. <fluidinputdata>
  30. <hh/>
  31. <mm/>
  32. <fluidstat/>
  33. <cc/>
  34. <etc/>
  35. <usernm/>
  36. <clncobsseqno/>
  37. <status/>
  38. </fluidinputdata>
  39. </main>
  40. <send/>
  41. <init>
  42. <statinfo>
  43. <statlist>
  44. <cd>S</cd>
  45. <nm>Start</nm>
  46. </statlist>
  47. <statlist>
  48. <cd>C</cd>
  49. <nm>Change</nm>
  50. </statlist>
  51. <statlist>
  52. <cd>E</cd>
  53. <nm>End</nm>
  54. </statlist>
  55. </statinfo>
  56. <gridhhlist/>
  57. <gridmmlist/>
  58. <hhlist/>
  59. <mmlist/>
  60. </init>
  61. <temp/>
  62. </root>
  63. </instance>
  64. <script type="javascript" ev:event="xforms-ready">
  65. <![CDATA[
  66. finit();
  67. ]]>
  68. </script>
  69. <submission id="TRMNR10401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/temp/fluidlist"/>
  70. <submission id="TXMNR10401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/temp/fluidlist"/>
  71. </model>
  72. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  73. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  74. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  75. <script type="javascript" src="../../../emr/carecomweb/js/CareCom.js"/>
  76. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  77. <script type="javascript" src="../../../emr/carecomweb/js/ENRSignEngine.js"/>
  78. <script type="javascript">
  79. <![CDATA[
  80. var casrerecseqno = "";
  81. var fromdt = "";
  82. var todt = "";
  83. var recdt = "";
  84. var recrslt = "";
  85. var fluidstat = "";
  86. var fluidetcinfo = "";
  87. var userinfo = "";
  88. var pid = "";
  89. var indd = "";
  90. var cretno = "";
  91. var wardcd = "";
  92. var roomcd = "";
  93. var ioflag = "";
  94. var clncobsseqno = "";
  95. var orddeptcd = "";
  96. var orddrid = "";
  97. var recfluidunit = "";
  98. var recdtArray = new Array();
  99. var recrsltArray = new Array();
  100. var fluidstatArray = new Array();
  101. var fluidetcinfoArray = new Array();
  102. var userinfoArray = new Array();
  103. var clncobsseqnoArray = new Array();
  104. var rtnrecdt = "";
  105. var rtnrecrslt = "";
  106. var rtnfluidstat = "";
  107. var rtnfluidetcinfo = "";
  108. var rtnuserinfo = "";
  109. var rtnsavedata = "";
  110. function finit(){
  111. var sParamMsgInfo = "";
  112. sParamMsgInfo = opener.javascript.getParameter("SPMNR10400_Param");
  113. //FlowSheet에서 넘어온 Parameter 정보 세팅
  114. casrerecseqno = getArrayData(sParamMsgInfo, 0 ,0);
  115. fromdt = getArrayData(sParamMsgInfo, 0 ,1);
  116. todt = getArrayData(sParamMsgInfo, 0 ,2);
  117. pid = getArrayData(sParamMsgInfo, 0 ,3);
  118. indd = getArrayData(sParamMsgInfo, 0 ,4);
  119. cretno = getArrayData(sParamMsgInfo, 0 ,5);
  120. wardcd = getArrayData(sParamMsgInfo, 0 ,6);
  121. roomcd = getArrayData(sParamMsgInfo, 0 ,7);
  122. ioflag = getArrayData(sParamMsgInfo, 0 ,8);
  123. orddeptcd = getArrayData(sParamMsgInfo, 0 ,9);
  124. orddrid = getArrayData(sParamMsgInfo, 0 ,10);
  125. if( "" != getArrayData(sParamMsgInfo, 0 ,11) ){
  126. caption6.value = getArrayData(sParamMsgInfo, 0 ,11);
  127. }
  128. fMakeTmCmbNode(fromdt.substr(8,2), todt.substr(8,2), "24", "/root/init/gridhhlist");
  129. fMakeTmCmbNode(fromdt.substr(10,2), todt.substr(10,2), "60", "/root/init/gridmmlist");
  130. //Fluid기록 정보 조회
  131. model.removenode("/root/send");
  132. model.makeValue("/root/send/carerecseqno", casrerecseqno);
  133. model.makeValue("/root/send/pid", pid);
  134. model.makeValue("/root/send/indd", indd);
  135. model.makeValue("/root/send/cretno", cretno);
  136. model.makeValue("/root/send/wardcd", wardcd);
  137. model.makeValue("/root/send/roomcd", roomcd);
  138. model.makeValue("/root/send/fromdt", fromdt);
  139. submit("TRMNR10401", false);
  140. fSettingFluidInfo();
  141. }
  142. //Fluid기록 정보 세팅
  143. function fSettingFluidInfo(){
  144. recdt = model.getValue("/root/temp/fluidinfo/fluidlist[carerecseqno ='" + casrerecseqno + "']/recdt");
  145. recrslt = model.getValue("/root/temp/fluidinfo/fluidlist[carerecseqno ='" + casrerecseqno + "']/recrslt");
  146. fluidstat = model.getValue("/root/temp/fluidinfo/fluidlist[carerecseqno ='" + casrerecseqno + "']/fluidstat");
  147. fluidetcinfo = model.getValue("/root/temp/fluidinfo/fluidlist[carerecseqno ='" + casrerecseqno + "']/fluidetcinfo");
  148. userinfo = model.getValue("/root/temp/fluidinfo/fluidlist[carerecseqno ='" + casrerecseqno + "']/usernm");
  149. clncobsseqno = model.getValue("/root/temp/fluidinfo/fluidlist[carerecseqno ='" + casrerecseqno + "']/clncobsseqno");
  150. model.removeNodeset("/root/main/fluidinfo/fluidlist");
  151. recdtArray = recdt.split("^");
  152. recrsltArray = recrslt.split("^");
  153. fluidstatArray = fluidstat.split("^");
  154. fluidetcinfoArray = fluidetcinfo.split("^");
  155. userinfoArray = userinfo.split("^");
  156. clncobsseqnoArray = clncobsseqno.split("^");
  157. for( var i = 0 ; i < recdtArray.length ; i++ ){
  158. if( fromdt <= recdtArray[i] && todt > recdtArray[i] ){
  159. addRow = eval(getNodesetCount("/root/main/fluidinfo/fluidlist")) + 1;
  160. model.makeNode("/root/main/fluidinfo/fluidlist["+addRow+"]");
  161. model.makeValue("/root/main/fluidinfo/fluidlist["+addRow+"]/hh", recdtArray[i].substr(8, 2));
  162. model.makeValue("/root/main/fluidinfo/fluidlist["+addRow+"]/mm", recdtArray[i].substr(10, 2));
  163. model.makeValue("/root/main/fluidinfo/fluidlist["+addRow+"]/fluidstat", fluidstatArray[i]);
  164. model.makeValue("/root/main/fluidinfo/fluidlist["+addRow+"]/cc", recrsltArray[i]);
  165. model.makeValue("/root/main/fluidinfo/fluidlist["+addRow+"]/etc", fluidetcinfoArray[i]);
  166. model.makeValue("/root/main/fluidinfo/fluidlist["+addRow+"]/usernm", userinfoArray[i]);
  167. model.makeValue("/root/main/fluidinfo/fluidlist["+addRow+"]/clncobsseqno", clncobsseqnoArray[i]);
  168. }
  169. }
  170. model.refresh();
  171. }
  172. function fMakeWord( pWord, pSplitFlag ){
  173. if( pSplitFlag == "" ) pSplitFlag = "\n";
  174. if( pWord != "" ) pWord += pSplitFlag;
  175. return pWord;
  176. }
  177. //시간, 분 콤보 세팅 함수
  178. function fMakeTmCmbNode( pfromdt, ptodt, ptmflag, pnode ){
  179. for(var i = 0 ; i < ptmflag ; i++){
  180. var sCd = "";
  181. if( i < 10 ){
  182. sCd = "0" + i;
  183. }else{
  184. sCd = i;
  185. }
  186. if( sCd == ptmflag ) sCd = ptmflag;
  187. var sAddRow = eval(getNodesetCount(pnode)) + 1;
  188. model.makeValue(pnode+"["+sAddRow+"]/cd", sCd);
  189. model.makeValue(pnode+"["+sAddRow+"]/nm", sCd);
  190. }
  191. }
  192. function fAddFluidInfo(pFlag){
  193. var msg = "";
  194. var msgvalue = "";
  195. var sFluidBeforeStat = "";
  196. var sFluidAfterStat = "";
  197. var sInshh = "";
  198. var sInsmm = "";
  199. var sInsFluidStat = "";
  200. var sInsFluidCC = "";
  201. var sInsFluidEtc = "";
  202. var sInsDt = "";
  203. var sInsClncObsSeqNo = "";
  204. sInshh = model.getValue("/root/main/fluidinputdata/hh");
  205. sInsmm = model.getValue("/root/main/fluidinputdata/mm");
  206. sInsFluidStat = model.getValue("/root/main/fluidinputdata/fluidstat");
  207. sInsFluidCC = model.getValue("/root/main/fluidinputdata/cc");
  208. sInsFluidEtc = model.getValue("/root/main/fluidinputdata/etc");
  209. sInsDt = fromdt.substr(0, 8) + sInshh + sInsmm +"00" ;
  210. sInsClncObsSeqNo = model.getValue("/root/main/fluidinputdata/clncobsseqno");
  211. if(pFlag == "ins"){
  212. //Update 체크
  213. if( sInsClncObsSeqNo != "" ){
  214. if( model.getValue("/root/main/fluidinfo/fluidlist[ clncobsseqno ='"+ sInsClncObsSeqNo +"']/hh") == sInshh &&
  215. model.getValue("/root/main/fluidinfo/fluidlist[ clncobsseqno ='"+ sInsClncObsSeqNo +"']/mm") == sInsmm &&
  216. model.getValue("/root/main/fluidinfo/fluidlist[ clncobsseqno ='"+ sInsClncObsSeqNo +"']/fluidstat") == sInsFluidStat &&
  217. model.getValue("/root/main/fluidinfo/fluidlist[ clncobsseqno ='"+ sInsClncObsSeqNo +"']/cc") == sInsFluidCC &&
  218. model.getValue("/root/main/fluidinfo/fluidlist[ clncobsseqno ='"+ sInsClncObsSeqNo +"']/etc") == sInsFluidEtc ){
  219. messageBox("변경된 내용이 없습니다.", "I");
  220. return false;
  221. }
  222. }
  223. //Fluid 입력 제한 조건
  224. if( sInshh == "" || sInsmm == "" ){
  225. messageBox("기록 시간이 입력되지 않았습니다.", "E");
  226. return false;
  227. }
  228. if( sInsFluidStat == "" ){
  229. messageBox( "진행상태가 입력되지 않았습니다.", "E");
  230. return false;
  231. }
  232. if( sInsFluidStat == "S" && ( sInsFluidCC == "" || sInsFluidEtc == "" ) ){
  233. messageBox( "Start 입력시 "+ caption6.value+" 는 필수 입력입니다.", "E");
  234. return false;
  235. }
  236. if( sInsFluidStat == "C" && ( sInsFluidCC == "" || sInsFluidEtc == "" ) ){
  237. messageBox( "Change 입력시 "+ caption6.value+" 는 필수 입력입니다.", "E");
  238. return false;
  239. }
  240. if( sInsFluidStat != "E" && (sInsFluidCC.isFloat() == false || sInsFluidEtc.isFloat() == false) ){
  241. messageBox( "cc/hr & " + caption6.value + " 는 숫자형식만 입력 가능 합니다.", "E");
  242. return false;
  243. }
  244. for( var i = 0 ; i < recdtArray.length ; i++ ){
  245. if( sInsDt == recdtArray[i] && sInsFluidStat == fluidstatArray[i] && sInsClncObsSeqNo != clncobsseqnoArray[i] ){
  246. messageBox("동일한 시간에 Change 내역이 존재합니다.", "E");
  247. return;
  248. }
  249. if( sInsDt >= recdtArray[i] && sInsClncObsSeqNo != clncobsseqnoArray[i] ){
  250. sFluidBeforeStat = fluidstatArray[i];
  251. } else if ( sInsDt <= recdtArray[i] && sFluidAfterStat == "" && sInsClncObsSeqNo != clncobsseqnoArray[i] ){
  252. sFluidAfterStat = fluidstatArray[i];
  253. }
  254. }
  255. if( sInsFluidStat == "S" ){
  256. if( sFluidBeforeStat == "S" || sFluidBeforeStat == "C" ){
  257. msg += fMakeWord(msg) + "입력 시간 이전에 Start 된 정보가 존재합니다.";
  258. msgvalue = "E";
  259. }else if( sFluidAfterStat == "S" ){
  260. msg += fMakeWord(msg) + "입력 시간 이후에 Start 된 정보가 존재합니다.";
  261. msgvalue = "E";
  262. }
  263. }else if( sInsFluidStat == "C" ){
  264. if( sFluidBeforeStat == "E" ){
  265. msg += fMakeWord(msg) + "Start 정보가 존재하지 않습니다.";
  266. msgvalue = "E";
  267. } else if( sFluidBeforeStat == "" ){
  268. msg += fMakeWord(msg) + "Start 정보가 존재하지 않습니다.";
  269. msgvalue = "E";
  270. }
  271. }else if( sInsFluidStat == "E" ){
  272. if( sFluidBeforeStat == "E" ){
  273. msg += fMakeWord(msg) + "입력 시간 이전에 End 된 정보가 존재합니다.";
  274. msgvalue = "E";
  275. } else if( sFluidBeforeStat == "" ){
  276. msg += fMakeWord(msg) + "Start 정보가 존재하지 않습니다.";
  277. msgvalue = "E";
  278. } else if( sFluidAfterStat == "C" ){
  279. msg += fMakeWord(msg) + "입력 시간 이후에 Change 된 정보가 존재합니다.";
  280. msgvalue = "E";
  281. } else if( sFluidAfterStat == "E" ){
  282. msg += fMakeWord(msg) + "입력 시간 이후에 End 된 기록이 존재합니다.";
  283. msgvalue = "E";
  284. }
  285. }
  286. if( msgvalue != "" ){
  287. rtnmsg = messageBox(msg, msgvalue);
  288. if( rtnmsg != "6" ){
  289. return false;
  290. }
  291. }
  292. }else{
  293. if( sInsClncObsSeqNo == "" ){
  294. fInitInputNodeSet(true);
  295. return;
  296. }else{
  297. for( var i = 0 ; i < recdtArray.length ; i++ ){
  298. if( sInsDt >= recdtArray[i] && sInsClncObsSeqNo != clncobsseqnoArray[i] ){
  299. sFluidBeforeStat = fluidstatArray[i];
  300. } else if ( sInsDt <= recdtArray[i] && sFluidAfterStat == "" && sInsClncObsSeqNo != clncobsseqnoArray[i] ){
  301. sFluidAfterStat = fluidstatArray[i];
  302. }
  303. }
  304. if( sInsFluidStat == "S" ){
  305. if( sFluidAfterStat == "C" ){
  306. msg += fMakeWord(msg) + "해당 기록과 관련된 Change 정보가 존재하여 삭제가 할 수 없습니다.";
  307. msgvalue = "E";
  308. }else if( sFluidAfterStat == "E" ){
  309. msg += fMakeWord(msg) + "해당 기록과 관련된 End 정보가 존재하여 삭제가 할 수 없습니다.";
  310. msgvalue = "E";
  311. }
  312. }else if (sInsFluidStat == "E" ){
  313. if( sFluidAfterStat == "S" ){
  314. msg += fMakeWord(msg) + "이후 기록에 Start 정보가 존재하여 삭제가 할 수 없습니다.";
  315. msgvalue = "E";
  316. }
  317. }
  318. if( msgvalue != "" ){
  319. rtnmsg = messageBox(msg, msgvalue);
  320. if( rtnmsg != "6" ){
  321. return false;
  322. }
  323. }
  324. model.setValue("/root/main/fluidinputdata/status", "U");
  325. model.setValue("/root/main/fluidinputdata/fluidstat", "");
  326. model.setValue("/root/main/fluidinputdata/cc", "");
  327. model.setValue("/root/main/fluidinputdata/etc", "");
  328. }
  329. }
  330. fSaveFluidInfo();
  331. fSettingFluidInfo();
  332. return true;
  333. }
  334. //입력 부분 초기화
  335. function fInitInputNodeSet(pBoolean){
  336. model.setValue("/root/main/fluidinputdata/hh", "");
  337. model.setValue("/root/main/fluidinputdata/mm", "");
  338. model.setValue("/root/main/fluidinputdata/fluidstat", "");
  339. model.setValue("/root/main/fluidinputdata/cc", "");
  340. model.setValue("/root/main/fluidinputdata/etc", "");
  341. model.setValue("/root/main/fluidinputdata/usernm", "");
  342. model.setValue("/root/main/fluidinputdata/clncobsseqno", "");
  343. model.setValue("/root/main/fluidinputdata/status", "");
  344. group1.disabled = pBoolean;
  345. btn_del.disabled = pBoolean;
  346. btn_add.disabled = pBoolean;
  347. model.refresh();
  348. }
  349. function fSaveFluidInfo(){
  350. var sSaveStatus = model.getValue("/root/main/fluidinputdata/status");
  351. var sSaveHH = model.getValue("/root/main/fluidinputdata/hh");
  352. var sSaveMM = model.getValue("/root/main/fluidinputdata/mm");
  353. var sSaveFluidStat = model.getValue("/root/main/fluidinputdata/fluidstat");
  354. var sSaveCC = model.getValue("/root/main/fluidinputdata/cc");
  355. var sSaveEtc = model.getValue("/root/main/fluidinputdata/etc");
  356. var sSaveClncObsSeqNo = model.getValue("/root/main/fluidinputdata/clncobsseqno");
  357. model.removeNodeSet("/root/certtemp/recinfo");
  358. model.removenode("/root/temp/fluidinfo");
  359. model.removenode("/root/send");
  360. var sRsltNodeCnt = eval(getNodesetCount("/root/certtemp/recinfo")) + 1;
  361. model.makeValue("/root/certtemp/recinfo["+sRsltNodeCnt+"]/reclist" , sSaveCC );
  362. model.makeValue("/root/certtemp/recinfo["+sRsltNodeCnt+"]/recdt" , fromdt.substr(0, 8) + sSaveHH + sSaveMM + "00");
  363. model.makeValue("/root/certtemp/recinfo["+sRsltNodeCnt+"]/fluidstat" , model.getValue("/root/init/statinfo/statlist[cd='"+sSaveFluidStat+"']/nm") );
  364. model.makeValue("/root/certtemp/recinfo["+sRsltNodeCnt+"]/fluidetcinfo" , sSaveEtc);
  365. model.makeValue("/root/send/savedata/status", sSaveStatus);
  366. model.makeValue("/root/send/savedata/pid", pid );
  367. model.makeValue("/root/send/savedata/indd", indd );
  368. model.makeValue("/root/send/savedata/cretno", cretno );
  369. model.makeValue("/root/send/savedata/wardcd", wardcd );
  370. model.makeValue("/root/send/savedata/roomcd", roomcd );
  371. model.makeValue("/root/send/savedata/ioflag", ioflag );
  372. model.makeValue("/root/send/savedata/carerecseqno", casrerecseqno );
  373. model.makeValue("/root/send/savedata/recdt", fromdt.substr(0, 8) + sSaveHH + sSaveMM + "00" );
  374. model.makeValue("/root/send/savedata/recrslt", sSaveCC );
  375. model.makeValue("/root/send/savedata/fluidstat", sSaveFluidStat );
  376. model.makeValue("/root/send/savedata/fluidetcinfo", sSaveEtc );
  377. model.makeValue("/root/send/savedata/rectype", "H" );
  378. model.makeValue("/root/send/savedata/clncobsseqno", sSaveClncObsSeqNo );
  379. if(Sign.signprocess() == true ){
  380. model.makeValue("/root/send/signdata/pid", pid);
  381. model.makeValue("/root/send/signdata/orddd", indd);
  382. model.makeValue("/root/send/signdata/signno", "" );
  383. model.makeValue("/root/send/signdata/cretno", cretno);
  384. model.makeValue("/root/send/signdata/recdd", getCurrentDate());
  385. model.makeValue("/root/send/signdata/rectm", getCurrentTime());
  386. model.makeValue("/root/send/signdata/recsaveflag", "Y");
  387. model.makeValue("/root/send/signdata/signflag", "02");
  388. model.makeValue("/root/send/signdata/signgenrflag", ioflag);
  389. model.makeValue("/root/send/signdata/formcd", "0000002443");
  390. model.makeValue("/root/send/signdata/orddeptcd", orddeptcd);
  391. model.makeValue("/root/send/signdata/orddrid", orddrid);
  392. model.makeValue("/root/send/signdata/carerecseqno", casrerecseqno);
  393. model.makeValue("/root/send/signdata/lnkrecdt", fromdt.substr(0, 8) + sSaveHH + sSaveMM + "00");
  394. model.makeValue("/root/send/signdata/dispyn", "N");
  395. // ▶ 인증할 데이터 정보(미기록 노드 제거된 정보)
  396. // ▶ 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
  397. model.makeValue("/root/send/signdata/signbfcnts", Sign.signedInfos[1]);
  398. // ▶ 공인인증 처리후 데이터
  399. model.makeValue("/root/send/signdata/signaftcnts", Sign.signedInfos[2]);
  400. }else{
  401. return false;
  402. }
  403. submit("TXMNR10401", false);
  404. opener.javascript.setParameter("SPMNR10400_ReturnSaveInfo", "Y");
  405. }
  406. function fMake_SignData(){
  407. Sign.addnode("/root/certtemp");
  408. }
  409. ]]>
  410. </script>
  411. </xhtml:head>
  412. <xhtml:body pagewidth="390" pageheight="300" guideline="1,1190;1,514;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  413. <group id="group2" style="left:0px; top:104px; width:372px; height:165px; ">
  414. <line id="line1" class="line_1" style="x1:0px; y1:0px; x2:372px; y2:0px; "/>
  415. <datagrid id="grd_fluidinfo" nodeset="/root/main/fluidinfo/fluidlist" caption="시간/분^시간/분^진행상태^cc/hr^㎍/㎏/min^기록자" colsep="^" colwidth="45, 46, 65, 56, 59, 62, 0" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" navindex="10" style="left:0px; top:5px; width:372px; height:160px; ">
  416. <col disabled="true" ref="hh" type="combo" style="text-align:center; ">
  417. <choices>
  418. <itemset nodeset="/root/init/gridhhlist">
  419. <label ref="nm"/>
  420. <value ref="cd"/>
  421. </itemset>
  422. </choices>
  423. </col>
  424. <col disabled="true" ref="mm" type="combo" style="text-align:center; ">
  425. <choices>
  426. <itemset nodeset="/root/init/gridmmlist">
  427. <label ref="nm"/>
  428. <value ref="cd"/>
  429. </itemset>
  430. </choices>
  431. </col>
  432. <col disabled="true" ref="fluidstat" type="combo" style="text-align:center; ">
  433. <choices>
  434. <itemset nodeset="/root/init/statinfo/statlist">
  435. <label ref="nm"/>
  436. <value ref="cd"/>
  437. </itemset>
  438. </choices>
  439. </col>
  440. <col ref="cc" style="text-align:center; "/>
  441. <col ref="etc" style="text-align:center; "/>
  442. <col ref="usernm" style="text-align:center; "/>
  443. <col ref="clncobsseqno" visibility="hidden" style="text-align:center; "/>
  444. <script type="javascript" ev:event="ondblclick">
  445. <![CDATA[
  446. sSelectRow = grd_fluidinfo.row;
  447. fInitInputNodeSet(false);
  448. model.setValue("/root/main/fluidinputdata/hh", grd_fluidinfo.valueMatrix(sSelectRow, grd_fluidinfo.colRef("hh")));
  449. model.setValue("/root/main/fluidinputdata/mm", grd_fluidinfo.valueMatrix(sSelectRow, grd_fluidinfo.colRef("mm")));
  450. model.setValue("/root/main/fluidinputdata/fluidstat", grd_fluidinfo.valueMatrix(sSelectRow, grd_fluidinfo.colRef("fluidstat")));
  451. model.setValue("/root/main/fluidinputdata/cc", grd_fluidinfo.valueMatrix(sSelectRow, grd_fluidinfo.colRef("cc")));
  452. model.setValue("/root/main/fluidinputdata/etc", grd_fluidinfo.valueMatrix(sSelectRow, grd_fluidinfo.colRef("etc")));
  453. model.setValue("/root/main/fluidinputdata/usernm", grd_fluidinfo.valueMatrix(sSelectRow, grd_fluidinfo.colRef("usernm")));
  454. model.setValue("/root/main/fluidinputdata/clncobsseqno", grd_fluidinfo.valueMatrix(sSelectRow, grd_fluidinfo.colRef("clncobsseqno")));
  455. model.setValue("/root/main/fluidinputdata/status", "U");
  456. model.refresh();
  457. cmb_fluidstat.dispatch("xforms-value-changed");
  458. ]]>
  459. </script>
  460. </datagrid>
  461. </group>
  462. <button id="btn_add" class="btn5_letter2" disabled="true" navindex="8" disable.background-image="../../../com/commonweb/images/dis_btn4_letter2.gif" style="left:330px; top:5px; width:42px; height:19px; background-image:../../../com/commonweb/images/btn4_letter2.gif; ">
  463. <caption>등록</caption>
  464. <script type="javascript" ev:event="DOMActivate">
  465. <![CDATA[
  466. if( fAddFluidInfo("ins") == true ){
  467. fInitInputNodeSet(true);
  468. }
  469. ]]>
  470. </script>
  471. </button>
  472. <line id="line2" class="line_3" style="x1:0px; y1:25px; x2:372px; y2:25px; "/>
  473. <button id="btn_del" class="btn2_letter2" disabled="true" navindex="11" disable.background-image="../../../com/commonweb/images/dis_btn4_letter2.gif" style="left:287px; top:5px; width:42px; height:19px; background-image:../../../com/commonweb/images/btn4_letter2.gif; ">
  474. <caption>삭제</caption>
  475. <script type="javascript" ev:event="DOMActivate">
  476. <![CDATA[
  477. if( fAddFluidInfo("del") == true ){
  478. fInitInputNodeSet(true);
  479. }
  480. ]]>
  481. </script>
  482. </button>
  483. <button id="btn_new" class="btn2_letter2" navindex="2" disable.background-image="../../../com/commonweb/images/dis_btn4_letter2.gif" style="left:244px; top:5px; width:42px; height:19px; background-image:../../../com/commonweb/images/btn4_letter2.gif; ">
  484. <caption>신규</caption>
  485. <script type="javascript" ev:event="DOMActivate">
  486. <![CDATA[
  487. fInitInputNodeSet(false);
  488. cmb_hh.value = fromdt.substr(8,2);
  489. cmb_mm.select(0);
  490. model.setValue("/root/main/fluidinputdata/usernm", getUserName());
  491. model.setValue("/root/main/fluidinputdata/status", "I");
  492. ]]>
  493. </script>
  494. </button>
  495. <group id="group1" disabled="true" style="left:0px; top:27px; width:372px; height:42px; ">
  496. <select1 id="cmb_hh" ref="/root/main/fluidinputdata/hh" navindex="3" appearance="minimal" editmode="search" itemcount="10" style="left:0px; top:20px; width:65px; height:19px; text-align:center; ">
  497. <choices>
  498. <itemset nodeset="/root/init/gridhhlist">
  499. <label ref="nm"/>
  500. <value ref="cd"/>
  501. </itemset>
  502. </choices>
  503. </select1>
  504. <select1 id="cmb_mm" ref="/root/main/fluidinputdata/mm" navindex="4" appearance="minimal" editmode="search" itemcount="10" style="left:66px; top:20px; width:65px; height:19px; text-align:center; ">
  505. <choices>
  506. <itemset nodeset="/root/init/gridmmlist">
  507. <label ref="nm"/>
  508. <value ref="cd"/>
  509. </itemset>
  510. </choices>
  511. </select1>
  512. <select1 id="cmb_fluidstat" ref="/root/main/fluidinputdata/fluidstat" navindex="5" appearance="minimal" style="left:132px; top:20px; width:90px; height:19px; text-align:center; ">
  513. <choices>
  514. <itemset nodeset="/root/init/statinfo/statlist">
  515. <label ref="nm"/>
  516. <value ref="cd"/>
  517. </itemset>
  518. </choices>
  519. <script type="javascript" ev:event="xforms-value-changed">
  520. <![CDATA[
  521. if( cmb_fluidstat.value == "E" ){
  522. ipt_cc.value = "";
  523. ipt_etc.value = "";
  524. ipt_cc.disabled = true;
  525. ipt_etc.disabled = true;
  526. }else{
  527. ipt_cc.disabled = false;
  528. ipt_etc.disabled = false;
  529. }
  530. ]]>
  531. </script>
  532. </select1>
  533. <input id="ipt_cc" ref="/root/main/fluidinputdata/cc" navindex="6" maxlength="4" format="#,###.#" style="left:223px; top:20px; width:65px; height:19px; text-align:center; "/>
  534. <line id="line3" class="line_3" style="x1:0px; y1:40px; x2:372px; y2:40px; text-align:center; "/>
  535. <input id="ipt_etc" ref="/root/main/fluidinputdata/etc" navindex="7" format="#,###.######" style="left:289px; top:20px; width:83px; height:19px; text-align:center; "/>
  536. <caption id="caption1" style="left:66px; top:0px; width:65px; height:19px; text-align:center; vertical-align:middle; background-color:#ccecff; ">분</caption>
  537. <caption id="caption2" style="left:0px; top:0px; width:65px; height:19px; text-align:center; vertical-align:middle; background-color:#ccecff; ">시간</caption>
  538. <caption id="caption3" style="left:132px; top:0px; width:90px; height:19px; text-align:center; vertical-align:middle; background-color:#ccecff; ">진행상태</caption>
  539. <caption id="caption5" style="left:223px; top:0px; width:65px; height:19px; text-align:center; vertical-align:middle; background-color:#ccecff; ">cc/hr</caption>
  540. <caption id="caption6" style="left:289px; top:0px; width:83px; height:19px; text-align:center; vertical-align:middle; background-color:#ccecff; ">Graph</caption>
  541. </group>
  542. <button id="btn_close" class="btn4_letter2" navindex="1" disable.background-image="../../../com/commonweb/images/dis_btn4_letter2.gif" style="left:315px; top:270px; width:56px; height:22px; background-image:../../../com/commonweb/images/btn4_letter2.gif; ">
  543. <caption>닫기</caption>
  544. <script type="javascript" ev:event="DOMActivate">
  545. <![CDATA[
  546. window.close();
  547. ]]>
  548. </script>
  549. </button>
  550. <caption id="caption4" class="tit_2" style="left:0px; top:85px; width:121px; height:13px; ">Fluid 기록 List</caption>
  551. <caption id="caption7" class="tit_2" style="left:0px; top:5px; width:121px; height:14px; ">Fluid 입력</caption>
  552. </xhtml:body>
  553. </xhtml:html>