12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298 |
- <?xml version="1.0" encoding="EUC-KR"?>
- <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
- <?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>
- <projlist>
- <list>
- <proj>
- <prcscd/>
- <subteam/>
- <lrg/>
- <mdl/>
- <sml/>
- <srfeflag/>
- <scrnid/>
- <scrnname/>
- <insuimp/>
- <detailfe/>
- <datafile/>
- <dev/>
- <usernm/>
- <schestartdd/>
- <schedd/>
- <acptdd/>
- <startdd/>
- <enddd/>
- <prcsrate/>
- <prcsyn/>
- <remark/>
- <funt1/>
- <funt2/>
- <funt3/>
- <updtneedyn/>
- <subjno/>
- <fstrgstrid/>
- <fstrgstdt/>
- <lastupdtrid/>
- <lastupdtdt/>
- <useyn/>
- <adchflag/>
- <appdd/>
- <reqno/>
- <devflag/>
- <ifoption/>
- <sort/>
- </proj>
- </list>
- </projlist>
- <list/>
- </main>
- <send>
- <search>
- <subteam/>
- <lrg/>
- <mdl/>
- <sml/>
- <srfeflag/>
- <scrnname/>
- <dev/>
- <usernm/>
- <useyn/>
- <appdd/>
- <acptfromdd/>
- <acpttodd/>
- <schefromdd/>
- <schetodd/>
- <startfromdd/>
- <starttodd/>
- <endfromdd/>
- <endtodd/>
- <prcsyn/>
- <subjno/>
- <devflag/>
- <reqno/>
- </search>
- <projlist/>
- <col>
- <dev/>
- </col>
- <popup/>
- </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>
- <item>
- <name>DB변경</name>
- <id>DB변경</id>
- </item>
- <item>
- <name>화면+보고서</name>
- <id>sr</id>
- </item>
- </srfe>
- <srfe2>
- <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>DB변경</name>
- <id>DB변경</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>
- </srfe2>
- <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>
- <appdd>
- <item>
- <name/>
- <id/>
- </item>
- <item>
- <name>2009-01-01</name>
- <id>2009-01-01</id>
- </item>
- <item>
- <name>2008-10-01</name>
- <id>2008-10-01</id>
- </item>
- <item>
- <name>2009-03-01</name>
- <id>2009-03-01</id>
- </item>
- <item>
- <name>2009-03-23</name>
- <id>2009-03-23</id>
- </item>
- <item>
- <name>2009-05-01</name>
- <id>2009-05-01</id>
- </item>
- </appdd>
- <insuimp>
- <item>
- <name/>
- <id/>
- </item>
- <item>
- <name>A</name>
- <id>A</id>
- </item>
- <item>
- <name>B</name>
- <id>B</id>
- </item>
- <item>
- <name>C</name>
- <id>C</id>
- </item>
- </insuimp>
- <yn>
- <item>
- <name/>
- <id/>
- </item>
- <item>
- <name>Y</name>
- <id>Y</id>
- </item>
- <item>
- <name>N</name>
- <id>N</id>
- </item>
- </yn>
- <useyn>
- <item>
- <name>전체</name>
- <id>-</id>
- </item>
- <item>
- <name>Y</name>
- <id>Y</id>
- </item>
- <item>
- <name>N</name>
- <id>N</id>
- </item>
- </useyn>
- <datecond>
- <item>
- <name>전체</name>
- <id>-</id>
- </item>
- <item>
- <name>추가일</name>
- <id>acptdd</id>
- </item>
- <item>
- <name>예정완료일</name>
- <id>schedd</id>
- </item>
- <item>
- <name>시작일</name>
- <id>startdd</id>
- </item>
- <item>
- <name>종료일</name>
- <id>enddd</id>
- </item>
- </datecond>
- <subjno>
- <item>
- <name>전체</name>
- <id>-</id>
- </item>
- <item>
- <name>1</name>
- <id>1</id>
- </item>
- <item>
- <name>2</name>
- <id>2</id>
- </item>
- <item>
- <name>3</name>
- <id>3</id>
- </item>
- <item>
- <name>4</name>
- <id>4</id>
- </item>
- <item>
- <name>5</name>
- <id>5</id>
- </item>
- <item>
- <name>6</name>
- <id>6</id>
- </item>
- <item>
- <name>7</name>
- <id>7</id>
- </item>
- <item>
- <name>8</name>
- <id>8</id>
- </item>
- <item>
- <name>9</name>
- <id>9</id>
- </item>
- <item>
- <name>10</name>
- <id>10</id>
- </item>
- </subjno>
- <devflag>
- <item>
- <name>전체</name>
- <id>-</id>
- </item>
- <item>
- <name>평화</name>
- <id>평화</id>
- </item>
- <item>
- <name>HIT</name>
- <id>HIT</id>
- </item>
- <item>
- <name>평화+HIT</name>
- <id>평화+HIT</id>
- </item>
- </devflag>
- </init>
- <sheet>1</sheet>
- <pageCount>1000</pageCount>
- <totalPage/>
- <curPage>1</curPage>
- <temp>
- <usernm/>
- </temp>
- <popup>
- <grd_projlist>
- <item>
- <name>일괄수정</name>
- <func>fBatUpdate</func>
- </item>
- </grd_projlist>
- <fileupload>
- <item>
- <name>파일첨부</name>
- <func>fFileupload</func>
- </item>
- <item>
- <name>첨부파일 보기</name>
- <func>fFileView</func>
- </item>
- </fileupload>
- </popup>
- <popIndex>super</popIndex>
- <isxlsload/>
- <pw>1</pw>
- </root>
- </instance>
- <script type="javascript" ev:event="xforms-model-construct-done">
- <![CDATA[
- combo1.select(0);
- combo2.select(0);
- combo3.select(1);
- combo5.select(1);
- combo6.select(0);
- combo7.select(0);
- ]]>
- </script>
- <script type="javascript" ev:event="xforms-ready">
- <![CDATA[
- model.removeNodeset("/root/main/projlist/list/proj");
- // 페이징 구현 setTotalPage();
- //setPage(root.curPage.value);
-
- grd_projlist.frozenCols=10;
-
- // 적용 기준일
- submit("TRZTP00802");
- addComboItem("combo4", "전체", "-", "above");
- combo4.select(0);
-
- // fsetDate();
-
- 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="TRZTP00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/col/dev" resultref="/root/temp"/>
- <submission id="TRZTP00802" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/search/appdd" resultref="/root/temp"/>
- <submission id="TRZTP00103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/search_file"/>
- <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" src="../../../com/commonweb/js/tfHelper.js"/>
- <script type="javascript">
- <![CDATA[
-
- function setPage(curPage)
- {
- var pageCount = root.pageCount.value;
- var endIdx = parseInt(curPage) * pageCount;
- var startIdx = endIdx - pageCount;
-
- var totalPage = root.totalPage.value;
-
- if ( curPage <= totalPage )
- grd_projlist.nodeset= "/root/main/projlist/list/proj[position()>"+startIdx+" and position()<="+endIdx+"]";
- }
-
- function setTotalPage()
- {
- var pageCount = root.pageCount.value;
- var count = model.getXPathValue( "count(/root/main/projlist/list/proj" );
-
- var totalPage = parseInt(parseInt(count) / pageCount);
- var mod = parseInt(count) / pageCount - parseInt(parseInt(count) / pageCount);
- if ( mod != 0 )
- totalPage = totalPage + 1;
-
- root.totalPage.value = totalPage;
- }
-
- 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 fBatUpdate()
- {
- // var rowNode;
- for(var i=0; i<grd_projlist.selectedRows; i++)
- {
- var row = grd_projlist.selectedRow(i);
- grd_projlist.addStatus(row, "update");
-
- // rowNode = instance1.selectSingleNode("/root/main/projlist/list/proj[" + (grd_projlist.selectedRow(i) - grd_projlist.fixedRows + 1) + "]");
- // model.duplicate(destNode, rowNode);
- }
-
- modal("SPZTP01000", "", "", "", "popup", "/root/send/popup", "/root/main/grd_projlist","left:300; top:300; width:750; height:200; sysmenu:visible; min:visible; max:true; resize:true; caption:visible;");
- }
-
- function fsetDate()
- {
- nday = new Date() // 오늘의 날짜와 시간을 구함
- t_year = nday.getYear();
- t_mon = nday.getMonth()+1; // 0부터 시작해서 1월이다.
- t_day = nday.getDate();
-
- // 날짜 포맷 맞추기
- if(t_mon < 10)
- t_mon = "0" + t_mon;
- if(t_day < 10)
- t_day = "0" + t_day;
-
- var cur_date = t_year + "-" + t_mon + "-" + t_day;
-
- model.setValue("/root/send/search/acpttodd",cur_date);
- model.setValue("/root/send/search/schetodd",cur_date);
- model.setValue("/root/send/search/starttodd",cur_date);
- model.setValue("/root/send/search/endtodd",cur_date);
- }
-
- function fFileupload()
- {
- modal("SPZTP00300", "1", "100", "200", "popup", "/root/send/popup", "/root/main/grd_projlist", "left:200; top:200; width:500; height:150; sysmenu:visible; min:visible; max:true; resize:true; caption:visible;" , false);
- }
-
- function fFileView()
- {
- modal("SPZTP00200", "1", "100", "200", "SPZTP00200", "", "", "left:200; top:200; width:925; height:570; sysmenu:visible; min:visible; max:true; resize:true; caption:visible;" , false);
- }
- ]]>
- </script>
- </xhtml:head>
- <xhtml:body guideline="1,1195;2,782;" 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:0px; width:1194px; height:100px; vertical-align:top; ">
- <shape id="roundrect3" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:1194px; height:100px; "/>
- <line id="line18" class="line_4" style="x1:1114px; y1:7px; x2:1114px; y2:90px; border-left-style:solid; "/>
- <caption id="caption2" class="search_name" style="left:9px; top:12px; width:86px; height:17px; ">SubTeam</caption>
- <caption id="caption3" class="search_name" style="left:9px; top:39px; width:66px; height:17px; ">대분류</caption>
- <caption id="caption4" class="search_name" style="left:155px; top:39px; width:66px; height:17px; ">중분류</caption>
- <caption id="caption5" class="search_name" style="left:303px; top:39px; width:66px; height:17px; ">소분류</caption>
- <caption id="caption6" class="search_name" style="left:9px; top:66px; width:54px; height:17px; ">구분</caption>
- <caption id="caption7" class="search_name" style="left:413px; top:12px; width:63px; height:17px; ">화면명</caption>
- <button id="button1" class="btn1_letter2" style="left:1130px; top:40px; 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:76px; top:39px; width:75px; 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:224px; top:39px; width:75px; 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:370px; top:39px; width:65px; 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:71px; top:65px; width:99px; 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:485px; top:12px; 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:101px; top:12px; width:110px; height:19px; ">
- <choices>
- <itemset nodeset="/root/init/subteam/item">
- <label ref="name"/>
- <value ref="id"/>
- </itemset>
- </choices>
- </select1>
- <caption id="caption10" class="search_name" style="left:220px; top:12px; width:63px; height:17px; ">개발자</caption>
- <input id="input6" ref="/root/send/search/usernm" class="input_search" style="left:289px; top:12px; width:110px; height:19px; ">
- <script type="javascript" ev:event="onkeypress">
- <![CDATA[
- if (event.keycode == 13)
- {
- input6.value = input6.currentText;
- fbtnSearch();
- }
- ]]>
- </script>
- </input>
- <caption id="caption11" class="search_name" style="left:383px; top:66px; width:76px; height:17px; ">사용여부</caption>
- <select1 id="combo3" ref="/root/send/search/useyn" class="combo_search" appearance="minimal" style="left:465px; top:65px; width:65px; height:19px; ">
- <choices>
- <itemset nodeset="/root/init/useyn/item">
- <label ref="name"/>
- <value ref="id"/>
- </itemset>
- </choices>
- </select1>
- <caption id="caption12" class="search_name" style="left:185px; top:66px; width:89px; height:17px; ">적용기준일</caption>
- <select1 id="combo4" ref="/root/send/search/appdd" class="combo_search" appearance="minimal" style="left:279px; top:65px; width:90px; height:19px; ">
- <choices>
- <itemset nodeset="/root/temp/combo">
- <label ref="appdd"/>
- <value ref="value"/>
- </itemset>
- </choices>
- </select1>
- <caption id="caption13" class="search_name" style="left:750px; top:4px; width:89px; height:17px; ">예정완료일</caption>
- <input id="input7" ref="/root/send/search/schefromdd" class="input_search" inputtype="date" mask="include" style="left:850px; top:4px; width:110px; height:19px; ">
- <script type="javascript" ev:event="onkeypress">
- <![CDATA[
- if (event.keycode == 13)
- {
- input2.value = input2.currentText;
- fbtnSearch();
- }
- ]]>
- </script>
- </input>
- <input id="input8" ref="/root/send/search/schetodd" class="input_search" inputtype="date" mask="include" style="left:981px; top:4px; width:110px; height:19px; ">
- <script type="javascript" ev:event="onkeypress">
- <![CDATA[
- if (event.keycode == 13)
- {
- input2.value = input2.currentText;
- fbtnSearch();
- }
- ]]>
- </script>
- </input>
- <caption id="caption14" style="left:965px; top:5px; width:20px; height:20px; ">~</caption>
- <input id="input9" ref="/root/send/search/acptfromdd" class="input_search" inputtype="date" mask="include" style="left:850px; top:28px; width:110px; height:19px; ">
- <script type="javascript" ev:event="onkeypress">
- <![CDATA[
- if (event.keycode == 13)
- {
- input2.value = input2.currentText;
- fbtnSearch();
- }
- ]]>
- </script>
- </input>
- <input id="input10" ref="/root/send/search/acpttodd" class="input_search" inputtype="date" mask="include" style="left:981px; top:28px; width:110px; height:19px; ">
- <script type="javascript" ev:event="onkeypress">
- <![CDATA[
- if (event.keycode == 13)
- {
- input2.value = input2.currentText;
- fbtnSearch();
- }
- ]]>
- </script>
- </input>
- <caption id="caption15" class="search_name" style="left:750px; top:28px; width:89px; height:17px; ">추가일</caption>
- <caption id="caption16" style="left:965px; top:29px; width:20px; height:20px; ">~</caption>
- <input id="input11" ref="/root/send/search/startfromdd" class="input_search" inputtype="date" mask="include" style="left:850px; top:52px; width:110px; height:19px; ">
- <script type="javascript" ev:event="onkeypress">
- <![CDATA[
- if (event.keycode == 13)
- {
- input2.value = input2.currentText;
- fbtnSearch();
- }
- ]]>
- </script>
- </input>
- <input id="input12" ref="/root/send/search/starttodd" class="input_search" inputtype="date" mask="include" style="left:981px; top:52px; width:110px; height:19px; ">
- <script type="javascript" ev:event="onkeypress">
- <![CDATA[
- if (event.keycode == 13)
- {
- input2.value = input2.currentText;
- fbtnSearch();
- }
- ]]>
- </script>
- </input>
- <caption id="caption17" class="search_name" style="left:750px; top:53px; width:86px; height:17px; ">시작일</caption>
- <caption id="caption18" style="left:965px; top:53px; width:20px; height:20px; ">~</caption>
- <input id="input13" ref="/root/send/search/endfromdd" class="input_search" inputtype="date" mask="include" style="left:850px; top:75px; width:110px; height:19px; ">
- <script type="javascript" ev:event="onkeypress">
- <![CDATA[
- if (event.keycode == 13)
- {
- input2.value = input2.currentText;
- fbtnSearch();
- }
- ]]>
- </script>
- </input>
- <input id="input14" ref="/root/send/search/endtodd" class="input_search" inputtype="date" mask="include" style="left:981px; top:75px; width:110px; height:19px; ">
- <script type="javascript" ev:event="onkeypress">
- <![CDATA[
- if (event.keycode == 13)
- {
- input2.value = input2.currentText;
- fbtnSearch();
- }
- ]]>
- </script>
- </input>
- <caption id="caption19" class="search_name" style="left:750px; top:76px; width:86px; height:17px; ">종료일</caption>
- <caption id="caption20" style="left:965px; top:76px; width:20px; height:20px; ">~</caption>
- <caption id="caption21" class="search_name" style="left:545px; top:66px; width:115px; height:17px; ">공정률적용여부</caption>
- <select1 id="combo5" ref="/root/send/search/prcsyn" class="combo_search" appearance="minimal" style="left:670px; top:65px; width:65px; height:19px; ">
- <choices>
- <itemset nodeset="/root/init/useyn/item">
- <label ref="name"/>
- <value ref="id"/>
- </itemset>
- </choices>
- </select1>
- <caption id="caption22" class="search_name" style="left:593px; top:39px; width:66px; height:17px; ">과제명</caption>
- <select1 id="combo6" ref="/root/send/search/subjno" class="combo_search" appearance="minimal" style="left:674px; top:40px; width:60px; height:19px; ">
- <choices>
- <itemset nodeset="/root/init/subjno/item">
- <label ref="name"/>
- <value ref="id"/>
- </itemset>
- </choices>
- </select1>
- <caption id="caption23" class="search_name" style="left:593px; top:12px; width:76px; height:17px; ">통합개발</caption>
- <select1 id="combo7" ref="/root/send/search/devflag" class="combo_search" appearance="minimal" style="left:674px; top:12px; width:60px; height:19px; ">
- <choices>
- <itemset nodeset="/root/init/devflag/item">
- <label ref="name"/>
- <value ref="id"/>
- </itemset>
- </choices>
- </select1>
- <caption id="caption24" class="search_name" style="left:443px; top:39px; width:76px; height:17px; ">요청번호</caption>
- <input id="input15" ref="/root/send/search/reqno" class="input_search" style="left:520px; top:39px; width:70px; height:19px; ">
- <script type="javascript" ev:event="onkeypress">
- <![CDATA[
- if (event.keycode == 13)
- {
- input4.value = input4.currentText;
- fbtnSearch();
- }
- ]]>
- </script>
- </input>
- </group>
- <line id="line20" class="line_1" style="x1:0px; y1:126px; x2:1194px; y2:126px; "/>
- <caption id="caption8" class="tit_2" style="left:5px; top:111px; width:160px; height:13px; ">
- <![CDATA[프로젝트 진척관리내역]]>
- <script type="javascript" ev:event="onmousedown">
- <![CDATA[
-
-
- var pwcnt = model.getValue("/root/pw");
-
-
- if(event.button == 3)
- {
- pwcnt++;
- model.setValue("/root/pw", pwcnt);
- if(pwcnt == "5"){
- modal("SPMQR03000", 1,10, 10, "SPMQR03000", "", "");
- model.setValue("/root/pw", 1);
- }
-
- }
-
- ]]>
- </script>
- </caption>
- <group id="group2" style="left:800px; top:100px; width:395px; height:25px; ">
- <button id="button3" class="btn2_letter4" disable.background-image="../../../com/commonweb/images/dis_btn2_letter4.gif" style="left:10px; 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="button4" class="btn2_letter4" disable.background-image="../../../com/commonweb/images/dis_btn2_letter4.gif" style="left:220px; top:5px; width:64px; height:19px; background-image:../../../com/commonweb/images/btn2_letter4.gif; ">
- <caption>엑셀입력</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- grd_projlist.rebuildStyle();
- var fileName = window.fileDialog("open", "", false);
- var sheet = parseInt(model.getValue("/root/sheet"));
- grd_projlist.loadExcel(fileName,sheet);
-
- // 엑셀 로드 후 바로 수정 시에 row 상태가 update가 아니라 insert로 주기 위한 설정
- model.setValue("/root/isxlsload","Y");
-
- nday = new Date() // 오늘의 날짜와 시간을 구함
- t_year = nday.getYear();
- t_mon = nday.getMonth()+1; // 0부터 시작해서 1월이다.
- t_day = nday.getDate();
-
- // 날짜 포맷 맞추기
- if(t_mon < 10)
- t_mon = "0" + t_mon;
- if(t_day < 10)
- t_day = "0" + t_day;
-
- var chk_date = t_year + "-" + t_mon + "-" + t_day;
- var err_code = ""
-
- for (i=grd_projlist.fixedRows; i < grd_projlist.rows; i++)
- {
- // 필수 입력 필드가 빈 값이 아니면 insert로 상태를 바꾼다.
- if(grd_projlist.textmatrix(i, grd_projlist.colRef("prcscd")) != "" && grd_projlist.textmatrix(i,grd_projlist.colRef("subteam")) != "")
- {
- grd_projlist.rowStatus(i) = 1;
- } else {
- err_code = err_code + "Row:" + (i-1) + "] SEQ,SubTeam 컬럼은 필수 입력입니다. \n + 엑셀 파일 수정 후 다시 로드 하세요 + \n";
- grd_projlist.textmatrix(i, grd_projlist.colRef("prcscd")) = "";
- grd_projlist.cellStyle("background-color", i, grd_projlist.colRef("prcscd")) = "#FFFDBF";
- }
-
- // seq 컬럼이 비워져 있으면 auto라고 박아 준다.
- // 플래그가 auto일 경우 DB에서 MAX값으로 검색후 자동으로 매겨 준다.
- // // 왠지 문제의 소지가 있으므로 넌 주석이다, seq 컬림이 중간 중간 비워져 있다면 문제가 생긴다.
- // if(grd_projlist.textmatrix(i, grd_projlist.colRef("seq")) != "")
- // {}
- // else {
- // err_code = err_code + "Row:" + (i-1) + "] SEQ 컬럼은 필수 입력입니다. \n 원본 데이터 > " + grd_projlist.textmatrix(i, grd_projlist.colRef("seq")) + "\n";
- // grd_projlist.textmatrix(i, grd_projlist.colRef("seq")) = "";
- // grd_projlist.cellStyle("background-color", i, grd_projlist.colRef("seq")) = "#FFFDBF";
- // }
-
- // 구분 , != 로 비교를 하면 안된다.. 해서 if else로 처리 했다.
- if(grd_projlist.textmatrix(i, grd_projlist.colRef("srfeflag")) == "화면" | grd_projlist.textmatrix(i, grd_projlist.colRef("srfeflag")) == "기능" | grd_projlist.textmatrix(i, grd_projlist.colRef("srfeflag")) == "보고서"
- | grd_projlist.textmatrix(i, grd_projlist.colRef("srfeflag")) == "오류" | grd_projlist.textmatrix(i, grd_projlist.colRef("srfeflag")) == "DB변경" | grd_projlist.textmatrix(i, grd_projlist.colRef("srfeflag")) == "기타"
- | grd_projlist.textmatrix(i, grd_projlist.colRef("srfeflag")) == "산출물" | grd_projlist.textmatrix(i, grd_projlist.colRef("srfeflag")) == "분석설계" | grd_projlist.textmatrix(i, grd_projlist.colRef("srfeflag")) == "전환")
- { }
- else {
- err_code = err_code + "Row:" + (i-1) + "] 구분 컬럼 데이터를 확인하세요. \n 원본 데이터 > " + grd_projlist.textmatrix(i, grd_projlist.colRef("srfeflag")) + "\n";
- grd_projlist.textmatrix(i, grd_projlist.colRef("srfeflag")) = "";
- grd_projlist.cellStyle("background-color", i, grd_projlist.colRef("srfeflag")) = "#FFFDBF";
- }
-
- // 중요도
- if(grd_projlist.textmatrix(i, grd_projlist.colRef("insuimp")) == "" | grd_projlist.textmatrix(i, grd_projlist.colRef("insuimp")) == "A" | grd_projlist.textmatrix(i, grd_projlist.colRef("insuimp")) == "B"
- | grd_projlist.textmatrix(i, grd_projlist.colRef("insuimp")) == "C")
- { }
- else {
- err_code = err_code + "Row:" + (i-1) + "] A/B/C 중 선택하세요 \n 원본 데이터 > " + grd_projlist.textmatrix(i, grd_projlist.colRef("insuimp")) + "\n";
- grd_projlist.textmatrix(i, grd_projlist.colRef("insuimp")) = "";
- grd_projlist.cellStyle("background-color", i, grd_projlist.colRef("insuimp")) = "#FFFDBF";
- }
-
- // 개발자ID 는 대문자로 일괄 변경
- grd_projlist.textmatrix(i, grd_projlist.colRef("dev")) = grd_projlist.textmatrix(i, grd_projlist.colRef("dev")).toUpperCase();
-
- // 공정대상
- if(grd_projlist.textmatrix(i, grd_projlist.colRef("prcsyn")) == "" | grd_projlist.textmatrix(i, grd_projlist.colRef("prcsyn")) == "Y" | grd_projlist.textmatrix(i, grd_projlist.colRef("prcsyn")) == "N")
- { }
- else {
- err_code = err_code + "Row:" + (i-1) + "] Y/N 중 선택하세요 \n 원본 데이터 > " + grd_projlist.textmatrix(i, grd_projlist.colRef("prcsyn")) + "\n";
- grd_projlist.textmatrix(i, grd_projlist.colRef("prcsyn")) = "";
- grd_projlist.cellStyle("background-color", i, grd_projlist.colRef("prcsyn")) = "#FFFDBF";
- }
-
- // 공정 대상은 Y 이고 적용 기준일이 빈 값이면
- if(grd_projlist.textmatrix(i, grd_projlist.colRef("prcsyn")) == "Y" & grd_projlist.textmatrix(i, grd_projlist.colRef("appdd")) == "")
- {
- err_code = err_code + "Row:" + (i-1) + "] 공정대상이 Y 이면 적용 기준일은 빈 값이 될 수 없습니다." + "\n";
- grd_projlist.textmatrix(i, grd_projlist.colRef("appdd")) = "";
- grd_projlist.cellStyle("background-color", i, grd_projlist.colRef("appdd")) = "#FFFDBF";
- }
-
- // 추가일
- if(grd_projlist.textmatrix(i, grd_projlist.colRef("acptdd")) > chk_date)
- {
- err_code = err_code + "Row:" + (i-1) + "] 추가일은 현재날짜 보다 클 수 없습니다. \n 원본 데이터 > " + grd_projlist.textmatrix(i, grd_projlist.colRef("acptdd")) + "\n";
- grd_projlist.textmatrix(i, grd_projlist.colRef("acptdd")) = "";
- grd_projlist.cellStyle("background-color", i, grd_projlist.colRef("acptdd")) = "#FFFDBF";
- }
-
- // 종료일
- if(grd_projlist.textmatrix(i, grd_projlist.colRef("enddd")) > chk_date)
- {
- err_code = err_code + "Row:" + (i-1) + "] 종료일은 현재날짜 보다 클 수 없습니다. \n 원본 데이터 > " + grd_projlist.textmatrix(i, grd_projlist.colRef("enddd")) + "\n";
- grd_projlist.textmatrix(i, grd_projlist.colRef("enddd")) = "";
- grd_projlist.cellStyle("background-color", i, grd_projlist.colRef("enddd")) = "#FFFDBF";
- }
-
- // 진행률에서 %부분을 빼고 로드 한다. %가 있으면 저장시 오류 발생! (엑셀 저장시 %가 붙어서 저장이 된다)
- grd_projlist.textmatrix(i,grd_projlist.colRef("prcsrate")) = grd_projlist.textmatrix(i,grd_projlist.colRef("prcsrate")).replace("%","");
-
- // 적용 기준일
- if(grd_projlist.textmatrix(i, grd_projlist.colRef("appdd")) == "2008-10-01" ||
- grd_projlist.textmatrix(i, grd_projlist.colRef("appdd")) == "2009-01-01" ||
- grd_projlist.textmatrix(i, grd_projlist.colRef("appdd")) == "2009-03-01" ||
- grd_projlist.textmatrix(i, grd_projlist.colRef("appdd")) == "2009-03-23" ||
- grd_projlist.textmatrix(i, grd_projlist.colRef("appdd")) == "2009-05-01" ||
- grd_projlist.textmatrix(i, grd_projlist.colRef("appdd")) == "") // 적용 기준일
- {
- }
- else
- {
- err_code = err_code + "Row:" + (i-1) + "] 적용 기준일은 2008-10-01, 2009-01-01, 2009-03-01, 2009-03-23, 2009-05-01 중 하나입니다. \n 원본 데이터 > " + grd_projlist.textmatrix(i, grd_projlist.colRef("appdd")) + "\n";
- grd_projlist.cellStyle("background-color", i, grd_projlist.colRef("appdd")) = "#FFFDBF";
- grd_projlist.textmatrix(i, grd_projlist.colRef("appdd")) = "";
- }
- }
-
- // 오류가 있으면 메세지창을 띄워 주는 친절함.
- if ( err_code != "")
- alert("오류가 발생한 데이터 리스트 입니다 \n노란색으로 처리된 셀을 확인하세요.\n\n" + err_code);
- ]]>
- </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);
-
- nday = new Date() // 오늘의 날짜와 시간을 구함
- t_year = nday.getYear();
- t_mon = nday.getMonth()+1; // 0부터 시작해서 1월이다.
- t_day = nday.getDate();
-
- // 날짜 포맷 맞추기
- if(t_mon < 10)
- t_mon = "0" + t_mon;
- if(t_day < 10)
- t_day = "0" + t_day;
-
- // 추가일 자동 입력
- model.setValue("/root/main/projlist/list/proj["+cur_row+"]/acptdd",t_year + "-" + t_mon + "-" + t_day);
-
- // 그리드에 추가
- //model.copyNode("/root/main/list/scrnlist["+cur_row+"]","/root/main/item");
- model.refresh();
- grd_projlist.row = cur_row;
- ]]>
- </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 selectedRows = grd_projlist.selectedRows;
- var arr = new Array(selectedRows);
-
- if(selectedRows <= 0) {
- alert("삭제할 행을 선택해주세요.");
- return;
- }
-
- for ( var i = 0 ; i < arr.length ; i ++ )
- {
- arr[i] = grd_projlist.selectedRow(i);
- if( grd_projlist.textmatrix(grd_projlist.selectedRow(i),grd_projlist.colRef("datafile")) == "Y")
- {
- alert("첨부파일이 포함되어 있습니다.\n\n 첨부파일을 먼저 삭제 하세요.");
- return;
- }
- }
-
- for ( var i = arr.length - 1 ; i >= 0 ; i-- )
- {
- // deleteRow(수정할 row,리프레쉬여부) , false로 설정하여 마지막에 한번에 refresh 한다.
- grd_projlist.deleteRow(arr[i],false);
- }
-
- grd_projlist.refresh();
- ]]>
- </script>
- </button>
- <caption id="caption9" class="cell_1" style="left:80px; top:5px; width:90px; height:20px; ">엑셀입력Sheet</caption>
- <input id="input1" ref="/root/sheet" style="left:175px; top:5px; width:40px; height:19px; "/>
- </group>
- <datagrid id="grd_projlist" nodeset="/root/main/projlist/list/proj" autoresize="true" caption="seq^SubTeam^대분류^중분류^소분류^구분^화면ID^화면명^중요도^세부기능/오류^첨부파일^개발자ID^개발자^예정시작일^예정완료일^추가일^시작일^종료일^진행률^공정대상^비고^기능분해1^기능분해2^기능분해3^수정필요여부^과제명^최초입력자^입력일시^수정자^수정일시^사용여부^변경구분^적용기준일^변경요청번호^통합개발^병원 구분^sort^seq|seq^SubTeam^대분류^중분류^소분류^구분^화면ID^화면명^중요도^세부기능/오류^첨부파일^개발자ID^개발자^예정시작일^예정완료일^추가일^시작일^종료일^진행률^공정대상^비고^기능분해1^기능분해2^기능분해3^수정필요여부^과제명^최초입력자^입력일시^수정자^수정일시^사용여부^변경구분^적용기준일^변경요청번호^통합개발^병원 구분^sort^seq" colsep="^" colwidth="30, 60, 80, 80, 80, 50, 83, 100, 30, 180, 33, 55, 45, 67, 67, 67, 67, 67, 45, 30, 100, 100, 100, 100, 60, 40, 70, 67, 70, 67, 40, 60, 67, 61, 62, 184, 60" dataheight="23" defaultrows="0" explorerbar="sortshow" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" tooltip="true" style="left:0px; top:130px; width:1194px; height:595px; ">
- <col ref="prcscd"/>
- <col ref="subteam" type="input" _chartype="upper"/>
- <col ref="lrg" type="input"/>
- <col ref="mdl" type="input"/>
- <col ref="sml" type="input"/>
- <col imemode="hangul" ref="srfeflag" type="combo" _inputmode="koreanOnly">
- <choices>
- <itemset nodeset="/root/init/srfe2/item">
- <label ref="name"/>
- <value ref="id"/>
- </itemset>
- </choices>
- </col>
- <col ref="scrnid" type="input"/>
- <col ref="scrnname" type="input"/>
- <col ref="insuimp" type="combo" _chartype="upper">
- <choices>
- <itemset nodeset="/root/init/insuimp/item">
- <label ref="name"/>
- <value ref="id"/>
- </itemset>
- </choices>
- </col>
- <col ref="detailfe" type="input"/>
- <col ref="datafile" style="font-weight:bold; text-decoration:underline; color:#0000ff; text-align:center; "/>
- <col ref="dev" type="input"/>
- <col ref="usernm"/>
- <col ref="schestartdd" type="input" format="yyyy-mm-dd" mask="include"/>
- <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="###%" style="left:1146px; top:43px; width:45px; height:23px; "/>
- <col ref="prcsyn" type="combo" _chartype="upper">
- <choices>
- <itemset nodeset="/root/init/yn/item">
- <label ref="name"/>
- <value ref="id"/>
- </itemset>
- </choices>
- </col>
- <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="subjno" type="input"/>
- <col ref="fstrgstrid"/>
- <col ref="fstrgstdt" format="yyyy-mm-dd"/>
- <col ref="lastupdtrid"/>
- <col ref="lastupdtdt" format="yyyy-mm-dd"/>
- <col ref="useyn" type="combo" _chartype="upper">
- <choices>
- <itemset nodeset="/root/init/yn/item">
- <label ref="name"/>
- <value ref="id"/>
- </itemset>
- </choices>
- </col>
- <col ref="adchflag" type="input"/>
- <col ref="appdd" type="combo" format="yyyy-mm-dd" mask="include">
- <choices>
- <itemset nodeset="/root/init/appdd/item">
- <label ref="name"/>
- <value ref="id"/>
- </itemset>
- </choices>
- </col>
- <col ref="reqno" type="input"/>
- <col ref="devflag" type="input"/>
- <col ref="ifoption" type="inputbutton"/>
- <col ref="sort" type="input" format="99999999"/>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- var cur_row = grd_projlist.row;
- var cur_col = grd_projlist.col;
-
- col_name = grd_projlist.textmatrix(1,cur_col);
-
- if(col_name == "개발자ID"){ //개발자 ID
- // 소문자로 ID 를 넣었을 경우 대문자로 변환
- grd_projlist.textmatrix(cur_row, cur_col) = grd_projlist.textmatrix(cur_row, cur_col).toUpperCase();
-
- // 개발자 ID 컬럼의 값을 instance send/col/dev 에 넣는다
- model.setValue("/root/send/col/dev", grd_projlist.textmatrix(cur_row, cur_col));
-
- // send/col/dev 값을 argument로 TRTZP00102 에 패스한다 리턴값은 root/temp 에 받는다.
- submit("TRZTP00102");
-
- // root/temp 의 값을 개발자 column 에 표현한다.
- grd_projlist.textmatrix(cur_row, cur_col+1) = model.getValue("/root/temp/usernm");
-
- }
- else if(col_name == "추가일" || col_name == "종료일") // 추가일
- {
- nday = new Date() // 오늘의 날짜와 시간을 구함
- t_year = nday.getYear();
- t_mon = nday.getMonth()+1; // 0부터 시작해서 1월이다.
- t_day = nday.getDate();
-
- // 날짜 포맷 맞추기
- if(t_mon < 10)
- t_mon = "0" + t_mon;
- if(t_day < 10)
- t_day = "0" + t_day;
-
- if(grd_projlist.textmatrix(cur_row, cur_col) > t_year + "-" + t_mon + "-" + t_day)
- {
- if ( col_name == "추가일" )
- alert("추가일은 현재날짜 보다 클 수 없습니다.");
- else
- alert("종료일은 현재날짜 보다 클 수 없습니다.");
- grd_projlist.textmatrix(cur_row, cur_col) = "";
- grd_projlist.editCell();
- }
- }
- ]]>
- </script>
- <script type="javascript" ev:event="onmousedown">
- <![CDATA[
- // 한 행만 선택했을 경우에는 파일 첨부/보기 팝업을 띄우고 두 행이상 부터는 일괄 수정 팝업을 띄운다
- if( grd_projlist.selectedRows == 1)
- {
- setPopupMenu("grd_projlist", false, "/root/popup/fileupload/item", "name", "func");
- }
- else
- {
- setPopupMenu("grd_projlist", false, "/root/popup/grd_projlist/item", "name", "func");
- }
- ]]>
- </script>
- <script type="javascript" ev:event="DOMFocusOut">
- <![CDATA[
- initPopupMenu();
- ]]>
- </script>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- if( isDataCell() && grd_projlist.col == grd_projlist.colRef("datafile"))
- {
- modal("SPZTP00200", "1", "100", "200", "SPZTP00200", "", "", "left:200; top:200; width:925; height:570; sysmenu:visible; min:visible; max:true; resize:true; caption:visible;" , false);
- }
- ]]>
- </script>
- <script type="javascript" ev:event="onaftersort">
- <![CDATA[
- grd_projlist.gridToInstance();
- ]]>
- </script>
- <script type="javascript" ev:event="onbuttonclick">
- <![CDATA[
- var bValue = model.getValue("/root/main/projlist/list/proj["+(grd_projlist.row-1)+"]/ifoption");
- var rowStatus = grd_projlist.rowStatus(grd_projlist.row);
-
- var sNode = "/root/main/projlist/list/proj["+(grd_projlist.row-1)+"]/ifoption";
- setParameter("opener_parameter_id", bValue+"▦"+sNode);
- modal("SPZTP00400");
- var aValue = model.getValue("/root/main/projlist/list/proj["+(grd_projlist.row-1)+"]/ifoption");
- if(bValue != aValue && rowStatus != "1"){
- grd_projlist.rowStatus(grd_projlist.row) = 2;
- }
- ]]>
- </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){
-
- // 엑셀에서 불러오기를 실행하고 바로 수정을 했을 경우 rowStatus가 update 형식이 되므로 입력되지 않아서 강제로 몽땅 입력상태로 설정
- if(model.getValue("/root/isxlsload") == "Y")
- {
- for (i=grd_projlist.fixedRows; i<grd_projlist.rows; i++)
- {
- // 필수 입력필드가 비어있지 않으면 저장상태로 변경
- if(grd_projlist.textmatrix(i, 1) != "" && grd_projlist.textmatrix(i, 2) != "")
- {
- grd_projlist.rowStatus(i) = 1;
- }
- else
- {
- alert("seq 와 subteam 은 필수 입력 필드 입니다. (seq컬럼에 auto 입력 시 자동으로 입력)");
- return;
- }
- }
- }
-
- if(!checkGridUpdate(grd_projlist))
- {
- alert("저장할 자료가 존재하지 않습니다.");
- return;
- }
-
- for (i=grd_projlist.fixedRows; i<grd_projlist.rows; i++)
- {
- if(model.getValue("/root/main/projlist/list/proj["+i+"]/prcsyn") == "Y" & model.getValue("/root/main/projlist/list/proj["+i+"]/appdd") == "")
- {
- alert("ROW " + i + "] 공정대상이 Y 일때 적용기준일은 빈 값이 될 수 없습니다!");
- return;
- }
- }
- model.setValue("/root/send/projlist",grd_projlist.getUpdateData());
- if ( submit("TXZTP00101") ) {
- grd_projlist.clearStatus(); // submit() 성공하면 그리드의 i,u,d 상태 제거
- model.setValue("/root/isxlsload",""); // 엑셀 로드 상태 제거 -> 이거 안 해주면 재앙이 닥친다. 무조건 insert로 지정한다.
- fbtnSearch();
- }
- }
- ]]>
- </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");
- //fsetDate();
-
- model.refresh();
- combo1.select(0);
- combo2.select(0);
- combo3.select(1);
- combo4.select(0);
- combo5.select(1);
- combo6.select(0);
- ]]>
- </script>
- </button>
- <line id="line1" class="line_6" style="x1:0px; y1:25px; x2:1189px; y2:25px; "/>
- </group>
- </xhtml:body>
- </xhtml:html>
|