123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936 |
- <?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>Untitle</xhtml:title>
- <model id="model1">
- <instance id="instance1">
- <root xmlns="">
- <main>
- <inqrinfo>
- <inqrlist/>
- </inqrinfo>
- <inqrdetlist>
- <inqrheader>
- <inqrno/>
- <inqrhistno/>
- <cpgno/>
- <cpghistseq/>
- <inqrnm/>
- <pntmflag/>
- <inqrflag/>
- <stepno/>
- </inqrheader>
- <inqr/>
- <answ/>
- </inqrdetlist>
- <inqrform>
- <inqrheader>
- <inqrno/>
- <inqrhistno/>
- <cpgno/>
- <cpghistseq/>
- <inqrnm/>
- <pntmflag/>
- <inqrflag/>
- <stepno/>
- </inqrheader>
- <inqrlist>
- <inqrstatus/>
- <inqrinqrno/>
- <inqrinqrhistno/>
- <inqrqestno/>
- <inqrqestcnts/>
- <inqranswflag/>
- <inqranswessyn/>
- <inqrlimno/>
- <inqrlimhistno/>
- <inqrlimcdno/>
- <inqrsetattrno/>
- <inqrsetattrhistno/>
- </inqrlist>
- <answlist>
- <answstatus/>
- <asnwinqrno/>
- <answinqrhistno/>
- <answqestno/>
- <answanswno/>
- <answanswcnts/>
- </answlist>
- </inqrform>
- <inqrmenulist>
- <menu>
- <item>
- <name>삭제</name>
- <func>fDelInqrList</func>
- </item>
- </menu>
- <menu2>
- <item>
- <name>기타속성 지정</name>
- <func>fInputFreetextAttr</func>
- </item>
- <item>
- <name>답안추가</name>
- <func>fAddAnswList</func>
- </item>
- </menu2>
- </inqrmenulist>
- <tempanswlist/>
- </main>
- <temp/>
- </root>
- </instance>
- <script type="javascript" ev:event="xforms-ready">
- <![CDATA[
- fInqrInit();
- ]]>
- </script>
- <submission id="TXMQP04001" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata/inqrlist/dellist" resultref="/root/main/inqrinfo"/>
- <submission id="TXMQP04002" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata/inqrlist" resultref="/root/main/inqrinfo"/>
- <submission id="TRMQP04001" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/inqrinfo"/>
- <submission id="TRMQP04002" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/inqrdetlist/inqrheader" resultref="/root/temp"/>
- <submission id="TXMQP04003" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata/inqrlist"/>
- </model>
- <script type="javascript" src="../../../com/commonweb/js/common.js"/>
- <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
- <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/utilHelper.js"/>
- <script type="javascript">
- <![CDATA[
- //## 핸들링하고 있는 문진 리스트 번호 2010.04.20 KHJ
- var grdpoplistRow = 1;
- var Answ_Path = "/root/main/inqrdetlist/answ";
- var Inqr_Path = "/root/main/inqrdetlist/inqr";
- var maxqestno = 0;
- var oldQestNo = 0;
-
- /*
- * @desc : 팝업시점의 변화에 따른 step 활성화
- * @
- * @param :
- * @return :
- * @author : 김영학 (2009. 02.28)
- * @---------------------------------------------------
- */
- function fStepSetup() {
- var pntmflag = model.getValue("/root/main/inqrdetlist/inqrheader/pntmflag");
- if (pntmflag =="3") {
- cmb_inqrstepno.disabled = false;
- cmb_inqrstepno.select(0);
- } else {
- cmb_inqrstepno.disabled = true;
- model.setValue("/root/main/inqrdetlist/inqrheader/stepno", "0");
- }
- model.refresh();
-
- //fChngInqrflag();
- }
-
- /*
- * @desc : 문진 삭제
- * @
- * @param :
- * @return :
- * @author : 김영학 (2009. 02.28)
- * @---------------------------------------------------
- */
- function fDelInqrList() {
- model.removeNodeset("/root/send/savedata/inqrlist/dellist");
-
- var tmpstrTitle = "inqrno▦inqrhistno▦cpgno▦cpghistseq▩";
- var tmpstrCnts = "";
- var rows = grd_poplist.rows;
- for (var row = 1; row <= rows; row++ ) {
- if(grd_poplist.isSelected(row)) {
- var inqrno = model.getValue("/root/main/inqrinfo/inqrlist[" + row + "]/inqrno");
- var inqrhistno = model.getValue("/root/main/inqrinfo/inqrlist[" + row + "]/inqrhistno");
- var cpgno = model.getValue("/root/main/inqrinfo/inqrlist[" + row + "]/cpgno");
- var cpghistseq = model.getValue("/root/main/inqrinfo/inqrlist[" + row + "]/cpghistseq");
-
- tmpstrCnts = tmpstrCnts + inqrno + "▦" + inqrhistno + "▦" + cpgno + "▦" + cpghistseq + "▩";
- }
- }
- if( !isNull(tmpstrCnts) ){
- model.makeValue("/root/send/savedata/inqrlist/dellist" , tmpstrTitle + tmpstrCnts);
- if( !submit("TXMQP04001", false) ) return false;
-
- opener.window.javascript.fInitAttList();
- fInqrInit();
- fCheckStepAttr(); //저장 후 스텝의 속성 정보 변경 시 체크하여 변경사항을 outline에 반영한다 --JJE
- model.refresh();
- }
- }
-
- /*
- * @desc : 초기화
- * @
- * @param :
- * @return :
- * @author : 김영학 (2009. 02.28)
- * @---------------------------------------------------
- */
- function fInqrInit() {
- fStepSetup() ;
-
- submit("TRMQP04001");
- model.removenode("/root/main/inqrdetlist/inqr");
- model.removenode("/root/main/inqrdetlist/answ");
- model.refresh();
- }
-
- /*
- * @desc : 팝업관리 저장
- * @
- * @param :
- * @return :
- * @author : 김영학 (2009. 02.28)
- * @---------------------------------------------------
- */
- function fSaveInqrList() {
- var title = model.getValue("/root/main/inqrdetlist/inqrheader/inqrnm");
- if (isNull(title)) {
- messageBox("제목은", "I003");
- model.setFocus("ipt_title");
- return false;
- }
-
- var inqrflag = model.getValue("/root/main/inqrdetlist/inqrheader/inqrflag");
- if (isNull(inqrflag)) {
- messageBox("용도는", "I003");
- model.setFocus("rdo_mthd");
- return false;
- }
- var pntmflag = model.getValue("/root/main/inqrdetlist/inqrheader/pntmflag");
- if (isNull(pntmflag)) {
- messageBox("팝업시점은", "I003");
- model.setFocus("rdo_popstart");
- return false;
- }
-
- if (pntmflag == "3") {
- var stepno = model.getValue("/root/main/inqrdetlist/inqrheader/stepno");
- if (stepno == "0") {
- messageBox("스탭 지정은", "I003");
- model.setFocus("cmb_inqrstepno");
- return false;
- }
- }
-
- if (grd_inqrlist.rows > 1) {
- for (var i = 1 ; i < grd_inqrlist.rows ; i++ ) {
- var answflag = model.getValue(Inqr_Path + "/inqrlist[" + i + "]/inqranswflag");
- if (isNull(answflag)) {
- messageBox("답안속성은", "I003");
- grd_inqrlist.row = i;
- grd_inqrlist.col = 6;
- grd_inqrlist.editCell();
- return false;
- }
- }
- }
-
- /*
- if (grd_answlist.rows > 1 ) {
- for (i = 0 ; i < grd_answlist.rows ; i++ ) {
- var answcnts = model.getValue(Answ_Path + "/answlist[" + i + "]/answanswcnsts");
- if (isNull(answcnts)) {
- messageBox("답안은", "I003");
- grd_answlist.col= 6;
- grd_answlist.editCell();
- return false;
- }
- }
- }
- */
-
- model.removeNodeset("/root/send/savedata/inqr/inqrheader");
- model.removeNodeset("/root/send/savedata/inqr/inqrlist");
- model.removeNodeset("/root/send/savedata/inqr/answlist");
-
- model.setValue("/root/main/inqrdetlist/inqrheader/cpgno" , model.getValue("/root/main/cond/cpgno"));
- model.setValue("/root/main/inqrdetlist/inqrheader/cpghistseq" , model.getValue("/root/main/cond/cpghistseq"));
-
- model.makeValue("/root/send/savedata/inqrlist/inqrlist", grd_inqrlist.getUpdateDataAll(i));
- //temp 인스턴스는 전체 답안을 모두 가지고 있음. 저장 시 temp 인스턴스를 날림 (JJE)
- if( oldQestNo > 0 && instance1.selectSingleNode("/root/main/inqrdetlist/answ/answlist[answstatus!='']") != null ){
- model.removeNodeset("/root/temp/answlist[answqestno='"+oldQestNo+"']");
- copyNodeListType("/root/temp", "/root/main/inqrdetlist/answ/answlist[answqestno='"+oldQestNo+"']", "after");
- }
- grd_allanswlist.refresh();
- model.makeValue("/root/send/savedata/inqrlist/answlist", grd_allanswlist.getUpdateDataAll(i));
- model.removeNodeset("/root/send/savedata/inqrlist/inqrheader");
- model.makeNode("/root/send/savedata/inqrlist/inqrheader");
- model.copyNode("/root/send/savedata/inqrlist/inqrheader" , "/root/main/inqrdetlist/inqrheader");
-
- if( !submit("TXMQP04002", true) ) return false;
- fInqrInit();
-
- //## 저장시 조회한 헤더 정보 셋팅 20100420 KHJ
- model.copyNode("/root/main/inqrdetlist/inqrheader", "/root/main/inqrinfo/inqrlist[" + grdpoplistRow + "]");
-
- if( submit("TRMQP04002", true) ){
- model.makeNode("/root/main/inqrdetlist/inqr");
- //## 답변 노드 생성 20100420 KHJ
- model.makeNode("/root/main/inqrdetlist/answ");
- copyNodeListType("/root/main/inqrdetlist/inqr", "/root/temp/inqrlist", "after");
- model.refresh();
- }
- }
-
- /*
- * @desc : 속성리스트에서 항목 복사시 질문번호와 답안 번호를 순서에 맞게 재배열
- * @
- * @param :
- * @return :
- * @author : 김영학 (2009. 02.28)
- * @---------------------------------------------------
- */
- function fAddInqrList() {
- var inqrnm = model.getValue("/root/main/inqrdetlist/inqrheader/inqrnm");
- if (isNull(inqrnm)) { // 문진을 새로 작성하는 경우
- model.copyNode("/root/main/inqrdetlist/inqrheader", "/root/temp/inqrheader");
- model.setValue("/root/main/inqrdetlist/inqrheader/inqrno" , ""); // 복사된 질문의 문진번호와 이력번호를 널값 처리 해준다.
- model.setValue("/root/main/inqrdetlist/inqrheader/inqrhistno" , "");
- var stepno = model.getValue("/root/main/inqrdetlist/inqrheader/stepno");
- fStepSetup() ;
- model.setValue("/root/main/inqrdetlist/inqrheader/stepno", stepno);
- }
- model.makeNode("/root/main/inqrdetlist/inqr");
- model.makeNode("/root/main/inqrdetlist/answ");
- var inqrList = instance1.selectNodes("/root/temp/inqrlist");
- if (inqrList.length > 0) {
- for (i =0; i < inqrList.length ; i++ ) {
- maxqestno = parseInt(maxqestno) + 1;
- inqrNode = inqrList.item(i);
- var inqrqestno = inqrNode.selectSingleNode("inqrqestno");
- var qestno = inqrqestno.text;
-
- for (j =0; j < grd_inqrlist.rows ; j++) {
- inqrqestno = model.getValue("/root/main/inqrdetlist/inqr/inqrlist[" + j + "]/inqrqestno");
- if (maxqestno > inqrqestno) {
- maxqestno = maxqestno;
- } else {
- maxqestno = parseInt(inqrqestno) + 1;
- }
- }
- model.setValue(inqrNode.selectSingleNode("inqrstatus"), "i");
- var inqrinqrqestno = model.getValue("/root/main/inqrdetlist/inqr/inqrlist[inqrqestno='" + inqrqestno + "']/inqrqestno");
- if (!isNull(inqrinqrqestno) ) {
-
- model.setValue(inqrNode.selectSingleNode("inqrqestno"), maxqestno);
-
- var anwList = instance1.selectNodes("/root/temp/answlist");
- for (k = 0 ; k < anwList.length; k++ ) {
- answNode = anwList.item(k);
- var answqestno = answNode.selectSingleNode("answqestno");
- var anqestno = answqestno.text;
- var tempanswqestno = answNode.selectSingleNode("tempanswqestno");
- var tempqestno = tempanswqestno.text;
-
- if (anqestno == qestno) {
- if (anqestno == tempqestno) {
- model.setValue(answNode.selectSingleNode("answqestno"), maxqestno);
- }
- }
- }
- }
- }
- }
- var anwList = instance1.selectNodes("/root/temp/answlist");
- for (k = 0 ; k < anwList.length; k++ ) {
- answNode = anwList.item(k);
- model.setValue(answNode.selectSingleNode("answstatus"), "I");
- }
- copyNodeListType("/root/main/inqrdetlist/inqr", "/root/temp/inqrlist", "after");
- copyNodeListType("/root/main/inqrdetlist/answ", "/root/temp/answlist", "after");
-
- model.setValue("/root/main/inqrdetlist/inqrheader/cpgno" , model.getValue("/root/main/cond/cpgno"));
- model.setValue("/root/main/inqrdetlist/inqrheader/cpghistseq" , model.getValue("/root/main/cond/cpghistseq"));
- model.refresh();
-
- // 추가된 값들은 insert 상태로 보이도록 하고 질문호와 이력번호는 header값과 같도록 셋팅해준다.
- for (i = 1; i < grd_inqrlist.rows ; i++) {
- var inqrstatus = model.getValue("/root/main/inqrdetlist/inqr/inqrlist[" + i + "]/inqrstatus");
- if (inqrstatus == "i") {
- model.setValue("/root/main/inqrdetlist/inqr/inqrlist[" + i + "]/inqrinqrno", model.getValue("/root/main/inqrdetlist/inqrheader/inqrno"));
- model.setValue("/root/main/inqrdetlist/inqr/inqrlist[" + i + "]/inqrinqrhistno", model.getValue("/root/main/inqrdetlist/inqrheader/inqrno"));
- grd_inqrlist.rowStatus(i) = 1;
- }
- }
- for (i = 1; i < grd_answlist.rows ; i++) {
- var answstatus = model.getValue("/root/main/inqrdetlist/answ/answlist[" + i + "]/answstatus");
- if (answstatus == "I") {
- model.setValue("/root/main/inqrdetlist/answ/answlist[" + i + "]/answinqrno", model.getValue("/root/main/inqrdetlist/inqrheader/inqrno"));
- model.setValue("/root/main/inqrdetlist/answ/answlist[" + i + "]/answinqrhistno", model.getValue("/root/main/inqrdetlist/inqrheader/inqrno"));
- grd_answlist.rowStatus(i) = 1;
- }
- }
-
- //설정된 스텝번호를 파라메터로 셋팅해서 outline의 아이콘 불이 들어오도록 (2009.04.14)
- setParameter("SPMQP00300_before_stepno", "0");
- setParameter("SPMQP00300_after_stepno", model.getValue("/root/main/inqrdetlist/inqrheader/stepno"));
- }
-
- /*
- * @desc : 그리드 refresh 후 rowstatus 초기화되는 현상에 대한 처리
- * @
- * @param :
- * @return :
- * @author : 전지은
- * @---------------------------------------------------
- */
- function fSetGrdRowStatus(grd) {
- var grdCtrl = document.controls(grd);
-
- if( grd == "grd_inqrlist" ){
- var ref1 = "/root/main/inqrdetlist/inqr/inqrlist";
- var ref2 = "/inqrstatus";
- }else if( grd == "grd_answlist" ){
- var ref1 = "/root/main/inqrdetlist/answ/answlist";
- var ref2 = "/answstatus";
- }
-
- for( var i=1; i<grdCtrl.rows; i++){
- if( model.getValue(ref1 + "[" + i + "]" + ref2) == "I" ){
- grdCtrl.rowStatus(i) = 1;
- }else if( model.getValue(ref1 + "[" + i + "]" + ref2) == "U" ){
- grdCtrl.rowStatus(i) = 2;
- }else if( model.getValue(ref1 + "[" + i + "]" + ref2) == "D" ){
- grdCtrl.rowStatus(i) = 4;
- }else{
- grdCtrl.rowStatus(i) = 0;
- }
-
- if( grd == "grd_answlist" ){
- if( model.getValue(ref1 + "[" + i + "]/answanswno") == "99999" ){
- model.setValue(ref1 + "[" + i + "]/answanswcnts", "(기타)");
- grd_answlist.rowstyle(i, "data", "color") = "#FF0000";
- }
- }
-
- }
- }
-
- /*
- * @desc : 답안을 추가한다.
- * @
- * @param :
- * @return :
- * @author : 전지은
- * @---------------------------------------------------
- */
- function fAddAnswList(pos){
- if( isNull(pos) ) pos = "S"; //B:bottom에 추가, S:Select Line에 추가
-
- if ( instance1.selectSingleNode("/root/main/inqrdetlist/inqr/inqrlist") == null ) {
- messageBox("질문이", "I004");
- return;
- }
- if ( grd_inqrlist.row <= 0 ) {
- messageBox("질문을", "C002");
- return;
- }
-
- var qestno = model.getValue(Inqr_Path + "/inqrlist["+ grd_inqrlist.row + "]/inqrqestno");
- var answno = grd_answlist.rows-1;
- var answflag = model.getValue("/root/main/inqrdetlist/inqr/inqrlist["+ grd_inqrlist.row + "]/inqranswflag");
-
- if ( answflag == "" ) {
- messageBox("답안속성을", "C002");
- return;
- }else if( answflag == "3" ){
- if( grd_answlist.rows - 1 >= 1 ){
- messageBox("입력답안의 수는 하나만", "I006");
- return;
- }
- }
-
- var inqrno = model.getValue("/root/main/inqrdetlist/inqrheader/inqrno");
- var inqrhistno = model.getValue("/root/main/inqrdetlist/inqrheader/inqrhistno");
-
- model.makeNode("/root/main/inqrdetlist/answ");
-
- if( pos == "B" ){
- copyNodeListType("/root/main/inqrdetlist/answ", "/root/main/inqrform/answlist", "after");
- answno++;
- model.setValue(Answ_Path + "/answlist["+ answno + "]/answstatus" , "I"); //상태값 셋팅 추가(JJE)
- model.setValue(Answ_Path + "/answlist["+ answno + "]/answqestno" , qestno);
- model.setValue(Answ_Path + "/answlist["+ answno + "]/asnwinqrno" , inqrno);
- model.setValue(Answ_Path + "/answlist["+ answno + "]/answinqrhistno" , inqrhistno);
- model.setValue(Answ_Path + "/answlist["+ answno + "]/answanswno" , "0"); //화면단에서 키를 지정해주는것이 명확하지 않아 저장 전 순차적으로 생성해줌(2009.05.19 JJE)
- }else if( pos == "S" ){
-
- // /root/main/tempanswlist
- }
- model.refresh();
- fSetGrdRowStatus("grd_answlist");
- }
-
- /*
- * @desc : 답안 중 기타속성으로 지정한다.
- * @
- * @param :
- * @return :
- * @author : 전지은
- * @---------------------------------------------------
- */
- function fInputFreetextAttr(){
- var iRow = grd_answlist.row;
- var answNo = model.getValue(Answ_Path + "/answlist[" + iRow + "]/answanswno");
-
- if( answNo == "99999" )
- model.setValue(Answ_Path + "/answlist[" + iRow + "]/answanswno", "0");
- else{
- var ftNode = instance1.selectSingleNode("/root/main/inqrdetlist/answ/answlist[answanswno!='"+answNo.text+"' and answanswno=99999]");
- if( ftNode != null ){
- messageBox("이미 기타 답안이 존재합니다.\n기타 답안은 1건만 입력", "I006");
- return;
- }
-
- model.setValue(Answ_Path + "/answlist[" + iRow + "]/answanswno", "99999");
- }
-
- if( model.getValue(Answ_Path + "/answlist[" + iRow + "]/answstatus") != "I" ){
- model.setValue(Answ_Path + "/answlist[" + iRow + "]/answstatus", "U");
- }
- fSetGrdRowStatus("grd_answlist");
- }
-
- function fSetQestNo(){
- var NodeList = instance1.selectNodes(Inqr_Path + "/inqrlist");
- var AnswList = null;
-
- if( NodeList.length > 0 ){
- var qestCnt = 0;
- var iQestCnt = 0;
- for (var i = 1 ; i <= NodeList.length ; i++ ) {
- var iStatus = model.getValue(Inqr_Path + "/inqrlist["+ i + "]/inqrstatus");
- var iQestNo = model.getValue(Inqr_Path + "/inqrlist["+ i + "]/inqrqestno");
- if( iStatus == "D" ){
- iQestCnt = 0;
- //답안데이터의 질문번호 변경
- AnswList = instance1.selectNodes("/root/temp/answlist[answqestno='" + iQestNo + "']");
- if( AnswList.length > 0 ){
- for (var j = 0 ; j < AnswList.length ; j++ ) {
- var node = AnswList.item(j);
- model.setValue(node.selectSingleNode("answqestno"), 0);
- model.setValue(node.selectSingleNode("answstatus"), "D");
- }
- }
- }else{
- qestCnt++;
- iQestCnt = qestCnt;
- //답안데이터의 질문번호 변경
- AnswList = instance1.selectNodes("/root/temp/answlist[answqestno='" + iQestNo + "']");
- if( AnswList.length > 0 ){
- for (var j = 0 ; j < AnswList.length ; j++ ) {
- var node = AnswList.item(j);
- model.setValue(node.selectSingleNode("answqestno"), iQestCnt);
- if( node.selectSingleNode("answstatus").text != "I" )
- model.setValue(node.selectSingleNode("answstatus"), "");
- }
- }
- }
- //질문데이터의 질문번호 변경
- model.setValue(Inqr_Path + "/inqrlist["+ i + "]/inqrqestno", iQestCnt);
- } //end for
- } //end check
- }
-
- /*
- * @desc : 답안 중 기타속성으로 지정한다.
- * @
- * @param :
- * @return :
- * @author : 전지은
- * @---------------------------------------------------
- */
- function fChngInqrflag(){
- var inqrflag = model.getValue("/root/main/inqrdetlist/inqrheader/inqrflag");
- if( isNull(inqrflag) || instance1.selectSingleNode("/root/init/M0516/M0516[cdid='"+inqrflag+"']") != null ) {
- rdo_popstart.disabled = false;
- btn_addqest.disabled = false;
- btn_delqest.disabled = false;
- btn_addansw.disabled = false;
- btn_delansw.disabled = false;
- cap_detl_inqrflag.visible = false;
- }else{
- model.setValue("/root/main/inqrdetlist/inqrheader/pntmflag", "1"); //퇴원예고
- model.removeNodeset("/root/main/inqrdetlist/inqr/inqrlist");
- model.removeNodeset("/root/main/inqrdetlist/answ/answlist");
- rdo_popstart.refresh();
- grd_inqrlist.refresh();
- grd_answlist.refresh();
- rdo_popstart.disabled = true;
- btn_addqest.disabled = true;
- btn_delqest.disabled = true;
- btn_addansw.disabled = true;
- btn_delansw.disabled = true;
- cap_detl_inqrflag.visible = true;
-
- }
- }
- ]]>
- </script>
- </xhtml:head>
- <xhtml:body>
- <button id="btn_addqest" class="btn2_letter4" disable.background-image="../../../com/commonweb/images/dis_btn2_letter2.gif" style="left:346px; top:231px; width:64px; height:19px; background-image:../../../com/commonweb/images/btn2_letter2.gif; ">
- <caption>질문추가</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- var qestno = grd_inqrlist.rows -1;
- var inqrno = model.getValue("/root/main/inqrdetlist/inqrheader/inqrno");
- var inqrhistno = model.getValue("/root/main/inqrdetlist/inqrheader/inqrhistno");
-
- model.makeNode("/root/main/inqrdetlist/inqr");
- copyNodeListType("/root/main/inqrdetlist/inqr", "/root/main/inqrform/inqrlist", "after");
- qestno++;
-
- model.setValue(Inqr_Path + "/inqrlist["+ qestno + "]/inqrstatus", "I"); //입력시 상태값 추가(JJE)
- model.setValue(Inqr_Path + "/inqrlist["+ qestno + "]/inqrqestno", "0"); //화면단에서 키를 지정해주는것이 명확하지 않아 저장 전 순차적으로 생성해줌(2009.05.19 JJE)
- model.setValue(Inqr_Path + "/inqrlist["+ qestno + "]/inqrinqrno", inqrno);
- model.setValue(Inqr_Path + "/inqrlist["+ qestno + "]/inqrinqrhistno", inqrhistno);
-
- fSetQestNo(); //질문 상태 변경에 따른, 답안 상태 동시 변경 처리 (2010.04.12)
-
- model.refresh();
- fSetGrdRowStatus("grd_inqrlist");
- ]]>
- </script>
- </button>
- <datagrid id="grd_poplist" nodeset="/root/main/inqrinfo/inqrlist" caption="제목^Guideline" colsep="^" colwidth="296, 425" mergecellsfixedrows="bycolrec" rowsep="|" selectionmode="listbox" style="left:0px; top:23px; width:725px; height:106px; ">
- <col ref="title"/>
- <col ref="guide"/>
- <script type="javascript" ev:event="onmousedown">
- <![CDATA[
- if (isDataCell() == true) {
- setPopupMenu("grd_poplist", false, "/root/main/inqrmenulist/menu/item", "name", "func");
- }
- ]]>
- </script>
- <script type="javascript" ev:event="DOMFocusOut">
- <![CDATA[
- window.setPopupMenu(false);
- ]]>
- </script>
- <script type="javascript" ev:event="ondblclick">
- <![CDATA[
- grdpoplistRow = grd_poplist.row;
- if (isDataCell() == true) {
- model.removenode("/root/main/inqrdetlist");
- model.makeNode("/root/main/inqrdetlist/inqrheader");
- model.makeNode("/root/main/inqrdetlist/inqr");
- model.makeNode("/root/main/inqrdetlist/answ");
- var iRow = grd_poplist.row;
- var inqrno = model.getValue("/root/main/inqrinfo/inqrlist[" + iRow + "]/inqrno");
- var inqrhistno = model.getValue("/root/main/inqrinfo/inqrlist[" + iRow + "]/inqrhistno");
-
- model.copyNode("/root/main/inqrdetlist/inqrheader", "/root/main/inqrinfo/inqrlist[" + iRow + "]");
- if( submit("TRMQP04002", false) ){
- copyNodeListType("/root/main/inqrdetlist/inqr", "/root/temp/inqrlist", "after");
- //copyNodeListType("/root/main/inqrdetlist/answ", "/root/temp/answlist", "after");
- //fChngInqrflag();
- model.refresh();
- }
- }
- ]]>
- </script>
- </datagrid>
- <line id="line10" class="line_1" style="x1:0px; y1:148px; x2:725px; y2:148px; "/>
- <select1 id="cmb_inqrstepno" ref="/root/main/inqrdetlist/inqrheader/stepno" navindex="1" appearance="minimal" style="left:517px; top:208px; width:208px; height:19px; ">
- <choices>
- <itemset nodeset="/root/init/stepinfo/info">
- <label ref="stepnm"/>
- <value ref="stepno"/>
- </itemset>
- </choices>
- </select1>
- <caption id="caption1" class="cell_1" style="left:0px; top:153px; width:85px; height:23px; ">제목</caption>
- <button id="btn_delansw" class="btn2_letter2" disable.background-image="../../../com/commonweb/images/dis_btn2_letter2.gif" style="left:683px; top:231px; width:42px; height:19px; background-image:../../../com/commonweb/images/btn2_letter2.gif; ">
- <caption>삭제</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- //선택여부 체크 추가(JJE)
- var iRow = grd_answlist.row;
- if ( iRow <= 0 ) {
- messageBox("삭제할 항목을", "C002");
- return;
- }
-
- //저장하지 않은 항목까지 'D' 처리하므로 직접삭제하도록 변경(JJE)
- for (var i = grd_answlist.selectedRows-1 ; i >=0 ; i--) {
- if( model.getValue("/root/main/inqrdetlist/answ/answlist[" + grd_answlist.selectedRow(i) + "]/answstatus") == "I" ){
- model.removeNodeset("/root/main/inqrdetlist/answ/answlist[" + grd_answlist.selectedRow(i) + "]");
-
- }else if( model.getValue("/root/main/inqrdetlist/answ/answlist[" + iRow + "]/answstatus") == "D" ){
- model.setValue("/root/main/inqrdetlist/answ/answlist[" + grd_answlist.selectedRow(i) + "]/answstatus", "");
-
- }else{
- model.setValue("/root/main/inqrdetlist/answ/answlist[" + grd_answlist.selectedRow(i) + "]/answstatus", "D");
- }
- }
-
- grd_answlist.refresh();
- fSetGrdRowStatus("grd_answlist");
- // model.removenode("/root/send/savedata/inqrlist/answlist");
- // model.removenode("/root/send/savedata/inqrlist/inqrlist");
- // model.makeValue("/root/send/savedata/inqrlist/answlist", grd_answlist.getUpdateData());
- // model.makeValue("/root/send/savedata/inqrlist/answlist", grd_answlist.getUpdateDataAll(i));
- // grd_answlist.
- // model.removenode("/root/main/inqrdetlist");
- // submit("TXMQP04003");
- // model.refresh();
- ]]>
- </script>
- </button>
- <caption id="caption11" class="cell_1" style="left:430px; top:206px; width:85px; height:23px; ">선택 STEP</caption>
- <caption id="caption2" class="tit_2" style="left:2px; top:4px; width:142px; height:14px; ">팝업리스트</caption>
- <caption id="caption3" class="cell_1" style="left:0px; top:206px; width:85px; height:23px; ">팝업시점</caption>
- <caption id="caption13" class="tit_2" style="left:0px; top:134px; width:142px; height:13px; ">팝업작성</caption>
- <caption id="caption4" class="cell_1" style="left:0px; top:180px; width:85px; height:23px; ">용도</caption>
- <line id="line2" class="line_2" style="x1:0px; y1:178px; x2:725px; y2:178px; "/>
- <line id="line3" class="line_1" style="x1:0px; y1:18px; x2:725px; y2:18px; "/>
- <select1 id="rdo_popstart" ref="/root/main/inqrdetlist/inqrheader/pntmflag" navindex="4" appearance="full" cellspacing="10" cols="3" overflow="visible" style="left:87px; top:208px; width:338px; height:20px; border-style:none; ">
- <choices>
- <itemset nodeset="/root/init/M0515/M0515">
- <label ref="cdnm"/>
- <value ref="cdid"/>
- </itemset>
- </choices>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- fStepSetup() ;
- ]]>
- </script>
- </select1>
- <button id="btn_addansw" class="btn2_letter4" disable.background-image="../../../com/commonweb/images/dis_btn2_letter2.gif" style="left:616px; top:231px; width:64px; height:19px; background-image:../../../com/commonweb/images/btn2_letter2.gif; ">
- <caption>답안추가</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fAddAnswList("B");
- ]]>
- </script>
- </button>
- <line id="line5" class="line_2" style="x1:0px; y1:204px; x2:725px; y2:204px; "/>
- <datagrid id="grd_inqrlist" nodeset="/root/main/inqrdetlist/inqr/inqrlist" caption="status^inqrno^inqrhistno^번호^질문^답안속성^answessyn^limno^limhistno^limcdno^setattrno^setattrhistno" colsep="^" colwidth="0, 0, 0, 40, 296, 80,0,0,0,0,0,0" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" navindex="5" style="left:0px; top:252px; width:455px; height:208px; ">
- <col ref="inqrstatus" visibility="hidden"/>
- <col ref="inqrinqrno" visibility="hidden"/>
- <col ref="inqrinqrhistno" visibility="hidden"/>
- <col ref="inqrqestno" type="output"/>
- <col ref="inqrqestcnts" type="input"/>
- <col ref="inqranswflag" type="combo">
- <choices>
- <itemset nodeset="/root/init/M0518/M0518">
- <label ref="cdnm"/>
- <value ref="cdid"/>
- </itemset>
- </choices>
- </col>
- <col ref="inqranswessyn" visibility="hidden"/>
- <col ref="inqrlimno" visibility="hidden"/>
- <col ref="inqrlimhistno" visibility="hidden"/>
- <col ref="inqrlimcdno" visibility="hidden"/>
- <col ref="inqrsetattrno" visibility="hidden"/>
- <col ref="inqrsetattrhistno" visibility="hidden"/>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- //선택 질문에 대한 답리스트만 가져오도록 추가(JJE)
- if( oldQestNo > 0 && instance1.selectSingleNode("/root/main/inqrdetlist/answ/answlist[answstatus!='']") != null ){
- model.removeNodeset("/root/temp/answlist[answqestno='"+oldQestNo+"']");
- var etcAnswCntsNode = instance1.selectSingleNode("/root/main/inqrdetlist/answ/answlist[answanswno='99999']/answanswcnts");
- if( etcAnswCntsNode != null ) model.setValue(etcAnswCntsNode, "");
- copyNodeListType("/root/temp", "/root/main/inqrdetlist/answ/answlist[answqestno='"+oldQestNo+"']", "after");
- }
-
- model.removeNodeset("/root/main/inqrdetlist/answ/answlist");
-
- if( grd_inqrlist.row >= 1 && grd_inqrlist.row <= grd_inqrlist.rows ){
- var qestNo = model.getValue("/root/main/inqrdetlist/inqr/inqrlist[" + grd_inqrlist.row + "]/inqrqestno");
- oldQestNo = qestNo;
- copyNodeListType("/root/main/inqrdetlist/answ", "/root/temp/answlist[answqestno='"+qestNo+"']", "after");
- grd_answlist.refresh();
- fSetGrdRowStatus("grd_answlist");
- }
- ]]>
- </script>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- //alert( grd_inqrlist.col ); // 4, 6
- var iRow = grd_inqrlist.row;
- if( grd_inqrlist.col = grd_inqrlist.colRef("inqranswflag") ){
- var answflag = model.getValue("/root/main/inqrdetlist/inqr/inqrlist[" + iRow + "]/inqranswflag");
- var answNodes = instance1.selectNodes("/root/main/inqrdetlist/answ/answlist");
- if(answflag == "3" ){
- if( answNodes.length <= 0 ){
- model.removeNodeset("/root/main/inqrdetlist/answ/answlist");
- fAddAnswList("B");
- }
- }
- }
- ]]>
- </script>
- </datagrid>
- <select1 id="rdo_mthd" ref="/root/main/inqrdetlist/inqrheader/inqrflag" navindex="3" appearance="full" cellspacing="5" cols="5" overflow="visible" style="left:127px; top:182px; width:222px; height:20px; border-style:none; ">
- <choices>
- <itemset nodeset="/root/init/M0516/M0516">
- <label ref="cdnm"/>
- <value ref="cdid"/>
- </itemset>
- </choices>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- //fChngInqrflag();
- ]]>
- </script>
- </select1>
- <input id="ipt_title" ref="/root/main/inqrdetlist/inqrheader/inqrnm" class="input_essential" navindex="2" style="left:87px; top:155px; width:637px; height:19px; "/>
- <datagrid id="grd_answlist" nodeset="/root/main/inqrdetlist/answ/answlist" caption="status^inqrno^inqrhistno^질문번호^번호^답안^" colsep="^" colwidth="0, 0, 0, 3, 0, 226" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" navindex="5" style="left:460px; top:252px; width:265px; height:208px; ">
- <col ref="answstatus" visibility="hidden"/>
- <col ref="answinqrno" visibility="hidden"/>
- <col ref="answinqrhistno" visibility="hidden"/>
- <col ref="answqestno" type="output" visibility="hidden"/>
- <col ref="answanswno" visibility="hidden"/>
- <col ref="answanswcnts" type="input"/>
- <script type="javascript" ev:event="onmousedown">
- <![CDATA[
- if(event.button == 3){
- grd_answlist.row = grd_answlist.mouseRow;
- event.preventDefault();
- window.setPopupMenu(true, "/root/main/inqrmenulist/menu2/item", "name", "func", false);
- }
- ]]>
- </script>
- <script type="javascript" ev:event="DOMFocusOut">
- <![CDATA[
- window.setPopupMenu(false);
- ]]>
- </script>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- if ( model.getValue("/root/main/inqrdetlist/answ/answlist[" + grd_answlist.row + "]/answstatus") == "" ) {
- model.setValue("/root/main/inqrdetlist/answ/answlist[" + grd_answlist.row + "]/answstatus", "U");
- }
- ]]>
- </script>
- </datagrid>
- <button id="btn_delqest" class="btn2_letter2" disable.background-image="../../../com/commonweb/images/dis_btn2_letter2.gif" style="left:413px; top:231px; width:42px; height:19px; background-image:../../../com/commonweb/images/btn2_letter2.gif; ">
- <caption>삭제</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- //선택여부 체크 추가(JJE)
- var iRow = grd_inqrlist.row;
- if ( iRow <= 0 ) {
- messageBox("삭제할 항목을", "C002");
- return;
- }
-
- //저장하지 않은 항목까지 'D' 처리하므로 직접삭제하도록 변경(JJE)
- for (var i = grd_inqrlist.selectedRows-1 ; i >=0 ; i--) {
- var iStatus = model.getValue(Inqr_Path + "/inqrlist["+ grd_inqrlist.selectedRow(i) + "]/inqrstatus");
- var iQestNo = model.getValue(Inqr_Path + "/inqrlist["+ grd_inqrlist.selectedRow(i) + "]/inqrqestno");
-
- if( model.getValue("/root/main/inqrdetlist/inqr/inqrlist[" + grd_inqrlist.selectedRow(i) + "]/inqrstatus") == "I" ){
- //답안도 함께 물리적 삭제
- model.removeNodeset("/root/temp/answlist[answqestno='"+iQestNo+"']");
- model.removeNodeset("/root/main/inqrdetlist/answ/answlist[answqestno='"+iQestNo+"']");
- //질문 삭제
- model.removeNodeset("/root/main/inqrdetlist/inqr/inqrlist[" + grd_inqrlist.selectedRow(i) + "]");
-
- }else if( model.getValue("/root/main/inqrdetlist/inqr/inqrlist[" + grd_inqrlist.selectedRow(i) + "]/inqrstatus") == "D" ){
- model.setValue("/root/main/inqrdetlist/inqr/inqrlist[" + grd_inqrlist.selectedRow(i) + "]/inqrstatus", "");
- }else{
- model.setValue("/root/main/inqrdetlist/inqr/inqrlist[" + grd_inqrlist.selectedRow(i) + "]/inqrstatus", "D");
- }
- }
-
- grd_inqrlist.refresh();
-
- fSetQestNo(); //질문 상태 변경에 따른, 답안 상태 동시 변경 처리 (2010.04.12)
-
- grd_inqrlist.refresh();
- grd_answlist.refresh();
-
- fSetGrdRowStatus("grd_inqrlist");
- fSetGrdRowStatus("grd_answlist");
-
- // model.removenode("/root/send/savedata/inqrlist/answlist");
- // model.removenode("/root/send/savedata/inqrlist/inqrlist");
- // model.makeValue("/root/send/savedata/inqrlist/inqrlist", grd_inqrlist.getUpdateData());
- // model.removenode("/root/main/inqrdetlist");
- // submit("TXMQP04003");
- ]]>
- </script>
- </button>
- <line id="line1" class="line_2" style="x1:0px; y1:229px; x2:725px; y2:229px; "/>
- <button id="button3" class="btn2_letter2" disable.background-image="../../../com/commonweb/images/dis_btn2_letter2.gif" style="left:683px; top:129px; width:42px; height:19px; background-image:../../../com/commonweb/images/btn2_letter2.gif; ">
- <caption>신규</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- grdpoplistRow = grd_poplist.rows;
- model.removenode("/root/main/inqrdetlist");
- model.removenode("/root/temp");
- model.makeNode("/root/main/inqrdetlist/inqrheader")
- model.makeNode("/root/main/inqrdetlist/inqr");
- model.makeNode("/root/main/inqrdetlist/answ");
- model.copyNode("/root/main/inqrdetlist/inqrheader", "/root/main/inqrform/inqrheader");
- model.makeNode("/root/temp");
- model.refresh();
-
- rdo_popstart.disabled = false;
- btn_addqest.disabled = false;
- btn_delqest.disabled = false;
- btn_addansw.disabled = false;
- btn_delansw.disabled = false;
- ]]>
- </script>
- </button>
- <datagrid id="grd_allanswlist" nodeset="/root/temp/answlist" visibility="hidden" caption="status^inqrno^inqrhistno^질문번호^번호^답안^" colsep="^" colwidth="0, 0, 0, 58, 0, 167" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" navindex="5" style="left:460px; top:365px; width:265px; height:95px; ">
- <col ref="answstatus" visibility="hidden"/>
- <col ref="answinqrno" visibility="hidden"/>
- <col ref="answinqrhistno" visibility="hidden"/>
- <col ref="answqestno" type="output"/>
- <col ref="answanswno" visibility="hidden"/>
- <col ref="answanswcnts" type="output"/>
- </datagrid>
- <caption id="caption5" class="cell_1" style="left:87px; top:180px; width:40px; height:23px; ">일반</caption>
- <caption id="caption6" class="cell_1" style="left:349px; top:180px; width:77px; height:23px; ">
- <![CDATA[미발행 사유]]>
- <hint>
- <![CDATA[평가용 CPG에서, 퇴원예고시 미발행 사유를 입력받아야 할 경우 제목과 용도를 등록하셔야 합니다.]]>
- </hint>
- </caption>
- <select1 id="rdo_mthd2" ref="/root/main/inqrdetlist/inqrheader/inqrflag" navindex="3" appearance="full" cellspacing="5" cols="2" overflow="visible" style="left:426px; top:182px; width:297px; height:20px; border-style:none; ">
- <choices>
- <itemset nodeset="/root/init/M0516_2/M0516">
- <label ref="cdnm"/>
- <value ref="cdid"/>
- </itemset>
- </choices>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- //fChngInqrflag();
- ]]>
- </script>
- </select1>
- <caption id="cap_detl_inqrflag" visibility="hidden" style="left:0px; top:435px; width:445px; height:25px; font-weight:bold; ">
- <![CDATA[평가용 CPG에서, 퇴원예고시 미발행 사유를 입력받아야 할 경우
- 제목과 용도를 등록합니다.
- 질문과 답은 따로 작성하지 않습니다.
- 퇴원예고 시 문진 팝업에
- 각 스텝의 프로토콜에 입력된 필수처방과, 구간에 등록된 선택필수 처방이
- 자동으로 질문/답 형식으로 구성됩니다.]]>
- </caption>
- </xhtml:body>
- </xhtml:html>
|