123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576 |
- <?xml version="1.0" encoding="EUC-KR"?>
- <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
- <?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>
- <projlist>
- <list>
- <proj>
- <prcscd/>
- <reprdept/>
- <dept/>
- <subteam/>
- <lrg/>
- <mdl/>
- <sml/>
- <srfeflag/>
- <scrnid/>
- <scrnname/>
- <insuimp/>
- <detailfe/>
- <dev/>
- <usernm/>
- <schedd/>
- <acptdd/>
- <startdd/>
- <enddd/>
- <prcsrate/>
- <prcsyn/>
- <scrnveriyn/>
- <scrnveriper/>
- <scrnveridd/>
- <testendyn/>
- <testveriper/>
- <testdd/>
- <insuendyn/>
- <remark/>
- <funt1/>
- <funt2/>
- <funt3/>
- <updtneedyn/>
- <fstinptper/>
- <fstinptdd/>
- <updtper/>
- <updtdd/>
- <useyn/>
- <adchflag/>
- <appdd/>
- <sort/>
- </proj>
- </list>
- </projlist>
- <list/>
- </main>
- <send>
- <search>
- <subteam/>
- <lrg/>
- <mdl/>
- <sml/>
- <srfeflag/>
- <scrnname/>
- </search>
- <projlist/>
- </send>
- <init>
- <srfe>
- <item>
- <name>전체</name>
- <id>-</id>
- </item>
- <item>
- <name>화면</name>
- <id>화면</id>
- </item>
- <item>
- <name>보고서</name>
- <id>보고서</id>
- </item>
- <item>
- <name>기능</name>
- <id>기능</id>
- </item>
- <item>
- <name>오류</name>
- <id>오류</id>
- </item>
- </srfe>
- <subteam>
- <item>
- <name>전체</name>
- <id>-</id>
- </item>
- <item>
- <name>CMC네트워크</name>
- <id>CMC네트워크</id>
- </item>
- <item>
- <name>CRM</name>
- <id>CRM</id>
- </item>
- <item>
- <name>LIS</name>
- <id>LIS</id>
- </item>
- <item>
- <name>MIS</name>
- <id>MIS</id>
- </item>
- <item>
- <name>SWAT</name>
- <id>SWAT</id>
- </item>
- <item>
- <name>간호EMR</name>
- <id>간호EMR</id>
- </item>
- <item>
- <name>건진</name>
- <id>건진</id>
- </item>
- <item>
- <name>공통</name>
- <id>공통</id>
- </item>
- <item>
- <name>보험청구</name>
- <id>보험청구</id>
- </item>
- <item>
- <name>원무</name>
- <id>원무</id>
- </item>
- <item>
- <name>진료EMR</name>
- <id>진료EMR</id>
- </item>
- <item>
- <name>진료지원</name>
- <id>진료지원</id>
- </item>
- </subteam>
- </init>
- <sheet>2</sheet>
- </root>
- </instance>
- <script type="javascript" ev:event="xforms-model-construct-done">
- <![CDATA[
- combo1.select(0);
- combo2.select(0);
-
- ]]>
- </script>
- <script type="javascript" ev:event="xforms-ready">
- <![CDATA[
- model.removeNodeset("/root/main/projlist/list/proj");
- model.refresh();
- ]]>
- </script>
- <submission id="TRZTP00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/search" resultref="/root/main/projlist/list"/>
- <submission id="TXZTP00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/list"/>
- </model>
- <script type="javascript" src="../../../com/commonweb/js/common.js"/>
- <script type="javascript">
- <![CDATA[
- var prcsrate;
-
- var sheet = 1;
- function checkGridUpdate(grid)
- {
- var iData = grid.getUpdateDataXml("insert");
- var uData = grid.getUpdateDataXml("update");
- var dData = grid.getUpdateDataXml("delete");
- if (iData=="" && uData=="" && dData=="") return false;
- else return true;
- }
-
- function checkGridField(grid, field)
- {
- //alert(grd_scrnlist.fixedRows);
- // alert(grd_scrnlist.rows);
- var nodeset = grid.nodeset;
- var iStatus;
-
- var iData = grid.getUpdateDataXml("insert");
- for (i=grid.fixedRows; i<grid.rows; i++)
- {
- iStatus = grid.rowstatus(i);
- if (iStatus == 1) // ?? ??? ?? ????
- {
- if(model.getValue(nodeset+"["+i+"]/"+field)=="") return false;
- }
- }
- return true;
- }
- function fbtnSearch()
- {
- grd_projlist.rebuildStyle();
- submit("TRZTP00101");
- var gridObj = document.all("grd_projlist");
-
- for(var i=1; i<grd_projlist.rows; i++)
- {
- for(var j=0; j<grd_projlist.cols-1; j++)
- {
- if(model.getValue("/root/main/projlist/list/proj["+i+"]/useyn") == "N")
- {
- gridObj.cellStyle("text-decoration", i+1, j) = "line-through";
- }
- }
- }
- model.refresh();
- }
-
- function alt_notice1()
- {
- alert("행 추가/삭제는 해당사항을 개발자와 협의해서 개발자가 추가/삭제 하도록 해 주세요.");
- }
- ]]>
- </script>
- <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
- </xhtml:head>
- <xhtml:body guideline="1,1195;2,781;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
- <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
- <caption id="caption1" class="tit_1" style="left:0px; top:0px; width:196px; height:14px; ">프로젝트진척관리(일반관리자)</caption>
- </group>
- <group id="group5" scroll="auto" style="left:0px; top:45px; width:1195px; height:730px; ">
- <group id="group6" style="left:0px; top:10px; width:1194px; height:35px; vertical-align:top; ">
- <shape id="roundrect3" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:1194px; height:35px; "/>
- <line id="line18" class="line_4" style="x1:1066px; y1:7px; x2:1066px; y2:29px; border-left-style:solid; "/>
- <caption id="caption2" class="search_name" style="left:6px; top:8px; width:86px; height:17px; ">SubTeam</caption>
- <caption id="caption3" class="search_name" style="left:201px; top:8px; width:66px; height:17px; ">대분류</caption>
- <caption id="caption4" class="search_name" style="left:376px; top:8px; width:71px; height:17px; ">중분류</caption>
- <caption id="caption5" class="search_name" style="left:551px; top:8px; width:66px; height:17px; ">소분류</caption>
- <caption id="caption6" class="search_name" style="left:725px; top:10px; width:54px; height:17px; ">구분</caption>
- <caption id="caption7" class="search_name" style="left:885px; top:10px; width:63px; height:17px; ">화면명</caption>
- <button id="button1" class="btn1_letter2" style="left:1100px; top:7px; width:56px; height:22px; background-image:../../../com/commonweb/images/btn1_letter2.gif; ">
- <caption>조회</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fbtnSearch();
- ]]>
- </script>
- </button>
- <input id="input2" ref="/root/send/search/lrg" class="input_search" style="left:270px; top:10px; width:100px; height:19px; ">
- <script type="javascript" ev:event="onkeypress">
- <![CDATA[
- if (event.keycode == 13)
- {
- input2.value = input2.currentText;
- fbtnSearch();
- }
- ]]>
- </script>
- </input>
- <input id="input3" ref="/root/send/search/mdl" class="input_search" style="left:445px; top:10px; width:100px; height:19px; ">
- <script type="javascript" ev:event="onkeypress">
- <![CDATA[
- if (event.keycode == 13)
- {
- input3.value = input3.currentText;
- fbtnSearch();
- }
- ]]>
- </script>
- </input>
- <input id="input4" ref="/root/send/search/sml" class="input_search" style="left:620px; top:10px; width:100px; height:19px; ">
- <script type="javascript" ev:event="onkeypress">
- <![CDATA[
- if (event.keycode == 13)
- {
- input4.value = input4.currentText;
- fbtnSearch();
- }
- ]]>
- </script>
- </input>
- <select1 id="combo1" ref="/root/send/search/srfeflag" class="combo_search" appearance="minimal" style="left:780px; top:10px; width:100px; height:19px; ">
- <choices>
- <itemset nodeset="/root/init/srfe/item">
- <label ref="name"/>
- <value ref="id"/>
- </itemset>
- </choices>
- </select1>
- <input id="input5" ref="/root/send/search/scrnname" class="input_search" style="left:955px; top:10px; width:100px; height:19px; ">
- <script type="javascript" ev:event="onkeypress">
- <![CDATA[
- if (event.keycode == 13)
- {
- input5.value = input5.currentText;
- fbtnSearch();
- }
- ]]>
- </script>
- </input>
- <select1 id="combo2" ref="/root/send/search/subteam" class="combo_search" appearance="minimal" style="left:95px; top:10px; width:100px; height:19px; ">
- <choices>
- <itemset nodeset="/root/init/subteam/item">
- <label ref="name"/>
- <value ref="id"/>
- </itemset>
- </choices>
- </select1>
- </group>
- <line id="line20" class="line_1" style="x1:0px; y1:81px; x2:1194px; y2:81px; "/>
- <caption id="caption8" class="tit_2" style="left:5px; top:66px; width:160px; height:13px; ">프로젝트 진척관리내역</caption>
- <group id="group2" style="left:800px; top:55px; width:395px; height:25px; ">
- <button id="button3" class="btn2_letter4" disable.background-image="../../../com/commonweb/images/dis_btn2_letter4.gif" style="left:215px; top:5px; width:64px; height:19px; background-image:../../../com/commonweb/images/btn2_letter4.gif; ">
- <caption>엑셀저장</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- var fileName = window.fileDialog("save", ",", false, "excel", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
- if (fileName != "")
- {
- grd_projlist.saveExcel(fileName);
- }
- ]]>
- </script>
- </button>
- <button id="button5" class="btn2_letter3" disable.background-image="../../../com/commonweb/images/dis_btn2_letter3.gif" style="left:285px; top:5px; width:53px; height:19px; background-image:../../../com/commonweb/images/btn2_letter3.gif; ">
- <caption>행추가</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- /*
- //일반관리자 행 추가/ 삭제는 개발자와 협의 후 개발자가 추가/ 삭제 하는 것으로 변경
- grd_projlist.addRow(); // 입력할 행 추가.
- var cur_row = grd_projlist.row-1; // 추가된 행 번호 가져오기
- var cnt_row = grd_projlist.rows-1; // 현재 행의 갯수 가져오기
-
- var subteam;
- var prcscd;
-
- if (cnt_row > 2) // 이미 데이터가 있으면
- {
- subteam = model.getValue("/root/main/projlist/list/proj["+(cnt_row-2)+"]/subteam");
- prcscd = 'auto';
-
- }
- else // 데이터가 하나도 없으면
- {
- subteam = '입력하세요';
- prcscd = 'auto';
- }
- model.setValue("/root/main/projlist/list/proj["+cur_row+"]/subteam",subteam);
- model.setValue("/root/main/projlist/list/proj["+cur_row+"]/prcscd",prcscd);
- // 그리드에 추가
- //model.copyNode("/root/main/list/scrnlist["+cur_row+"]","/root/main/item");
- model.refresh();
- grd_projlist.row = cur_row;
- */
- alt_notice1();
- ]]>
- </script>
- </button>
- <button id="button6" class="btn2_letter3" disable.background-image="../../../com/commonweb/images/dis_btn2_letter3.gif" style="left:340px; top:5px; width:53px; height:19px; background-image:../../../com/commonweb/images/btn2_letter3.gif; ">
- <caption>행삭제</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- /*
- //일반관리자 행 추가/ 삭제는 개발자와 협의 후 개발자가 추가/ 삭제 하는 것으로 변경
- var cur_row = grd_projlist.row; // 행 번호 가져오기
- var iStatus = grd_projlist.rowstatus(cur_row);
- if(cur_row<0) {
- alert("삭제할 행을 선택해주세요.");
- return;
- }
- if (iStatus == 1) // 새로 삽입된 행이면
- {
- grd_projlist.deleteitem(cur_row);
- }
- else if (iStatus == 4) // 삭제로 표시된 행이면
- {
- grd_projlist.removestatus(cur_row, "delete");
- grd_projlist.deleteitem(cur_row);
- }
- else
- {
- grd_projlist.addStatus(cur_row, "delete");
- grd_projlist.deleteitem(cur_row);
- }
- */
- alt_notice1();
- ]]>
- </script>
- </button>
- </group>
- <datagrid id="grd_projlist" nodeset="/root/main/projlist/list/proj" caption="prcscd^소위원회^해당부서^SubTeam^대분류^중분류^소분류^구분^화면ID^화면명^중요도^세부기능/오류^개발자ID^개발자^예정완료일^추가일^시작일^종료일^진행률^공정대상^화면검증완료^화면
검증자^화면
검증일자^테스트
완료^테스트
검증자^테스트일자^인수위완료^비고^기능분해1^기능분해2^기능분해3^수정필요여부^최초입력자^입력일시^수정자^수정일시^사용여부^변경구분^적용기준일^sort^seq|caption1^소위원회^해당부서^SubTeam^대분류^중분류^소분류^구분^화면ID^화면명^중요도^세부기능/오류^개발자ID^개발자^예정완료일^추가일^시작일^종료일^진행률^공정대상^화면검증완료^화면
검증자^화면
검증일자^테스트
완료^테스트
검증자^테스트일자^인수위완료^비고^기능분해1^기능분해2^기능분해3^수정필요여부^최초입력자^입력일시^수정자^수정일시^사용여부^변경구분^적용기준일^sort^seq" colsep="^" colwidth="0, 40, 0, 60, 80, 80, 80, 50, 83, 100, 30, 180, 55, 45, 67, 67, 67, 67, 45, 30, 55, 50, 50, 55, 55, 55, 55, 100, 100, 100, 100, 60, 70, 67, 70, 67, 40, 60, 67, 60" dataheight="23" defaultrows="0" explorerbar="sortshow" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" tooltip="true" style="left:0px; top:85px; width:1194px; height:640px; ">
- <col ref="prcscd"/>
- <col ref="reprdept"/>
- <col ref="dept" type="input"/>
- <col ref="subteam" type="input"/>
- <col ref="lrg" type="input"/>
- <col ref="mdl" type="input"/>
- <col ref="sml" type="input"/>
- <col imemode="hangul" ref="srfeflag" type="input" _inputmode="koreanOnly"/>
- <col ref="scrnid" type="input"/>
- <col ref="scrnname" type="input"/>
- <col ref="insuimp" type="input" _chartype="upper"/>
- <col ref="detailfe" type="input"/>
- <col ref="dev" type="input"/>
- <col ref="usernm"/>
- <col ref="schedd" type="input" format="yyyy-mm-dd" mask="include"/>
- <col ref="acptdd" type="input" format="yyyy-mm-dd" mask="include"/>
- <col ref="startdd" type="input" format="yyyy-mm-dd" mask="include"/>
- <col ref="enddd" type="input" format="yyyy-mm-dd" mask="include"/>
- <col ref="prcsrate" type="input" format="###%"/>
- <col ref="prcsyn" type="input" _chartype="upper"/>
- <col ref="scrnveriyn" _chartype="upper"/>
- <col ref="scrnveriper"/>
- <col ref="scrnveridd"/>
- <col ref="testendyn" _chartype="upper"/>
- <col ref="testveriper"/>
- <col ref="testdd"/>
- <col ref="insuendyn" _chartype="upper"/>
- <col ref="remark" type="input"/>
- <col ref="funt1" type="input"/>
- <col ref="funt2" type="input"/>
- <col ref="funt3" type="input"/>
- <col ref="updtneedyn" type="input" _chartype="upper"/>
- <col ref="fstinptper"/>
- <col ref="fstinptdd" format="yyyy-mm-dd"/>
- <col ref="updtper"/>
- <col ref="updtdd" format="yyyy-mm-dd"/>
- <col ref="useyn" type="input" _chartype="upper"/>
- <col ref="adchflag" type="input"/>
- <col ref="appdd" type="input" format="yyyy-mm-dd" mask="include"/>
- <col ref="sort"/>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- var cur_row = grd_projlist.row;
- var cur_col = grd_projlist.col;
- if(cur_col == 8) // 구분
- {
- if(grd_projlist.textmatrix(cur_row, cur_col) == "화면" | grd_projlist.textmatrix(cur_row, cur_col) == "기능" | grd_projlist.textmatrix(cur_row,cur_col) == "보고서"
- | grd_projlist.textmatrix(cur_row,cur_col) == "오류" | grd_projlist.textmatrix(cur_row,cur_col) == "분석설계" | grd_projlist.textmatrix(cur_row,cur_col) == "산출물"
- | grd_projlist.textmatrix(cur_row,cur_col) == "기타" | grd_projlist.textmatrix(cur_row,cur_col) == "DB변경")
- {
- grd_projlist.row = grd_projlist.row+ 1;
- grd_projlist.editCell();
- }
- else {
- alert("잘못된 값을 입력하셨습니다.");
- grd_projlist.textmatrix(cur_row, cur_col) = "";
- grd_projlist.editCell();
- }
- }
- else if(cur_col == 11) // 중요도일 경우
- {
- if(grd_projlist.textmatrix(cur_row, cur_col) == "A" | grd_projlist.textmatrix(cur_row, cur_col) == "B" | grd_projlist.textmatrix(cur_row,cur_col) == "C")
- {
- grd_projlist.row = grd_projlist.row+ 1;
- grd_projlist.editCell();
- }
- else {
- alert("잘못된 값을 입력하셨습니다.");
- grd_projlist.textmatrix(cur_row, cur_col) = "";
- grd_projlist.editCell();
- }
- }
-
- else if(cur_col == 20 | cur_col == 21 | cur_col == 27) // 화면검증완료여부
- {
- if(grd_projlist.textmatrix(cur_row, cur_col) == "Y" | grd_projlist.textmatrix(cur_row, cur_col) == "N" )
- {
- grd_projlist.row = grd_projlist.row+ 1;
- grd_projlist.editCell();
- }
- else {
- alert("잘못된 값을 입력하셨습니다.");
- grd_projlist.textmatrix(cur_row, cur_col) = "";
- grd_projlist.editCell();
- }
- }
- else if(cur_col == 24) // 테스트완료여부
- {
- if(grd_projlist.textmatrix(cur_row, cur_col) == "Y" | grd_projlist.textmatrix(cur_row, cur_col) == "N" | grd_projlist.textmatrix(cur_row, cur_col) == "R" )
- {
- grd_projlist.row = grd_projlist.row+ 1;
- grd_projlist.editCell();
- }
- else {
- alert("잘못된 값을 입력하셨습니다.");
- grd_projlist.textmatrix(cur_row, cur_col) = "";
- grd_projlist.editCell();
- }
- }
- else if(cur_col == 19) // 진행률일 경우
- {
-
- if(parseInt(grd_projlist.textmatrix(cur_row, cur_col)) < parseInt(prcsrate))
- {
- alert("현재 공정율 보다 작은 값을 입력하셨습니다.");
- grd_projlist.editCell();
- }
-
- }
- ]]>
- </script>
- <script type="javascript" ev:event="onentercell">
- <![CDATA[
- var cur_row = grd_projlist.row;
- var cur_col = grd_projlist.col;
- if(cur_col == 19) // 진행률일 경우
- {
- prcsrate = model.getValue("/root/main/projlist/list/proj["+(cur_row-1)+"]/prcsrate");
-
- }
- ]]>
- </script>
- <script type="javascript" ev:event="onaftersort">
- <![CDATA[
- grd_projlist.gridToInstance();
- ]]>
- </script>
- </datagrid>
- </group>
- <group id="group3" style="left:0px; top:13px; width:1190px; height:27px; ">
- <button id="button2" class="btn4_letter2" disable.background-image="../../../com/commonweb/images/dis_btn4_letter2.gif" style="left:1060px; top:2px; width:56px; height:22px; background-image:../../../com/commonweb/images/btn4_letter2.gif; ">
- <caption>저장</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- if(messageBox("", "Q002")==6){
- if(!checkGridUpdate(grd_projlist))
- {
- alert("저장할 자료가 존재하지 않습니다.");
- return;
- }
-
- /*if(checkGridField(grd_projlist,"subteam")==false)
- {
- alert("데이터중에 비어있는 필수필드가 있습니다.");
- return;
- }*/
- model.setValue("/root/send/projlist",grd_projlist.getUpdateData());
- if ( submit("TXZTP00101") ) {
- grd_projlist.clearStatus(); // submit() 성공하면 그리드의 i,u,d 상태 제거
- fbtnSearch();
- //changeNodeSet();
- }
- }
-
- ]]>
- </script>
- </button>
- <button id="button7" class="btn4_letter3" disable.background-image="../../../com/commonweb/images/dis_btn4_letter3.gif" style="left:1120px; top:2px; width:68px; height:22px; background-image:../../../com/commonweb/images/btn4_letter3.gif; ">
- <caption>초기화</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- model.removeNodeset("/root/main/projlist/list/proj");
- model.resetInstanceNode("/root/send");
- //model.resetInstanceNode("/root/main/item");
-
- model.refresh();
- combo1.select(0);
- combo2.select(0);
- ]]>
- </script>
- </button>
- <line id="line1" class="line_6" style="x1:0px; y1:25px; x2:1189px; y2:25px; "/>
- </group>
- </xhtml:body>
- </xhtml:html>
|