123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348 |
- <?xml version="1.0" encoding="UTF-8"?>
- <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
- <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">
- <xhtml:head>
- <xhtml:title>수술 및 분만 진행현황 안내</xhtml:title>
- <model id="model1">
- <instance id="instance1">
- <root xmlns="">
- <main>
- <cond>
- <oppartrtndd/>
- <count/>
- <toggle/>
- <interval>
- <intervalnm/>
- </interval>
- </cond>
- <oppatlist/>
- <pregpatinfo/>
- <menuitems>
- <gnrlmenu>
- <item>
- <name>종료</name>
- <func>fCloseBoard</func>
- </item>
- </gnrlmenu>
- </menuitems>
- <date>
- <tdate/>
- <ttime/>
- </date>
- </main>
- <send>
- <reqdata/>
- </send>
- <init>
- <msglist>
- <msginfo>
- <calltm/>
- <callmsg>빠른 쾌유를 빕니다.</callmsg>
- <oprsrvno/>
- </msginfo>
- <msginfo>
- <calltm/>
- <callmsg>항상 최선을 다하는 수술실이 되겠습니다.</callmsg>
- <oprsrvno/>
- </msginfo>
- </msglist>
- </init>
- <hidden>
- <callmsg/>
- </hidden>
- </root>
- </instance>
- <script type="javascript" ev:event="xforms-ready">
- <![CDATA[
- submit("TRMNV03003");
-
- IntervalTime2 = parseInt(model.getValue("/root/main/cond/interval/intervalnm[sortseq='5']/cdid"));
- IntervalTime3 = parseInt(model.getValue("/root/main/cond/interval/intervalnm[sortseq='6']/cdid"));
- DelTempFolderTime = parseInt(model.getValue("/root/main/cond/interval/intervalnm[sortseq='7']/cdid")) ;
- showMsgTime = parseInt(model.getValue("/root/main/cond/interval/intervalnm[sortseq='8']/cdid")) ;
- model.setFocus("line1");
- clockID = window.setInterval("clock();" , 1000); //1초
- fOpInit();
- fGetCallMessage();
- DelTempFolderID = window.setInterval("fdelTempFolers();", DelTempFolderTime); //6시간
- model.setFocus("line1");
-
- ]]>
- </script>
- <submission id="TRMNV02002" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/msg"/>
- <submission id="TRMNV05302" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/msg"/>
- <submission id="TRMNV06301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/cond" resultref="/root/hidden/patlist"/>
- <submission id="TRMNV03003" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/cond/interval"/>
- </model>
- <script type="javascript" src="../../../com/commonweb/js/common.js"/>
- <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
- <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
- <script type="javascript">
- <![CDATA[
- var IntervalTime2 ;
- var IntervalTime3 ;
- var DelTempFolderTime ;
- var showMsgTime ;
-
- var cnts = 0;
- var getlListOpInterval = "";
- var getlListPicInterval = "";
- var msgintervalIDTop = "";
- var DelTempFolderID = "";
- var clockID ="";
- var printno = 8;
- var toNodeno= 0;
- var fromNodeno= 0;
- var loopcnts = 0;
-
- function fOpInit() {
- model.toggle("OP1");
- model.removeNodeset("/root/hidden/patlist/");
- // model.removeNodeset("/root/main/msglist/msginfo");
- model.removenode("/root/main/oppatlist/oppatlist1");
-
- model.makeNode("/root/main/oppatlist/oppatlist1");
- model.makeValue("/root/main/cond/oppartrtndd", getCurrentDate());
- model.makeValue("/root/main/cond/flag", "O");
- model.refresh();
- submit("TRMNV06301", false);
-
- var totcnts = getNodesetCount("/root/hidden/patlist/oppatinfo1")
- if (totcnts > 8 ) {
- totcnts= 8;
- }
-
- for(var i = 1 ; i <= parseInt(totcnts) ; i ++){
- model.makeNode("/root/main/oppatlist/oppatlist1/oppatinfo1["+i+"]");
- model.copyNode("/root/main/oppatlist/oppatlist1/oppatinfo1["+i+"]", "/root/hidden/patlist/oppatinfo1["+i+"]");
- }
- model.refresh();
- fDispChngColor();
- getlListOpInterval = window.setInterval("fGetNextOpPatList()", IntervalTime2); //10초
- }
- function fGetNextOpPatList() {
- // 50초 이후에는 분만현황으로 바꿔주기 위함
- count = model.getValue("/root/main/cond/count");
- // var cnts = getNodesetCount("/root/main/oppatlist/oppatlist1/oppatinfo1");
- var totcnts = getNodesetCount("/root/hidden/patlist/oppatinfo1")
- var divCount = parseInt(totcnts) / 8
- if (count >= divCount ) {
- if(!isNull(getlListOpInterval)) {
- window.clearInterval(getlListOpInterval);
- model.setValue("/root/main/cond/toggle", "PIC");
- model.setValue("/root/main/cond/count", "0");
- fPicInit();
- }
- } else {
- count++;
- model.setValue("/root/main/cond/count", count);
- }
- var togglenm = model.getValue("/root/main/cond/toggle");
-
- // if (togglenm ==""||count==1) {
- if (togglenm =="") {
-
- togglenm = "OP1";
-
- model.setValue("/root/main/cond/toggle", togglenm);
- togglenm = model.getValue("/root/main/cond/toggle");
- model.toggle(togglenm);
- printno=0;
- }
-
- var Nodes = instance1.selectNodes("/root/hidden/patlist/oppatinfo1");
- var toNodeno= 0;
- var fromNodeno= 0;
-
- model.removenode("/root/main/oppatlist/oppatlist1");
- fromNodeno=printno+1; // 전광판의 첫 행
- toNodeno= fromNodeno + 7 ; // 마지막행
-
- if(fromNodeno>Nodes.length){
- printno=0;
- fromNodeno=printno+1; // 전광판의 첫 행
- toNodeno= fromNodeno + 7 ; // 마지막행
- }
- if(toNodeno>Nodes.length){
- toNodeno=Nodes.length;
- }
- if (Nodes.length==0){
- fromNodeno=1;
- toNodeno = fromNodeno+7;
- }
- var grdcnts = 1;
- for(var i = fromNodeno ; i <= toNodeno ; i ++){
- model.makeNode("/root/main/oppatlist/oppatlist1/oppatinfo1["+ grdcnts +"]");
- model.copyNode("/root/main/oppatlist/oppatlist1/oppatinfo1["+ grdcnts +"]", "/root/hidden/patlist/oppatinfo1["+i+"]");
- grdcnts++;
- printno++;
- }
- fDispChngColor();
- if (printno==Nodes.length){
- printno=0;
- }
- model.refresh()
- }
-
- //상태에 따른 색상 변경
- //수술중 : 빨간색 / 회복 : 초록색 / 종료 : 파란색 / 이동, 대기 : 검정색
-
- function fDispChngColor(){
- for(var i = 1; i < grd_op1.rows; i++){
- var color = model.getValue("/root/main/oppatlist/oppatlist1/oppatinfo1[" + i + "]/color2");
- if(!isNull(color)){
- grd_op1.cellStyle("color",i,3) = "#" + color;
- }else{
- grd_op1.cellStyle("color",i,3) = "#" + "000000";
- }
- }
- grd_op1.refresh();
- }
-
- function fPicInit(){
- model.toggle("PIC");
- // model.refresh();
- getlListPicInterval = window.setInterval("fGetNextPicPatList()", IntervalTime3); //5초
- }
-
- function fGetNextPicPatList() {
- if(!isNull(getlListPicInterval)) {
- window.clearInterval(getlListPicInterval);
- piccnts = 0;
- model.setValue("/root/main/cond/toggle", "");
- model.setValue("/root/main/cond/count", 0);
- fOpInit();
- }
- model.refresh()
- }
-
- //로그를 지우는 함수
- function fdelTempFolers()
- {
- var fso = new ActiveXObject("Scripting.FileSystemObject");
- var fldr = fso.GetFolder("C:\\Program Files\\himed\\components\\TrustForm\\TFViewer");
- var fc = new Enumerator(fldr.SubFolders);
- for(;!fc.atEnd(); fc.moveNext())
- {
- fc.item().Delete();
- }
- }
- /**
- * @group :
- * @ver : 2007.10.09
- * @by : 문창곤
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 수술환자 보호자 호출메시지 조회.
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetCallMessage(){
- var sPath = "/root/main/msglist";
- if(getNodesetCount(sPath + "/msginfo") == 0) {
- model.removeNodeset(sPath);
- model.copyNode("/root/send/reqdata", "/root/main/cond") ;
- setErrorOff();
- submit("TRMNV05302",false);
- copyNodeListType("/root/main/msglist", "/root/init/msglist/msginfo", "after");
- msgintervalIDTop = window.setInterval("fGetCallMessageSub1()", showMsgTime); //10초
- model.refresh();
- }
- }
- //-------------------------------
- // 수술환자 보호자 호출메시지 조회.
- //-------------------------------
- function fGetCallMessageSub1() {
- if (cnts > 0 ) {
- model.removenode("/root/main/msglist/msginfo[1]") ;
- }
- model.setValue("/root/hidden/callmsg", model.getValue("/root/main/msglist/msginfo[1]/callmsg")) ;
- cnts ++;
- model.refresh();
- if ( getNodesetCount("/root/main/msglist/msginfo") == 0) {
- cnts = 0;
- window.clearInterval(msgintervalIDTop);
- fGetCallMessage();
- }
- }
- function fCloseBoard(){
- if (getlListOpInterval != "") window.clearInterval(getlListOpInterval);
- if (getlListPicInterval != "") window.clearInterval(getlListPicInterval);
- if (msgintervalIDTop != "") window.clearInterval(msgintervalIDTop);
- if (DelTempFolderID != "") window.clearInterval(DelTempFolderID);
- if (clockID != "") window.clearInterval(clockID);
-
- window.close();
- }
-
- function clock() {
- var tdate = getCurrentDateTime().substring(0, 4) + "년 "
- + getCurrentDateTime().substring(4, 6) + "월 "
- + getCurrentDateTime().substring(6, 8) + "일 "
- + getCurrentDate().toDate("YYYYMMDD").getDayOfWeek("K") + "요일 "
-
- var ttime = getCurrentDateTime().substring(8, 11) + "시" + " "
- + getCurrentDateTime().substring(11, 13) + "분" + " "
- + getCurrentDateTime().substring(13, 15) + "초"
-
- model.setValue("/root/main/date/tdate", tdate) ;
- model.setValue("/root/main/date/ttime", ttime) ;
- model.refresh();
- }
- ]]>
- </script>
- </xhtml:head>
- <xhtml:body pagewidth="1366" pageheight="760" guideline="2,746;2,644;1,1350;2,642;">
- <caption id="tar_callmsg" ref="/root/hidden/callmsg" overflow="visible" appearance="caption" scroll="autovscroll" style="left:0px; top:652px; width:1350px; height:92px; font-family:HY각헤드라인M; font-size:32pt; font-weight:bold; color:#003366; text-align:center; vertical-align:middle; border-color:#c0c0c0; border-width:1px; border-style:solid; "/>
- <switch id="switch1" class="sw_no_border" style="left:0px; top:0px; width:1350; height:644px; ">
- <case id="OP1" selected="true">
- <datagrid id="grd_op1" nodeset="/root/main/oppatlist/oppatlist1/oppatinfo1" class="datagrid_op" overflow="hidden" scroll="auto" caption="병실^환자명^진료과(보호자)^상태^이동위치^caption1" colsep="^" colwidth="217, 234, 346, 176, 376" dataheight="64px" extendlastcol="noscroll" frozenrows="7" mergecellsfixedrows="bycolrec" rowheight="90" rowsep="|" style="left:0px; top:108px; width:1350; height:536px; font-size:30pt; text-align:center; vertical-align:middle; ">
- <col ref="roomcd" style="font-family:HY각헤드라인M; font-size:18pt; font-weight:bold; "/>
- <col ref="patnm" style="font-family:HY각헤드라인M; font-size:18pt; font-weight:bold; "/>
- <col ref="orddept" style="font-family:HY각헤드라인M; font-size:18pt; font-weight:bold; "/>
- <col ref="opstatnm" style="font-family:HY각헤드라인M; font-size:18pt; font-weight:bold; "/>
- <col ref="patposplcecd" style="font-family:HY각헤드라인M; font-size:18pt; font-weight:bold; "/>
- </datagrid>
- <caption id="caption4" style="left:451px; top:79; width:347px; height:54px; font-family:HY헤드라인M; font-size:29pt; color:#ffffff; text-align:center; background-color:#008080; border-color:#c0c0c0; border-style:solid; ">수술과</caption>
- <caption id="caption5" style="left:217px; top:79; width:234px; height:54px; font-family:HY헤드라인M; font-size:29pt; color:#ffffff; text-align:center; background-color:#008080; border-color:#c0c0c0; border-style:solid; ">환자명</caption>
- <caption id="caption7" style="left:0px; top:79; width:217px; height:54px; font-family:HY헤드라인M; font-size:29pt; color:#ffffff; text-align:center; background-color:#008080; border-color:#c0c0c0; border-style:solid; ">병 실</caption>
- <caption id="caption8" style="left:798px; top:79px; width:177px; height:54px; font-family:HY헤드라인M; font-size:29pt; color:#ffffff; text-align:center; background-color:#008080; border-color:#c0c0c0; border-style:solid; ">상태</caption>
- <caption id="caption2" style="left:975px; top:80px; width:375px; height:54px; font-family:HY헤드라인M; font-size:29pt; color:#ffffff; text-align:center; background-color:#008080; border-color:#c0c0c0; border-style:solid; ">이동위치</caption>
- <line id="line2" class="line_1" style="x1:0px; y1:131px; x2:1350; y2:131px; "/>
- <line id="line3" class="line_1" style="x1:0px; y1:77px; x2:1350; y2:77px; "/>
- </case>
- <case id="PIC">
- <img id="img1" src="../../../emr/waitguideweb/images/his017pic.jpg" style="left:0px; top:77px; width:1350px; height:567px; background-stretch:stretch; "/>
- </case>
- </switch>
- <script type="javascript" ev:event="onmousedown">
- <![CDATA[
- if(event.button == 3) {
- window.setPopupMenu(true, "/root/main/menuitems/gnrlmenu/item", "name", "func", false);
- }
- ]]>
- </script>
- <script type="javascript" ev:event="DOMFocusOut">
- <![CDATA[
- window.setPopupMenu(false);
- ]]>
- </script>
- <line id="line1" class="line_1" style="x1:0px; y1:647px; x2:1350; y2:647px; "/>
- <img id="img3" src="../../../emr/waitguideweb/images/his017logo.jpg" style="left:0px; top:0px; width:175px; height:77px; background-stretch:stretch; "/>
- <caption id="caption26" style="left:0px; top:0px; width:1350px; height:77px; font-family:HY헤드라인M; font-size:36pt; font-weight:bold; color:#000080; text-align:center; vertical-align:middle; ">수술 진행현황 안내</caption>
- <caption id="caption27" ref="/root/main/date/tdate" style="left:1035px; top:10px; width:315px; height:30px; font-family:HY각헤드라인M; font-size:18pt; text-align:right; "/>
- <caption id="caption28" ref="/root/main/date/ttime" style="left:1095px; top:40px; width:214px; height:30px; font-family:HY각헤드라인M; font-size:18pt; text-align:right; "/>
- </xhtml:body>
- </xhtml:html>
|