123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415 |
- <?xml version="1.0" encoding="EUC-KR"?>
- <!--
- * Name : SPCIT01800_만족도입력정보
- * Summary : 만족도입력정보
- * Programmer : 황현석
- * Date Written : 2010.12.08
- * History :
- * Remark :
- -->
- <?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>
- <title>
- <stinseqno/>
- <stintitlcnts/>
- <qpaprseqno/>
- <qpaprtitlcnts/>
- <answprsncnt/>
- </title>
- <rsltlist>
- <row/>
- <key/>
- </rsltlist>
- <execlist>
- <answprsnseqno/>
- <stintrgtflagcd/>
- <stintrgtid/>
- <qestseqno/>
- <emaladdr/>
- <lists/>
- </execlist>
- </main>
- <send>
- <qestprvw>
- <qpaprseqno/>
- <stinseqno/>
- <stintrgtid/>
- </qestprvw>
- </send>
- <temp>
- <rsltlist/>
- </temp>
- </root>
- </instance>
- <submission id="TRCIT01801" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/qestprvw" resultref="/root/main/execlist"/>
- <submission id="TRCIT01802" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/qestprvw" resultref="/root/temp/rsltlist"/>
- <submission id="TXCIT01801" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata"/>
- <submission id="TXCIT01802" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/deldata"/>
- </model>
- <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/stringHelper.js"/>
- <script type="javascript" ev:event="xforms-ready">
- <![CDATA[
- // 부모창의 설문지 일련번호를 가져온다.
- var qpaprseqno = opener.window.javascript.getParameter("qpaprseqno");
- model.setValue("/root/main/title/qpaprseqno", qpaprseqno);
- model.setValue("/root/send/qestprvw/qpaprseqno", qpaprseqno);
-
- var stinseqno = opener.window.javascript.getParameter("stinseqno");
- model.setValue("/root/main/title/stinseqno", stinseqno);
- model.setValue("/root/send/qestprvw/stinseqno", stinseqno);
-
- var qpaprtitlcnts = opener.window.javascript.getParameter("qpaprtitlcnts");
- model.setValue("/root/main/title/qpaprtitlcnts", qpaprtitlcnts);
-
- var stintitlcnts = opener.window.javascript.getParameter("stintitlcnts");
- model.setValue("/root/main/title/stintitlcnts", stintitlcnts);
-
- var answprsncnt = opener.window.javascript.getParameter("answprsncnt");
- model.setValue("/root/main/title/answprsncnt", answprsncnt);
-
- var answprsncnt = opener.window.javascript.getParameter("answprsncnt");
- model.setValue("/root/main/title/answprsncnt", answprsncnt);
-
- fGetNResultRef();
- model.refresh();
- ]]>
- </script>
- <script type="javascript">
- <![CDATA[
- function fGetNResultRef() {
-
- submit("TRCIT01802", false);
-
- var gridCaption = model.getValue("/root/temp/rsltlist/header/caption");
-
- if(gridCaption == "") return;
- //ref 정보
- var gridColRef = model.getValue("/root/temp/rsltlist/header/colref");
- var gridColRefArray = gridColRef.split("^");
-
- var gridColType = model.getValue("/root/temp/rsltlist/header/type");
-
- var gridColTypeArray = gridColType.split("^");
-
- for( var i = 0; i < gridColRefArray.length; i++ ) {
-
- datagrid1.addColumn("ref:" + gridColRefArray[i] + "; type:"+gridColTypeArray[i]+"; ", false);
- datagrid1.colWidth(i+1) = 90;
- }
- datagrid1.caption = gridCaption;
-
- var node = instance1.selectSingleNode("/root/main");
- node.replaceChild(instance1.root.temp.rsltlist, instance1.root.main.rsltlist);
- datagrid1.rowheight(0) = 30;
-
- datagrid1.rebuild();
-
- // fSetExec();
- }
-
- function fSetExec() {
- var rows = datagrid1.rows-datagrid1.fixedRows;
- for( var i = 0; i < rows; i++ ) {
- datagrid1.removeRow(false);
- }
-
- submit("TRCIT01801", false);
- // ref 내용
- var gridColRef = model.getValue("/root/main/rsltlist/header/colrefarray");
- var gridColRefArray = gridColRef.split("^");
-
- // caption 내용
- var gridCaption = model.getValue("/root/main/rsltlist/header/caption");
- var gridCaptionArray = gridCaption.split("^");
-
- // 생성해야할 row 개수
- var answprsncnt = getNodesetCount("/root/main/execlist");
-
- for (var i = 1; i <= answprsncnt; i++) {
- datagrid1.addRow(false);
-
- model.setValue("/root/main/rsltlist/row["+i+"]/stintrgtflagcd", model.getValue("/root/main/execlist["+i+"]/stintrgtflagcd"));
- model.setValue("/root/main/rsltlist/row["+i+"]/stintrgtid", model.getValue("/root/main/execlist["+i+"]/stintrgtid"));
- model.setValue("/root/main/rsltlist/row["+i+"]/emailaddr", model.getValue("/root/main/execlist["+i+"]/emailaddr"));
- model.setValue("/root/main/rsltlist/row["+i+"]/answprsnseqno", model.getValue("/root/main/execlist["+i+"]/answprsnseqno"));
-
- // 답변 리스트 내용
- var temp = model.getValue("/root/main/execlist["+ i +"]/lists");
- var tempArray = temp.split("@*");
-
- for (var j=0; j < tempArray.length; j++) {
- var sTmp = gridCaptionArray[j+4];
- if(!isNull(sTmp)) {
- var temCaption = sTmp.substring(0, 1);
- model.setValue("/root/main/rsltlist/row["+i+"]/"+gridColRefArray[j], tempArray[j]);
-
- if (temCaption == "*") {
- datagrid1.colAttribute(j+5, "visibility") = "hidden";
- }
- datagrid1.colAttribute(4, "visibility") = "hidden";
- }
- }
- }
-
- var stintrgtflagcd = opener.window.javascript.getParameter("stintrgtflagcd");
- var stintrgtid = model.getValue("/root/send/qestprvw/stintrgtid");
- if (stintrgtid != "") {
- if (stintrgtflagcd == "1" || stintrgtflagcd == "2" || stintrgtflagcd == "3") {
- model.setValue("/root/send/qestprvw/pid", "");
- } else {
- model.setValue("/root/send/qestprvw/userid", "");
- }
- }
- datagrid1.rebuild();
- model.refresh();
- }
-
- function fSaveMode() {
- var qestCount = (datagrid1.cols-5) / 2;
- var stinseqno = model.getValue("/root/main/title/stinseqno");
- var qpaprseqno = model.getValue("/root/main/title/qpaprseqno");
- var answprsncnt = model.getValue("/root/main/title/answprsncnt");
- var stintrgtflagcd = "";
- var pid = "";
- var userid = "";
- var rows = "";
- var sColSep = "▦";
- var sRowSep = "▩";
- var qestrspsyn = "";
- var send_data2 = "m" + sColSep + "stinseqno" + sColSep + "qpaprseqno" + sColSep + "qestitemgrupseqno" + sColSep + "answprsnseqno" +
- sColSep + "qestseqno" + sColSep + "stintrgtflagcd" + sColSep + "pid" + sColSep + "userid" + sColSep + "emailaddr" +
- sColSep + "qestanswno" + sColSep + "qestmltlanswno" + sColSep + "descinptcnts" + sColSep + "descinptaddcnts" + sColSep + "qestrspsyn" + sRowSep; //타이틀 map file 등에서 사용
-
- for (var i=0; i < answprsncnt; i++) { // row 개수만큼
- stintrgtflagcd = datagrid1.valueMatrix((i+1), datagrid1.colRef("stintrgtflagcd"));
-
- for (var k=0; k < qestCount; k++) { // 문항 개수만큼
- var qestseqno = datagrid3.valueMatrix((k+1), datagrid3.colRef("qestseqno"));
- var qestitemgrupseqno = datagrid3.valueMatrix((k+1), datagrid3.colRef("qestitemgrupseqno"));
- var itemkindcd = datagrid3.valueMatrix((k+1), datagrid3.colRef("itemkindcd"));
-
- var descinptcnts = datagrid1.valueMatrix((i+1), datagrid1.colRef("descinptcnts"+k));
- var qestanswno = datagrid1.valueMatrix((i+1), datagrid1.colRef("qestanswno"+k));
- var qestmltlanswno = datagrid1.valueMatrix((i+1), datagrid1.colRef("qestmltlanswno"+k));
- var descinptaddcnts = datagrid1.valueMatrix((i+1), datagrid1.colRef("descinptaddcnts"+k));
- var answprsnseqno = datagrid1.valueMatrix((i+1), datagrid1.colRef("answprsnseqno"));
- var emailaddr = datagrid1.valueMatrix((i+1), datagrid1.colRef("emailaddr"));
-
- // 답변자 id 설정
- if (stintrgtflagcd == "1" || stintrgtflagcd == "2" || stintrgtflagcd == "3") {
- pid = datagrid1.valueMatrix((i+1), datagrid1.colRef("stintrgtid"));
- } else {
- userid = datagrid1.valueMatrix((i+1), datagrid1.colRef("stintrgtid"));
- }
-
- if (itemkindcd == "1" || itemkindcd == "6" || itemkindcd == "7" || itemkindcd == "8" || itemkindcd == "10") {
- if (qestanswno == "" || qestanswno == "0") {
- qestanswno = "99";
- qestrspsyn = "N";
- } else {
- qestrspsyn = "Y";
- }
-
- } else if (itemkindcd == "2") {
- if (qestmltlanswno == "" || qestmltlanswno == "0") {
- qestmltlanswno = "99";
- qestrspsyn = "N";
- } else {
- qestrspsyn = "Y";
- }
- } else if (itemkindcd == "3") {
- if (qestmltlanswno == "" || qestmltlanswno == "0") {
- qestmltlanswno = "99:99";
- qestrspsyn = "N";
- } else {
- qestrspsyn = "Y";
- }
- } else {
- if (descinptcnts == "" || descinptcnts == "0") {
- qestanswno = "99";
- qestrspsyn = "N";
- } else {
- qestanswno = "1";
- qestrspsyn = "Y";
- }
- }
-
- send_data2 += "m" + sColSep + stinseqno + sColSep + qpaprseqno + sColSep + qestitemgrupseqno + sColSep + answprsnseqno +
- sColSep + qestseqno + sColSep + stintrgtflagcd + sColSep + pid + sColSep + userid + sColSep + emailaddr +
- sColSep + qestanswno + sColSep + qestmltlanswno + sColSep + descinptcnts + sColSep + descinptaddcnts + sColSep + qestrspsyn + sRowSep;
- }
- }
- model.makeNode("/root/send/savedata");
- model.makeValue("/root/send/savedata/savegrid", send_data2);
-
- if (submit("TXCIT01801")) {
- messageBox("만족도 답변정보 수정이","I002");
- }
-
- model.removeNodeset("/root/send/savedata");
- model.refresh();
- }
- ]]>
- </script>
- </xhtml:head>
- <xhtml:body pagewidth="1030" pageheight="620" style="margin-left:8; margin-top:8; margin-right:8; margin-bottom:8; ">
- <line id="line3" class="line_2" style="x1:0px; y1:54px; x2:1000px; y2:54px; "/>
- <caption id="caption1" class="cell_1" style="left:0px; top:32px; width:100px; height:23px; ">만족도 제목</caption>
- <input id="input1" ref="/root/main/title/stintitlcnts" disabled="true" style="left:103px; top:33px; width:896px; height:19px; "/>
- <line id="line4" class="line_3" style="x1:0px; y1:78px; x2:1000px; y2:78px; "/>
- <caption id="caption2" class="cell_1" style="left:0px; top:56px; width:100px; height:23px; ">설문지</caption>
- <input id="input2" ref="/root/main/title/qpaprtitlcnts" disabled="true" style="left:103px; top:57px; width:797px; height:19px; "/>
- <button id="button1" class="btn2_letter7" style="left:903px; top:57px; width:97px; height:19px; ">
- <caption>설문지 미리보기</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- var qpaprseqno = model.getValue("/root/send/qestprvw/qpaprseqno");
- setParameter("qpaprseqno", qpaprseqno);
-
- modal("SPCIT00400");
-
- clearParameter("qpaprseqno");
-
- model.refresh();
- ]]>
- </script>
- </button>
- <button id="button2" class="btn5_letter2" style="left:958px; top:82px; width:42px; height:19px; ">
- <caption>삭제</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- var rowCount = datagrid1.selectedRows;
- var stinseqno = model.getValue("/root/main/title/stinseqno");
- var qpaprseqno = model.getValue("/root/main/title/qpaprseqno");
- var stintrgtflagcd = opener.window.javascript.getParameter("stintrgtflagcd");
-
- if (rowCount > 0) {
- var rtn = messageBox(rowCount + " 개의 답변이 삭제됩니다.", "Q001");
-
- if (rtn == 6) {
- for (var i=0; i<rowCount; i++) {
-
- var k = i+1;
- var cnt = datagrid1.selectedRow(i);
- var answprsnseqno = model.getValue("/root/main/rsltlist/row["+ cnt +"]/answprsnseqno");
- var stintrgtid = model.getValue("/root/main/rsltlist/row["+ cnt +"]/stintrgtid");
-
- model.makeNode("/root/send/deldata");
- if (stintrgtflagcd == "1" || stintrgtflagcd == "2" || stintrgtflagcd == "3") {
- model.makeValue("/root/send/deldata["+ k +"]/pid", stintrgtid);
- } else {
- model.makeValue("/root/send/deldata["+ k +"]/userid", stintrgtid);
- }
- model.makeValue("/root/send/deldata["+ k +"]/answprsnseqno", answprsnseqno);
- model.makeValue("/root/send/deldata["+ k +"]/stinseqno", stinseqno);
- model.makeValue("/root/send/deldata["+ k +"]/qpaprseqno", qpaprseqno);
- }
-
- if (submit("TXCIT01802")) {
- messageBox("만족도 답변정보 삭제가","I002");
- model.removeNodeset("/root/send/deldata");
- }
- fSetExec();
- }
- } else {
- messageBox("답변이 선택되지 ", "E007");
- }
- ]]>
- </script>
- </button>
- <button id="button3" class="btn2_letter4" style="left:891px; top:82px; width:64px; height:19px; ">
- <caption>엑셀저장</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- var fileName = window.fileDialog("save", ",", false, "만족도 답변정보 입력 결과", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
-
- if (fileName != "") {
- datagrid1.saveExcel(fileName);
- }
-
- model.refresh();
- ]]>
- </script>
- </button>
- <line id="line1" class="line_1" style="x1:0px; y1:104px; x2:1000px; y2:104px; "/>
- <datagrid id="datagrid1" nodeset="/root/main/rsltlist/row" allowbigselection="true" colsep="^" dataheight="25" ellipsis="true" explorerbar="sortshowmove" frozencols="3" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="30" rowsep="|" style="left:0px; top:109px; width:1000px; height:470px; "/>
- <group id="group1" style="left:0px; top:580px; width:1000px; height:27px; ">
- <button id="button4" class="btn4_letter2" style="left:443px; top:5px; width:56px; height:22px; ">
- <caption>저장</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- var rowCount = datagrid1.rows-1;
- var saveCount = 0;
- // 사용자 아이디를 검색
- for (var j=0; j < rowCount; j++) {
- var stintrgtid = datagrid1.valueMatrix((j+1), datagrid1.colRef("stintrgtid"));
- if (stintrgtid == "") {
- messageBox("설문지 ID를", "C001");
- saveCount = 0;
- break;
- } else {
- saveCount++;
- }
- }
-
- if (saveCount > 0) {
- fSaveMode();
- }
-
- ]]>
- </script>
- </button>
- <button id="button5" class="btn4_letter2" style="left:502px; top:5px; width:56px; height:22px; ">
- <caption>취소</caption>
- <close ev:event="DOMActivate"/>
- </button>
- </group>
- <datagrid id="datagrid3" nodeset="/root/main/rsltlist/key" visibility="hidden" caption="itemkindcd^qestitemgrupseqno^qestseqno" colsep="^" mergecellsfixedrows="bycolrec" rowsep="|" style="left:5px; top:167px; width:350px; height:150px; ">
- <col ref="itemkindcd"/>
- <col ref="qestitemgrupseqno"/>
- <col ref="qestseqno"/>
- </datagrid>
- <group id="group2" style="left:0px; top:0px; width:1000px; height:30px; ">
- <shape id="roundrect1" appearance="roundrect" style="left:0px; top:0px; width:1000px; height:30px; "/>
- <caption id="caption7" class="search_name" style="left:17px; top:7px; width:104px; height:17px; ">설문지 번호 :</caption>
- <input id="ipt_srchpid" ref="/root/send/qestprvw/stintrgtid" class="input_s_essential" navindex="2" maxlength="10" format="9999999999" style="left:127px; top:6px; width:140px; height:19px; ">
- <script type="javascript" ev:event="onkeyup">
- <![CDATA[
- inputEnterKey("btn_search", "DOMActivate");
- ]]>
- </script>
- </input>
- <caption id="caption3" class="hand" style="left:275px; top:6px; width:381px; height:20px; ">* 입력하신 설문지번호 이후의 100개의 설문만 표시 됩니다.</caption>
- <line id="line9" style="x1:915px; y1:5px; x2:915px; y2:24px; border-color:#ffe4bb; border-left-style:solid; "/>
- <button id="btn_search" class="btn1_letter2" style="left:930px; top:5px; width:56px; height:22px; ">
- <caption>조회</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- var stintrgtflagcd = opener.window.javascript.getParameter("stintrgtflagcd");
- var stintrgtid = model.getValue("/root/send/qestprvw/stintrgtid");
- if (stintrgtid != "") {
- if (stintrgtflagcd == "1" || stintrgtflagcd == "2" || stintrgtflagcd == "3") {
- model.makeValue("/root/send/qestprvw/pid", stintrgtid);
- } else {
- model.makeValue("/root/send/qestprvw/userid", stintrgtid);
- }
- } else {
- // messageBox("설문지 번호를 ", "C001");
- }
-
- fSetExec();
- ]]>
- </script>
- </button>
- </group>
- </xhtml:body>
- </xhtml:html>
|