123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353 |
- <?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>공지제외대상조회</xhtml:title>
- <model id="model1">
- <instance id="instance1">
- <root xmlns="">
- <main>
- <cond_type>
- <item>
- <label>부서</label>
- <value>D</value>
- </item>
- <item>
- <label>사용자명</label>
- <value>U</value>
- </item>
- <item>
- <label>직종</label>
- <value>K</value>
- </item>
- </cond_type>
- <cond>
- <targetflag/>
- <srchcond/>
- <condname/>
- </cond>
- <userinfo>
- <userlist>
- <userid/>
- <usernm/>
- </userlist>
- </userinfo>
- <selecteduser>
- <targetlist>
- <ntctrgtcd/>
- <ntctrgtnm/>
- </targetlist>
- </selecteduser>
- </main>
- <send>
- <srchcond/>
- <condname/>
- <targetflag/>
- </send>
- <hidden>
- </hidden>
- <init>
- <msrght>
- <mouserght>
- <label>삭제</label>
- <func>fDeleteRow</func>
- </mouserght>
- </msrght>
- <comcd/>
- </init>
- </root>
- </instance>
- <script type="javascript" ev:event="xforms-ready">
- <![CDATA[
-
- //공지사항등록리스트를 초기화
- model.removeNodeset("/root/main/userinfo/userlist");
-
- // 공지대상 타입을 조회조건에 넣는다.
- model.setValue("/root/main/cond/targetflag", 'P');
-
- //input박스 data 값이 삭제 되게 초기화
- ipt_cond_targetname.value = "";
- //부서 input박스에 커서를 옮겨놓는다.
- model.setFocus("ipt_cond_targetname");
-
- // 공통코드 가져옴
- zbcfGetCodeList( new Array("R0061","Z0007"),
- new Array("/root/init/comcd","/root/init/comcd"),
- true,
- new Array("cdnm","cdnm"),
- new Array("asc","asc")
- );
-
- //콤보박스를 첫번째로 초기화
- cmb_cond.select(0);
-
- ]]>
- </script>
- <submission id="TRZBC00101" method="post" replace="instance"/>
- <submission id="TRZSN00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/userinfo"/>
- </model>
- <script type="javascript" src="../../../com/commonweb/js/common.js"/>
- <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
- <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
- <script type="javascript">
- <![CDATA[
- //선택된 row삭제
- function fDeleteRow(){
- //멀티로 데이타 선택
- var selectedRows = grd_choiuserlist.selectedRows;
- //로우값을 저장할 변수
- var row = new Array();
- //선택사용자의 그리드에 선택된 로우가 없을경우 메세지
- if (grd_choiuserlist.row == -1 ){
- messgeBox( " 사용자명을","C002" );
-
- }else {
- //선택사용자의 그리드에 선택된 로우가 있을 경우 선택된 로우 값을 저장
- for (i= selectedRows-1; i >= 0; i--){
- row[i] = grd_choiuserlist.selectedRow(i);
- }
- //저장된 로우값을 가지고 그행을 삭제
- for (i= selectedRows-1; i >= 0; i--){
- grd_choiuserlist.deleterow(row[i]);
- }
- }
- model.refresh();
- }
- ]]>
- </script>
- </xhtml:head>
- <xhtml:body pagewidth="405" pageheight="370" guideline="1,384;1,189;" style="margin-left:8; margin-top:8; margin-right:8; margin-bottom:8; ">
- <input id="input1" ref="/root/main/cond/cond1" style="left:215px; top:7px; width:130px; height:19px; "/>
- <input id="input2" ref="/root/main/cond/cond2" style="left:205px; top:7px; width:125px; height:19px; "/>
- <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:384px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
- <select1 id="cmb_cond" ref="/root/main/cond/srchcond" class="combo_search" disabled="false" appearance="minimal" style="left:100px; top:7px; width:75px; height:19px; ">
- <choices>
- <itemset nodeset="/root/main/cond_type/item">
- <label ref="label"/>
- <value ref="value"/>
- </itemset>
- </choices>
- <script type="javascript" ev:event="xforms-select">
- <![CDATA[
- // 콤보박스에서 선택한 값에 따라 조건 옆에 박스가 뜨게 선택하고 각 input박스나 콤보박스에 포커스가 가있게 한다.
-
- //콤보의 검색조건 값이 바뀌면 조회되는 그리드의 data도 삭제되게 한다.
- model.removeNodeset("/root/main/userinfo/userlist");
- model.refresh();
- ]]>
- </script>
- </select1>
- <input id="ipt_cond_targetname" ref="/root/main/cond/condname" style="left:180px; top:7px; width:115px; height:19px; ">
- <script type="javascript" ev:event="onkeyup">
- <![CDATA[
- //조건을 적고 enter를 치면 바로 조회 버튼을 누르지 않고 조회
- inputEnterKey("btn_req", "DOMActivate");
- ]]>
- </script>
- </input>
- <button id="btn_req" class="btn1_letter2" style="left:318px; top:7px; width:56px; height:22px; ">
- <caption>조회</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- var condtype = model.getValue("/root/main/cond/srchcond");
- var condname = model.getValue("/root/main/cond/condname");
- if (condtype == "D" || condtype == "U" || condtype == "N") // 부서명, 사용자명, 명칭일 경우에만
- {
- if ( getStringLength(condname) < 4)
- {
- messageBox("검색조건을 2글자 이상 입력해 주십시오. ", "I999");
- return;
- }
- }
- model.setValue("/root/send/targetflag",'P');
- model.setValue("/root/send/srchcond",model.getValue("/root/main/cond/srchcond"));
- model.setValue("/root/send/condname",condname);
- submit("TRZSN00201");
- ]]>
- </script>
- </button>
- <caption id="caption24" class="tit_2" style="left:0px; top:47px; width:134px; height:13px; ">검색자료</caption>
- <line id="line1" class="line_1" style="x1:0px; y1:62px; x2:190px; y2:62px; "/>
- <datagrid id="grd_userlist" nodeset="/root/main/userinfo/userlist" caption="사용자ID^사용자명" colsep="^" colwidth="70, 80" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:0px; top:67px; width:190px; height:268px; ">
- <col ref="userid"/>
- <col ref="usernm"/>
- <script type="javascript" ev:event="ondblclick">
- <![CDATA[
- //그리드의 row가 아닌 다른 꼿을 선택시 error메시지 보냄
- if( grd_userlist.isCell(event.target) && grd_userlist.row >= grd_userlist.fixedRows ) {
- //***************중복된 data가 존재하는지 확인
-
- //사용자조회의 선택된 row값을 받아옴
- var userrow = grd_userlist.row;
- //선택사용자조회에 선택되어 있는 row개수를 받아옴
- var cuserrows = grd_choiuserlist.rows;
- //선택된 row의 사용자id 값을 받아옴
- var getuserid = model.getValue("/root/main/userinfo/userlist[" + userrow + "]/userid");
- //종복되어있는 경우를 위해 상태값을 가지게 한다.
- var dupl = 'false';
-
- // 사용자 명을 컬럼수대로 합쳐놓음
-
- //선택된 사용자의 row개수 만큼 for문을 돌려서 확인
- for(var i = 1 ; i <= cuserrows ; i++){
- //선택된 사용자의 row의 사용자id를 하나씩 받아와서 조회
- var suserid = model.getValue("/root/main/selecteduser/targetlist[" + i + "]/ntctrgtcd");
- //사용자조회 그리드의 사용자id와 선택되어 있는 그리드의 사용자id가 같은지 비교
- if(suserid == getuserid){
- //중복인 경우 경고 메세지
- var usernm = model.getValue("/root/main/selecteduser/targetlist[" + i + "]/ntctrgtnm");
- messageBox(usernm + " 사용자가","E006");
- //사용자가 중복되어 있는 경우 data를 선택하면 안되므로 상태값을 ture로 하여 선택하지 않는다.
- dupl = 'true';
- }
- }
- //********** 중복되어 있지 않는 경우
- //중복되어있지 않는 상태값을 가지는 경우 선택그리드에 나타낸다.
- if(dupl == 'false'){
- //선택그리드의 row를 추가
- grd_choiuserlist.addRow(true);
- //부서조회 그리드의 값을 선택그리드에 넘긴다.
- model.setValue("/root/main/selecteduser/targetlist[" + cuserrows + "]/ntctrgtcd",model.getValue("/root/main/userinfo/userlist[" + userrow + "]/userid"));
- model.setValue("/root/main/selecteduser/targetlist[" + cuserrows + "]/ntctrgtnm",model.getValue("/root/main/userinfo/userlist[" + userrow + "]/usernm"));
- }
- }else{
- //messageBox( "사용자명을 선택" ,"E001");
- }
- ]]>
- </script>
- </datagrid>
- <caption id="caption1" class="tit_2" style="left:195px; top:47px; width:134px; height:13px; ">선택자료</caption>
- <line id="line2" class="line_1" style="x1:195px; y1:62px; x2:384px; y2:62px; "/>
- <datagrid id="grd_choiuserlist" nodeset="/root/main/selecteduser/targetlist" caption="사용자ID^사용자명" colsep="^" colwidth="0, 150" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:195px; top:67px; width:189px; height:268px; ">
- <col ref="ntctrgtcd"/>
- <col ref="ntctrgtnm"/>
- <script type="javascript" ev:event="onmousedown">
- <![CDATA[
- //마우스 오른쪽을 누르면 삭제 팝업이 뜨고 선택시 선택한 row를 삭제
- if (grd_choiuserlist.isCell(event.target) && grd_choiuserlist.mouseRow >= grd_choiuserlist.fixedRows) {
- //오른쪽 팝업을 보이게 true로 한다.
- app.showPopupMenu(true);
- //오른쪽 마우스 선택시 삭제창이 나타나면 선택한 row삭제
- window.setPopupMenu(true, "/root/init/msrght/mouserght", "label", "func", false);
-
- } else {
- window.setPopupMenu(false);
- }
- ]]>
- </script>
- </datagrid>
- <caption id="caption3" class="search_name" style="left:7px; top:9px; width:93px; height:17px; ">검색조건 :</caption>
- <button id="btn_cnfm" class="btn4_letter2" style="left:270px; top:338px; width:56px; height:22px; ">
- <caption>확인</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- //부모창의 속성값에 정해준다..
- var getrows = grd_choiuserlist.rows;
- //확인 버튼 눌렀다는 상태값
- //model.setValue("/root/main/choiuserinfo/useyn", "Y");
- //그리드에 선택된 row수를 받아온다.
- var getrows = grd_choiuserlist.rows - grd_choiuserlist.fixedRows;
-
- if(getrows == '0'){ return;} ;
- model.copyNode(opener.root.temp.exceptinfo, root.main.selecteduser);
-
- window.close();
-
- ]]>
- </script>
- </button>
- <button id="btn_cncl" class="btn4_letter2" style="left:329px; top:338px; width:56px; height:22px; ">
- <caption>취소</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- //취소 버튼 눌렀다는 상태값
- // model.setValue("/root/main/choiuserinfo/useyn", "N");
- // opener.javascript.setParameter("useyn", model.getValue("/root/main/choiuserinfo/useyn"));
- //팝업창을 닫음
- window.close();
- ]]>
- </script>
- </button>
- <button id="btn_copy" class="btn2_letter2" style="left:145px; top:41px; width:42px; height:19px; ">
- <caption>복사</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- //***************중복된 data가 존재하는지 확인
- //사용자조회의 선택된 row값을 받아옴
- var rows = grd_userlist.selectedRows;
- //선택사용자조회에 선택되어 있는 row개수를 받아옴
- var Crows = grd_choiuserlist.rows;
- var row = new Array();
- var dupl = new Array();
- for (var i= rows-1; i >= 0; i--){
- row[i] = grd_userlist.selectedrow(i);
- }
-
- //선택된 사용자의 row개수 만큼 for문을 돌려서 확인
- if(rows == 0){
- messageBox("사용자명을 ", "C002");
- }else{
- for(var i = rows-1 ; i >= 0 ; i--){
- var temp = 'false';
- //선택된 사용자의 row의 사용자id를 하나씩 받아와서 조회
- var userid = model.getValue("/root/main/userinfo/userlist[" + row[i] + "]/userid");
- var usernm = model.getValue("/root/main/userinfo/userlist[" + row[i] + "]/usernm");
- for(var j = 1 ; j <= Crows ; j++){
- //선택된 row의 사용자id 값을 받아옴
- var id = model.getValue("/root/main/selecteduser/targetlist[" + j + "]/ntctrgtcd");
- //사용자조회 그리드의 사용자id와 선택되어 있는 그리드의 사용자id가 같은지 비교
- if(userid == id){
- //사용자가 중복되어 있는 경우 data를 선택하면 안되므로 상태값을 ture로 하여 선택하지 않는다.
- temp = 'true';
- }
- }
- if(temp == 'true'){
- dupl[i] = 'true';
- //중복인 경우 경고 메세지
- messageBox(usernm + " 사용자가","E006");
- }else{
- dupl[i] = 'false';
- }
- }
- var rowcount = Crows;
- //********** 중복되어 있지 않는 경우
- for(var i = rows-1 ; i >= 0 ; i--){
- var userid = model.getValue("/root/main/userinfo/userlist[" + row[i] + "]/userid");
- var usernm = model.getValue("/root/main/userinfo/userlist[" + row[i] + "]/usernm");
- //중복되어있지 않는 상태값을 가지는 경우 선택그리드에 나타낸다.
- if(dupl[i] == 'false'){
- //선택그리드의 row를 추가
- grd_choiuserlist.addRow(true);
-
- //부서조회 그리드의 값을 선택그리드에 넘긴다.
- // model.setValue("/root/main/choiuserinfo/choiuserlist[" + rowcount + "]/userid",userid);
- // model.setValue("/root/main/choiuserinfo/choiuserlist[" + rowcount + "]/usernm",usernm);
- model.setValue("/root/main/selecteduser/targetlist[" + rowcount + "]/ntctrgtcd",userid);
- model.setValue("/root/main/selecteduser/targetlist[" + rowcount + "]/ntctrgtnm",usernm);
- rowcount = rowcount + 1;
- }
- }
- }
- ]]>
- </script>
- </button>
- <line id="line3" style="x1:310px; y1:0px; x2:310px; y2:30px; border-color:#ffe4bb; border-left-style:solid; "/>
- <select1 id="cmb_jobkind" ref="/root/main/cond/condname" class="combo_search" disabled="false" visibility="hidden" appearance="minimal" style="left:180px; top:7px; width:115px; height:19px; ">
- <choices>
- <itemset nodeset="/root/init/comcd/R0061">
- <label ref="cdnm"/>
- <value ref="cdid"/>
- </itemset>
- </choices>
- </select1>
- </xhtml:body>
- </xhtml:html>
|