123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271 |
- <?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>Care Plan 내용 입력</xhtml:title>
- <model id="model1">
- <instance id="instance1">
- <root xmlns="">
- <main>
- <careplandata>
- <list>
- <problem/>
- <careplan/>
- </list>
- </careplandata>
- </main>
- <send>
- <searchitem>
- <basecdcnts/>
- <basesuppdeptcd/>
- <cdgrupid/>
- </searchitem>
- </send>
- <init>
- <aebmbscddata>
- <codelist>
- <mbasecd/>
- <mbasecdcnts/>
- <mbasecdflagdesc/>
- <sbasecd/>
- <sbasecdcnts/>
- <sbasecdflagdesc/>
- </codelist>
- </aebmbscddata>
- <opnerdatanstinfo>
- <nstflag/>
- <nodepath/>
- </opnerdatanstinfo>
- </init>
- <hidden>
- <careplangridrow/>
- <careplangridcol/>
- <rgstdd/>
- <rgsttm/>
- </hidden>
- </root>
- </instance>
- <script type="javascript" ev:event="xforms-ready">
- <![CDATA[
- model.setValue("/root/send/searchitem/cdgrupid", "PN02");
- submit("TRADC02613"); // CarePlan 기준 코드 조회하기 (영양팀과 동일방법으로 조회)
-
- var nstflag = model.getValue("/root/init/opnerdatanstinfo/nstflag"); // 의뢰구분
- var NstNodepathMain = model.getValue("/root/init/opnerdatanstinfo/nodepath"); //opner Node Path - root/main/ennstinfo/
-
- // 수행시간을 현재 시간으로 세팅
- var curDt = getCurrentDateTime().split(" ");
- // 등록일자, 등록시간 세팅
- if(opener.model.getValue(NstNodepathMain + "careplaninfo/rgstdd") == "" ||
- opener.model.getValue(NstNodepathMain + "careplaninfo/rgsttm") == "" ||
- opener.model.getValue(NstNodepathMain + "careplaninfo/rgstdd") == "99991231" ||
- opener.model.getValue(NstNodepathMain + "careplaninfo/rgsttm") == "235959") {
- model.setValue("/root/hidden/rgstdd", curDt[0]);
- model.setValue("/root/hidden/rgsttm", curDt[1]);
- } else {
- model.setValue("/root/hidden/rgstdd", opener.model.getValue(NstNodepathMain + "careplaninfo/rgstdd"));
- model.setValue("/root/hidden/rgsttm", opener.model.getValue(NstNodepathMain + "careplaninfo/rgsttm"));
- }
- // Care Plan 의 problem, plan 데이터 세팅
- var carePlanData = opener.model.getValue(NstNodepathMain + "careplaninfo/problemcareplan");
-
- // 로우 데이터 별로 나누기
- carePlanData = carePlanData.split("§");
-
- for(var i = 1; i <= carePlanData.length; ++i) {
- var problemPlanData = carePlanData[i-1].split("▦");
-
- model.makeNode("/root/main/careplandata/list[" + i + "]");
- model.makeValue("/root/main/careplandata/list[" + i + "]/problem", problemPlanData[0]);
- model.makeValue("/root/main/careplandata/list[" + i + "]/careplan", problemPlanData[1]);
- }
- datagrid1.resizeCells();
- model.refresh();
- ]]>
- </script>
- <submission id="TRADC02613" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/searchitem" resultref="/root/init/aebmbscddata"/>
- </model>
- </xhtml:head>
- <script type="javascript" src="../../../com/commonweb/js/common.js"/>
- <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
- <script type="javascript" src="../../../ast/commonweb/js/AST.js"/>
- <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
- <script type="javascript" src="../../../ast/examcureweb/js/AEZ0001.js"/>
- <xhtml:body pagewidth="800" pageheight="400" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
- <group id="group1" scroll="auto" style="left:320px; top:0px; width:310px; height:380px; ">
- <caption id="caption4" class="tit_2" style="left:5px; top:9px; width:125px; height:13px; ">Care Plan</caption>
- <line id="line3" class="line_1" style="x1:0px; y1:24px; x2:306px; y2:24px; "/>
- <datagrid id="datagrid2" nodeset="/root/main/careplandata/list" autoresize="true" caption="Problem^Plan^basecdflag^basesuppdeptcd" colsep="^" colwidth="146, 136, 0, 0" explorerbar="sortshow" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:30px; width:305px; height:265px; ">
- <col ref="problem" type="input"/>
- <col ref="careplan" type="input"/>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- var mousRow = datagrid2.mouseRow; // 마우스로 선택된 현재 행의 번호
- var mousCol = datagrid2.mouseCol; // 마우스로 선택된 열의 번호
- var fixedRows = datagrid2.fixedRows; // 고정된 행의 갯수
- if( (fixedRows <= mousRow) && (datagrid2.colRef("problem") == mousCol) || (datagrid2.colRef("careplan") == mousCol) ) {
- model.setValue("/root/hidden/careplangridrow", datagrid2.mouseRow);
- model.setValue("/root/hidden/careplangridcol", datagrid2.mouseCol);
- }
- ]]>
- </script>
- </datagrid>
- <input id="ipt_rgstdd" ref="/root/hidden/rgstdd" inputtype="date" format="yyyy-mm-dd" style="left:215px; top:300px; width:90px; height:19px; "/>
- <caption id="caption11" style="left:125px; top:300px; width:85px; height:20px; font-weight:bold; ">* 등록일자 :</caption>
- <input id="ipt_rgsttm" ref="/root/hidden/rgsttm" format="hh:nn" type="input" style="left:215px; top:320px; width:65px; height:19px; "/>
- <caption id="caption12" style="left:125px; top:320px; width:85px; height:20px; font-weight:bold; ">* 등록시간 :</caption>
- <button id="button2" class="btn2_letter3" style="left:251px; top:4px; width:53px; height:19px; ">
- <caption>행삭제</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- datagrid2.deleteRow(datagrid2.row, true);
- ]]>
- </script>
- </button>
- <button id="button3" class="btn2_letter3" style="left:195px; top:4px; width:53px; height:19px; ">
- <caption>행추가</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- datagrid2.addRow();
- model.refresh();
- ]]>
- </script>
- </button>
- <button id="button4" class="btn4_letter2" style="left:250px; top:355px; width:56px; height:22px; ">
- <caption>확인</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
-
- var NstNodepathMain = model.getValue("/root/init/opnerdatanstinfo/nodepath"); //opner Node Path - root/main/ennstinfo/
-
- var sColSep = "▦";
- var sRowSep = "§";
-
- // 그리드 헤더값 생성
- var rCSV = "";
-
- var gridRow = datagrid2.rows; // 데이터 로우 종 갯수
- var fixedRows = datagrid2.fixedRows; // 고정 데이터 로우 갯수
-
- // 그리드 데이터가 없으면 메서드 종료
- if(gridRow <= fixedRows) {
- return;
- }
-
- if(model.getValue("/root/hidden/rgstdd") == "") {
- alert("'등록일자' 를 입력해주세요");
- return false;
- }
-
- if(model.getValue("/root/hidden/rgsttm") == "") {
- alert("'등록시간' 을 입력해주세요");
- return false;
- }
-
- // Care Plan 관련 데이터 생성
- for(var i = 1; i < gridRow; ++i) {
- // 필수 데이터 체크
- if(datagrid2.valueMatrix(i, datagrid2.colRef("problem")) == "" ||
- datagrid2.valueMatrix(i, datagrid2.colRef("careplan")) == "") {
- alert(i + "번째 데이터에 필수 항목인 'Problem' 및 'Plan'을 입력 해주세요");
- return;
- }
- if(i == 1) {
- rCSV +=
- datagrid2.valueMatrix(i, datagrid2.colRef("problem")) + sColSep +
- datagrid2.valueMatrix(i, datagrid2.colRef("careplan"));
- } else {
- rCSV +=
- sRowSep +
- datagrid2.valueMatrix(i, datagrid2.colRef("problem")) + sColSep +
- datagrid2.valueMatrix(i, datagrid2.colRef("careplan"));
- }
- }
-
- opener.model.setValue(NstNodepathMain + "careplaninfo/workflag" , "004"); // 작업구분(001:Treatment, 004:Nutrition Management, 003:Discharge, 002:Activity/Rehabilitation, 005:Nursing Care, 999:Other Care)
- opener.model.setValue(NstNodepathMain + "careplaninfo/problemcareplan" , rCSV); // PLOBLEM CAREPLAN
- opener.model.setValue(NstNodepathMain + "careplaninfo/rgstdd" , model.getValue("/root/hidden/rgstdd")); // 등록일자
- opener.model.setValue(NstNodepathMain + "careplaninfo/rgsttm" , model.getValue("/root/hidden/rgsttm")); // 등록시분초
-
- window.close();
- ]]>
- </script>
- </button>
- <button id="button5" class="btn4_letter3" style="left:180px; top:355px; width:68px; height:22px; ">
- <caption>초기화</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- if ( messageBox("초기화하시겠습니까?", "Q") == 6) {
- model.reset();
- }
- ]]>
- </script>
- </button>
- <line id="line1" class="line_3" style="x1:5px; y1:349px; x2:305px; y2:349px; "/>
- </group>
- <group id="group3" scroll="auto" style="left:0px; top:0px; width:310px; height:380px; ">
- <caption id="caption2" class="tit_2" style="left:5px; top:10px; width:125px; height:13px; ">대분류, 중분류 표</caption>
- <line id="line4" class="line_1" style="x1:0px; y1:26px; x2:304px; y2:25px; "/>
- <datagrid id="datagrid1" nodeset="/root/init/aebmbscddata/codelist" autoresize="true" caption="^^대분류^^^소분류^basecdflag^basesuppdeptcd" colsep="^" colwidth="15, 15, 95, 14, 17, 127, 0, 0" explorerbar="sortshow" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:30px; width:305px; height:320px; ">
- <col ref="mbasecd" visibility="hidden"/>
- <col ref="mbasecdcnts" visibility="hidden"/>
- <col ref="mbasecdflagdesc" type="output"/>
- <col ref="sbasecd" visibility="hidden"/>
- <col ref="sbasecdcnts" visibility="hidden"/>
- <col ref="sbasecdflagdesc" type="output"/>
- <script type="javascript" ev:event="onaftersort">
- <![CDATA[
- // 정렬된 순서대로 인스턴스를 재정의 함
- // datagrid2.gridToInstance();
- ]]>
- </script>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- var mousRow = datagrid1.mouseRow; // 마우스로 선택된 현재 행의 번호
- var mousCol = datagrid1.mouseCol; // 마우스로 선택된 열의 번호
- var fixedRows = datagrid1.fixedRows; // 고정된 행의 갯수
- var fixedCols = datagrid1.fixedCols; // 고정된 열의 갯수
- var mousRow2 = model.getValue("/root/hidden/careplangridrow"); // 마우스로 선택된 현재 행의 번호
- var mousCol2 = model.getValue("/root/hidden/careplangridcol"); // 마우스로 선택된 열의 번호
- var fixedRows2 = datagrid2.fixedRows; // 고정된 행의 갯수
-
- if( (mousRow >= fixedRows) && (mousCol >= fixedCols) &&
- (datagrid1.colRef("sbasecdflagdesc") == mousCol) && event.target != "datagrid1.vscroll.thumb") {
- if((fixedRows2 <= mousRow2) && (datagrid2.colRef("problem") == mousCol2)) {
- var problem = datagrid2.valueMatrix(mousRow2, datagrid2.colRef("problem"));
-
- if(problem == "") {
- problem = datagrid1.valueMatrix(mousRow, datagrid1.colRef("sbasecdflagdesc"));
- datagrid2.valueMatrix(mousRow2, datagrid2.colRef("problem")) = problem;
- } else {
- problem = problem + ", " + datagrid1.valueMatrix(mousRow, datagrid1.colRef("sbasecdflagdesc"));
- datagrid2.valueMatrix(mousRow2, datagrid2.colRef("problem")) = problem;
- }
- } else if((fixedRows2 <= mousRow2) && (datagrid2.colRef("careplan") == mousCol2)) {
- var careplan = datagrid2.valueMatrix(mousRow2, datagrid2.colRef("careplan"));
-
- if(careplan == "") {
- careplan = datagrid1.valueMatrix(mousRow, datagrid1.colRef("sbasecdflagdesc"));
- datagrid2.valueMatrix(mousRow2, datagrid2.colRef("careplan")) = careplan;
- } else {
- careplan = careplan + ", " + datagrid1.valueMatrix(mousRow, datagrid1.colRef("sbasecdflagdesc"));
- datagrid2.valueMatrix(mousRow2, datagrid2.colRef("careplan")) = careplan;
- }
- }
- }
-
- datagrid2.resizeCells();
- datagrid1.refresh();
- ]]>
- </script>
- </datagrid>
- </group>
- </xhtml:body>
- </xhtml:html>
|