|
|
@ -1,8 +1,5 @@
|
|
|
|
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
|
|
|
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
|
|
|
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
|
|
|
<%@ include file="/WEB-INF/jsp/framework/taglibs.jsp"%>
|
|
|
|
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
|
|
|
|
|
|
|
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
|
|
|
|
|
|
|
|
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<form name="frmSearch" id="frmSearch" method="post">
|
|
|
|
<form name="frmSearch" id="frmSearch" method="post">
|
|
|
@ -19,28 +16,23 @@
|
|
|
|
<col style="width: 8%;"/>
|
|
|
|
<col style="width: 8%;"/>
|
|
|
|
<col style="width: 30%;"/>
|
|
|
|
<col style="width: 30%;"/>
|
|
|
|
<col style="width: 8%;"/>
|
|
|
|
<col style="width: 8%;"/>
|
|
|
|
<col style="width: ;"/>
|
|
|
|
<col/>
|
|
|
|
<col style="width: 8%;"/>
|
|
|
|
<col style="width: 8%;"/>
|
|
|
|
<col style="width: ;"/>
|
|
|
|
<col/>
|
|
|
|
<col style="width: 7%;"/>
|
|
|
|
<col style="width: 7%;"/>
|
|
|
|
</colgroup>
|
|
|
|
</colgroup>
|
|
|
|
<tbody>
|
|
|
|
<tbody>
|
|
|
|
<tr>
|
|
|
|
<tr>
|
|
|
|
<td colspan="6">
|
|
|
|
<td colspan="6">
|
|
|
|
<select name="sbscrbSttus" id="sbscrbSttus" title="검색조건1-사용자상태" style=" width: 100px">
|
|
|
|
<code:select id="sbscrbSttus" name="sbscrbSttus" codeId="XIT013" title="사용자상태" cls="selectBox" alt="selectBox tag"/>
|
|
|
|
<option value="0" <c:if test="${empty userSearchVO.sbscrbSttus || userSearchVO.sbscrbSttus == '0'}">selected="selected"</c:if> >상태(전체)</option>
|
|
|
|
<select name="searchCondition" id="searchCondition" title="검색구분" class="selectBox">
|
|
|
|
<option value="A" <c:if test="${userSearchVO.sbscrbSttus == 'A'}">selected="selected"</c:if> >가입신청</option>
|
|
|
|
|
|
|
|
<option value="D" <c:if test="${userSearchVO.sbscrbSttus == 'D'}">selected="selected"</c:if> >삭제</option>
|
|
|
|
|
|
|
|
<option value="P" <c:if test="${userSearchVO.sbscrbSttus == 'P'}">selected="selected"</c:if> >승인</option>
|
|
|
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<select name="searchCondition" id="searchCondition" title="검색조건2-검색어구분" style="width: 100px">
|
|
|
|
|
|
|
|
<option value="0" <c:if test="${userSearchVO.searchCondition == '0'}">selected="selected"</c:if> >ID</option>
|
|
|
|
<option value="0" <c:if test="${userSearchVO.searchCondition == '0'}">selected="selected"</c:if> >ID</option>
|
|
|
|
<option value="1" <c:if test="${empty userSearchVO.searchCondition || userSearchVO.searchCondition == '1'}">selected="selected"</c:if> >Name</option>
|
|
|
|
<option value="1" <c:if test="${empty userSearchVO.searchCondition || userSearchVO.searchCondition == '1'}">selected="selected"</c:if> >Name</option>
|
|
|
|
</select>
|
|
|
|
</select>
|
|
|
|
<input name="searchKeyword" title="검색어" type="text" value="<c:out value="${userSearchVO.searchKeyword}"/>" />
|
|
|
|
<input name="searchKeyword" title="검색어" type="text" value="<c:out value="${userSearchVO.searchKeyword}"/>" />
|
|
|
|
</td>
|
|
|
|
</td>
|
|
|
|
<td>
|
|
|
|
<td>
|
|
|
|
<input type="button" id="btnSearch" class="btn_search" title="검색" value="검색" />
|
|
|
|
<input type="button" id="btnSearch" class="btn_search" title="검색" value="검색" onclick="XitUserRegMng_list.findData()"/>
|
|
|
|
</td>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</tr>
|
|
|
|
</tbody>
|
|
|
|
</tbody>
|
|
|
@ -60,10 +52,9 @@
|
|
|
|
<div id="grid"></div>
|
|
|
|
<div id="grid"></div>
|
|
|
|
</form>
|
|
|
|
</form>
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/javaScript" language="javascript" defer="defer">
|
|
|
|
<script type="text/javaScript" defer="defer">
|
|
|
|
$(document).ready(function(){
|
|
|
|
let GRID = null;
|
|
|
|
XitUserRegMng_list.init();
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
/* *******************************
|
|
|
|
/* *******************************
|
|
|
|
* 사용자 등록관리 Functions
|
|
|
|
* 사용자 등록관리 Functions
|
|
|
|
******************************* */
|
|
|
|
******************************* */
|
|
|
@ -72,33 +63,110 @@ var XitUserRegMng_list = {
|
|
|
|
* 초기화
|
|
|
|
* 초기화
|
|
|
|
======================== */
|
|
|
|
======================== */
|
|
|
|
init : function(){
|
|
|
|
init : function(){
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Grid Config Settings
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
//Grid Style Set
|
|
|
|
|
|
|
|
Grid.applyTheme('striped'); // Call API of static method
|
|
|
|
|
|
|
|
//Grid 체크박스 checked EventListner
|
|
|
|
|
|
|
|
instance.on('check', function(ev) {
|
|
|
|
|
|
|
|
// console.log('check!', ev);
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
//Grid 체크박스 unchecked EventListner
|
|
|
|
|
|
|
|
instance.on('uncheck', function(ev) {
|
|
|
|
|
|
|
|
// console.log('uncheck!', ev);
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
//Grid 체크박스 focus이동 EventListner
|
|
|
|
|
|
|
|
instance.on('focusChange', function(ev) {
|
|
|
|
|
|
|
|
// console.log('change focused cell!', ev);
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
const gridColumns = [
|
|
|
|
* Elements EventListener Settings
|
|
|
|
{
|
|
|
|
*/
|
|
|
|
header: '번호',
|
|
|
|
//검색 Event 설정
|
|
|
|
name: 'rowNum',
|
|
|
|
$('#btnSearch').on({
|
|
|
|
width: 50,
|
|
|
|
click: function(){
|
|
|
|
sortable: false,
|
|
|
|
XitUserRegMng_list.findData();
|
|
|
|
align: 'center',
|
|
|
|
|
|
|
|
renderer: {
|
|
|
|
|
|
|
|
type : RowNumberRenderer
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
header: '아이디',
|
|
|
|
|
|
|
|
name: 'userId',
|
|
|
|
|
|
|
|
width: 160,
|
|
|
|
|
|
|
|
sortable: true,
|
|
|
|
|
|
|
|
sortingType: 'desc',
|
|
|
|
|
|
|
|
align: 'center',
|
|
|
|
|
|
|
|
renderer: {
|
|
|
|
|
|
|
|
type: CustomButtonRenderer,
|
|
|
|
|
|
|
|
options: {
|
|
|
|
|
|
|
|
formatter : function(props){
|
|
|
|
|
|
|
|
var rowData = props.grid.getRow(props.rowKey);
|
|
|
|
|
|
|
|
var obj = {
|
|
|
|
|
|
|
|
formatter : rowData.userId
|
|
|
|
|
|
|
|
,element : "text"
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return obj;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
,eventFunction: XitUserRegMng_list.fnClickRegBtn
|
|
|
|
|
|
|
|
,eventType : "click"
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
header: '사용자 이름',
|
|
|
|
|
|
|
|
name: 'userNm',
|
|
|
|
|
|
|
|
width: 120,
|
|
|
|
|
|
|
|
sortable: false,
|
|
|
|
|
|
|
|
align: 'center'
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
header: '사용자 이메일',
|
|
|
|
|
|
|
|
name: 'emailAdres',
|
|
|
|
|
|
|
|
minWidth: 160,
|
|
|
|
|
|
|
|
sortable: false,
|
|
|
|
|
|
|
|
align: 'center'
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
header: '전화번호',
|
|
|
|
|
|
|
|
name: 'moblphonNo',
|
|
|
|
|
|
|
|
width: 120,
|
|
|
|
|
|
|
|
sortable: false,
|
|
|
|
|
|
|
|
align: 'center'
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
header: '등록일',
|
|
|
|
|
|
|
|
name: 'sbscrbDe',
|
|
|
|
|
|
|
|
width: 150,
|
|
|
|
|
|
|
|
sortable: false,
|
|
|
|
|
|
|
|
align: 'center'
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
header: '가입상태',
|
|
|
|
|
|
|
|
name: 'userSttusCode',
|
|
|
|
|
|
|
|
width: 110,
|
|
|
|
|
|
|
|
sortable: false,
|
|
|
|
|
|
|
|
align: 'center'
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const gridOptions = {
|
|
|
|
|
|
|
|
el: 'grid',
|
|
|
|
|
|
|
|
rowHeaders: [],
|
|
|
|
|
|
|
|
columns: gridColumns,
|
|
|
|
|
|
|
|
columnOptions: {
|
|
|
|
|
|
|
|
frozenCount: 1 //고정컬럼 갯수
|
|
|
|
|
|
|
|
, minWidth: 80 //최소 사이즈
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const gridDatasource = { //DataSource
|
|
|
|
|
|
|
|
/* -----------------------
|
|
|
|
|
|
|
|
* DataSource API Setting
|
|
|
|
|
|
|
|
----------------------- */
|
|
|
|
|
|
|
|
//initialRequest: true, // 화면 load시 조회 안함 - default
|
|
|
|
|
|
|
|
api: {
|
|
|
|
|
|
|
|
readData: {
|
|
|
|
|
|
|
|
url: '<c:url value="/framework/biz/mng/usr/UserRegMng_list.ajax"/>'
|
|
|
|
|
|
|
|
, method: 'get'
|
|
|
|
|
|
|
|
, serializer: (params) => {
|
|
|
|
|
|
|
|
return fnAddPageInfo(document.frmSearch, params);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GRID = TuiGrid.of(gridOptions, gridDatasource, (res) => {
|
|
|
|
|
|
|
|
console.log('Grid~~~~~~~~~');
|
|
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<%--
|
|
|
|
/*등록 버튼 Event 설정
|
|
|
|
/*등록 버튼 Event 설정
|
|
|
|
등록 팝업을 OPEN 한다.*/
|
|
|
|
등록 팝업을 OPEN 한다.*/
|
|
|
|
$('#btnRegist').on({
|
|
|
|
$('#btnRegist').on({
|
|
|
@ -123,18 +191,15 @@ var XitUserRegMng_list = {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
XitUserRegMng_list.fn_setInputLimit();
|
|
|
|
--%>
|
|
|
|
},
|
|
|
|
|
|
|
|
/* ========================
|
|
|
|
|
|
|
|
* 입력값 언어 선택
|
|
|
|
|
|
|
|
======================== */
|
|
|
|
|
|
|
|
fn_setInputLimit : function(){
|
|
|
|
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
/* ========================
|
|
|
|
/* ========================
|
|
|
|
* 데이터 조회
|
|
|
|
* 데이터 조회
|
|
|
|
======================== */
|
|
|
|
======================== */
|
|
|
|
findData : function(){
|
|
|
|
findData : function(){
|
|
|
|
instance.reloadData();
|
|
|
|
console.log($('#frmSearch').serialize())
|
|
|
|
|
|
|
|
GRID.reloadData();
|
|
|
|
},
|
|
|
|
},
|
|
|
|
/* ========================
|
|
|
|
/* ========================
|
|
|
|
* 데이터 등록
|
|
|
|
* 데이터 등록
|
|
|
@ -249,142 +314,7 @@ var XitUserRegMng_list = {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$(document).ready(function(){
|
|
|
|
|
|
|
|
XitUserRegMng_list.init();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* ******************************
|
|
|
|
|
|
|
|
* Grid 환경 설정
|
|
|
|
|
|
|
|
****************************** */
|
|
|
|
|
|
|
|
var GridConfig = new XitTuiGridConfig();
|
|
|
|
|
|
|
|
GridConfig.setOptGridId('grid'); //Grid를 출력할 Element ID(해당 Element에 Grid가 출력 됨)
|
|
|
|
|
|
|
|
GridConfig.setOptGridHeight(270); //Grid 높이(단위: px)
|
|
|
|
|
|
|
|
GridConfig.setOptRowHeight(20); //Grid row 높이(단위: px)
|
|
|
|
|
|
|
|
GridConfig.setOptRowHeaderType('checkbox'); //Row 첫번째 Cell 타입(rowNum: 순번, checkbox: 체크박스, '': 아무것도 출력 안함)
|
|
|
|
|
|
|
|
GridConfig.setOptPageOptions({ //페이징(Pagination) 옵션
|
|
|
|
|
|
|
|
useClient: true //Client Paging 여부(true 설정 시 클라이언트 자체 페이징 처리. 서버호출 X)
|
|
|
|
|
|
|
|
,perPage: 10 //페이지당 표시 건수
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
GridConfig.setOptColumnOptions({ //컬럼고정 옵션
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
GridConfig.setOptDataSource({ //DataSource
|
|
|
|
|
|
|
|
/* -----------------------
|
|
|
|
|
|
|
|
* DataSource Config Setting
|
|
|
|
|
|
|
|
* -설정항목은 Global 적용 되며
|
|
|
|
|
|
|
|
* -API별 적용을 원할 경우 각 API 안에 작성 가능(우선순위: 개별->글로벌)
|
|
|
|
|
|
|
|
----------------------- */
|
|
|
|
|
|
|
|
//contentType: 'application/json',
|
|
|
|
|
|
|
|
//headers: { 'x-custom-header': 'custom-header' },
|
|
|
|
|
|
|
|
initialRequest: true, //디폴트 값은 true(false: 인스턴스 생성 시 요청은 보내지 않음. 이런 경우 "instance.reloadData()"를 사용하여 요청 가능)
|
|
|
|
|
|
|
|
//serializer: function(params) {
|
|
|
|
|
|
|
|
//return $(document.frmSearch).serialize();
|
|
|
|
|
|
|
|
// },
|
|
|
|
|
|
|
|
/* -----------------------
|
|
|
|
|
|
|
|
* DataSource API Setting
|
|
|
|
|
|
|
|
----------------------- */
|
|
|
|
|
|
|
|
api: {
|
|
|
|
|
|
|
|
readData : {
|
|
|
|
|
|
|
|
url: '<c:url value="/framework/biz/mng/usr/UserRegMng_list.ajax"/>', method: 'GET'
|
|
|
|
|
|
|
|
,initParams: {}
|
|
|
|
|
|
|
|
,serializer: function(params) {
|
|
|
|
|
|
|
|
var form = document.frmSearch;
|
|
|
|
|
|
|
|
var serializeParam = $(form).serialize();
|
|
|
|
|
|
|
|
for(var key in params){
|
|
|
|
|
|
|
|
if(key=='perPage'){
|
|
|
|
|
|
|
|
if(params[key]==undefined)
|
|
|
|
|
|
|
|
serializeParam +='&'+key+'=-1';
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
serializeParam +='&'+key+'='+params[key];
|
|
|
|
|
|
|
|
}else
|
|
|
|
|
|
|
|
serializeParam +='&'+key+'='+params[key];
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return serializeParam;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
,createData: { url: '', method: 'POST'}
|
|
|
|
|
|
|
|
,updateData: { url: '', method: 'PUT'}
|
|
|
|
|
|
|
|
,modifyData: { url: '', method: 'PUT'}
|
|
|
|
|
|
|
|
,deleteData: { url: '', method: 'DELETE'}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
});
|
|
|
|
GridConfig.setOptHeader({
|
|
|
|
|
|
|
|
}); //Grid 헤더 정보(헤더 셀 병합 필요 시 설정)
|
|
|
|
|
|
|
|
GridConfig.setOptColumns([ //Grid 컬럼 정보(명칭,매핑 field, 기타옵션 등)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
header: '번호',
|
|
|
|
|
|
|
|
name: 'rowNum',
|
|
|
|
|
|
|
|
width: 50,
|
|
|
|
|
|
|
|
sortable: false,
|
|
|
|
|
|
|
|
align: 'center',
|
|
|
|
|
|
|
|
renderer: {
|
|
|
|
|
|
|
|
type : RowNumberRenderer
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
header: '아이디',
|
|
|
|
|
|
|
|
name: 'userId',
|
|
|
|
|
|
|
|
width: 160,
|
|
|
|
|
|
|
|
sortable: true,
|
|
|
|
|
|
|
|
sortingType: 'desc',
|
|
|
|
|
|
|
|
align: 'center',
|
|
|
|
|
|
|
|
renderer: {
|
|
|
|
|
|
|
|
type: CustomButtonRenderer,
|
|
|
|
|
|
|
|
options: {
|
|
|
|
|
|
|
|
formatter : function(props){
|
|
|
|
|
|
|
|
var rowData = props.grid.getRow(props.rowKey);
|
|
|
|
|
|
|
|
var obj = {
|
|
|
|
|
|
|
|
formatter : rowData.userId
|
|
|
|
|
|
|
|
,element : "text"
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return obj;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
,eventFunction: XitUserRegMng_list.fnClickRegBtn
|
|
|
|
|
|
|
|
,eventType : "click"
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
header: '사용자 이름',
|
|
|
|
|
|
|
|
name: 'userNm',
|
|
|
|
|
|
|
|
width: 120,
|
|
|
|
|
|
|
|
sortable: false,
|
|
|
|
|
|
|
|
align: 'center'
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
header: '사용자 이메일',
|
|
|
|
|
|
|
|
name: 'emailAdres',
|
|
|
|
|
|
|
|
minWidth: 160,
|
|
|
|
|
|
|
|
sortable: false,
|
|
|
|
|
|
|
|
align: 'center'
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
header: '전화번호',
|
|
|
|
|
|
|
|
name: 'moblphonNo',
|
|
|
|
|
|
|
|
width: 120,
|
|
|
|
|
|
|
|
sortable: false,
|
|
|
|
|
|
|
|
align: 'center'
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
header: '등록일',
|
|
|
|
|
|
|
|
name: 'sbscrbDe',
|
|
|
|
|
|
|
|
width: 150,
|
|
|
|
|
|
|
|
sortable: false,
|
|
|
|
|
|
|
|
align: 'center'
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
header: '가입상태',
|
|
|
|
|
|
|
|
name: 'userSttusCode',
|
|
|
|
|
|
|
|
width: 110,
|
|
|
|
|
|
|
|
sortable: false,
|
|
|
|
|
|
|
|
align: 'center'
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
var Grid = tui.Grid;
|
|
|
|
|
|
|
|
var instance = GridConfig.instance(Grid); //Grid 인스턴스
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* ********************************************************
|
|
|
|
|
|
|
|
* 처리결과메시지 출력
|
|
|
|
|
|
|
|
******************************************************** */
|
|
|
|
|
|
|
|
<c:if test="${!empty message}">alert("${message}");</c:if>
|
|
|
|
|
|
|
|
</script>
|
|
|
|
</script>
|
|
|
|