123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341 |
- <?xml version="1.0" encoding="UTF-8"?>
- <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.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/>
- </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="TRMNV06302" 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");
- img3.visible = true;
- 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("TRMNV06302", 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(){
- img3.visible = false;
- 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="1015" pageheight="730">
- <caption id="tar_callmsg" ref="/root/hidden/callmsg" overflow="visible" appearance="caption" scroll="autovscroll" style="left:0px; top:642px; width:1014px; height:86px; font-family:HY각헤드라인M; font-size:28pt; 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:1015px; height:640px; ">
- <case id="OP1" selected="true">
- <datagrid id="grd_op1" nodeset="/root/main/oppatlist/oppatlist1/oppatinfo1" class="datagrid_op" overflow="hidden" scroll="auto" caption="병실^환자명^수술과^상태^진행상태" colsep="^" colwidth="159, 164, 283, 130, 281" dataheight="64px" extendlastcol="noscroll" frozenrows="7" mergecellsfixedrows="bycolrec" rowheight="90" rowsep="|" style="left:0px; top:95px; width:1015px; height:540px; font-size:24pt; 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:325px; top:65px; width:282px; height:54px; font-family:HY헤드라인M; font-size:26pt; color:#ffffff; text-align:center; background-color:#008080; border-color:#c0c0c0; border-style:solid; ">수술과</caption>
- <caption id="caption5" style="left:159px; top:65px; width:165px; height:54px; font-family:HY헤드라인M; font-size:26pt; color:#ffffff; text-align:center; background-color:#008080; border-color:#c0c0c0; border-style:solid; ">환자명</caption>
- <caption id="caption7" style="left:0px; top:65px; width:160px; height:54px; font-family:HY헤드라인M; font-size:26pt; color:#ffffff; text-align:center; background-color:#008080; border-color:#c0c0c0; border-style:solid; ">병 실</caption>
- <caption id="caption8" style="left:607px; top:65px; width:130px; height:54px; font-family:HY헤드라인M; font-size:26pt; color:#ffffff; text-align:center; background-color:#008080; border-color:#c0c0c0; border-style:solid; ">상태</caption>
- <caption id="caption2" style="left:737px; top:65px; width:278px; height:54px; font-family:HY헤드라인M; font-size:26pt; 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:116px; x2:1015px; y2:116px; "/>
- <line id="line3" class="line_1" style="x1:0px; y1:62px; x2:1015px; y2:62px; "/>
- </case>
- <case id="PIC">
- <img id="img1" src="../../../emr/waitguideweb/images/his011pic.jpg" style="left:0px; top:60px; width:1015px; height:550px; 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:636px; x2:1015px; y2:636px; "/>
- <caption id="caption26" style="left:0px; top:0px; width:1015px; height:65px; font-family:HY헤드라인M; font-size:36pt; font-weight:bold; color:#000080; text-align:center; vertical-align:middle; ">수술 진행현황 안내</caption>
- <img id="img3" visibility="hidden" src="../../../com/commonweb/images/logo011.gif" style="left:0px; top:0px; background-stretch:stretch; "/>
- <caption id="caption27" ref="/root/main/date/tdate" style="left:728px; top:0px; width:282px; height:30px; font-family:HY각헤드라인M; font-size:16pt; text-align:right; "/>
- <caption id="caption28" ref="/root/main/date/ttime" style="left:800px; top:30px; width:211px; height:30px; font-family:HY각헤드라인M; font-size:16pt; text-align:right; "/>
- </xhtml:body>
- </xhtml:html>
|