123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496 |
- <?xml version="1.0" encoding="EUC-KR"?>
- <?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>
- <srchcond/>
- <calcscorcd/>
- <prcpnm/>
- <earncls1/>
- <earncls2/>
- <earncls3/>
- <stnddd/>
- <orddeptcd/>
- </cond>
- <ordlibinfo>
- <ordliblist>
- <useyn/>
- <prcpcd/>
- <ordnm/>
- <engnm/>
- <status/>
- <fromdd/>
- <orddept/>
- <earncls/>
- </ordliblist>
- </ordlibinfo>
- <earncls1info>
- <earncls1lsit/>
- </earncls1info>
- <earncls2info>
- <earncls2list>
- <earncls2>all</earncls2>
- <earncls2nm>전체</earncls2nm>
- </earncls2list>
- </earncls2info>
- <earncls3info>
- <earncls3list>
- <earncls3>all</earncls3>
- <earncls3nm>전체</earncls3nm>
- </earncls3list>
- </earncls3info>
- </main>
- <send>
- <reqdata/>
- <savedata/>
- </send>
- <hidden/>
- <init>
- <deptlist>
- <orddept>
- <deptcd/>
- <deptnm/>
- </orddept>
- </deptlist>
- </init>
- </root>
- </instance>
- <script type="javascript" ev:event="xforms-ready">
- <![CDATA[
- //현재 날짜를 받아옴
- model.setValue("/root/main/cond/stnddd", getCurrentDate());
- model.refresh();
-
- //초기화시 검색조건에 따라 조건 박스가 뜨도록 처음에는 안뜨게 표시
- ipt_prcpcd.visible = false;
- ipt_prcpnm.visible = false;
- cmb_earncls1.visible= true;
- cmb_earncls2.visible= true;
- cmb_earncls3.visible= true;
-
- //리스트 화면을 초기화
- model.removeNodeset("/root/main/ordlibinfo/ordliblist");
- model.refresh();
-
- //처방분류 대 콤보 박스에 리스트가 조회
- submit("TRMMB01702");
-
- //진료과 코드를 콤보박스에 뿌려준다.MMO001에 함수가 존재
- //reqGetDeptList: 부서코드, 부서명 조회
- reqGetDeptList("/root/send/reqdata", "/root/init/deptlist", "total", getUserInfo("dutplceinstcd"));
-
- //진료과가 콤보에 전체는 나타나지 않게 하기
- var getdeptcd = model.getValue("/root/init/deptlist/orddept/deptcd");
- if(getdeptcd == '-'){
- model.removenode("/root/init/deptlist/orddept");
- }
-
- //검색조건에 기본적으로 처방분류가 들어가 있는 상태로 초기화
- cmb_orddeptcd.select(1);
- cmb_srchcond.select(2);
- cmb_earncls1.select(0);
- cmb_earncls2.select(0);
- cmb_earncls3.select(0);
- ]]>
- </script>
- <submission id="TRMMB01702" mediatype="application/x-www-form-urlencoded" method="post" add="bottom" resultref="/root/main/earncls1info"/>
- <submission id="TRMMB01703" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" add="bottom" resultref="/root/main/earncls2info"/>
- <submission id="TRMMB01704" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" add="bottom" resultref="/root/main/earncls3info"/>
- <submission id="TRMMB02001" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/ordlibinfo"/>
- <submission id="TRMMB02002" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/ordlibinfo"/>
- <submission id="TXMMB02001" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/ordlibinfo"/>
- <submission id="TRMMO04103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/init/deptlist"/>
- </model>
- <script type="javascript" src="../../../com/commonweb/js/common.js"/>
- <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
- <script type="javascript" src="../../../emr/prcpmngtweb/js/MMO001.js"/>
- <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
- </xhtml:head>
- <xhtml:body guideline="1,1192;2,782;2,60;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
- <caption id="caption1" class="tit_1" style="left:0px; top:0px; width:160px; height:13px; ">입원예약가능처방관리</caption>
- <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:21px; width:1193px; height:39px; background-color:#fffbf2; border-color:#ffd799; "/>
- <caption id="caption2" class="search_name" style="left:285px; top:32px; width:105px; height:17px; ">검색조건 :</caption>
- <select1 id="cmb_srchcond" ref="/root/main/cond/srchcond" navindex="2" appearance="minimal" style="left:385px; top:31px; width:180px; height:19px; ">
- <choices>
- <item>
- <label>처방코드</label>
- <value>CD</value>
- </item>
- <item>
- <label>처방명</label>
- <value>NM</value>
- </item>
- <item>
- <label>처방분류</label>
- <value>CLS</value>
- </item>
- <item>
- <label>등록자료조회(전체)</label>
- <value>REQ</value>
- </item>
- <item>
- <label>등록자료조회(처방코드)</label>
- <value>REQCD</value>
- </item>
- <item>
- <label>등록자료조회(처방명)</label>
- <value>REQNM</value>
- </item>
- <item>
- <label>등록자료조회(처방분류)</label>
- <value>REQCLS</value>
- </item>
- </choices>
- <script type="javascript" ev:event="xforms-select">
- <![CDATA[
- // 콤보박스에서 선택한 값에 따라 조건 옆에 박스가 뜨게 선택하고 각 input박스나 콤보박스에 포커스가 가있게 한다.
- if(model.getValue("/root/main/cond/srchcond") == 'CD'){
- ipt_prcpcd.visible = true;
- ipt_prcpnm.visible = false;
- cmb_earncls1.visible= false;
- cmb_earncls2.visible= false;
- cmb_earncls3.visible= false;
-
- model.setFocus("ipt_prcpcd");
- }else if(model.getValue("/root/main/cond/srchcond") == 'NM'){
- ipt_prcpcd.visible = false;
- ipt_prcpnm.visible = true;
- cmb_earncls1.visible= false;
- cmb_earncls2.visible= false;
- cmb_earncls3.visible= false;
-
- model.setFocus("ipt_prcpnm");
- }else if(model.getValue("/root/main/cond/srchcond") == 'CLS'){
- ipt_prcpcd.visible = false;
- ipt_prcpnm.visible = false;
- cmb_earncls1.visible= true;
- cmb_earncls2.visible= true;
- cmb_earncls3.visible= true;
-
- model.setFocus("cmb_earncls1");
- }else if(model.getValue("/root/main/cond/srchcond") == 'REQ'){
- ipt_prcpcd.visible = false;
- ipt_prcpnm.visible = false;
- cmb_earncls1.visible= false;
- cmb_earncls2.visible= false;
- cmb_earncls3.visible= false;
- }
- else if(model.getValue("/root/main/cond/srchcond") == 'REQCD'){
- ipt_prcpcd.visible = true;
- ipt_prcpnm.visible = false;
- cmb_earncls1.visible= false;
- cmb_earncls2.visible= false;
- cmb_earncls3.visible= false;
-
- model.setFocus("ipt_prcpcd");
- }else if(model.getValue("/root/main/cond/srchcond") == 'REQNM'){
- ipt_prcpcd.visible = false;
- ipt_prcpnm.visible = true;
- cmb_earncls1.visible= false;
- cmb_earncls2.visible= false;
- cmb_earncls3.visible= false;
-
- model.setFocus("ipt_prcpnm");
- }else if(model.getValue("/root/main/cond/srchcond") == 'REQCLS'){
- ipt_prcpcd.visible = false;
- ipt_prcpnm.visible = false;
- cmb_earncls1.visible= true;
- cmb_earncls2.visible= true;
- cmb_earncls3.visible= true;
-
- model.setFocus("cmb_earncls1");
- }
- ]]>
- </script>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- //input박스에 예전에 검색한 data값이 남지 않도록 지워준다.
- model.resetInstanceNode("/root/main/cond/calcscorcd");
- model.resetInstanceNode("/root/main/cond/prcpnm");
- model.refresh();
-
- //콤보박스에 예전에 검색한 data값이 남지 않고 언제나 첫조건이 조회되도록 한다.
- cmb_earncls1.select(0);
- cmb_earncls2.select(0);
- cmb_earncls3.select(0);
-
- if(model.getValue("/root/main/cond/srchcond") == 'REQ'){
- btn_req.dispatch("DOMActivate");
- }
- ]]>
- </script>
- </select1>
- <caption id="caption3" class="search_name" style="left:25px; top:32px; width:105px; height:17px; ">진료과 :</caption>
- <select1 id="cmb_orddeptcd" ref="/root/main/cond/orddeptcd" navindex="1" appearance="minimal" style="left:115px; top:31px; width:140px; height:19px; ">
- <choices>
- <itemset nodeset="/root/init/deptlist/orddept">
- <label ref="deptnm"/>
- <value ref="deptcd"/>
- </itemset>
- </choices>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- // //input박스에 예전에 검색한 data값이 남지 않도록 지워준다.
- // model.resetInstanceNode("/root/main/cond/calcscorcd");
- // model.resetInstanceNode("/root/main/cond/prcpnm");
- // model.refresh();
- //
- // //콤보박스에 예전에 검색한 data값이 남지 않고 언제나 첫조건이 조회되도록 한다.
- // cmb_earncls1.select(0);
- // cmb_earncls2.select(0);
- // cmb_earncls3.select(0);
-
- //btn_req.dispatch("DOMActivate");
-
- ]]>
- </script>
- </select1>
- <input id="ipt_prcpcd" ref="/root/main/cond/calcscorcd" class="input_search" _chartype="upper" style="left:575px; top:31px; width:150px; height:19px; ">
- <script type="javascript" ev:event="onkeypress">
- <![CDATA[
- //조건을 적고 enter를 치면 바로 조회 버튼을 누르지 않고 조회
- inputEnterKey("btn_req", "DOMActivate");
- ]]>
- </script>
- <hint>
- <![CDATA[처방코드를 2자리이상 입력하세요.]]>
- </hint>
- </input>
- <input id="ipt_prcpnm" ref="/root/main/cond/prcpnm" class="input_search" style="left:575px; top:31px; width:200px; height:19px; ">
- <script type="javascript" ev:event="onkeypress">
- <![CDATA[
- //조건을 적고 enter를 치면 바로 조회 버튼을 누르지 않고 조회
- inputEnterKey("btn_req", "DOMActivate");
- ]]>
- </script>
- <hint>
- <![CDATA[처방명을 2자리이상 입력하세요.]]>
- </hint>
- </input>
- <button id="btn_req" class="btn1_letter2" navindex="6" style="left:1122px; top:30px; width:56px; height:22px; ">
- <caption>조회</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- //한글인지 영문인지 판단하고 data개수도 판단하여 작은 경우 메세지가 뜨게 한다.
- var srchcond = model.getValue("/root/main/cond/srchcond");
- var codenm = "";
-
- if((srchcond == "CD") || (srchcond == "REQCD")){
- codenm = model.getValue("/root/main/cond/calcscorcd");
- if (isNull(codenm)) {
- messageBox( "처방코드를" ,"C001" );
- model.setFocus("ipt_calcscorcd");
- return;
- } else if (codenm.length < 2) {
- messageBox( "처방코드를 2자리 이상" ,"C001" );
- model.setFocus("ipt_calcscorcd");
- return;
- }
- }else if((srchcond == "NM") || (srchcond == "REQNM")){
- codenm = model.getValue("/root/main/cond/prcpnm");
-
- if (isNull(codenm)) {
- messageBox( "처방명을" ,"C001" );
- model.setFocus("ipt_prcpnm");
- return;
- }
- //한글인지 영문인지 구분
- if (fIsHangul(codenm) == "H") {
- if (codenm.length < 2) {
- messageBox( "한글 처방명 2자리 이상" ,"C001" );
- model.setFocus("ipt_prcpnm");
- return;
- }
- } else {
- if (codenm.length < 4) {
- messageBox( "영문 처방명 2자리 이상 " ,"C001" );
- model.setFocus("ipt_prcpnm");
- return;
- }
- }
- }
-
- var cond = model.getValue("/root/main/cond/srchcond")
- if(( cond == 'REQ')){
- var msg = messageBox("자료가 많을경우 시스템 부하가 일어날 수 있습니다. 그래도" , "Q005");
- if(msg == '6'){
- model.removeNodeset("/root/main/ordlibinfo");
- //input박스에 예전에 검색한 data값이 남지 않도록 지워준다.
- model.resetInstanceNode("/root/main/cond/calcscorcd");
- model.resetInstanceNode("/root/main/cond/prcpnm");
- model.resetInstanceNode("/root/main/cond/earncls1");
- model.resetInstanceNode("/root/main/cond/earncls2");
- model.resetInstanceNode("/root/main/cond/earncls3");
- //조건에 맞는 데이터 조회
- model.copyNode("/root/send/reqdata","/root/main/cond")
- //응급실처방제한관리 테이블이 가지고 있는 데이터를 조회
- submit("TRMMB02002");
- }
- }else if( ( cond == 'REQCD') || ( cond == 'REQNM') || ( cond == 'REQCLS') ){
- model.removeNodeset("/root/main/ordlibinfo");
- //응급실처방제한관리 테이블이 가지고 있는 데이터를 조회
- //조건에 맞는 데이터 조회
- model.copyNode("/root/send/reqdata","/root/main/cond")
- submit("TRMMB02002");
- }else{
- //조건에 맞는 데이터 조회
- model.copyNode("/root/send/reqdata","/root/main/cond");
- submit("TRMMB02001");
- }
- ]]>
- </script>
- </button>
- <select1 id="cmb_earncls1" ref="/root/main/cond/earncls1" navindex="3" appearance="minimal" style="left:575px; top:31px; width:130px; height:19px; ">
- <choices>
- <itemset nodeset="/root/main/earncls1info/earncls1list">
- <label ref="earncls1nm"/>
- <value ref="earncls1"/>
- </itemset>
- </choices>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- //콤보박스 리스트를 제거
- model.removeNodeset("/root/main/earncls2info");
- model.makeNode("/root/main/earncls2info/earncls2list/earncls2nm");
- model.makeNode("/root/main/earncls2info/earncls2list/earncls2");
- model.setValue("/root/main/earncls2info/earncls2list/earncls2nm",'전체');
- model.setValue("/root/main/earncls2info/earncls2list/earncls2",'all');
-
- //콤보박스 리스트 변경시 다시 전체가 조회되도록 선택
- cmb_earncls2.select(0);
-
- //콤보박스에 나올 리스트 조회
- model.copyNode("/root/send/reqdata","/root/main/cond");
- submit("TRMMB01703");
- ]]>
- </script>
- </select1>
- <select1 id="cmb_earncls2" ref="/root/main/cond/earncls2" navindex="4" appearance="minimal" style="left:710px; top:31px; width:130px; height:19px; ">
- <choices>
- <itemset nodeset="/root/main/earncls2info/earncls2list">
- <label ref="earncls2nm"/>
- <value ref="earncls2"/>
- </itemset>
- </choices>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- //콤보박스 리스트를 제거
- model.removeNodeset("/root/main/earncls3info");
- model.makeNode("/root/main/earncls3info/earncls3list/earncls3nm");
- model.makeNode("/root/main/earncls3info/earncls3list/earncls3");
- model.setValue("/root/main/earncls3info/earncls3list/earncls3nm",'전체');
- model.setValue("/root/main/earncls3info/earncls3list/earncls3",'all');
-
- //콤보박스 리스트 변경시 다시 전체가 조회되도록 선택
- cmb_earncls3.select(0);
-
- //콤보박스에 나올 리스트 조회
- model.copyNode("/root/send/reqdata","/root/main/cond");
- submit("TRMMB01704");
- ]]>
- </script>
- </select1>
- <select1 id="cmb_earncls3" ref="/root/main/cond/earncls3" navindex="5" appearance="minimal" style="left:845px; top:31px; width:130px; height:19px; ">
- <choices>
- <itemset nodeset="/root/main/earncls3info/earncls3list">
- <label ref="earncls3nm"/>
- <value ref="earncls3"/>
- </itemset>
- </choices>
- </select1>
- <caption id="caption25" class="tit_2" style="left:0px; top:72px; width:147px; height:13px; ">처방내역리스트</caption>
- <line id="line1" class="line_1" style="x1:0px; y1:90px; x2:1193px; y2:90px; "/>
- <datagrid id="grd_ordliblist" nodeset="/root/main/ordlibinfo/ordliblist" scroll="vertical" autoresize="true" caption="선택^처방코드^처방명^^^^처방영문명^처방분류" colsep="^" colwidth="30, 100, 350, 0, 0, 0, 350, 300" dataheight="25" extendlastcol="noscroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" navindex="7" style="left:0px; top:95px; width:1193px; height:688px; ">
- <col ref="useyn" type="checkbox"/>
- <col ref="prcpcd"/>
- <col ref="ordnm"/>
- <col ref="status"/>
- <col ref="fromdd"/>
- <col ref="orddept"/>
- <col ref="engnm"/>
- <col ref="earncls"/>
- </datagrid>
- <button id="btn_save" class="btn5_letter2" navindex="8" style="left:1148px; top:69px; width:42px; height:19px; ">
- <caption>저장</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- //체크박스를 체크하면 저장, 체크해제하면 삭제(체크박스 해제시 getUpdatedata가 적용이 되지 않아서 파리체 사용
- model.copyNode("/root/send/reqdata","/root/main/cond");
-
- xPath = "/root/main/ordlibinfo/ordliblist";
- var savedata ="useyn▦prcpcd▦ordnm▦engnm▦status▦fromdd▦orddeptcd▩";
- sRowCnt = grd_ordliblist.rows - grd_ordliblist.fixedrows;
- var uStat = "";
- var vStat = "";
-
- for (var i=1;i<=sRowCnt; i++){
- uStat = model.getValue(xPath+"["+i+"]/useyn");
- vStat = model.getValue(xPath+"["+i+"]/status");
- if (uStat != vStat) {
- savedata += model.getValue(xPath+"["+i+"]/useyn" ) + "▦";
- savedata += model.getValue(xPath+"["+i+"]/prcpcd") + "▦";
- savedata += model.getValue(xPath+"["+i+"]/ordnm" ) + "▦";
- savedata += model.getValue(xPath+"["+i+"]/engnm") + "▦";
- savedata += model.getValue(xPath+"["+i+"]/status" ) + "▦";
- savedata += model.getValue(xPath+"["+i+"]/fromdd" ) + "▦";
- savedata += model.getValue(xPath+"["+i+"]/orddeptcd" ) + "▩";
- }
- }
-
- model.setValue("/root/send/savedata",savedata);
-
- submit("TXMMB02001");
- ]]>
- </script>
- </button>
- <line id="line3" style="x1:1110px; y1:25px; x2:1110px; y2:55px; border-color:#ffe4bb; border-left-style:solid; "/>
- <button id="button1" class="btn2_letter2" navindex="8" style="left:1099px; top:68px; width:42px; height:19px; ">
- <caption>취소</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- //선택된 로우값을 받아옴
- var rowcount = grd_ordliblist.selectedRows;
- var row = new Array();
- //선택된 로우의 행값을 변수에 저장
- for(var i = rowcount - 1 ; i >= 0; i--){
- row[i] = grd_ordliblist.selectedrow(i);
- }
- //선택된 로우를 모두 선택을 'false'로 만들어줌
- for(var i = rowcount - 1 ; i >= 0; i--){
- model.setValue("/root/main/ordlibinfo/ordliblist["+ row[i] +"]/useyn",'false');
- }
- model.refresh();
- ]]>
- </script>
- </button>
- <button id="button2" class="btn2_letter2" navindex="7" style="left:1054px; top:68px; width:42px; height:19px; ">
- <caption>선택</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- //선택된 로우값을 받아옴
- var rowcount = grd_ordliblist.selectedRows;
- var row = new Array();
- //선택된 로우의 행값을 변수에 저장
- for(var i = rowcount - 1 ; i >= 0; i--){
- row[i] = grd_ordliblist.selectedrow(i);
- }
- //선택된 로우를 모두 선택을 'true'로 만들어줌
- for(var i = rowcount - 1 ; i >= 0; i--){
- model.setValue("/root/main/ordlibinfo/ordliblist["+ row[i] +"]/useyn",'true');
- }
- model.refresh();
- ]]>
- </script>
- </button>
- </xhtml:body>
- </xhtml:html>
|