123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238 |
- <?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>자동상병 우선순위 관리(SMPIB01410)</xhtml:title>
- <model id="model1">
- <instance id="instance1">
- <root xmlns="">
- <main>
- <list>
- <gridautg>
- <autogrup/>
- <autogrupnm/>
- <sortno/>
- </gridautg>
- </list>
- <result/>
- </main>
- <send>
- <srchgrup/>
- <srchgrupnm/>
- <userid/>
- <sortUpdate>
- <datalist/>
- </sortUpdate>
- </send>
- <hidden>
- <popupmenu>
- <autgsort>
- <item>
- <name>순서 위로</name>
- <func>fAutoGrupNoUp</func>
- </item>
- <item>
- <name>순서 아래로</name>
- <func>fAutoGrupNoDown</func>
- </item>
- </autgsort>
- </popupmenu>
- </hidden>
- </root>
- </instance>
- <script type="javascript" ev:event="xforms-ready">
- <![CDATA[
- // 화면을 초기화한다.
- fInitialize();
-
- ]]>
- </script>
- <submission id="TRPIB01410" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/list"/>
- <submission id="TXPIB01410" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/sortUpdate" resultref="/root/main/result"/>
- </model>
- <script type="javascript" src="../../../com/commonweb/js/common.js"/>
- <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
- <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
- <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
- <script type="javascript">
- <![CDATA[
- function fInitialize()
- {
- // grid를 인스턴스에 mapping후 인스턴스에 해당하는 빈줄 1줄이 생기므로 grid 초기화
- model.removeNodeset("/root/main/list/GridAutg");
- grd_autogrup.refresh();
-
- var userId = getUserId();
- // model.setValue("/root/init/userid", userId);
- model.setValue("/root/send/userid",userId);
-
- btn_search.dispatch("DOMActivate");
-
- }
-
- function fAutoGrupNoUp() {
- var rowstatus = grd_autogrup.rowstatus(grd_autogrup.row);
-
- var sortno = parseInt(model.getValue("/root/main/list/gridautg["+ grd_autogrup.row +"]/sortno")); // 선택된 줄의 NO
- if (sortno > 1) { // 첫번째 줄이 아닌 경우
- model.setValue("/root/main/list/gridautg["+ grd_autogrup.row +"]/sortno", --sortno);
- if (rowstatus == 0 || rowstatus == 2) {
- grd_autogrup.rowstatus(grd_autogrup.row) = 2; // 2 : update
- }
- // 바로 위 상병순서와 중복되는 경우
- var nextrow = grd_autogrup.row - 1;
- var nextsortno = model.getValue("/root/main/list/gridautg["+ nextrow +"]/sortno");
-
- if (sortno == nextsortno) {
- model.setValue("/root/main/list/gridautg["+ nextrow +"]/sortno", ++sortno);
- rowstatus = grd_autogrup.rowstatus(nextrow);
- if (rowstatus == 0 || rowstatus == 2) {
- grd_autogrup.rowstatus(nextrow) = 2; // 2 : update
- }
- }
-
- fAutoGrupSortNo();
-
- }
-
- }
- function fAutoGrupNoDown() {
- // 삭제 상태가 아닌 마지막 줄을 찾는다.
- var rowstatus = grd_autogrup.rowstatus(grd_autogrup.row);
- var lastRow = grd_autogrup.rows - 1;
- var lastRow1 = model.getValue("/root/main/list/gridautg["+ lastRow +"]/sortno");
- for (var i = 1; i < grd_autogrup.rows; i++) {
- if (grd_autogrup.rowstatus(i) == 4) { // delete
- lastRow1 = i - 1;
- i = grd_autogrup.rows;
- }
- }
- var sortno = parseInt(model.getValue("/root/main/list/gridautg["+ grd_autogrup.row +"]/sortno")); // 선택된 줄의 NO
- if (sortno < lastRow1) { // 마지막 줄이 아닌 경우
- model.setValue("/root/main/list/gridautg["+ grd_autogrup.row +"]/sortno", ++sortno);
- if (rowstatus == 0 || rowstatus == 2) {
- grd_autogrup.rowstatus(grd_autogrup.row) = 2; // 2 : update
- }
- // 바로 아래 상병순서와 중복되는 경우
- var nextrow = grd_autogrup.row + 1;
- var nextsortno = model.getValue("/root/main/list/gridautg["+ nextrow +"]/sortno");
- if (sortno == nextsortno) {
- model.setValue("/root/main/list/gridautg["+ nextrow +"]/sortno", --sortno);
-
- rowstatus = grd_autogrup.rowstatus(nextrow);
- if (rowstatus == 0 || rowstatus == 2) {
- grd_autogrup.rowstatus(nextrow) = 2; // 2 : update
- }
- }
-
- fAutoGrupSortNo();
- }
-
- }
-
- function fAutoGrupSortNo() {
- var maxRow = parseInt(grd_autogrup.rows) - 1; // rows는 타이틀부분 부터 개수를 센다
- grd_autogrup.sort(grd_autogrup.fixedRows, grd_autogrup.colRef("sortno"), maxRow, grd_autogrup.colRef("sortno")) = "asc"; // 타이틀을 제외한 data 부분의 첫 줄의 row = 1 / col = 3 : no
- grd_autogrup.gridToInstance();
- }
- ]]>
- </script>
- </xhtml:head>
- <xhtml:body pagewidth="570" pageheight="720" guideline="1,928;2,696;" style="font-family:굴림체; margin-left:8; margin-top:8; margin-right:8; margin-bottom:8; ">
- <group id="group1" style="left:0px; top:0px; width:545px; height:13px; ">
- <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:135px; height:13px; ">자동상병 우선순위 관리</caption>
- </group>
- <group id="group3" scroll="auto" style="left:0px; top:13px; width:545px; height:652px; ">
- <group id="group2" style="left:0px; top:10px; width:540px; height:70px; vertical-align:top; ">
- <shape id="roundrect1" appearance="roundrect" style="left:0px; top:0px; width:535px; height:65px; "/>
- <caption id="caption2" class="search_name" visibility="hidden" style="left:4px; top:29px; width:86px; height:17px; ">그룹명칭 :</caption>
- <button id="btn_search" class="btn1_letter2" style="left:459px; top:15px; width:56px; height:22px; ">
- <caption>조회</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- model.removeNodeset("/root/main/list/GridAutg");
- grd_autogrup.refresh();
- model.setValue("/root/send/srchgrup", "");
- submit("TRPIB01410");
-
- ]]>
- </script>
- </button>
- <line id="line13" class="line_4" style="x1:444px; y1:4px; x2:444px; y2:57px; "/>
- <caption id="caption4" class="search_name" style="left:4px; top:19px; width:86px; height:17px; ">그룹코드 :</caption>
- <input id="ipt_SrchFlagNm" ref="/root/send/srchgrupnm" class="input_search" visibility="hidden" style="left:95px; top:30px; width:325px; height:19px; "/>
- <input id="input1" ref="/root/send/srchgrup" class="input_search" navindex="1" style="left:95px; top:20px; width:65px; height:19px; ">
- <script type="javascript" ev:event="onkeypress">
- <![CDATA[
- if (event.keyCode == "13") {
- setInputNodeCurText(); // (tfHelper.js) 현재 인풋값 노드 반영
- var srchgrup = model.getValue("/root/send/srchgrup");
- var row = grd_autogrup.findRow(srchgrup, 1, 1, false, false);
- //grd_autogrup.rowStyle(row,"data","background-color") = "#FFF000";
- model.setFocus("grd_autogrup");
- grd_autogrup.select( row, 1, row, 3) = true;
- grd_autogrup.topRow = row;
- }
- ]]>
- </script>
- </input>
- </group>
- <line id="line1" class="line_1" style="x1:0px; y1:85px; x2:531px; y2:85px; "/>
- <datagrid id="grd_autogrup" nodeset="/root/main/list/gridautg" autoresize="true" caption="그룹코드^그룹명칭^순서" colsep="^" colwidth="70, 360, 55" dataheight="23" ellipsis="true" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="23" rowsep="|" style="left:1px; top:90px; width:534px; height:550px; font-family:굴림체; ">
- <col editable="false" ref="autogrup" type="input"/>
- <col editable="false" ref="autogrupnm" type="input"/>
- <col ref="sortno" type="input"/>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- var col = grd_autogrup.col;
- var row = grd_autogrup.row;
- var userid = model.getValue("/root/send/userid");
-
- var rowstatus = grd_autogrup.rowStatus(row);
- if (rowstatus == 1 || rowstatus == 3) {
- model.setValue("/root/main/list/gridautg[" + row+ "]/changeflag","U");
- }
- ]]>
- </script>
- <script type="javascript" ev:event="onmousedown">
- <![CDATA[
- if (event.button == 3) { // 3 : 오른쪽 버튼
- if (grd_autogrup.isCell(event.target) && grd_autogrup.mouseRow >= grd_autogrup.fixedrows) {
- setPopupMenu("grd_autogrup", false, "/root/hidden/popupmenu/autgsort/item", "name", "func"); // (tfHelper.js) 컨트롤에서 사용자 팝업 설정 함수
- }
- }
- ]]>
- </script>
- </datagrid>
- </group>
- <group id="group4" scroll="auto" style="left:0px; top:668px; width:545px; height:27px; ">
- <button id="btn_save" class="btn4_letter2" style="left:469px; top:5px; width:56px; height:22px; ">
- <caption>저장</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- // 저장
- var updtdata = getGridUpdateData(grd_autogrup);
-
- if (updtdata == "") { // 변경된 데이터가 없는경우
- messageBox("변경된 데이터가","I004"); // 변경된 데이이터가 없습니다.
- return false;
- } else {
- var rtn = messageBox("", "Q002") ;
- if (rtn != 6) return;
- model.setValue("/root/send/sortUpdate/datalist",updtdata);
- //model.setValue("/root/send/sortUpdate/datalist/userid",userId);
- if ( submit("TXPIB01410") ) {
- model.resetInstanceNode("/root/main/list");
- submit("TRPIB01410"); // submit() 성공하면 그리드의 i,u,d 상태 제거
- messageBox("정상적으로 저장되었습니다.", "I999");
- }
- model.resetInstanceNode("/root/send/sortUpdate/datalist");
- }
- ]]>
- </script>
- </button>
- </group>
- </xhtml:body>
- </xhtml:html>
|