초기소스
This commit is contained in:
1112
src/main/webapp/WEB-INF/views/mngr/goods/goodsmngr/BndeUpdtU.jsp
Normal file
1112
src/main/webapp/WEB-INF/views/mngr/goods/goodsmngr/BndeUpdtU.jsp
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,176 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
|
||||
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld" %>
|
||||
|
||||
<%--
|
||||
Class Name : GoodsListR.jsp
|
||||
Description : 카테고리별 상품 목록 조회 리스트
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-03-20 리브가 최초 생성
|
||||
--%>
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
if ($(".table.draggable").length > 0) {
|
||||
$(".table.draggable").tableDnD({
|
||||
onDragClass: "dragging",
|
||||
});
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<spring:eval expression="@environment.getProperty('mngrfo.common.fileupload.cdnurl')" var="cdnurl"/>
|
||||
<section class="content-section">
|
||||
<div class="form-control-container">
|
||||
<div class="left">
|
||||
<div class="search-number">
|
||||
<span class="search-number__text">총 <strong><c:out value="${ resultMap.paginationInfo.totalRecordCount }"/></strong>건</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="center">
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="select-box">
|
||||
<select title="정렬순" name="sortDv" id="sortDv" onchange="fn_select_list(1);return false;">
|
||||
<option value="goodsOrdrAsc" <c:if test="${resultMap.BOGoodsVO.sortDv eq 'goodsOrdrAsc' || resultMap.BOGoodsVO.sortDv eq null}">selected="selected"</c:if>>상품순서 오름차순</option>
|
||||
<option value="goodsOrdrDesc" <c:if test="${resultMap.BOGoodsVO.sortDv eq 'goodsOrdrDesc'}">selected="selected"</c:if>>상품순서 내림차순</option>
|
||||
<option value="goodsNmAsc" <c:if test="${resultMap.BOGoodsVO.sortDv eq 'goodsNmAsc'}">selected="selected"</c:if>>상품명 오름차순</option>
|
||||
<option value="goodsNmDesc" <c:if test="${resultMap.BOGoodsVO.sortDv eq 'goodsNmDesc'}">selected="selected"</c:if>>상품명 내림차순</option>
|
||||
<option value="cnsmrpricAsc" <c:if test="${resultMap.BOGoodsVO.sortDv eq 'cnsmrpricAsc'}">selected="selected"</c:if>>정가 오름차순</option>
|
||||
<option value="cnsmrpricDesc" <c:if test="${resultMap.BOGoodsVO.sortDv eq 'cnsmrpricDesc'}">selected="selected"</c:if>>정가 내림차순</option>
|
||||
<option value="invntryQyAsc" <c:if test="${resultMap.BOGoodsVO.sortDv eq 'invntryQyAsc'}">selected="selected"</c:if>>재고 오름차순</option>
|
||||
<option value="invntryQyDesc" <c:if test="${resultMap.BOGoodsVO.sortDv eq 'invntryQyDesc'}">selected="selected"</c:if>>재고 내림차순</option>
|
||||
<option value="registDtAsc" <c:if test="${resultMap.BOGoodsVO.sortDv eq 'registDtAsc'}">selected="selected"</c:if>>등록일순 오름차순</option>
|
||||
<option value="registDtDesc" <c:if test="${resultMap.BOGoodsVO.sortDv eq 'registDtDesc'}">selected="selected"</c:if>>등록일순 내림차순</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select-box">
|
||||
<select id="pageUnit" name="pageUnit" title="페이지당 출력될 목록건수" onchange="fn_select_list(1);">
|
||||
<c:forEach items="${ resultMap.paginationInfo.pageUnitArr }" var="pageUnit" varStatus="pageUnitStatus">
|
||||
<option value="<c:out value="${ pageUnit }"/>"
|
||||
<c:if test="${ resultMap.paginationInfo.recordCountPerPage eq pageUnit}">selected="selected"</c:if>>
|
||||
<c:out value="${ pageUnit }"/>개씩
|
||||
</option>
|
||||
</c:forEach>
|
||||
<option value="
|
||||
<c:choose>
|
||||
<c:when test="${ empty resultMap.paginationInfo.totalRecordCount || resultMap.paginationInfo.totalRecordCount <= 0 }">
|
||||
<c:out value="10"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<c:out value="${ resultMap.paginationInfo.totalRecordCount }"/>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
">
|
||||
전체상품
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="horizontal-line">
|
||||
<div class="form-control-container">
|
||||
<%-- <div class="left">--%>
|
||||
<%-- <button class="btn outline sm" onclick="fn_delete_check();">선택 삭제</button>--%>
|
||||
<%-- </div>--%>
|
||||
<div class="center">
|
||||
</div>
|
||||
</div>
|
||||
<hr class="spacing">
|
||||
<div class="table-wrapper">
|
||||
<table class="table vertical draggable">
|
||||
<caption>상품정보 목록</caption>
|
||||
<colgroup>
|
||||
<col style="width: 4%;">
|
||||
<col style="width: 4%;">
|
||||
<col style="width: 7%;">
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 7%;">
|
||||
<col style="width: 7%;">
|
||||
<col style="width: 7%;">
|
||||
<col style="width: 7%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 14%;">
|
||||
<col style="width: 4%;">
|
||||
<col style="width: 4%;">
|
||||
<%-- <col style="width: 4%;">--%>
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>순서</th>
|
||||
<th>번호</th>
|
||||
<th colspan="2">상품명</th>
|
||||
<th>정가</th>
|
||||
<th>판매가</th>
|
||||
<th>재고</th>
|
||||
<th>재고판매
|
||||
<%-- <button class="mini-info-btn mb-3" data-info="info01">?</button>--%>
|
||||
</th>
|
||||
<th>배송그룹</th>
|
||||
<th>등록일/수정일</th>
|
||||
<th>판매상태</th>
|
||||
<th>노출여부</th>
|
||||
<%-- <th>상품순서</th>--%>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.list }">
|
||||
<c:forEach items="${ resultMap.list }" var="list" varStatus="status">
|
||||
<tr>
|
||||
<td>
|
||||
<div class="draggable-icon-container">
|
||||
<i class="icon icon_draggable"></i>
|
||||
<input type="hidden" name="goodsInnbOrdr" value="${list.goodsInnb}" />
|
||||
<span class="visually-hidden">순서 바꾸기</span>
|
||||
</div>
|
||||
</td>
|
||||
<td><c:out value="${ list.rnum }" /></td>
|
||||
<td>
|
||||
<%-- <a href="javascript:void(0);" onclick="fn_move_goods_dtl_common(<c:out value="${list.goodsInnb}"/>, 'sopmal')">--%>
|
||||
<img src="<c:out value="${cdnurl}${list.goodsImgCours}"/>"
|
||||
onerror="this.src='<c:url value="/mngr/images/image_placeholder.png"/>'"
|
||||
alt="${list.goodsNm}" width="56" height="56">
|
||||
<%-- </a>--%>
|
||||
</td>
|
||||
<td><a onclick="fn_move_goods_dtl_common(<c:out value="${list.goodsInnb}"/>, 'mngr', '01', '_self')" class="under-line">${list.goodsNm}</a>
|
||||
</td>
|
||||
<td>${list.cnsmrpric}</td>
|
||||
<td>${list.slepric}</td>
|
||||
<td><a onclick="fn_open_modal('#modalDiv','#invntry-check','/mngr/goods/goodsmngr/selectGoodsInvntryPopup',{'goodsInnb':${list.goodsInnb}, 'sopmalCd':'${list.sopmalCd}'}); return false;" class="under-line">재고확인</a></td>
|
||||
<td>${list.invntryPolicyCdDc}</td>
|
||||
<td>${list.dlvyGroupNm}</td>
|
||||
<td>
|
||||
<span>${list.registDt}</span><br><span>${list.updtDt}</span>
|
||||
</td>
|
||||
<td>${list.goodsSttusNm}</td>
|
||||
<td>${list.expsrNm}</td>
|
||||
<%-- <td>${list.goodsOrdr}--%>
|
||||
<%-- <div class="manage-btn-container">--%>
|
||||
<%-- <button class="btn xsm light-gray" type="button" onclick="fn_move_goods_copy(<c:out--%>
|
||||
<%-- value="${list.goodsInnb}"/>)"><spring:message code="button.copy"/> </button>--%>
|
||||
<%-- <button class="btn xsm outline" type="button" onclick="fn_move_goods_dtl_common(<c:out value="${list.goodsInnb}"/>,'mngr','01','_self')"><spring:message code="button.update"/></button>--%>
|
||||
<%-- </div>--%>
|
||||
<%-- </td>--%>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<tr>
|
||||
<td colspan="100%"><spring:message code="common.nodata"/></td>
|
||||
</tr>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<div class="pagination__container">
|
||||
<ui:pagination paginationInfo="${resultMap.paginationInfo}" type="image" jsFunction="fn_select_list"/>
|
||||
</div>
|
||||
@@ -0,0 +1,756 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
|
||||
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld" %>
|
||||
|
||||
<%--
|
||||
Class Name : GoodsListRForm.jsp
|
||||
Description : 카테고리별 상품 목록 조회 폼
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-03-20 리브가 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>GC ONE 관리자</title>
|
||||
<%@ include file="/WEB-INF/views/comm/mngr/Include.jsp"%>
|
||||
|
||||
</head>
|
||||
<script>
|
||||
let goodsDftinfoArr = [];
|
||||
|
||||
$(document).ready(function () {
|
||||
|
||||
|
||||
let pageIndex = '<c:out value="${ resultMap.BOGoodsVO.pageIndex }"/>';
|
||||
let pageUnit = '<c:out value="${ resultMap.BOGoodsVO.pageUnit }"/>';
|
||||
// 목록 조회
|
||||
fn_select_list(pageIndex, pageUnit);
|
||||
|
||||
// 엔터키 검색
|
||||
$('#listForm').on('keydown', function (event) {
|
||||
if (event.keyCode === 13) {
|
||||
event.preventDefault();
|
||||
fn_select_list(1);
|
||||
}
|
||||
});
|
||||
|
||||
// event 제어
|
||||
fn_event();
|
||||
|
||||
});
|
||||
|
||||
|
||||
//판매상태 체크 검색
|
||||
$(document).on('click','input[name="goodsDftinfoArr"]' , function() {
|
||||
|
||||
|
||||
// 체크된 체크박스의 값을 배열에 추가
|
||||
if(!goodsDftinfoArr.some(item => item === $(this).val())){
|
||||
goodsDftinfoArr.push($(this).val());
|
||||
}else{
|
||||
//체크된 값이 있으면 제거
|
||||
for(let i = 0; i < goodsDftinfoArr.length; i++) {
|
||||
if (goodsDftinfoArr[i] === $(this).val()) {
|
||||
goodsDftinfoArr.splice(i, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 조건 확인 및 배열 초기화
|
||||
if (goodsDftinfoArr.includes("") ||
|
||||
(goodsDftinfoArr.includes("01") && goodsDftinfoArr.includes("02") && goodsDftinfoArr.includes("03"))) {
|
||||
goodsDftinfoArr = []; // 배열 초기화
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
/* ********************************************************
|
||||
* 목록 조회
|
||||
******************************************************** */
|
||||
const fn_select_list = function (pageIndex, pageUnit) {
|
||||
let dataStr;
|
||||
|
||||
|
||||
//판매상태 검색 내역 있을 경우 삭제
|
||||
if($('input[name="goodsDftinfoSttus"]') != null){
|
||||
$('input[name="goodsDftinfoSttus"]').remove()
|
||||
}
|
||||
|
||||
$('input[name="goodsDftinfoArr"]:checked').each(function(idx, item) {
|
||||
|
||||
console.log('idx',idx,'item', item.value)
|
||||
|
||||
if(!fn_is_empty(item.value)){
|
||||
$('#listForm').append(
|
||||
$('<input>', {
|
||||
'type': 'hidden',
|
||||
'name': 'goodsDftinfoSttus',
|
||||
'value': item.value
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
})
|
||||
|
||||
|
||||
if (!pageIndex) {
|
||||
$('#pageIndex').val(1);
|
||||
} else {
|
||||
$('#pageIndex').val(pageIndex);
|
||||
}
|
||||
|
||||
if (!pageUnit) {
|
||||
dataStr = $('#listForm').serialize();
|
||||
} else {
|
||||
if ($('#pageUnit').length) {
|
||||
$('#pageUnit').val(pageUnit);
|
||||
dataStr = $('#listForm').serialize();
|
||||
} else {
|
||||
dataStr = $('#listForm').serialize() + '&pageUnit=' + pageUnit;
|
||||
}
|
||||
}
|
||||
|
||||
console.log(dataStr)
|
||||
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: "<c:url value="/mngr/goods/goodsmngr/selectCtgryGoodsList"/>",
|
||||
data: dataStr,
|
||||
success: function (resultHtml) {
|
||||
$('#pageDiv').html(resultHtml);
|
||||
$('#pageUnit').niceSelect();
|
||||
$('#sortDv').niceSelect();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/* ********************************************************
|
||||
* 카테고리 수정
|
||||
******************************************************** */
|
||||
//카테고리 상품 순서수정
|
||||
$(document).on('click', '#uptGoodsOrdr', function () {
|
||||
let goodsOrdrList = [];
|
||||
|
||||
const ctgryId = $('#ctgryId').val();
|
||||
|
||||
if(fn_is_empty(ctgryId)){
|
||||
alert('카테고리 검색을 해주세요')
|
||||
return false;
|
||||
}
|
||||
|
||||
if($('#listForm .draggable-icon-container').length <= 0){
|
||||
alert('조회된 상품이 없습니다')
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$('#listForm .draggable-icon-container input[name="goodsInnbOrdr"]').each(function(index, item) {
|
||||
goodsOrdrList.push(item.value)
|
||||
|
||||
})
|
||||
|
||||
const data = {
|
||||
'goodsOrdrList' : goodsOrdrList,
|
||||
'ctgryId' : ctgryId
|
||||
}
|
||||
|
||||
if (confirm(`카테고리별 상품 순서을(를) <spring:message code="confirm.common.update"/>`)) {
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url : '<c:url value="/mngr/goods/goodsmngr/updateCtgryGoodsList"/>',
|
||||
data : JSON.stringify(data),
|
||||
contentType : 'application/json',
|
||||
dataType : 'json',
|
||||
success:function(data) {
|
||||
const result = JSON.parse(data.resBody.result).result
|
||||
if(result ==='success'){
|
||||
alert('<spring:message code="success.common.update"/>')
|
||||
window.location.reload()
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
|
||||
history.replaceState({}, null, location.pathname);
|
||||
/* ****************************
|
||||
* event 제어
|
||||
******************************/
|
||||
const fn_event = function () {
|
||||
|
||||
/*상세검색 버튼 상태 및 상세조회 대상 안보이게 처리*/
|
||||
$('.search-hide').hide()
|
||||
$('.search-detail').removeClass('opened')
|
||||
|
||||
$(document).ready('click', '.search-detail', function () {
|
||||
let searchHide = $(".search-hide");
|
||||
if (searchHide.is(":visible")) {
|
||||
searchHide.hide();
|
||||
$('.search-detail').removeClass('opened')
|
||||
} else {
|
||||
searchHide.show();
|
||||
$('.search-detail').addClass('opened')
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
/* input 숫자만 입력 */
|
||||
$(document).on('input', '.number-only', function () {
|
||||
$(this).val(($(this).val().replace(/[^0-9]/g, '')).replace(/^0+/, ''));
|
||||
});
|
||||
|
||||
/* 목록 > 전체선택 체인지 이벤트 */
|
||||
$(document).on('change', '#checkAll', function () {
|
||||
let checkbox = $(this).closest('table').find('input[name="goodsInnbChk"]');
|
||||
|
||||
$(checkbox).prop('checked', false);
|
||||
$(checkbox).prop('checked', $(this).is(':checked'));
|
||||
});
|
||||
|
||||
/* 검색조건 > 카테고리 선택 이벤트 */
|
||||
$(document).on('change', '.ctgry', function () {
|
||||
const upperCtgryId = $(this).val(); // 상위카테고리
|
||||
const currCtgryDepth = $(this).attr('id').replace('ctgryDepth', '');
|
||||
const targetDepth = (parseInt(currCtgryDepth) + 1);
|
||||
const targetCtgryId = 'ctgryDepth' + targetDepth;
|
||||
|
||||
if (fn_is_empty(upperCtgryId)) {
|
||||
for (let i = targetDepth; i < 5; i++) {
|
||||
$('#search-section').find('#ctgryDepth' + i).empty().append('<option value="">' + i + '차 카테고리</option>').niceSelect('update');
|
||||
}
|
||||
} else {
|
||||
fn_get_goods_ctgry(upperCtgryId, targetCtgryId);
|
||||
}
|
||||
|
||||
$('#search-section').find('#ctgryId').val(upperCtgryId);
|
||||
});
|
||||
|
||||
|
||||
/* 검색조건 > 노출여부 선택 이벤트 */
|
||||
$(document).on('click', 'input[name="expsrCd"]', function () {
|
||||
const sttus = $(this).val();
|
||||
const popup = $('#search-section');
|
||||
const checkbox = $(popup).find('input[name="expsrCd"]');
|
||||
const all = $(popup).find('input[name="expsrCd"][value=""]')
|
||||
|
||||
if (fn_is_empty(sttus)) {
|
||||
$(checkbox).prop('checked', false);
|
||||
|
||||
$(this).prop('checked', true);
|
||||
} else {
|
||||
$(all).prop('checked', false);
|
||||
|
||||
const length = $(popup).find('input[name="expsrCd"]:checked').length;
|
||||
|
||||
if (2 < length) {
|
||||
$(checkbox).prop('checked', false);
|
||||
|
||||
$(all).prop('checked', true);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
/* ********************************************************
|
||||
* 카테고리 체크버튼 이벤트
|
||||
******************************************************** */
|
||||
const fn_change_event = function (_target, _arg) {
|
||||
if (_arg === 'all') {
|
||||
|
||||
if ($('#' + _target + '-all').is(':checked')) {
|
||||
$('[name=' + _target + 'Arr]').prop('checked', true);
|
||||
} else {
|
||||
$('[name=' + _target + 'Arr]').prop('checked', false);
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
let chkCnt = $('[name=' + _target + 'Arr]:checked').length;
|
||||
let allCnt = $('[name=' + _target + 'Arr]').length;
|
||||
|
||||
if (chkCnt !== allCnt && $('#' + _target + '-all').is(':checked')) {
|
||||
$('#' + _target + '-all').prop('checked', false);
|
||||
} else if (chkCnt !== allCnt && !$('#' + _target + '-all').is(':checked') && allCnt - chkCnt === 1) {
|
||||
$('#' + _target + '-all').prop('checked', true);
|
||||
} else if (chkCnt === allCnt) {
|
||||
$('#' + _target + '-all').prop('checked', true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* ****************************
|
||||
* 카테고리 목록 조회 AJAX
|
||||
******************************/
|
||||
const fn_get_goods_ctgry = function (upperCtgryId, targetCtgryId) {
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url: '<c:url value="/admin/sys/ctgry/selectGoodsCategoryList"/>',
|
||||
data: {
|
||||
'upperCtgryId': upperCtgryId
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.resBody != null) {
|
||||
const result = JSON.parse(data.resBody.result);
|
||||
const goodsCategoryList = result.goodsCategoryList;
|
||||
|
||||
if (goodsCategoryList.length > 0) {
|
||||
|
||||
$('#' + targetCtgryId + ' option').filter(function() {
|
||||
return $(this).val() !== '';
|
||||
}).remove();
|
||||
|
||||
for (let i = 0; i < goodsCategoryList.length; i++) {
|
||||
const goodsCategory = goodsCategoryList[i];
|
||||
$('#search-section').find('#' + targetCtgryId).append('<option value="' + goodsCategory.ctgryId + '">' + goodsCategory.ctgryNm + '</option>');
|
||||
}
|
||||
$('#search-section').find('#' + targetCtgryId).niceSelect('update');
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function (data) {
|
||||
fn_proc_error_message(data);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/* ****************************
|
||||
* 상품 목록 조회 AJAX
|
||||
******************************/
|
||||
const fn_get_goods_list = function (pageIndex) {
|
||||
const popup = $('#product-select-pop');
|
||||
|
||||
$(popup).find('#pageIndex').val(pageIndex);
|
||||
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url: '<c:url value="/crm/ordr/selectGoodsList"/>',
|
||||
data: $(popup).find('#goodsCondForm').serialize(),
|
||||
success: function (html) {
|
||||
$('#product-select-pop').find('#pageDiv').html(html);
|
||||
|
||||
const goodsList = JSON.parse(localStorage.getItem('goodsList'));
|
||||
|
||||
if (!fn_is_empty(goodsList)) {
|
||||
fn_set_choice_order_goods(goodsList);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/*********************************************************
|
||||
* 상품 선택 삭제 AJAX
|
||||
*********************************************************/
|
||||
const fn_delete_check = function () {
|
||||
|
||||
let url = '<c:url value="/mngr/goods/goodsmngr/deleteGoods"/>';
|
||||
let delInnbArr = [];
|
||||
// 선택 삭제일 경우
|
||||
|
||||
$("input[name='goodsInnbChk']:checked").each(function () {
|
||||
let values = $(this).val().split(','); // 쉼표로 분리하여 배열로 저장
|
||||
let delGoods = {
|
||||
goodsInnb: values[0],
|
||||
sopmalCd: values[1]
|
||||
};
|
||||
delInnbArr.push(delGoods);
|
||||
});
|
||||
if (delInnbArr.length === 0) {
|
||||
alert("선택된 상품이 없습니다.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (confirm('상품을 <spring:message code="confirm.common.delete"/>')) {
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url: url,
|
||||
data: {
|
||||
"delInnbArr": delInnbArr
|
||||
},
|
||||
dataType: "json",
|
||||
success: function (result) {
|
||||
alert('<spring:message code="success.common.delete"/>');
|
||||
fn_select_list();
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* 관리자 주문 > 상품조회 > 검색조건 > 날짜 선택 이벤트 */
|
||||
$(document).on('click', '.dateRange-btn', function () {
|
||||
const date = $(this).attr('id');
|
||||
|
||||
$('.dateRange-btn').removeClass('selected');
|
||||
$('#' + date).addClass('selected');
|
||||
|
||||
const datepicker = $(this).closest('.td-inner').find('.datepicker');
|
||||
const start = $(datepicker[0]).attr('id');
|
||||
const end = $(datepicker[1]).attr('id');
|
||||
|
||||
if ('allDays' === date) {
|
||||
$('#' + start + ', #' + end).val('');
|
||||
|
||||
$('#datePeriod').val(date);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
fn_set_date(start, end, end, date);
|
||||
|
||||
$('#datePeriod').val(date);
|
||||
});
|
||||
|
||||
/*********************************************************
|
||||
* 상품 복사 조회
|
||||
*********************************************************/
|
||||
const fn_move_goods_copy = (goodsInnb) => {
|
||||
window.open("/mngr/goods/goodsmngr/selectGoodsCopyForm?goodsInnb=" + goodsInnb, '_self');
|
||||
}
|
||||
|
||||
//카테고리 선택시 카테고리 아이디 저장(검색용)
|
||||
$(document).on('change', 'select[id^=ctgryDepth]', function () {
|
||||
const ctgryOptn = $(this).val()
|
||||
|
||||
if(!fn_is_empty(ctgryOptn)){
|
||||
$('#ctgryId').val(ctgryOptn)
|
||||
}else{
|
||||
//value가 ''인 카테고리 선택할경우
|
||||
let currentCtgryDepth = parseInt($(this).attr('id').replace('ctgryDepth', ''));
|
||||
|
||||
//1차 카테고리가 아닐 경우 이전 카테고리 번호 가져오기
|
||||
if(currentCtgryDepth !== 1){
|
||||
$('#ctgryId').val($('#ctgryDepth' + (currentCtgryDepth - 1)).val())
|
||||
}else{
|
||||
//1차 카테고리 일경우 카테고리 번호 비우기
|
||||
$('#ctgryId').val('')
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
//초기화버튼
|
||||
$(document).on('click', '#resetBtn', function () {
|
||||
|
||||
$('.ctgry').val('').niceSelect('update')
|
||||
$('#srchType').val('GOODS_NM').niceSelect('update')
|
||||
$('input[name="reprsntCtgryAtY"]').prop('checked', false)
|
||||
$('input[name="ctgryNoRegAtY"]').prop('checked', false)
|
||||
$('#brandCd').val('').niceSelect('update')
|
||||
$('select[name="dateDv"]').val('regist').niceSelect('update')
|
||||
$('#allDays').click()
|
||||
if(!$('#goodsDftinfo-all').prop('checked')){
|
||||
$('#goodsDftinfo-all').click()
|
||||
}
|
||||
$('#expsrDvCd').click()
|
||||
$('select[name="pricDv"]').val('cnsmrpric').niceSelect('update')
|
||||
$('#goodsDftinfoInvntryPolicy0').click()
|
||||
$('select[name="dlvyGroupInnb"]').val('').niceSelect('update')
|
||||
|
||||
$('input[name="ctgryId"]').val('')
|
||||
$('input[name="startPric"]').val('')
|
||||
$('input[name="endPric"]').val('')
|
||||
$('#srchStr').val('')
|
||||
|
||||
fn_select_list(1);
|
||||
})
|
||||
</script>
|
||||
<body>
|
||||
<%@ include file="/WEB-INF/views/comm/mngr/Header.jsp"%>
|
||||
<main class="main">
|
||||
<%@ include file="/WEB-INF/views/comm/mngr/Left.jsp"%>
|
||||
<div class="content">
|
||||
<div class="content__inner">
|
||||
<button class="side-nav__fold"><span class="visually-hidden">좌측메뉴 펼치기/닫기</span></button>
|
||||
<div class="page-title">
|
||||
<h2 class="page-title__title">카테고리별 상품 순서 목록</h2>
|
||||
<div class="page-title__btn-container">
|
||||
<button id="uptGoodsOrdr" class="btn primary">카테고리별 상품 순서 <spring:message code="button.update"/></button>
|
||||
</div>
|
||||
</div>
|
||||
<form id='listForm' name="listForm">
|
||||
<input type="hidden" id="pageIndex" name="pageIndex" value="${ resultMap.BOGoodsVO.pageIndex }"/>
|
||||
<input type="hidden" id="goodsKndCd" name="goodsKndCd" value="01"/>
|
||||
<input type="hidden" id="ctgryId" name="ctgryId" />
|
||||
<section class="content-section" id="search-section">
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col>
|
||||
<col style="width: 12%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<%-- <tr>--%>
|
||||
<%-- <th>검색어</th>--%>
|
||||
<%-- <td colspan="3">--%>
|
||||
<%-- <div class="td-inner">--%>
|
||||
<%-- <div class="select-box">--%>
|
||||
<%-- <select title="검색타입" id="srchType" name="srchType">--%>
|
||||
<%-- <option value="GOODS_NM" <c:if test="${ resultMap.BOGoodsVO.srchType == 'GOODS_NM'}">selected="selected"</c:if>>상품명</option>--%>
|
||||
<%-- <option value="GOODS_INNB" <c:if test="${ resultMap.BOGoodsVO.srchType == 'GOODS_INNB'}">selected="selected"</c:if>>상품번호</option>--%>
|
||||
<%-- </select>--%>
|
||||
<%-- </div>--%>
|
||||
<%-- <input class="input-text xl" type="text" title="검색어" id="srchStr" name="srchStr" value="<c:out value="${ resultMap.BOGoodsVO.srchStr }" />">--%>
|
||||
<%-- </div>--%>
|
||||
<%-- </td>--%>
|
||||
<%-- </tr>--%>
|
||||
<tr>
|
||||
<th>카테고리</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<div class="input-container gap-4">
|
||||
<div class="select-box">
|
||||
<select id="ctgryDepth1" class="ctgry" title="1차 카테고리">
|
||||
<option value="">1차 카테고리</option>
|
||||
<c:forEach items="${resultMap.goodsCategoryList}" var="goodsCategory"
|
||||
varStatus="status">
|
||||
<option value="${goodsCategory.ctgryId}">${goodsCategory.ctgryNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select-box">
|
||||
<select id="ctgryDepth2" class="ctgry" title="2차 카테고리">
|
||||
<option value="">2차 카테고리</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select-box">
|
||||
<select id="ctgryDepth3" class="ctgry" title="3차 카테고리">
|
||||
<option value="">3차 카테고리</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select-box">
|
||||
<select id="ctgryDepth4" class="ctgry" title="4차 카테고리">
|
||||
<option value="">4차 카테고리</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<%-- <div class="b-checkbox-container">--%>
|
||||
<%-- <label class="b-checkbox checkbox">--%>
|
||||
<%-- <input type="checkbox" value="Y" name="reprsntCtgryAtY">--%>
|
||||
<%-- <span class="check"></span>--%>
|
||||
<%-- <span class="control-label">대표 카테고리 기준</span>--%>
|
||||
<%-- </label>--%>
|
||||
<%-- <label class="b-checkbox checkbox">--%>
|
||||
<%-- <input type="checkbox" value="Y" name="ctgryNoRegAtY">--%>
|
||||
<%-- <span class="check"></span>--%>
|
||||
<%-- <span class="control-label">카테고리 미등록</span>--%>
|
||||
<%-- </label>--%>
|
||||
<%-- </div>--%>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<%-- <tr class="search-hide">--%>
|
||||
<%-- <th>브랜드</th>--%>
|
||||
<%-- <td colspan="3">--%>
|
||||
<%-- <div class="td-inner">--%>
|
||||
<%-- <div class="select-box">--%>
|
||||
<%-- <select title="브랜드" id="brandCd" name="brandCd">--%>
|
||||
<%-- <option value="">전체</option>--%>
|
||||
<%-- <c:forEach var="brandList" items="${ resultMap.brandList }" varStatus="">--%>
|
||||
<%-- <option value="${ brandList.cd }">${ brandList.cdNm }</option>--%>
|
||||
<%-- </c:forEach>--%>
|
||||
<%-- </select>--%>
|
||||
<%-- </div>--%>
|
||||
<%-- </div>--%>
|
||||
<%-- </td>--%>
|
||||
<%-- </tr>--%>
|
||||
<%-- <tr class="search-hide">--%>
|
||||
<%-- <th>날짜</th>--%>
|
||||
<%-- <td colspan="3">--%>
|
||||
<%-- <div class="td-inner">--%>
|
||||
<%-- <div class="select-box">--%>
|
||||
<%-- <select name="dateDv" title="날짜 구분">--%>
|
||||
<%-- <option value="regist">등록일</option>--%>
|
||||
<%-- <option value="updt">수정일</option>--%>
|
||||
<%-- </select>--%>
|
||||
<%-- </div>--%>
|
||||
<%-- <div class="input-container">--%>
|
||||
<%-- <input type="text" name="startDate" id="startDate" class="datepicker"--%>
|
||||
<%-- title="시작 날짜 선택" autocomplete="off">--%>
|
||||
<%-- <span class="tilde">~</span>--%>
|
||||
<%-- <input type="text" name="endDate" id="endDate" class="datepicker"--%>
|
||||
<%-- title="종료 날짜 선택" autocomplete="off" pattern="yyyy-MM-dd">--%>
|
||||
<%-- <input type="hidden" id="datePeriod" name="datePeriod" value=""/>--%>
|
||||
<%-- </div>--%>
|
||||
<%-- <div class="dateRange-btnContainer">--%>
|
||||
<%-- <button type="button" class="dateRange-btn" id="1D">어제</button>--%>
|
||||
<%-- <button type="button" class="dateRange-btn" id="0">오늘</button>--%>
|
||||
<%-- <button type="button" class="dateRange-btn" id="3D">3일간</button>--%>
|
||||
<%-- <button type="button" class="dateRange-btn" id="7D">일주일</button>--%>
|
||||
<%-- <button type="button" class="dateRange-btn" id="1M">1개월</button>--%>
|
||||
<%-- <button type="button" class="dateRange-btn" id="3M">3개월</button>--%>
|
||||
<%-- <button type="button" class="dateRange-btn" id="6M">6개월</button>--%>
|
||||
<%-- <button type="button" class="dateRange-btn" id="1Y">1년</button>--%>
|
||||
<%-- <button type="button" class="dateRange-btn selected" id="allDays">전체--%>
|
||||
<%-- </button>--%>
|
||||
<%-- </div>--%>
|
||||
<%-- </div>--%>
|
||||
<%-- </td>--%>
|
||||
<%-- </tr>--%>
|
||||
<tr>
|
||||
<th>판매상태</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox check-all">
|
||||
<input id="goodsDftinfo-all" type="checkbox" name="goodsDftinfoArr" value="" checked
|
||||
onclick="fn_change_event('goodsDftinfo', 'all');">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">전체</span>
|
||||
</label>
|
||||
<c:forEach items="${resultMap.goodsDftinfoSttusList}" var="goodsDftinfoSttus"
|
||||
varStatus="status">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" name="goodsDftinfoArr"
|
||||
value="${goodsDftinfoSttus.cd}"
|
||||
onclick="fn_change_event('goodsDftinfo', 'other');" checked>
|
||||
<span class="check"></span>
|
||||
<span class="control-label">${goodsDftinfoSttus.cdNm}</span>
|
||||
</label>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<th>노출여부</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="custom-radio-container">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="expsrDvCd"
|
||||
name="expsrDvCd" value="" >
|
||||
<label for="expsrDvCd">전체</label>
|
||||
</div>
|
||||
<c:forEach items="${resultMap.expsrCdList}"
|
||||
var="expsrCdList" varStatus="status">
|
||||
<div class="custom-radio">
|
||||
<input type="radio"
|
||||
id="expsrCdList${status.count}"
|
||||
name="expsrDvCd"
|
||||
value="${expsrCdList.cd}" <c:if test="${status.first}">checked</c:if> >
|
||||
<label for="expsrCdList${status.count}">${expsrCdList.cdNm}</label>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<%-- <tr class="search-hide">--%>
|
||||
<%-- <th>가격</th>--%>
|
||||
<%-- <td colspan="3">--%>
|
||||
<%-- <div class="td-inner">--%>
|
||||
<%-- <div class="select-box">--%>
|
||||
<%-- <select name="pricDv" title="가격">--%>
|
||||
<%-- <option value="cnsmrpric">정가</option>--%>
|
||||
<%-- <option value="slepric">판매가</option>--%>
|
||||
<%-- </select>--%>
|
||||
<%-- </div>--%>
|
||||
<%-- <div class="input-container">--%>
|
||||
<%-- <input type="text" class="input-text sm right" name="startPric"--%>
|
||||
<%-- title="startPric">--%>
|
||||
<%-- <span class="input-unit-text">원</span>--%>
|
||||
<%-- <span class="tilde">~</span>--%>
|
||||
<%-- <input type="text" class="input-text sm right" name="endPric"--%>
|
||||
<%-- title="endPric">--%>
|
||||
<%-- <span class="input-unit-text">원</span>--%>
|
||||
<%-- </div>--%>
|
||||
<%-- </div>--%>
|
||||
<%-- </td>--%>
|
||||
<%-- </tr>--%>
|
||||
<%-- <tr class="search-hide">--%>
|
||||
<%-- <th>재고에 따른 판매</th>--%>
|
||||
<%-- <td colspan="3">--%>
|
||||
<%-- <div class="td-inner">--%>
|
||||
<%-- <div class="custom-radio-container">--%>
|
||||
<%-- <div class="custom-radio">--%>
|
||||
<%-- <input type="radio" id="goodsDftinfoInvntryPolicy0"--%>
|
||||
<%-- name="goodsDftinfoInvntryPolicy" value="" checked>--%>
|
||||
<%-- <label for="goodsDftinfoInvntryPolicy0">전체</label>--%>
|
||||
<%-- </div>--%>
|
||||
<%-- <c:forEach items="${resultMap.goodsDftinfoInvntryPolicyList}"--%>
|
||||
<%-- var="goodsDftinfoInvntryPolicy" varStatus="status">--%>
|
||||
<%-- <div class="custom-radio">--%>
|
||||
<%-- <input type="radio"--%>
|
||||
<%-- id="goodsDftinfoInvntryPolicy${status.count}"--%>
|
||||
<%-- name="goodsDftinfoInvntryPolicy"--%>
|
||||
<%-- value="${goodsDftinfoInvntryPolicy.cd}">--%>
|
||||
<%-- <label for="goodsDftinfoInvntryPolicy${status.count}">${goodsDftinfoInvntryPolicy.cdNm}</label>--%>
|
||||
<%-- </div>--%>
|
||||
<%-- </c:forEach>--%>
|
||||
<%-- </div>--%>
|
||||
<%-- </div>--%>
|
||||
<%-- </td>--%>
|
||||
<%-- </tr>--%>
|
||||
<%-- <tr class="search-hide">--%>
|
||||
<%-- <th>배송그룹</th>--%>
|
||||
<%-- <td colspan="3">--%>
|
||||
<%-- <div class="td-inner">--%>
|
||||
<%-- <div class="select-box">--%>
|
||||
<%-- <select title="해당 셀렉트에 대한 설명" name="dlvyGroupInnb">--%>
|
||||
<%-- <option value="">선택</option>--%>
|
||||
<%-- <c:if test="${not empty resultMap.dlvyGrpList}">--%>
|
||||
<%-- <c:forEach var="dlvyGrpInfo" items="${resultMap.dlvyGrpList}">--%>
|
||||
<%-- <option value="${dlvyGrpInfo.dlvyGroupDvCd}">${dlvyGrpInfo.dlvyGroupNm}</option>--%>
|
||||
<%-- </c:forEach>--%>
|
||||
<%-- </c:if>--%>
|
||||
<%-- </select>--%>
|
||||
<%-- </div>--%>
|
||||
<%-- </div>--%>
|
||||
<%-- </td>--%>
|
||||
<%-- </tr>--%>
|
||||
</table>
|
||||
</div>
|
||||
<div class="form-control-container">
|
||||
<div class="left"></div>
|
||||
<div class="center">
|
||||
<button class="btn outline" id="resetBtn" type="button">초기화</button>
|
||||
<button class="btn primary" id="searchBtn" type="button" onclick="fn_select_list(1);"><spring:message code="button.search"/> </button>
|
||||
</div>
|
||||
<%-- <div class="right">--%>
|
||||
<%-- <button class="btn outline search-detail">상세검색</button>--%>
|
||||
<%-- </div>--%>
|
||||
</div>
|
||||
</section>
|
||||
<div id="pageDiv">
|
||||
</div>
|
||||
</form>
|
||||
<button class="scroll-to-top"><span class="visually-hidden">위로가기</span></button>
|
||||
</div>
|
||||
</div>
|
||||
<div id="modalDiv">
|
||||
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<!-- 재고 툴팁 클릭 컨텐츠 -->
|
||||
<!-- 버튼의 data-info값과 id를 통일시켜야함 -->
|
||||
<div id="info01" class="mini-info-content" style="width: 280px;">
|
||||
<div class="mini-info-content__header">
|
||||
<h5 class="mini-info-content__title">재고 판매</h5>
|
||||
<button class="mini-info-content__close"><span class="visually-hidden">닫기</span></button>
|
||||
</div>
|
||||
<div class="mini-info-content__content">
|
||||
<p>재고(옵션 기준)에 따른 상품 판매 설정에 따라 아래와 같이 2가지로 표기됩니다.</p>
|
||||
<p>재고가 있으면 판매 : 재고</p>
|
||||
<p>재고와 상관없이 주문 가능 : 무제한</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
4569
src/main/webapp/WEB-INF/views/mngr/goods/goodsmngr/GoodsC.jsp
Normal file
4569
src/main/webapp/WEB-INF/views/mngr/goods/goodsmngr/GoodsC.jsp
Normal file
File diff suppressed because it is too large
Load Diff
5644
src/main/webapp/WEB-INF/views/mngr/goods/goodsmngr/GoodsCopyC.jsp
Normal file
5644
src/main/webapp/WEB-INF/views/mngr/goods/goodsmngr/GoodsCopyC.jsp
Normal file
File diff suppressed because it is too large
Load Diff
6165
src/main/webapp/WEB-INF/views/mngr/goods/goodsmngr/GoodsDtlU.jsp
Normal file
6165
src/main/webapp/WEB-INF/views/mngr/goods/goodsmngr/GoodsDtlU.jsp
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,68 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
|
||||
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
|
||||
|
||||
<%--
|
||||
Class Name : GoodsSrchPopupForm.jsp
|
||||
Description : 상품 검색 팝업 폼
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
since : 2024-06-03
|
||||
--%>
|
||||
|
||||
<script>
|
||||
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
});
|
||||
|
||||
|
||||
</script>
|
||||
<!-- 재고확인 모달 -->
|
||||
<div id="invntry-check" class="modal" style="max-width: 600px;">
|
||||
<div class="modal-header">
|
||||
<h4>재고 확인</h4>
|
||||
</div>
|
||||
<div class="modal-content">
|
||||
<div class="table-wrapper">
|
||||
<table class="table vertical tight">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 25%;">
|
||||
<col style="width: 50%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead>
|
||||
<th>유형</th>
|
||||
<th>옵션</th>
|
||||
<th>재고</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.list }">
|
||||
<c:forEach items="${ resultMap.list }" var="list" varStatus="status">
|
||||
<tr>
|
||||
<td>${list.optnTy}</td>
|
||||
<td>${list.optnVal1}</td>
|
||||
<td><fmt:formatNumber value="${list.invntryQy}" pattern="#,###"/></td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<tr>
|
||||
<td colspan="100%"><spring:message code="common.nodata"/></td>
|
||||
</tr>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,157 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
|
||||
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld" %>
|
||||
|
||||
<%--
|
||||
Class Name : GoodsListR.jsp
|
||||
Description : 상품 목록 조회 리스트
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-03-20 리브가 최초 생성
|
||||
--%>
|
||||
<section class="content-section">
|
||||
<div class="form-control-container">
|
||||
<div class="left">
|
||||
<div class="search-number">
|
||||
<span class="search-number__text">총 <strong><c:out value="${ resultMap.paginationInfo.totalRecordCount }"/></strong>건</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="center">
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="select-box">
|
||||
<select title="정렬순" name="sortDv" id="sortDv" onchange="fn_select_list(1);return false;">
|
||||
<option value="goodsNmAsc" <c:if test="${resultMap.BOGoodsVO.sortDv eq 'goodsNmAsc'}">selected="selected"</c:if>>상품명 오름차순</option>
|
||||
<option value="goodsNmDesc" <c:if test="${resultMap.BOGoodsVO.sortDv eq 'goodsNmDesc'}">selected="selected"</c:if>>상품명 내림차순</option>
|
||||
<option value="cnsmrpricAsc" <c:if test="${resultMap.BOGoodsVO.sortDv eq 'cnsmrpricAsc'}">selected="selected"</c:if>>정가 오름차순</option>
|
||||
<option value="cnsmrpricDesc" <c:if test="${resultMap.BOGoodsVO.sortDv eq 'cnsmrpricDesc'}">selected="selected"</c:if>>정가 내림차순</option>
|
||||
<option value="invntryQyAsc" <c:if test="${resultMap.BOGoodsVO.sortDv eq 'invntryQyAsc'}">selected="selected"</c:if>>재고 오름차순</option>
|
||||
<option value="invntryQyDesc" <c:if test="${resultMap.BOGoodsVO.sortDv eq 'invntryQyDesc'}">selected="selected"</c:if>>재고 내림차순</option>
|
||||
<option value="registDtAsc" <c:if test="${resultMap.BOGoodsVO.sortDv eq 'registDtAsc'}">selected="selected"</c:if>>등록일순 오름차순</option>
|
||||
<option value="registDtDesc" <c:if test="${resultMap.BOGoodsVO.sortDv eq 'registDtDesc' || resultMap.BOGoodsVO.sortDv eq null}">selected="selected"</c:if>>등록일순 내림차순</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select-box">
|
||||
<select id="pageUnit" name="pageUnit" title="페이지당 출력될 목록건수" onchange="fn_select_list(1);">
|
||||
<c:forEach items="${ resultMap.paginationInfo.pageUnitArr }" var="pageUnit" varStatus="pageUnitStatus">
|
||||
<option value="<c:out value="${ pageUnit }"/>"
|
||||
<c:if test="${ resultMap.paginationInfo.recordCountPerPage eq pageUnit}">selected="selected"</c:if>>
|
||||
<c:out value="${ pageUnit }"/>개씩
|
||||
</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="horizontal-line">
|
||||
<div class="form-control-container">
|
||||
<div class="left">
|
||||
<button class="btn outline sm" onclick="fn_delete_check();">선택 삭제</button>
|
||||
</div>
|
||||
<div class="center">
|
||||
</div>
|
||||
</div>
|
||||
<hr class="spacing">
|
||||
<div class="table-wrapper">
|
||||
<table class="table vertical">
|
||||
<caption>상품정보 목록</caption>
|
||||
<colgroup>
|
||||
<col style="width: 4%;">
|
||||
<col style="width: 4%;">
|
||||
<col style="width: 7%;">
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 7%;">
|
||||
<col style="width: 7%;">
|
||||
<col style="width: 7%;">
|
||||
<col style="width: 7%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 14%;">
|
||||
<col style="width: 4%;">
|
||||
<col style="width: 4%;">
|
||||
<col style="width: 10%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
<label class="b-checkbox checkbox is-medium">
|
||||
<input type="checkbox" id="checkAll" value="">
|
||||
<span class="check"></span>
|
||||
</label>
|
||||
</th>
|
||||
<th>번호</th>
|
||||
<th colspan="2">상품명</th>
|
||||
<th>정가</th>
|
||||
<th>판매가</th>
|
||||
<th>재고</th>
|
||||
<th>재고판매
|
||||
<%-- <button class="mini-info-btn mb-3" data-info="info01">?</button>--%>
|
||||
</th>
|
||||
<th>배송그룹</th>
|
||||
<th>등록일/수정일</th>
|
||||
<th>판매상태</th>
|
||||
<th>노출여부</th>
|
||||
<th>관리</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.list }">
|
||||
<c:forEach items="${ resultMap.list }" var="list" varStatus="status">
|
||||
<tr>
|
||||
<td>
|
||||
<label class="b-checkbox checkbox is-medium">
|
||||
<input type="checkbox" name="goodsInnbChk" class="goodsInnb" value="${list.goodsInnb},${list.sopmalCd}">
|
||||
<span class="check"></span>
|
||||
</label>
|
||||
</td>
|
||||
<td><c:out value="${ resultMap.paginationInfo.totalRecordCount - list.rnum + 1 }" /></td>
|
||||
<td>
|
||||
<spring:eval expression="@environment.getProperty('mngrfo.common.fileupload.cdnurl')" var="cdnurl"/>
|
||||
<a href="javascript:void(0);" onclick="fn_move_goods_dtl_common(<c:out value="${list.goodsInnb}"/>, 'sopmal')">
|
||||
<img src="<c:out value="${cdnurl}${list.goodsImgCours}"/>"
|
||||
onerror="this.src='<c:url value="/mngr/images/image_placeholder.png"/>'"
|
||||
alt="${list.goodsNm}" width="56" height="56">
|
||||
</a>
|
||||
</td>
|
||||
<td><a onclick="fn_move_goods_dtl_common(<c:out value="${list.goodsInnb}"/>, 'mngr', '01', '_self')" class="under-line">${list.goodsNm}</a>
|
||||
</td>
|
||||
<td>${list.cnsmrpric}</td>
|
||||
<td>${list.slepric}</td>
|
||||
<td><a onclick="fn_open_modal('#modalDiv','#invntry-check','/mngr/goods/goodsmngr/selectGoodsInvntryPopup',{'goodsInnb':${list.goodsInnb}, 'sopmalCd':'${list.sopmalCd}'}); return false;" class="under-line">재고확인</a></td>
|
||||
<td>${list.invntryPolicyCdDc}</td>
|
||||
<td>${list.dlvyGroupNm}</td>
|
||||
<td>
|
||||
<span>${list.registDt}</span><br><span>${list.updtDt}</span>
|
||||
</td>
|
||||
<td>${list.goodsSttusNm}</td>
|
||||
<td>${list.expsrNm}</td>
|
||||
<td>
|
||||
<div class="manage-btn-container">
|
||||
<button class="btn xsm light-gray" type="button" onclick="fn_move_goods_copy(<c:out
|
||||
value="${list.goodsInnb}"/>)"><spring:message code="button.copy"/> </button>
|
||||
<button class="btn xsm outline" type="button" onclick="fn_move_goods_dtl_common(<c:out value="${list.goodsInnb}"/>,'mngr','01','_self')"><spring:message code="button.update"/></button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<tr>
|
||||
<td colspan="100%"><spring:message code="common.nodata"/></td>
|
||||
</tr>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<div class="pagination__container">
|
||||
<ui:pagination paginationInfo="${resultMap.paginationInfo}" type="image" jsFunction="fn_select_list"/>
|
||||
</div>
|
||||
@@ -0,0 +1,722 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
|
||||
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld" %>
|
||||
|
||||
<%--
|
||||
Class Name : GoodsListRForm.jsp
|
||||
Description : 상품 목록 조회 폼
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-03-20 리브가 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>GC ONE 관리자</title>
|
||||
<%@ include file="/WEB-INF/views/comm/mngr/Include.jsp"%>
|
||||
|
||||
</head>
|
||||
<script>
|
||||
let goodsDftinfoArr = [];
|
||||
|
||||
$(document).ready(function () {
|
||||
let pageIndex = '<c:out value="${ resultMap.BOGoodsVO.pageIndex }"/>';
|
||||
let pageUnit = '<c:out value="${ resultMap.BOGoodsVO.pageUnit }"/>';
|
||||
// 목록 조회
|
||||
fn_select_list(pageIndex, pageUnit);
|
||||
|
||||
// 엔터키 검색
|
||||
$('#listForm').on('keydown', function (event) {
|
||||
if (event.keyCode === 13) {
|
||||
event.preventDefault();
|
||||
fn_select_list(1);
|
||||
}
|
||||
});
|
||||
|
||||
// event 제어
|
||||
fn_event();
|
||||
|
||||
});
|
||||
|
||||
|
||||
//판매상태 체크 검색
|
||||
$(document).on('click','input[name="goodsDftinfoArr"]' , function() {
|
||||
|
||||
|
||||
// 체크된 체크박스의 값을 배열에 추가
|
||||
if(!goodsDftinfoArr.some(item => item === $(this).val())){
|
||||
goodsDftinfoArr.push($(this).val());
|
||||
}else{
|
||||
//체크된 값이 있으면 제거
|
||||
for(let i = 0; i < goodsDftinfoArr.length; i++) {
|
||||
if (goodsDftinfoArr[i] === $(this).val()) {
|
||||
goodsDftinfoArr.splice(i, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 조건 확인 및 배열 초기화
|
||||
if (goodsDftinfoArr.includes("") ||
|
||||
(goodsDftinfoArr.includes("01") && goodsDftinfoArr.includes("02") && goodsDftinfoArr.includes("03"))) {
|
||||
goodsDftinfoArr = []; // 배열 초기화
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
/* ********************************************************
|
||||
* 목록 조회
|
||||
******************************************************** */
|
||||
const fn_select_list = function (pageIndex, pageUnit) {
|
||||
let dataStr;
|
||||
|
||||
//판매상태 검색 내역 있을 경우 삭제
|
||||
if($('input[name="goodsDftinfoSttus"]') != null){
|
||||
$('input[name="goodsDftinfoSttus"]').remove()
|
||||
}
|
||||
|
||||
$('input[name="goodsDftinfoArr"]:checked').each(function(idx, item) {
|
||||
|
||||
console.log('idx',idx,'item', item.value)
|
||||
|
||||
if(!fn_is_empty(item.value)){
|
||||
$('#listForm').append(
|
||||
$('<input>', {
|
||||
'type': 'hidden',
|
||||
'name': 'goodsDftinfoSttus',
|
||||
'value': item.value
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
})
|
||||
|
||||
|
||||
if (!pageIndex) {
|
||||
$('#pageIndex').val(1);
|
||||
} else {
|
||||
$('#pageIndex').val(pageIndex);
|
||||
}
|
||||
|
||||
if (!pageUnit) {
|
||||
dataStr = $('#listForm').serialize();
|
||||
} else {
|
||||
if ($('#pageUnit').length) {
|
||||
$('#pageUnit').val(pageUnit);
|
||||
dataStr = $('#listForm').serialize();
|
||||
} else {
|
||||
dataStr = $('#listForm').serialize() + '&pageUnit=' + pageUnit;
|
||||
}
|
||||
}
|
||||
|
||||
console.log('dataStr', dataStr)
|
||||
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: "<c:url value="/mngr/goods/goodsmngr/selectGoodsList"/>",
|
||||
data: dataStr,
|
||||
success: function (resultHtml) {
|
||||
$('#pageDiv').html(resultHtml);
|
||||
$('#pageUnit').niceSelect();
|
||||
$('#sortDv').niceSelect();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/* ********************************************************
|
||||
* 등록폼 이동
|
||||
******************************************************** */
|
||||
const fn_move_regpage = function () {
|
||||
const url = '<c:url value="/mngr/goods/goodsmngr/selectGoodsRegistForm"/>';
|
||||
|
||||
$('#listForm').attr('action', url);
|
||||
$('#listForm').attr('method', 'post');
|
||||
$('#listForm').submit();
|
||||
};
|
||||
|
||||
|
||||
history.replaceState({}, null, location.pathname);
|
||||
/* ****************************
|
||||
* event 제어
|
||||
******************************/
|
||||
const fn_event = function () {
|
||||
|
||||
/*상세검색 버튼 상태 및 상세조회 대상 안보이게 처리*/
|
||||
$('.search-hide').hide()
|
||||
$('.search-detail').removeClass('opened')
|
||||
|
||||
$(document).ready('click', '.search-detail', function () {
|
||||
let searchHide = $(".search-hide");
|
||||
if (searchHide.is(":visible")) {
|
||||
searchHide.hide();
|
||||
$('.search-detail').removeClass('opened')
|
||||
} else {
|
||||
searchHide.show();
|
||||
$('.search-detail').addClass('opened')
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
/* input 숫자만 입력 */
|
||||
$(document).on('input', '.number-only', function () {
|
||||
$(this).val(($(this).val().replace(/[^0-9]/g, '')).replace(/^0+/, ''));
|
||||
});
|
||||
|
||||
/* 목록 > 전체선택 체인지 이벤트 */
|
||||
$(document).on('change', '#checkAll', function () {
|
||||
let checkbox = $(this).closest('table').find('input[name="goodsInnbChk"]');
|
||||
|
||||
$(checkbox).prop('checked', false);
|
||||
$(checkbox).prop('checked', $(this).is(':checked'));
|
||||
});
|
||||
|
||||
/* 검색조건 > 카테고리 선택 이벤트 */
|
||||
$(document).on('change', '.ctgry', function () {
|
||||
const upperCtgryId = $(this).val(); // 상위카테고리
|
||||
const currCtgryDepth = $(this).attr('id').replace('ctgryDepth', '');
|
||||
const targetDepth = (parseInt(currCtgryDepth) + 1);
|
||||
const targetCtgryId = 'ctgryDepth' + targetDepth;
|
||||
|
||||
if (fn_is_empty(upperCtgryId)) {
|
||||
for (let i = targetDepth; i < 5; i++) {
|
||||
$('#search-section').find('#ctgryDepth' + i).empty().append('<option value="">' + i + '차 카테고리</option>').niceSelect('update');
|
||||
}
|
||||
} else {
|
||||
fn_get_goods_ctgry(upperCtgryId, targetCtgryId);
|
||||
}
|
||||
|
||||
$('#search-section').find('#ctgryId').val(upperCtgryId);
|
||||
});
|
||||
|
||||
|
||||
/* 검색조건 > 노출여부 선택 이벤트 */
|
||||
$(document).on('click', 'input[name="expsrCd"]', function () {
|
||||
const sttus = $(this).val();
|
||||
const popup = $('#search-section');
|
||||
const checkbox = $(popup).find('input[name="expsrCd"]');
|
||||
const all = $(popup).find('input[name="expsrCd"][value=""]')
|
||||
|
||||
if (fn_is_empty(sttus)) {
|
||||
$(checkbox).prop('checked', false);
|
||||
|
||||
$(this).prop('checked', true);
|
||||
} else {
|
||||
$(all).prop('checked', false);
|
||||
|
||||
const length = $(popup).find('input[name="expsrCd"]:checked').length;
|
||||
|
||||
if (2 < length) {
|
||||
$(checkbox).prop('checked', false);
|
||||
|
||||
$(all).prop('checked', true);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
/* ********************************************************
|
||||
* 카테고리 체크버튼 이벤트
|
||||
******************************************************** */
|
||||
const fn_change_event = function (_target, _arg) {
|
||||
if (_arg === 'all') {
|
||||
|
||||
if ($('#' + _target + '-all').is(':checked')) {
|
||||
$('[name=' + _target + 'Arr]').prop('checked', true);
|
||||
} else {
|
||||
$('[name=' + _target + 'Arr]').prop('checked', false);
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
let chkCnt = $('[name=' + _target + 'Arr]:checked').length;
|
||||
let allCnt = $('[name=' + _target + 'Arr]').length;
|
||||
|
||||
if (chkCnt !== allCnt && $('#' + _target + '-all').is(':checked')) {
|
||||
$('#' + _target + '-all').prop('checked', false);
|
||||
} else if (chkCnt !== allCnt && !$('#' + _target + '-all').is(':checked') && allCnt - chkCnt === 1) {
|
||||
$('#' + _target + '-all').prop('checked', true);
|
||||
} else if (chkCnt === allCnt) {
|
||||
$('#' + _target + '-all').prop('checked', true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* ****************************
|
||||
* 카테고리 목록 조회 AJAX
|
||||
******************************/
|
||||
const fn_get_goods_ctgry = function (upperCtgryId, targetCtgryId) {
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url: '<c:url value="/admin/sys/ctgry/selectGoodsCategoryList"/>',
|
||||
data: {
|
||||
'upperCtgryId': upperCtgryId
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.resBody != null) {
|
||||
const result = JSON.parse(data.resBody.result);
|
||||
const goodsCategoryList = result.goodsCategoryList;
|
||||
|
||||
if (goodsCategoryList.length > 0) {
|
||||
|
||||
$('#' + targetCtgryId + ' option').filter(function() {
|
||||
return $(this).val() !== '';
|
||||
}).remove();
|
||||
|
||||
|
||||
for (let i = 0; i < goodsCategoryList.length; i++) {
|
||||
const goodsCategory = goodsCategoryList[i];
|
||||
$('#search-section').find('#' + targetCtgryId).append('<option value="' + goodsCategory.ctgryId + '">' + goodsCategory.ctgryNm + '</option>');
|
||||
}
|
||||
$('#search-section').find('#' + targetCtgryId).niceSelect('update');
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function (data) {
|
||||
fn_proc_error_message(data);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/* ****************************
|
||||
* 상품 목록 조회 AJAX
|
||||
******************************/
|
||||
const fn_get_goods_list = function (pageIndex) {
|
||||
const popup = $('#product-select-pop');
|
||||
|
||||
$(popup).find('#pageIndex').val(pageIndex);
|
||||
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url: '<c:url value="/crm/ordr/selectGoodsList"/>',
|
||||
data: $(popup).find('#goodsCondForm').serialize(),
|
||||
success: function (html) {
|
||||
$('#product-select-pop').find('#pageDiv').html(html);
|
||||
|
||||
const goodsList = JSON.parse(localStorage.getItem('goodsList'));
|
||||
|
||||
if (!fn_is_empty(goodsList)) {
|
||||
fn_set_choice_order_goods(goodsList);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/*********************************************************
|
||||
* 상품 선택 삭제 AJAX
|
||||
*********************************************************/
|
||||
const fn_delete_check = function () {
|
||||
|
||||
let url = '<c:url value="/mngr/goods/goodsmngr/deleteGoods"/>';
|
||||
let delInnbArr = [];
|
||||
// 선택 삭제일 경우
|
||||
|
||||
$("input[name='goodsInnbChk']:checked").each(function () {
|
||||
let values = $(this).val().split(','); // 쉼표로 분리하여 배열로 저장
|
||||
let delGoods = {
|
||||
goodsInnb: values[0],
|
||||
sopmalCd: values[1]
|
||||
};
|
||||
delInnbArr.push(delGoods);
|
||||
});
|
||||
if (delInnbArr.length === 0) {
|
||||
alert("선택된 상품이 없습니다.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (confirm('상품을 <spring:message code="confirm.common.delete"/>')) {
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url: url,
|
||||
data: {
|
||||
"delInnbArr": delInnbArr
|
||||
},
|
||||
dataType: "json",
|
||||
success: function (result) {
|
||||
alert('<spring:message code="success.common.delete"/>');
|
||||
fn_select_list();
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* 관리자 주문 > 상품조회 > 검색조건 > 날짜 선택 이벤트 */
|
||||
$(document).on('click', '.dateRange-btn', function () {
|
||||
const date = $(this).attr('id');
|
||||
|
||||
$('.dateRange-btn').removeClass('selected');
|
||||
$('#' + date).addClass('selected');
|
||||
|
||||
const datepicker = $(this).closest('.td-inner').find('.datepicker');
|
||||
const start = $(datepicker[0]).attr('id');
|
||||
const end = $(datepicker[1]).attr('id');
|
||||
|
||||
if ('allDays' === date) {
|
||||
$('#' + start + ', #' + end).val('');
|
||||
|
||||
$('#datePeriod').val(date);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
fn_set_date(start, end, end, date);
|
||||
|
||||
$('#datePeriod').val(date);
|
||||
});
|
||||
|
||||
/*********************************************************
|
||||
* 상품 복사 조회
|
||||
*********************************************************/
|
||||
const fn_move_goods_copy = (goodsInnb) => {
|
||||
window.open("/mngr/goods/goodsmngr/selectGoodsCopyForm?goodsInnb=" + goodsInnb, '_self');
|
||||
}
|
||||
|
||||
//카테고리 선택시 카테고리 아이디 저장(검색용)
|
||||
$(document).on('change', 'select[id^=ctgryDepth]', function () {
|
||||
const ctgryOptn = $(this).val()
|
||||
|
||||
if(!fn_is_empty(ctgryOptn)){
|
||||
$('#ctgryId').val(ctgryOptn)
|
||||
}else{
|
||||
//value가 ''인 카테고리 선택할경우
|
||||
let currentCtgryDepth = parseInt($(this).attr('id').replace('ctgryDepth', ''));
|
||||
|
||||
//1차 카테고리가 아닐 경우 이전 카테고리 번호 가져오기
|
||||
if(currentCtgryDepth !== 1){
|
||||
$('#ctgryId').val($('#ctgryDepth' + (currentCtgryDepth - 1)).val())
|
||||
}else{
|
||||
//1차 카테고리 일경우 카테고리 번호 비우기
|
||||
$('#ctgryId').val('')
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
//초기화버튼
|
||||
$(document).on('click', '#resetBtn', function () {
|
||||
|
||||
$('.ctgry').val('').niceSelect('update')
|
||||
$('#srchType').val('GOODS_NM').niceSelect('update')
|
||||
$('input[name="reprsntCtgryAtY"]').prop('checked', false)
|
||||
$('input[name="ctgryNoRegAtY"]').prop('checked', false)
|
||||
$('#brandCd').val('').niceSelect('update')
|
||||
$('select[name="dateDv"]').val('regist').niceSelect('update')
|
||||
$('#allDays').click()
|
||||
if(!$('#goodsDftinfo-all').prop('checked')){
|
||||
$('#goodsDftinfo-all').click()
|
||||
}
|
||||
$('#expsrDvCd').click()
|
||||
$('select[name="pricDv"]').val('cnsmrpric').niceSelect('update')
|
||||
$('#goodsDftinfoInvntryPolicy0').click()
|
||||
$('select[name="dlvyGroupInnb"]').val('').niceSelect('update')
|
||||
|
||||
$('input[name="ctgryId"]').val('')
|
||||
$('input[name="startPric"]').val('')
|
||||
$('input[name="endPric"]').val('')
|
||||
$('#srchStr').val('')
|
||||
|
||||
fn_select_list(1);
|
||||
})
|
||||
</script>
|
||||
<body>
|
||||
<%@ include file="/WEB-INF/views/comm/mngr/Header.jsp"%>
|
||||
<main class="main">
|
||||
<%@ include file="/WEB-INF/views/comm/mngr/Left.jsp"%>
|
||||
<div class="content">
|
||||
<div class="content__inner">
|
||||
<button class="side-nav__fold"><span class="visually-hidden">좌측메뉴 펼치기/닫기</span></button>
|
||||
<div class="page-title">
|
||||
<h2 class="page-title__title">상품 목록</h2>
|
||||
<div class="page-title__btn-container">
|
||||
<button onclick="fn_move_regpage()" class="btn primary">상품 <spring:message code="button.insert"/></button>
|
||||
</div>
|
||||
</div>
|
||||
<form id='listForm' name="listForm" method="post"
|
||||
action="<c:url value="/mngr/goods/goodsmngr/selectGoodsListForm"/>">
|
||||
<input type="hidden" id="pageIndex" name="pageIndex" value="${ resultMap.BOGoodsVO.pageIndex }"/>
|
||||
<input type="hidden" id="goodsInnb" name="goodsInnb"/>
|
||||
<input type="hidden" id="goodsKndCd" name="goodsKndCd" value="01"/>
|
||||
<input type="hidden" id="ctgryId" name="ctgryId" />
|
||||
<%--
|
||||
<input type="hidden" id="sopmalCd" name="sopmalCd"/>
|
||||
--%>
|
||||
<section class="content-section" id="search-section">
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col>
|
||||
<col style="width: 12%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tr>
|
||||
<th>검색어</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select title="검색타입" id="srchType" name="srchType">
|
||||
<option value="GOODS_NM" <c:if test="${ resultMap.BOGoodsVO.srchType == 'GOODS_NM'}">selected="selected"</c:if>>상품명</option>
|
||||
<option value="GOODS_INNB" <c:if test="${ resultMap.BOGoodsVO.srchType == 'GOODS_INNB'}">selected="selected"</c:if>>상품번호</option>
|
||||
</select>
|
||||
</div>
|
||||
<input class="input-text xl" type="text" title="검색어" id="srchStr" name="srchStr" value="<c:out value="${ resultMap.BOGoodsVO.srchStr }" />">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>카테고리</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<div class="input-container gap-4">
|
||||
<div class="select-box">
|
||||
<select id="ctgryDepth1" class="ctgry" title="1차 카테고리">
|
||||
<option value="">1차 카테고리</option>
|
||||
<c:forEach items="${resultMap.goodsCategoryList}" var="goodsCategory"
|
||||
varStatus="status">
|
||||
<option value="${goodsCategory.ctgryId}">${goodsCategory.ctgryNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select-box">
|
||||
<select id="ctgryDepth2" class="ctgry" title="2차 카테고리">
|
||||
<option value="">2차 카테고리</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select-box">
|
||||
<select id="ctgryDepth3" class="ctgry" title="3차 카테고리">
|
||||
<option value="">3차 카테고리</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select-box">
|
||||
<select id="ctgryDepth4" class="ctgry" title="4차 카테고리">
|
||||
<option value="">4차 카테고리</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="Y" name="reprsntCtgryAtY">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">대표 카테고리 기준</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="Y" name="ctgryNoRegAtY">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">카테고리 미등록</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="search-hide">
|
||||
<th>브랜드</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select title="브랜드" id="brandCd" name="brandCd">
|
||||
<option value="">전체</option>
|
||||
<c:forEach var="brandList" items="${ resultMap.brandList }" varStatus="">
|
||||
<option value="${ brandList.cd }">${ brandList.cdNm }</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="search-hide">
|
||||
<th>날짜</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select name="dateDv" title="날짜 구분">
|
||||
<option value="regist">등록일</option>
|
||||
<option value="updt">수정일</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="input-container">
|
||||
<input type="text" name="startDate" id="startDate" class="datepicker"
|
||||
title="시작 날짜 선택" autocomplete="off">
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" name="endDate" id="endDate" class="datepicker"
|
||||
title="종료 날짜 선택" autocomplete="off" pattern="yyyy-MM-dd">
|
||||
<input type="hidden" id="datePeriod" name="datePeriod" value=""/>
|
||||
</div>
|
||||
<div class="dateRange-btnContainer">
|
||||
<button type="button" class="dateRange-btn" id="1D">어제</button>
|
||||
<button type="button" class="dateRange-btn" id="0">오늘</button>
|
||||
<button type="button" class="dateRange-btn" id="3D">3일간</button>
|
||||
<button type="button" class="dateRange-btn" id="7D">일주일</button>
|
||||
<button type="button" class="dateRange-btn" id="1M">1개월</button>
|
||||
<button type="button" class="dateRange-btn" id="3M">3개월</button>
|
||||
<button type="button" class="dateRange-btn" id="6M">6개월</button>
|
||||
<button type="button" class="dateRange-btn" id="1Y">1년</button>
|
||||
<button type="button" class="dateRange-btn selected" id="allDays">전체
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>판매상태</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox check-all">
|
||||
<input id="goodsDftinfo-all" type="checkbox" name="goodsDftinfoArr" value="" checked
|
||||
onclick="fn_change_event('goodsDftinfo', 'all');">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">전체</span>
|
||||
</label>
|
||||
<c:forEach items="${resultMap.goodsDftinfoSttusList}" var="goodsDftinfoSttus"
|
||||
varStatus="status">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" name="goodsDftinfoArr"
|
||||
value="${goodsDftinfoSttus.cd}"
|
||||
onclick="fn_change_event('goodsDftinfo', 'other');" checked>
|
||||
<span class="check"></span>
|
||||
<span class="control-label">${goodsDftinfoSttus.cdNm}</span>
|
||||
</label>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<th>노출여부</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="custom-radio-container">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="expsrDvCd"
|
||||
name="expsrDvCd" value="" checked>
|
||||
<label for="expsrDvCd">전체</label>
|
||||
</div>
|
||||
<c:forEach items="${resultMap.expsrCdList}"
|
||||
var="expsrCdList" varStatus="status">
|
||||
<div class="custom-radio">
|
||||
<input type="radio"
|
||||
id="expsrCdList${status.count}"
|
||||
name="expsrDvCd"
|
||||
value="${expsrCdList.cd}">
|
||||
<label for="expsrCdList${status.count}">${expsrCdList.cdNm}</label>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="search-hide">
|
||||
<th>가격</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select name="pricDv" title="가격">
|
||||
<option value="cnsmrpric">정가</option>
|
||||
<option value="slepric">판매가</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="input-container">
|
||||
<input type="text" class="input-text sm right" name="startPric"
|
||||
title="startPric">
|
||||
<span class="input-unit-text">원</span>
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" class="input-text sm right" name="endPric"
|
||||
title="endPric">
|
||||
<span class="input-unit-text">원</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="search-hide">
|
||||
<th>재고에 따른 판매</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<div class="custom-radio-container">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="goodsDftinfoInvntryPolicy0"
|
||||
name="goodsDftinfoInvntryPolicy" value="" checked>
|
||||
<label for="goodsDftinfoInvntryPolicy0">전체</label>
|
||||
</div>
|
||||
<c:forEach items="${resultMap.goodsDftinfoInvntryPolicyList}"
|
||||
var="goodsDftinfoInvntryPolicy" varStatus="status">
|
||||
<div class="custom-radio">
|
||||
<input type="radio"
|
||||
id="goodsDftinfoInvntryPolicy${status.count}"
|
||||
name="goodsDftinfoInvntryPolicy"
|
||||
value="${goodsDftinfoInvntryPolicy.cd}">
|
||||
<label for="goodsDftinfoInvntryPolicy${status.count}">${goodsDftinfoInvntryPolicy.cdNm}</label>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="search-hide">
|
||||
<th>배송그룹</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select title="해당 셀렉트에 대한 설명" name="dlvyGroupInnb">
|
||||
<option value="">선택</option>
|
||||
<c:if test="${not empty resultMap.dlvyGrpList}">
|
||||
<c:forEach var="dlvyGrpInfo" items="${resultMap.dlvyGrpList}">
|
||||
<option value="${dlvyGrpInfo.dlvyGroupDvCd}">${dlvyGrpInfo.dlvyGroupNm}</option>
|
||||
</c:forEach>
|
||||
</c:if>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="form-control-container">
|
||||
<div class="left"></div>
|
||||
<div class="center">
|
||||
<button class="btn outline" id="resetBtn" type="button">초기화</button>
|
||||
<button class="btn primary" id="searchBtn" type="button" onclick="fn_select_list(1);"><spring:message code="button.search"/> </button>
|
||||
</div>
|
||||
<div class="right">
|
||||
<button class="btn outline search-detail">상세검색</button>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<div id="pageDiv">
|
||||
</div>
|
||||
</form>
|
||||
<button class="scroll-to-top"><span class="visually-hidden">위로가기</span></button>
|
||||
</div>
|
||||
</div>
|
||||
<div id="modalDiv">
|
||||
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<!-- 재고 툴팁 클릭 컨텐츠 -->
|
||||
<!-- 버튼의 data-info값과 id를 통일시켜야함 -->
|
||||
<div id="info01" class="mini-info-content" style="width: 280px;">
|
||||
<div class="mini-info-content__header">
|
||||
<h5 class="mini-info-content__title">재고 판매</h5>
|
||||
<button class="mini-info-content__close"><span class="visually-hidden">닫기</span></button>
|
||||
</div>
|
||||
<div class="mini-info-content__content">
|
||||
<p>재고(옵션 기준)에 따른 상품 판매 설정에 따라 아래와 같이 2가지로 표기됩니다.</p>
|
||||
<p>재고가 있으면 판매 : 재고</p>
|
||||
<p>재고와 상관없이 주문 가능 : 무제한</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,429 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
|
||||
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
|
||||
|
||||
<%--
|
||||
Class Name : GoodsPurchaseLimttPopupC.jsp
|
||||
Description : 상품 구매대상자 제한 popup
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
since : 2024-06-03
|
||||
--%>
|
||||
|
||||
<script>
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
const allGradesRows = document.querySelectorAll("#all-grades-row, #all-grades-purchase-row");
|
||||
const individualGradeRows = document.querySelectorAll(".individual-grade-row");
|
||||
const gradSetAllRadio = document.getElementById("gradSetAll");
|
||||
const gradSetDistinctRadio = document.getElementById("gradSet");
|
||||
|
||||
// Function to toggle visibility
|
||||
function toggleRows() {
|
||||
if (gradSetAllRadio.checked) {
|
||||
allGradesRows.forEach(row => row.style.display = "");
|
||||
individualGradeRows.forEach(row => row.style.display = "none");
|
||||
} else {
|
||||
allGradesRows.forEach(row => row.style.display = "none");
|
||||
individualGradeRows.forEach(row => row.style.display = "");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Event listeners
|
||||
gradSetAllRadio.addEventListener("change", toggleRows);
|
||||
gradSetDistinctRadio.addEventListener("change", toggleRows);
|
||||
|
||||
// Initial toggle
|
||||
toggleRows();
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
</script>
|
||||
<div id="purchase-limit" class="modal" style="max-width: 760px;">
|
||||
<div class="modal-header">
|
||||
<h4>구매 대상자 제한 설정</h4>
|
||||
</div>
|
||||
<div class="modal-content">
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 15%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<form>
|
||||
<tr class="goods-trget-dv-list">
|
||||
<th rowspan="2" colspan="2" value="" name="">비회원</th>
|
||||
<td>
|
||||
<div class="td-inner price-limit-container">
|
||||
<div class="b-checkbox-container my-5">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" id="pricRplcWordsUseAt_none" name="pricRplcWordsUseAt_none" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">가격제한</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 23%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>가격 대체 문구</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text price-limit-input" type="text" title="해당 인풋에 대한 설명" id="pricRplcWords_none" name="pricRplcWords_none" disabled>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>링크 연결</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text" type="text" title="해당 인풋에 대한 설명" id="pricRplcLink_none" name="pricRplcLink_none" disabled>
|
||||
<div class="select-box">
|
||||
<select class="short" title="해당 셀렉트에 대한 설명" name="pricRplcLinkDvCd_none" id="pricRplcLinkDvCd_none" disabled>
|
||||
<c:forEach items="${resultMap.PrlcLinkDvList}" var="PrlcLinkDvList">
|
||||
<option value="${PrlcLinkDvList.cd}">${PrlcLinkDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select-box">
|
||||
<select class="short" title="해당 셀렉트에 대한 설명" id="pricRplcLinkBrwsrDvCd_none" name="pricRplcLinkBrwsrDvCd_none" disabled>
|
||||
<c:forEach items="${resultMap.PrlcLinkBrwsrDvList}" var="PrlcLinkBrwsrDvList">
|
||||
<option value="${PrlcLinkBrwsrDvList.cd}">${PrlcLinkBrwsrDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="td-inner purchase-limit-container">
|
||||
<div class="b-checkbox-container my-5">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" id="buttonRplcWordsUseAt_none" name="buttonRplcWordsUseAt_none" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">구매제한</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 23%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>버튼 대체 문구</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text" type="text" id="buttonRplcWords_none" name="buttonRplcWords_none" title="해당 인풋에 대한 설명" disabled>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>링크 연결</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text" type="text" title="해당 인풋에 대한 설명" id="buttonRplcLink_none" name="buttonRplcLink_none" disabled>
|
||||
<div class="select-box">
|
||||
<select class="short" title="해당 셀렉트에 대한 설명" id="buttonRplcLinkDvCd_none" name="buttonRplcLinkDvCd_none" disabled>
|
||||
<c:forEach items="${resultMap.PrlcLinkDvList}" var="PrlcLinkDvList">
|
||||
<option value="${PrlcLinkDvList.cd}">${PrlcLinkDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select-box">
|
||||
<select class="short" title="해당 셀렉트에 대한 설명" id="buttonRplcLinkBrwsrDvCd_none" name="buttonRplcLinkBrwsrDvCd_none" disabled>
|
||||
<c:forEach items="${resultMap.PrlcLinkBrwsrDvList}" var="PrlcLinkBrwsrDvList">
|
||||
<option value="${PrlcLinkBrwsrDvList.cd}">${PrlcLinkBrwsrDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th class="border-right" rowspan="1" colspan="2">회원 등급 별 제한</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="custom-radio-container">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="gradSetAll" name="gradSet" value="all" checked="">
|
||||
<label for="gradSetAll">모든 등급 일괄 설정</label>
|
||||
</div>
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="gradSet" name="gradSet" value="distinct">
|
||||
<label for="gradSet">등급 별 설정</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="all-grades-row">
|
||||
<th rowspan="2" colspan="2" value="">모든 등급</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container my-5">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" id="pricRplcWordsUseAt_all" name="pricRplcWordsUseAt_all" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">가격제한</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 23%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>가격 대체 문구</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text" type="text" title="해당 인풋에 대한 설명" id="pricRplcWords_all" name="pricRplcWords_all" disabled>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>링크 연결</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text" type="text" title="해당 인풋에 대한 설명" id="pricRplcLink_all" name="pricRplcLink_all" disabled>
|
||||
<div class="select-box">
|
||||
<select class="short" title="해당 셀렉트에 대한 설명" id="pricRplcLinkDvCd_all" name="pricRplcLinkDvCd_all" disabled>
|
||||
<c:forEach items="${resultMap.PrlcLinkDvList}" var="PrlcLinkDvList">
|
||||
<option value="${PrlcLinkDvList.cd}">${PrlcLinkDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select-box">
|
||||
<select class="short" title="해당 셀렉트에 대한 설명" id="pricRplcLinkBrwsrDvCd_all" name="pricRplcLinkBrwsrDvCd_all" disabled>
|
||||
<c:forEach items="${resultMap.PrlcLinkBrwsrDvList}" var="PrlcLinkBrwsrDvList">
|
||||
<option value="${PrlcLinkBrwsrDvList.cd}">${PrlcLinkBrwsrDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="all-grades-purchase-row">
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container my-5">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" id="buttonRplcWordsUseAt_all" name="buttonRplcWordsUseAt_all" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">구매제한</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 23%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>버튼 대체 문구</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text" type="text" id="buttonRplcWords_all" name="buttonRplcWords_all" title="해당 인풋에 대한 설명" disabled>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>링크 연결</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text" type="text" title="해당 인풋에 대한 설명" id="buttonRplcLink_all" name="buttonRplcLink_all" disabled>
|
||||
<div class="select-box">
|
||||
<select class="short" title="해당 셀렉트에 대한 설명" id="buttonRplcLinkDvCd_all" name="buttonRplcLinkDvCd_all" disabled>
|
||||
<c:forEach items="${resultMap.PrlcLinkDvList}" var="PrlcLinkDvList">
|
||||
<option value="${PrlcLinkDvList.cd}">${PrlcLinkDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select-box">
|
||||
<select class="short" title="해당 셀렉트에 대한 설명" id="buttonRplcLinkBrwsrDvCd_all" name="buttonRplcLinkBrwsrDvCd_all" disabled>
|
||||
<c:forEach items="${resultMap.PrlcLinkBrwsrDvList}" var="PrlcLinkBrwsrDvList">
|
||||
<option value="${PrlcLinkBrwsrDvList.cd}">${PrlcLinkBrwsrDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<c:if test="${not empty resultMap.gradList}">
|
||||
<c:forEach items="${resultMap.gradList}" var="member" varStatus="status">
|
||||
<tr class="individual-grade-row">
|
||||
<input type="hidden" id="mbrGradInnb" name="mbrGradInnb" value="${member.mbrGradInnb}">
|
||||
<th rowspan="2" colspan="2" >${member.mbrGradNm}</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container my-5">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input class= "gradSetAllChk_pric" type="checkbox" id="pricRplcWordsUseAt_${status.index}" name="pricRplcWordsUseAt_${status.index}" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">가격제한</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 23%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>가격 대체 문구</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text price-limit-input gradSetAllChk_pric" type="text" title="해당 인풋에 대한 설명" id="pricRplcWords_${status.index}" name="pricRplcWords_${status.index}" disabled>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>링크 연결</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text gradSetAllChk_pric" type="text" title="해당 인풋에 대한 설명" id="pricRplcLink_${status.index}" name="pricRplcLink_${status.index}" disabled>
|
||||
<div class="select-box">
|
||||
<select class="short gradSetAllChk_pric" title="해당 셀렉트에 대한 설명" id="pricRplcLinkDvCd_${status.index}" name="pricRplcLinkDvCd_${status.index}" disabled>
|
||||
<c:forEach items="${resultMap.PrlcLinkDvList}" var="PrlcLinkDvList">
|
||||
<option value="${PrlcLinkDvList.cd}">${PrlcLinkDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select-box">
|
||||
<select class="short gradSetAllChk_pric" title="해당 셀렉트에 대한 설명" id="pricRplcLinkBrwsrDvCd_${status.index}" name="pricRplcLinkBrwsrDvCd_${status.index}" disabled>
|
||||
<c:forEach items="${resultMap.PrlcLinkBrwsrDvList}" var="PrlcLinkBrwsrDvList">
|
||||
<option value="${PrlcLinkBrwsrDvList.cd}">${PrlcLinkBrwsrDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="individual-grade-row">
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container my-5">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input class = "gradSetAllChk_btn" type="checkbox" id="buttonRplcWordsUseAt_${status.index}" name="buttonRplcWordsUseAt_${status.index}" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">구매제한</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 23%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>버튼 대체 문구</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text gradSetAllChk_btn" type="text" id="buttonRplcWords_${status.index}" name="buttonRplcWords_${status.index}" title="해당 인풋에 대한 설명" disabled>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>링크 연결</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text gradSetAllChk_btn" type="text" title="해당 인풋에 대한 설명" id="buttonRplcLink_${status.index}" name="buttonRplcLink_${status.index}" disabled>
|
||||
<div class="select-box">
|
||||
<select class="short gradSetAllChk_btn" title="해당 셀렉트에 대한 설명" id="buttonRplcLinkDvCd_${status.index}" name="buttonRplcLinkDvCd_${status.index}" disabled>
|
||||
<c:forEach items="${resultMap.PrlcLinkDvList}" var="PrlcLinkDvList">
|
||||
<option value="${PrlcLinkDvList.cd}">${PrlcLinkDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select-box">
|
||||
<select class="short gradSetAllChk_btn" title="해당 셀렉트에 대한 설명" id="buttonRplcLinkBrwsrDvCd_${status.index}" name="buttonRplcLinkBrwsrDvCd_${status.index}" disabled>
|
||||
<c:forEach items="${resultMap.PrlcLinkBrwsrDvList}" var="PrlcLinkBrwsrDvList">
|
||||
<option value="${PrlcLinkBrwsrDvList.cd}">${PrlcLinkBrwsrDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:if>
|
||||
|
||||
</form>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="#" rel="modal:close" class="btn outline">취소</a>
|
||||
<button class="btn primary" onclick="fn_save_purchase_limmit(); return false;">확인</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="/admin/js/script.js" defer=""></script>
|
||||
@@ -0,0 +1,809 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
|
||||
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
|
||||
|
||||
<%--
|
||||
Class Name : GoodsPurchaseLimttPopupR.jsp
|
||||
Description : 상품 구매대상자 제한 popup
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
since : 2024-06-03
|
||||
--%>
|
||||
|
||||
<script>
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
const allGradesRows = document.querySelectorAll("#all-grades-row, #all-grades-purchase-row");
|
||||
const individualGradeRows = document.querySelectorAll(".individual-grade-row");
|
||||
const gradSetAllRadio = document.getElementById("gradSetAll");
|
||||
const gradSetDistinctRadio = document.getElementById("gradSet");
|
||||
|
||||
// Function to toggle visibility
|
||||
function toggleRows() {
|
||||
if (gradSetAllRadio.checked) {
|
||||
allGradesRows.forEach(row => row.style.display = "");
|
||||
individualGradeRows.forEach(row => row.style.display = "none");
|
||||
} else {
|
||||
allGradesRows.forEach(row => row.style.display = "none");
|
||||
individualGradeRows.forEach(row => row.style.display = "");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Event listeners
|
||||
gradSetAllRadio.addEventListener("change", toggleRows);
|
||||
gradSetDistinctRadio.addEventListener("change", toggleRows);
|
||||
|
||||
// Initial toggle
|
||||
toggleRows();
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
</script>
|
||||
<div id="purchase-limit" class="modal" style="max-width: 760px;">
|
||||
<div class="modal-header">
|
||||
<h4>구매 대상자 제한 설정</h4>
|
||||
</div>
|
||||
<div class="modal-content">
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 15%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<form>
|
||||
<c:choose>
|
||||
<c:when test="${not empty resultMap.trgterLmttList.none}">
|
||||
<input type="hidden" name="goodsTrgterLmttInnb_none" id="goodsTrgterLmttInnb_none" value="<c:out value="${resultMap.trgterLmttList.none.goodsTrgterLmttInnb}" default="0"/> ">
|
||||
<tr class="goods-trget-dv-list">
|
||||
<th rowspan="2" colspan="2">비회원</th>
|
||||
<td>
|
||||
<div class="td-inner price-limit-container">
|
||||
<div class="b-checkbox-container my-5">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" id="pricRplcWordsUseAt_none" name="pricRplcWordsUseAt_none" <c:if test="${resultMap.trgterLmttList.none.pricRplcWordsUseAt eq 'Y'}"> checked </c:if> >
|
||||
<span class="check"></span>
|
||||
<span class="control-label">가격제한</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 23%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>가격 대체 문구</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text price-limit-input" type="text" title="해당 인풋에 대한 설명" id="pricRplcWords_none" name="pricRplcWords_none"
|
||||
value="${resultMap.trgterLmttList.none.pricRplcWords}"
|
||||
<c:if test="${resultMap.trgterLmttList.none.pricRplcWordsUseAt ne 'Y'}"> disabled </c:if>
|
||||
>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>링크 연결</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text" type="text" title="해당 인풋에 대한 설명" id="pricRplcLink_none" name="pricRplcLink_none" value="${resultMap.trgterLmttList.none.pricRplcLink}" <c:if test="${resultMap.trgterLmttList.none.pricRplcWordsUseAt ne 'Y'}"> disabled </c:if> >
|
||||
<div class="select-box">
|
||||
<select class="short" title="해당 셀렉트에 대한 설명" name="pricRplcLinkDvCd_none" id="pricRplcLinkDvCd_none" <c:if test="${resultMap.trgterLmttList.none.pricRplcWordsUseAt ne 'Y'}"> disabled </c:if> >
|
||||
<c:forEach items="${resultMap.PrlcLinkDvList}" var="PrlcLinkDvList">
|
||||
<option value="${PrlcLinkDvList.cd}" <c:if test="${resultMap.trgterLmttList.none.pricRplcLinkDvCd eq PrlcLinkDvList.cd }"> selected </c:if> >${PrlcLinkDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select-box">
|
||||
<select class="short" title="해당 셀렉트에 대한 설명" id="pricRplcLinkBrwsrDvCd_none" name="pricRplcLinkBrwsrDvCd_none" <c:if test="${resultMap.trgterLmttList.none.pricRplcWordsUseAt ne 'Y'}"> disabled </c:if> >
|
||||
<c:forEach items="${resultMap.PrlcLinkBrwsrDvList}" var="PrlcLinkBrwsrDvList">
|
||||
<option value="${PrlcLinkBrwsrDvList.cd}" <c:if test="${resultMap.trgterLmttList.none.pricRplcLinkBrwsrDvCd eq PrlcLinkBrwsrDvList.cd }"> selected </c:if> >${PrlcLinkBrwsrDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="td-inner purchase-limit-container">
|
||||
<div class="b-checkbox-container my-5">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" id="buttonRplcWordsUseAt_none" name="buttonRplcWordsUseAt_none" <c:if test="${resultMap.trgterLmttList.none.buttonRplcWordsUseAt eq 'Y'}"> checked </c:if> >
|
||||
<span class="check"></span>
|
||||
<span class="control-label">구매제한</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 23%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>버튼 대체 문구</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text" type="text" id="buttonRplcWords_none" name="buttonRplcWords_none" title="해당 인풋에 대한 설명"
|
||||
value="${resultMap.trgterLmttList.none.buttonRplcWords}"
|
||||
<c:if test="${resultMap.trgterLmttList.none.buttonRplcWordsUseAt ne 'Y'}"> disabled </c:if>
|
||||
>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>링크 연결</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text" type="text" title="해당 인풋에 대한 설명" id="buttonRplcLink_none" name="buttonRplcLink_none" value="${resultMap.trgterLmttList.none.buttonRplcLink}" <c:if test="${resultMap.trgterLmttList.none.buttonRplcWordsUseAt ne 'Y'}"> disabled </c:if> >
|
||||
<div class="select-box">
|
||||
<select class="short" title="해당 셀렉트에 대한 설명" id="buttonRplcLinkDvCd_none" name="buttonRplcLinkDvCd_none" <c:if test="${resultMap.trgterLmttList.none.buttonRplcWordsUseAt ne 'Y'}"> disabled </c:if> >
|
||||
<c:forEach items="${resultMap.PrlcLinkDvList}" var="PrlcLinkDvList">
|
||||
<option value="${PrlcLinkDvList.cd}" <c:if test="${resultMap.trgterLmttList.none.buttonRplcLinkDvCd eq PrlcLinkDvList.cd }"> selected </c:if> >${PrlcLinkDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select-box">
|
||||
<select class="short" title="해당 셀렉트에 대한 설명" id="buttonRplcLinkBrwsrDvCd_none" name="buttonRplcLinkBrwsrDvCd_none" <c:if test="${resultMap.trgterLmttList.none.buttonRplcWordsUseAt ne 'Y'}"> disabled </c:if> >
|
||||
<c:forEach items="${resultMap.PrlcLinkBrwsrDvList}" var="PrlcLinkBrwsrDvList">
|
||||
<option value="${PrlcLinkBrwsrDvList.cd}" <c:if test="${resultMap.trgterLmttList.none.buttonRplcLinkBrwsrDvCd eq PrlcLinkBrwsrDvList.cd }"> selected </c:if> >${PrlcLinkBrwsrDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<input type="hidden" name="goodsTrgterLmttInnb_none" id="goodsTrgterLmttInnb_none" value="" >
|
||||
<tr class="goods-trget-dv-list">
|
||||
<th rowspan="2" colspan="2">비회원</th>
|
||||
<td>
|
||||
<div class="td-inner price-limit-container">
|
||||
<div class="b-checkbox-container my-5">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" id="pricRplcWordsUseAt_none" name="pricRplcWordsUseAt_none" >
|
||||
<span class="check"></span>
|
||||
<span class="control-label">가격제한</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 23%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>가격 대체 문구</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text price-limit-input" type="text" title="해당 인풋에 대한 설명" id="pricRplcWords_none" name="pricRplcWords_none"
|
||||
value="" disabled
|
||||
>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>링크 연결</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text" type="text" title="해당 인풋에 대한 설명" id="pricRplcLink_none" name="pricRplcLink_none" value="" disabled >
|
||||
<div class="select-box">
|
||||
<select class="short" title="해당 셀렉트에 대한 설명" name="pricRplcLinkDvCd_none" id="pricRplcLinkDvCd_none" disabled >
|
||||
<c:forEach items="${resultMap.PrlcLinkDvList}" var="PrlcLinkDvList">
|
||||
<option value="${PrlcLinkDvList.cd}" >${PrlcLinkDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select-box">
|
||||
<select class="short" title="해당 셀렉트에 대한 설명" id="pricRplcLinkBrwsrDvCd_none" name="pricRplcLinkBrwsrDvCd_none" disabled >
|
||||
<c:forEach items="${resultMap.PrlcLinkBrwsrDvList}" var="PrlcLinkBrwsrDvList">
|
||||
<option value="${PrlcLinkBrwsrDvList.cd}" >${PrlcLinkBrwsrDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="td-inner purchase-limit-container">
|
||||
<div class="b-checkbox-container my-5">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" id="buttonRplcWordsUseAt_none" name="buttonRplcWordsUseAt_none" >
|
||||
<span class="check"></span>
|
||||
<span class="control-label">구매제한</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 23%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>버튼 대체 문구</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text" type="text" id="buttonRplcWords_none" name="buttonRplcWords_none" title="해당 인풋에 대한 설명" value="" disabled>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>링크 연결</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text" type="text" title="해당 인풋에 대한 설명" id="buttonRplcLink_none" name="buttonRplcLink_none" value="" disabled >
|
||||
<div class="select-box">
|
||||
<select class="short" title="해당 셀렉트에 대한 설명" id="buttonRplcLinkDvCd_none" name="buttonRplcLinkDvCd_none" disabled >
|
||||
<c:forEach items="${resultMap.PrlcLinkDvList}" var="PrlcLinkDvList">
|
||||
<option value="${PrlcLinkDvList.cd}">${PrlcLinkDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select-box">
|
||||
<select class="short" title="해당 셀렉트에 대한 설명" id="buttonRplcLinkBrwsrDvCd_none" name="buttonRplcLinkBrwsrDvCd_none" disabled >
|
||||
<c:forEach items="${resultMap.PrlcLinkBrwsrDvList}" var="PrlcLinkBrwsrDvList">
|
||||
<option value="${PrlcLinkBrwsrDvList.cd}" >${PrlcLinkBrwsrDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<tr>
|
||||
<th class="border-right" rowspan="1" colspan="2">회원 등급 별 제한</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="custom-radio-container">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="gradSetAll" name="gradSet" value="all" <c:if test="${not empty resultMap.trgterLmttList.all or (empty resultMap.trgterLmttList.all and empty resultMap.trgterLmttList.member) }">checked</c:if> >
|
||||
<label for="gradSetAll">모든 등급 일괄 설정</label>
|
||||
</div>
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="gradSet" name="gradSet" value="distinct" <c:if test="${not empty resultMap.trgterLmttList.member}">checked</c:if> >
|
||||
<label for="gradSet">등급 별 설정</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<c:choose>
|
||||
<c:when test="${not empty resultMap.trgterLmttList.all}">
|
||||
<tr id="all-grades-row">
|
||||
<th rowspan="2" colspan="2">모든 등급</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container my-5">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" id="pricRplcWordsUseAt_all" name="pricRplcWordsUseAt_all" <c:if test="${resultMap.trgterLmttList.all.pricRplcWordsUseAt eq 'Y' }"> checked </c:if> >
|
||||
<span class="check"></span>
|
||||
<span class="control-label">가격제한</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 23%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>가격 대체 문구</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text" type="text" title="해당 인풋에 대한 설명" id="pricRplcWords_all" name="pricRplcWords_all"
|
||||
value="${resultMap.trgterLmttList.all.pricRplcWords}"
|
||||
<c:if test="${resultMap.trgterLmttList.all.pricRplcWordsUseAt ne 'Y'}"> disabled </c:if>
|
||||
>
|
||||
<input type="hidden" id="goodsTrgterLmttInnb_all" value="<c:out value="${resultMap.trgterLmttList.all.goodsTrgterLmttInnb}" default="0"/> ">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>링크 연결</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text" type="text" title="해당 인풋에 대한 설명" id="pricRplcLink_all" name="pricRplcLink_all"
|
||||
value="${resultMap.trgterLmttList.all.pricRplcLink}"
|
||||
<c:if test="${resultMap.trgterLmttList.all.pricRplcWordsUseAt ne 'Y'}"> disabled </c:if>
|
||||
>
|
||||
<div class="select-box">
|
||||
<select class="short" title="해당 셀렉트에 대한 설명" id="pricRplcLinkDvCd_all" name="pricRplcLinkDvCd_all"
|
||||
<c:if test="${resultMap.trgterLmttList.all.pricRplcWordsUseAt ne 'Y'}"> disabled </c:if>
|
||||
>
|
||||
<c:forEach items="${resultMap.PrlcLinkDvList}" var="PrlcLinkDvList">
|
||||
<option value="${PrlcLinkDvList.cd}" <c:if test="${resultMap.trgterLmttList.all.pricRplcLinkDvCd eq PrlcLinkDvList.cd }"> selected </c:if> >${PrlcLinkDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select-box">
|
||||
<select class="short" title="해당 셀렉트에 대한 설명" id="pricRplcLinkBrwsrDvCd_all" name="pricRplcLinkBrwsrDvCd_all"
|
||||
<c:if test="${resultMap.trgterLmttList.all.pricRplcWordsUseAt ne 'Y'}"> disabled </c:if> >
|
||||
<c:forEach items="${resultMap.PrlcLinkBrwsrDvList}" var="PrlcLinkBrwsrDvList">
|
||||
<option value="${PrlcLinkBrwsrDvList.cd}" <c:if test="${resultMap.trgterLmttList.all.pricRplcLinkBrwsrDvCd eq PrlcLinkBrwsrDvList.cd }"> selected </c:if> >${PrlcLinkBrwsrDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="all-grades-purchase-row">
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container my-5">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" id="buttonRplcWordsUseAt_all" name="buttonRplcWordsUseAt_all" <c:if test="${resultMap.trgterLmttList.all.buttonRplcWordsUseAt eq 'Y' }"> checked </c:if> >
|
||||
<span class="check"></span>
|
||||
<span class="control-label">구매제한</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 23%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>버튼 대체 문구</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text" type="text" id="buttonRplcWords_all" name="buttonRplcWords_all" title="해당 인풋에 대한 설명"
|
||||
value="${resultMap.trgterLmttList.all.buttonRplcWords}"
|
||||
<c:if test="${resultMap.trgterLmttList.all.buttonRplcWordsUseAt ne 'Y'}"> disabled </c:if>
|
||||
>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>링크 연결</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text" type="text" title="해당 인풋에 대한 설명" id="buttonRplcLink_all" name="buttonRplcLink_all"
|
||||
value="${resultMap.trgterLmttList.all.buttonRplcLink}" <c:if test="${resultMap.trgterLmttList.all.buttonRplcWordsUseAt ne 'Y'}"> disabled </c:if>
|
||||
>
|
||||
<div class="select-box">
|
||||
<select class="short" title="해당 셀렉트에 대한 설명" id="buttonRplcLinkDvCd_all" name="buttonRplcLinkDvCd_all" <c:if test="${resultMap.trgterLmttList.all.buttonRplcWordsUseAt ne 'Y'}"> disabled </c:if> >
|
||||
<c:forEach items="${resultMap.PrlcLinkDvList}" var="PrlcLinkDvList">
|
||||
<option value="${PrlcLinkDvList.cd}" <c:if test="${resultMap.trgterLmttList.all.buttonRplcLinkDvCd eq PrlcLinkDvList.cd }"> selected </c:if> >${PrlcLinkDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select-box">
|
||||
<select class="short" title="해당 셀렉트에 대한 설명" id="buttonRplcLinkBrwsrDvCd_all" name="buttonRplcLinkBrwsrDvCd_all" <c:if test="${resultMap.trgterLmttList.all.buttonRplcWordsUseAt ne 'Y'}"> disabled </c:if>>
|
||||
<c:forEach items="${resultMap.PrlcLinkBrwsrDvList}" var="PrlcLinkBrwsrDvList">
|
||||
<option value="${PrlcLinkBrwsrDvList.cd}" <c:if test="${resultMap.trgterLmttList.all.buttonRplcLinkBrwsrDvCd eq PrlcLinkBrwsrDvList.cd }"> selected </c:if> >${PrlcLinkBrwsrDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<tr id="all-grades-row">
|
||||
<th rowspan="2" colspan="2">모든 등급</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container my-5">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" id="pricRplcWordsUseAt_all" name="pricRplcWordsUseAt_all" >
|
||||
<span class="check"></span>
|
||||
<span class="control-label">가격제한</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 23%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>가격 대체 문구</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text" type="text" title="해당 인풋에 대한 설명" id="pricRplcWords_all" name="pricRplcWords_all" value="" disabled>
|
||||
<input type="hidden" id="goodsTrgterLmttInnb_all" value="" />
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>링크 연결</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text" type="text" title="해당 인풋에 대한 설명" id="pricRplcLink_all" name="pricRplcLink_all" value="" disabled>
|
||||
<div class="select-box">
|
||||
<select class="short" title="해당 셀렉트에 대한 설명" id="pricRplcLinkDvCd_all" name="pricRplcLinkDvCd_all" disabled>
|
||||
<c:forEach items="${resultMap.PrlcLinkDvList}" var="PrlcLinkDvList">
|
||||
<option value="${PrlcLinkDvList.cd}" >${PrlcLinkDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select-box">
|
||||
<select class="short" title="해당 셀렉트에 대한 설명" id="pricRplcLinkBrwsrDvCd_all" name="pricRplcLinkBrwsrDvCd_all" disabled>
|
||||
<c:forEach items="${resultMap.PrlcLinkBrwsrDvList}" var="PrlcLinkBrwsrDvList">
|
||||
<option value="${PrlcLinkBrwsrDvList.cd}" >${PrlcLinkBrwsrDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="all-grades-purchase-row">
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container my-5">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" id="buttonRplcWordsUseAt_all" name="buttonRplcWordsUseAt_all" >
|
||||
<span class="check"></span>
|
||||
<span class="control-label">구매제한</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 23%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>버튼 대체 문구</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text" type="text" id="buttonRplcWords_all" name="buttonRplcWords_all" title="해당 인풋에 대한 설명" value="" disabled>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>링크 연결</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text" type="text" title="해당 인풋에 대한 설명" id="buttonRplcLink_all" name="buttonRplcLink_all" value="" disabled>
|
||||
<div class="select-box">
|
||||
<select class="short" title="해당 셀렉트에 대한 설명" id="buttonRplcLinkDvCd_all" name="buttonRplcLinkDvCd_all" disabled >
|
||||
<c:forEach items="${resultMap.PrlcLinkDvList}" var="PrlcLinkDvList">
|
||||
<option value="${PrlcLinkDvList.cd}" >${PrlcLinkDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select-box">
|
||||
<select class="short" title="해당 셀렉트에 대한 설명" id="buttonRplcLinkBrwsrDvCd_all" name="buttonRplcLinkBrwsrDvCd_all" disabled>
|
||||
<c:forEach items="${resultMap.PrlcLinkBrwsrDvList}" var="PrlcLinkBrwsrDvList">
|
||||
<option value="${PrlcLinkBrwsrDvList.cd}" >${PrlcLinkBrwsrDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<c:choose>
|
||||
<c:when test="${not empty resultMap.trgterLmttList.member}">
|
||||
<c:forEach items="${resultMap.trgterLmttList.member}" var="memInfo" varStatus="status">
|
||||
<input type="hidden" id="mbrGradInnb" name="mbrGradInnb" value="<c:out value="${memInfo.mbrGradInnb}" default="0"/> ">
|
||||
<input type="hidden" name="goodsTrgterLmttInnb_mem${status.index}" value="<c:out value="${memInfo.goodsTrgterLmttInnb}" default="0"/> ">
|
||||
<tr class="individual-grade-row">
|
||||
<th rowspan="2" colspan="2" ><c:out value="${memInfo.mbrGradNm}"/> </th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container my-5">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input class= "gradSetAllChk_pric" type="checkbox" id="pricRplcWordsUseAt_${status.index}" name="pricRplcWordsUseAt_${status.index}" <c:if test="${memInfo.pricRplcWordsUseAt eq 'Y'}"> checked </c:if> >
|
||||
<span class="check"></span>
|
||||
<span class="control-label">가격제한</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 23%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>가격 대체 문구</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text price-limit-input gradSetAllChk_pric" type="text" title="해당 인풋에 대한 설명" id="pricRplcWords_${status.index}" name="pricRplcWords_${status.index}"
|
||||
value="<c:out value="${memInfo.pricRplcWords}"/> "
|
||||
<c:if test="${memInfo.pricRplcWordsUseAt ne 'Y'}"> disabled </c:if>
|
||||
>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>링크 연결</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text gradSetAllChk_pric" type="text" title="해당 인풋에 대한 설명" id="pricRplcLink_${status.index}" name="pricRplcLink_${status.index}" value="${memInfo.pricRplcLink}" <c:if test="${memInfo.pricRplcWordsUseAt ne 'Y'}"> disabled </c:if> >
|
||||
<div class="select-box">
|
||||
<select class="short gradSetAllChk_pric" title="해당 셀렉트에 대한 설명" id="pricRplcLinkDvCd_${status.index}" name="pricRplcLinkDvCd_${status.index}" <c:if test="${memInfo.pricRplcWordsUseAt ne 'Y'}"> disabled </c:if> >
|
||||
<c:forEach items="${resultMap.PrlcLinkDvList}" var="PrlcLinkDvList">
|
||||
<option value="${PrlcLinkDvList.cd}" <c:if test="${memInfo.pricRplcLinkDvCd eq PrlcLinkDvList.cd }"> selected </c:if> > <c:out value="${PrlcLinkDvList.cdNm}"/> </option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select-box">
|
||||
<select class="short gradSetAllChk_pric" title="해당 셀렉트에 대한 설명" id="pricRplcLinkBrwsrDvCd_${status.index}" name="pricRplcLinkBrwsrDvCd_${status.index}" <c:if test="${memInfo.pricRplcWordsUseAt ne 'Y'}"> disabled </c:if> >
|
||||
<c:forEach items="${resultMap.PrlcLinkBrwsrDvList}" var="PrlcLinkBrwsrDvList">
|
||||
<option value="${PrlcLinkBrwsrDvList.cd}" <c:if test="${memInfo.pricRplcLinkBrwsrDvCd eq PrlcLinkBrwsrDvList.cd }"> selected </c:if> >${PrlcLinkBrwsrDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="individual-grade-row">
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container my-5">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input class = "gradSetAllChk_btn" type="checkbox" id="buttonRplcWordsUseAt_${status.index}" name="buttonRplcWordsUseAt_${status.index}" <c:if test="${memInfo.buttonRplcWordsUseAt eq 'Y'}"> checked </c:if>>
|
||||
<span class="check"></span>
|
||||
<span class="control-label">구매제한</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 23%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>버튼 대체 문구</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text gradSetAllChk_btn" type="text" id="buttonRplcWords_${status.index}" name="buttonRplcWords_${status.index}" title="해당 인풋에 대한 설명"
|
||||
value="${memInfo.buttonRplcWords}"
|
||||
<c:if test="${memInfo.buttonRplcWordsUseAt ne 'Y'}"> disabled </c:if>
|
||||
>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>링크 연결</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text gradSetAllChk_btn" type="text" title="해당 인풋에 대한 설명" id="buttonRplcLink_${status.index}" name="buttonRplcLink_${status.index}" value="${memInfo.buttonRplcLink}" <c:if test="${memInfo.buttonRplcWordsUseAt ne 'Y'}"> disabled </c:if> >
|
||||
<div class="select-box">
|
||||
<select class="short gradSetAllChk_btn" title="해당 셀렉트에 대한 설명" id="buttonRplcLinkDvCd_${status.index}" name="buttonRplcLinkDvCd_${status.index}" <c:if test="${memInfo.buttonRplcWordsUseAt ne 'Y'}"> disabled </c:if>>
|
||||
<c:forEach items="${resultMap.PrlcLinkDvList}" var="PrlcLinkDvList">
|
||||
<option value="${PrlcLinkDvList.cd}" <c:if test="${memInfo.buttonRplcLinkDvCd eq PrlcLinkDvList.cd }"> selected </c:if> >${PrlcLinkDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select-box">
|
||||
<select class="short gradSetAllChk_btn" title="해당 셀렉트에 대한 설명" id="buttonRplcLinkBrwsrDvCd_${status.index}" name="buttonRplcLinkBrwsrDvCd_${status.index}" <c:if test="${memInfo.buttonRplcWordsUseAt ne 'Y'}"> disabled </c:if> >
|
||||
<c:forEach items="${resultMap.PrlcLinkBrwsrDvList}" var="PrlcLinkBrwsrDvList">
|
||||
<option value="${PrlcLinkBrwsrDvList.cd}" <c:if test="${memInfo.buttonRplcLinkBrwsrDvCd eq PrlcLinkBrwsrDvList.cd }"> selected </c:if> >${PrlcLinkBrwsrDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<c:forEach items="${resultMap.gradList}" var="member" varStatus="status">
|
||||
<input type="hidden" id="mbrGradInnb" name="mbrGradInnb" value="${member.mbrGradInnb}">
|
||||
<input type="hidden" name="goodsTrgterLmttInnb_mem${status.index}" value="0">
|
||||
<tr class="individual-grade-row">
|
||||
<th rowspan="2" colspan="2" >${member.mbrGradNm}</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container my-5">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input class= "gradSetAllChk_pric" type="checkbox" id="pricRplcWordsUseAt_${status.index}" name="pricRplcWordsUseAt_${status.index}">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">가격제한</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 23%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>가격 대체 문구</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text price-limit-input gradSetAllChk_pric" type="text" title="해당 인풋에 대한 설명" id="pricRplcWords_${status.index}" name="pricRplcWords_${status.index}"
|
||||
value="" disabled>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>링크 연결</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text gradSetAllChk_pric" type="text" title="해당 인풋에 대한 설명" id="pricRplcLink_${status.index}" name="pricRplcLink_${status.index}" value="" disabled>
|
||||
<div class="select-box">
|
||||
<select class="short gradSetAllChk_pric" title="해당 셀렉트에 대한 설명" id="pricRplcLinkDvCd_${status.index}" name="pricRplcLinkDvCd_${status.index}" disabled >
|
||||
<c:forEach items="${resultMap.PrlcLinkDvList}" var="PrlcLinkDvList">
|
||||
<option value="${PrlcLinkDvList.cd}" >${PrlcLinkDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select-box">
|
||||
<select class="short gradSetAllChk_pric" title="해당 셀렉트에 대한 설명" id="pricRplcLinkBrwsrDvCd_${status.index}" name="pricRplcLinkBrwsrDvCd_${status.index}" disabled >
|
||||
<c:forEach items="${resultMap.PrlcLinkBrwsrDvList}" var="PrlcLinkBrwsrDvList">
|
||||
<option value="${PrlcLinkBrwsrDvList.cd}" >${PrlcLinkBrwsrDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="individual-grade-row">
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container my-5">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input class = "gradSetAllChk_btn" type="checkbox" id="buttonRplcWordsUseAt_${status.index}" name="buttonRplcWordsUseAt_${status.index}" >
|
||||
<span class="check"></span>
|
||||
<span class="control-label">구매제한</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 23%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>버튼 대체 문구</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text gradSetAllChk_btn" type="text" id="buttonRplcWords_${status.index}" name="buttonRplcWords_${status.index}" title="해당 인풋에 대한 설명"
|
||||
value="" disabled>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>링크 연결</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text gradSetAllChk_btn" type="text" title="해당 인풋에 대한 설명" id="buttonRplcLink_${status.index}" name="buttonRplcLink_${status.index}" value="" disabled >
|
||||
<div class="select-box">
|
||||
<select class="short gradSetAllChk_btn" title="해당 셀렉트에 대한 설명" id="buttonRplcLinkDvCd_${status.index}" name="buttonRplcLinkDvCd_${status.index}" disabled>
|
||||
<c:forEach items="${resultMap.PrlcLinkDvList}" var="PrlcLinkDvList">
|
||||
<option value="${PrlcLinkDvList.cd}" >${PrlcLinkDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select-box">
|
||||
<select class="short gradSetAllChk_btn" title="해당 셀렉트에 대한 설명" id="buttonRplcLinkBrwsrDvCd_${status.index}" name="buttonRplcLinkBrwsrDvCd_${status.index}" disabled>
|
||||
<c:forEach items="${resultMap.PrlcLinkBrwsrDvList}" var="PrlcLinkBrwsrDvList">
|
||||
<option value="${PrlcLinkBrwsrDvList.cd}" >${PrlcLinkBrwsrDvList.cdNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</form>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="#" rel="modal:close" class="btn outline">취소</a>
|
||||
<button class="btn primary" onclick="fn_save_purchase_limmit(); return false;">확인</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="/admin/js/script.js" defer=""></script>
|
||||
@@ -0,0 +1,386 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
|
||||
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
|
||||
|
||||
<%--
|
||||
Class Name : GoodsSrchPopupForm.jsp
|
||||
Description : 상품 검색 팝업 폼
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
since : 2024-06-03
|
||||
--%>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
fn_set_niceSelect_datePicker('.select-box')
|
||||
|
||||
var goodsKndCd = $('input[name="goodsKndCd"]').val();
|
||||
var selectedArea = $('#selectedArea').val();
|
||||
|
||||
$('#popupListForm').on('keydown', function (event) {
|
||||
if (event.keyCode === 13) {
|
||||
event.preventDefault();
|
||||
fn_goods_search_popup_list(1);
|
||||
}
|
||||
});
|
||||
const cdnurl = $('#cdnurl').val()
|
||||
|
||||
|
||||
|
||||
if (goodsKndCd === "01") {
|
||||
$('#title').text('상품 검색');
|
||||
selected.forEach(function(good) {
|
||||
var row = `
|
||||
<tr id="choiseListId` + good.goodsId + `" class="draggable" ondblclick="fn_remove_append_goods_list(this)">
|
||||
<td class="text-left">
|
||||
<input type="hidden" id="goodsInnb" name="goodsInnb" value="` + good.goodsId + `"/>
|
||||
<input type="hidden" id="goodsImgCours" name="goodsImgCours" value="` + good.goodsImg + `"/>
|
||||
<input type="hidden" id="goodsNm" name="goodsNm" value="` + good.goodsNm + `"/>
|
||||
<input type="hidden" id="slepric" name="slepric" value="` + good.goodsPrice + `"/>
|
||||
<input type="hidden" id="goodsSttusNm" name="goodsSttusNm" value="` + good.goodsSttusNm + `"/>
|
||||
<input type="hidden" id="expsrNm" name="expsrNm" value="` + good.expsrNm + `"/>
|
||||
<div class="product-search-box__product">
|
||||
<img src="` + good.goodsImg + `"
|
||||
onerror="this.src='<c:url value="/mngr/images/image_placeholder.png"/>'"
|
||||
alt="` + good.goodsNm + `" width="64">
|
||||
` + good.goodsNm + `
|
||||
</div>
|
||||
</td>
|
||||
<td>` + fn_format_comma(good.goodsPrice) + `</td>
|
||||
<td>` + good.goodsSttusNm + ' (' + good.expsrNm + ')' + `</td>
|
||||
</tr>
|
||||
`;
|
||||
$('#appendList').append(row);
|
||||
|
||||
});
|
||||
} else if (goodsKndCd === "02") {
|
||||
$('#title').text('사은품 검색');
|
||||
|
||||
if (!fn_is_empty(giftSelectionData[selectedArea])) {
|
||||
giftSelectionData[selectedArea].forEach(function (good) {
|
||||
var row = `
|
||||
<tr id="choiseListId` + good.goodsId + `" class="draggable" ondblclick="fn_remove_append_goods_list(this)">
|
||||
<td class="text-left">
|
||||
<input type="hidden" id="prsntInnb" name="prsntInnb" value="` + good.prsntInnb + `"/>
|
||||
<input type="hidden" id="goodsInnb" name="goodsInnb" value="` + good.goodsId + `"/>
|
||||
<input type="hidden" id="goodsImgCours" name="goodsImgCours" value="` + good.goodsImg + `"/>
|
||||
<input type="hidden" id="goodsNm" name="goodsNm" value="` + good.goodsNm + `"/>
|
||||
<input type="hidden" id="slepric" name="slepric" value="` + good.goodsPrice + `"/>
|
||||
<input type="hidden" id="goodsSttusNm" name="goodsSttusNm" value="` + good.goodsSttusNm + `"/>
|
||||
<div class="product-search-box__product">
|
||||
<img src="` + good.goodsImg + `"
|
||||
onerror="this.src='<c:url value="/mngr/images/image_placeholder.png"/>'"
|
||||
alt="` + good.goodsNm + `" width="64">
|
||||
` + good.goodsNm + `
|
||||
</div>
|
||||
</td>
|
||||
<td>` + good.goodsPrice + `</td>
|
||||
<td>` + good.goodsSttusNm + `</td>
|
||||
</tr>
|
||||
`;
|
||||
$('#appendList').append(row);
|
||||
});
|
||||
} else {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//드래그 초기화
|
||||
initializeTableDnD();
|
||||
|
||||
/* 검색조건 > 노출여부 선택 이벤트 */
|
||||
$(document).off('click', 'input[name="expsrCd"]').on('click', 'input[name="expsrCd"]', function () {
|
||||
const sttus = $(this).val();
|
||||
const popup = $('product-search');
|
||||
const checkbox = $(popup).find('input[name="expsrCd"]');
|
||||
const all = $(popup).find('input[name="expsrCd"][value=""]')
|
||||
|
||||
if (fn_is_empty(sttus)) {
|
||||
$(checkbox).prop('checked', false);
|
||||
|
||||
$(this).prop('checked', true);
|
||||
} else {
|
||||
$(all).prop('checked', false);
|
||||
|
||||
const length = $(popup).find('input[name="expsrCd"]:checked').length;
|
||||
|
||||
if (2 < length) {
|
||||
$(checkbox).prop('checked', false);
|
||||
|
||||
$(all).prop('checked', true);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
fn_goods_search_popup_list(1);
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
/* 검색조건 > 카테고리 선택 이벤트 */
|
||||
$(document).on('change', '.ctgry', function () {
|
||||
|
||||
const upperCtgryId = $(this).val(); // 상위카테고리
|
||||
const currCtgryDepth = $(this).attr('id').replace('ctgryDepth', '');
|
||||
const targetDepth = (parseInt(currCtgryDepth) + 1);
|
||||
const targetCtgryId = 'ctgryDepth' + targetDepth;
|
||||
|
||||
|
||||
/* ****************************
|
||||
* 카테고리 목록 조회 AJAX
|
||||
******************************/
|
||||
const fn_get_goods_ctgry = function (upperCtgryId, targetCtgryId) {
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url: '<c:url value="/admin/sys/ctgry/selectGoodsCategoryList"/>',
|
||||
data: {
|
||||
'upperCtgryId': upperCtgryId
|
||||
},
|
||||
success: function (data) {
|
||||
if (data.resBody != null) {
|
||||
const result = JSON.parse(data.resBody.result);
|
||||
const goodsCategoryList = result.goodsCategoryList;
|
||||
|
||||
if (goodsCategoryList.length > 0) {
|
||||
for (let i = 0; i < goodsCategoryList.length; i++) {
|
||||
const goodsCategory = goodsCategoryList[i];
|
||||
$('#search-section').find('#' + targetCtgryId).append('<option value="' + goodsCategory.ctgryId + '">' + goodsCategory.ctgryNm + '</option>');
|
||||
}
|
||||
$('#search-section').find('#' + targetCtgryId).niceSelect('update');
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (fn_is_empty(upperCtgryId)) {
|
||||
for (let i = targetDepth; i < 5; i++) {
|
||||
$('#search-section').find('#ctgryDepth' + i).empty().append('<option value="">' + i + '차 카테고리</option>').niceSelect('update');
|
||||
}
|
||||
} else {
|
||||
fn_get_goods_ctgry(upperCtgryId, targetCtgryId);
|
||||
}
|
||||
|
||||
$('#search-section').find('#ctgryId').val(upperCtgryId);
|
||||
});
|
||||
|
||||
|
||||
//카테고리 선택시 카테고리 아이디 저장(검색용)
|
||||
$(document).on('change', 'select[id^=ctgryDepth]', function () {
|
||||
const ctgryOptn = $(this).val()
|
||||
|
||||
if(!fn_is_empty(ctgryOptn)){
|
||||
$('#ctgryId').val(ctgryOptn)
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
|
||||
;
|
||||
|
||||
// 같은 컨테이너 안의 체크박스 전체 선택
|
||||
var containerCheckAll = $(".b-checkbox-container .check-all > input[type=checkbox]");
|
||||
containerCheckAll.click(function () {
|
||||
var checkbox = $(this).closest(".b-checkbox-container").find("input[type=checkbox]");
|
||||
checkAllCheckBoxes($(this), checkbox);
|
||||
});
|
||||
|
||||
function checkAll(){
|
||||
const chkAll = $('#srchStatusCheckboxAll')
|
||||
const checkbox = chkAll.closest(".b-checkbox-container").find('input[type="checkbox"]');
|
||||
|
||||
checkAllCheckBoxes(chkAll, checkbox);
|
||||
}
|
||||
|
||||
</script>
|
||||
<div id="product-search" class="modal" style="max-width: 1200px;">
|
||||
<div class="modal-header">
|
||||
<h4 id="title"></h4>
|
||||
</div>
|
||||
<div class="modal-content">
|
||||
<form id="popupListForm" name="popupListForm">
|
||||
<input type="hidden" name="goodsKndCd" value="${resultMap.BOGoodsVO.goodsKndCd}">
|
||||
<input type="hidden" id="selectedArea" value="${ paramVO.selectedArea}">
|
||||
<input type="hidden" id="ctgryId" name="ctgryId" />
|
||||
<spring:eval expression="@environment.getProperty('mngrfo.common.fileupload.cdnurl')" var="cdnurl"/>
|
||||
<input type="hidden" id="cdnurl" value="${cdnurl}"/>
|
||||
<div class="table-wrapper">
|
||||
<table class="table" id="resetTargetArea">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 38%;">
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 38%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>검색어</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<input type="text" name="kwrd" class="input-text full" title="검색어" placeholder="상품명, 상품설명, 상품코드, 키워드, 간략설명">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>판매상태</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox check-all">
|
||||
<input type="checkbox" name="goodsDftinfoSttus" value="" id="srchStatusCheckboxAll" onclick="checkAll();">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">전체</span>
|
||||
</label>
|
||||
<c:forEach items="${resultMap.goodsDftinfoSttusList}" var="goodsDftinfoSttus" varStatus="status">
|
||||
<label class="b-checkbox checkbox">
|
||||
<c:choose>
|
||||
<c:when test="${status.first }">
|
||||
<input type="checkbox" class="srchStatusCheckbox" name="goodsDftinfoSttus" value="${goodsDftinfoSttus.cd}" onchange="fn_ctr_pCheckbox('#srchStatusCheckboxAll', '.srchStatusCheckbox');" checked>
|
||||
<span class="check"></span>
|
||||
<span class="control-label">${goodsDftinfoSttus.cdNm}</span>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<input type="checkbox" class="srchStatusCheckbox" name="goodsDftinfoSttus" value="${goodsDftinfoSttus.cd}" onchange="fn_ctr_pCheckbox('#srchStatusCheckboxAll', '.srchStatusCheckbox');">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">${goodsDftinfoSttus.cdNm}</span>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</label>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<th>노출여부</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="custom-radio-container">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="expsrDvCd"
|
||||
name="expsrDvCd" value="">
|
||||
<label for="expsrDvCd">전체</label>
|
||||
</div>
|
||||
<c:forEach items="${resultMap.expsrCdList}" var="expsrCdList" varStatus="status">
|
||||
<div class="custom-radio">
|
||||
<c:choose>
|
||||
<c:when test="${status.first}">
|
||||
<input type="radio" id="expsr${status.count}" name="expsrDvCd" value="${expsrCdList.cd}" checked>
|
||||
<label for="expsr${status.count}">${expsrCdList.cdNm}</label>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<input type="radio" id="expsr${status.count}" name="expsrDvCd" value="${expsrCdList.cd}">
|
||||
<label for="expsr${status.count}">${expsrCdList.cdNm}</label>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>카테고리</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<div class="input-container gap-4" id="search-section">
|
||||
<div class="select-box">
|
||||
<select id="ctgryDepth1" class="ctgry" title="1차 카테고리">
|
||||
<option value="">1차 카테고리</option>
|
||||
<c:forEach items="${resultMap.goodsCategoryList}" var="goodsCategory" varStatus="status">
|
||||
<option value="${goodsCategory.ctgryId}">${goodsCategory.ctgryNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select-box">
|
||||
<select id="ctgryDepth2" class="ctgry" title="2차 카테고리">
|
||||
<option value="">2차 카테고리</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select-box">
|
||||
<select id="ctgryDepth3" class="ctgry" title="3차 카테고리">
|
||||
<option value="">3차 카테고리</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="select-box">
|
||||
<select id="ctgryDepth4" class="ctgry" title="4차 카테고리">
|
||||
<option value="">4차 카테고리</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="form-control-container">
|
||||
<div class="left"></div>
|
||||
<div class="center">
|
||||
<button class="btn outline" id="resetBtn" type="button" onclick="fn_reset_form('resetTargetArea');">초기화</button>
|
||||
<button class="btn primary" id="searchBtn" type="button" onclick="fn_goods_search_popup_list(1); return false;">검색</button>
|
||||
</div>
|
||||
<div class="right"></div>
|
||||
</div>
|
||||
<input type="hidden" id="pageIndex" name="pageIndex" value="1"/>
|
||||
<input type="hidden" id="pageUnit" name="pageUnit" value="10"/>
|
||||
</form>
|
||||
|
||||
<div class="product-search-box">
|
||||
<div id="goodsList" class="table-wrapper left">
|
||||
</div>
|
||||
|
||||
<div class="table-wrapper right">
|
||||
<div class="form-control-container mb-5">
|
||||
<div class="left">
|
||||
<h3 class="content-section__inner-title mb-0">선택된 상품</h3>
|
||||
</div>
|
||||
<div class="center">
|
||||
</div>
|
||||
<div class="right">
|
||||
<p class="info-oneline"><i class="icon icon_info"></i>상품을 "더블클릭"하면 제외됩니다.
|
||||
</div>
|
||||
</div>
|
||||
<table class="table vertical tight draggable">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col>
|
||||
<col style="width: 16%;">
|
||||
<col style="width: 16%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>상품명</th>
|
||||
<th>판매가</th>
|
||||
<th>판매상태</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody id="appendList">
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a rel="modal:close" class="btn outline">취소</a>
|
||||
<button class="btn primary" rel="modal:close"
|
||||
<c:choose>
|
||||
<c:when test="${resultMap.BOGoodsVO.goodsKndCd eq '01'}">
|
||||
onclick="fn_select_goods_search(); return false;"
|
||||
</c:when>
|
||||
<c:when test="${resultMap.BOGoodsVO.goodsKndCd eq '02'}">
|
||||
onclick="fn_select_goods_search_evt('<c:out value="${ paramVO.selectedArea}"/>'); return false;"
|
||||
</c:when>
|
||||
</c:choose>
|
||||
>확인</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,183 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
|
||||
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
|
||||
|
||||
<%--
|
||||
Class Name : GoodsSrchPopupListR.jsp
|
||||
Description : 상품 검색 팝업 리스트
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
since : 2024-06-03
|
||||
--%>
|
||||
<script>
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
var selectedGoods = []; // 중복체크하기 위한 배열
|
||||
|
||||
$('#appendList tr').each(function() {
|
||||
const goodsId = $(this).attr('id').replace('choiseListId', '');
|
||||
const goodsImg = $(this).find('input[name="goodsImgCours"]').val();
|
||||
const goodsNm = $(this).find('input[name="goodsNm"]').val();
|
||||
const goodsPrice = $(this).find('input[name="slepric"]').val();
|
||||
const goodsSttusNm = $(this).find('input[name="goodsSttusNm"]').val();
|
||||
const expsrNm = $(this).find('input[name="expsrNm"]').val();
|
||||
|
||||
if (goodsId) {
|
||||
selectedGoods.push({
|
||||
goodsId: goodsId,
|
||||
goodsImg: goodsImg,
|
||||
goodsNm: goodsNm,
|
||||
goodsPrice: goodsPrice,
|
||||
goodsSttusNm: goodsSttusNm,
|
||||
expsrNm: expsrNm
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
$(document).off('dblclick', '.searchList').on('dblclick', '.searchList', function() {
|
||||
|
||||
var copyTr = $(this).clone();
|
||||
|
||||
var goodsId = $(this).find('input[name="goodsInnb"]').val();
|
||||
var goodsImg = $(this).find('input[name="goodsImgCours"]').val();
|
||||
var goodsNm = $(this).find('input[name="goodsNm"]').val();
|
||||
var goodsPrice = $(this).find('input[name="slepric"]').val();
|
||||
var goodsSttusNm = $(this).find('input[name="goodsSttusNm"]').val();
|
||||
var expsrNm = $(this).find('input[name="expsrNm"]').val();
|
||||
|
||||
var isDuplicate = $("#appendList").find('#choiseListId' + goodsId).length > 0;
|
||||
|
||||
copyTr.attr('id', 'choiseListId' + goodsId);
|
||||
copyTr.attr('ondblclick', 'fn_remove_append_goods_list(this)');
|
||||
copyTr.attr('class', 'draggable');
|
||||
|
||||
// 배열에 값이 없을 경우 실행
|
||||
if (!isSelected(goodsId) && !isDuplicate) {
|
||||
|
||||
function initializeTableDnD() {
|
||||
if ($(".table.draggable").length > 0) {
|
||||
$(".table.draggable").tableDnD({
|
||||
onDragClass: "dragging",
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
$("#appendList").append(copyTr);
|
||||
|
||||
initializeTableDnD();
|
||||
|
||||
selectedGoods.push({
|
||||
goodsId: goodsId,
|
||||
goodsImg: goodsImg,
|
||||
goodsNm: goodsNm,
|
||||
goodsPrice: goodsPrice,
|
||||
goodsSttusNm: goodsSttusNm,
|
||||
expsrNm: expsrNm
|
||||
});
|
||||
} else if (isSelected(goodsId)){
|
||||
alert("이미 선택된 상품입니다.");
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* 선택된 상품 제거 함수
|
||||
*/
|
||||
function fn_remove_append_goods_list(element) {
|
||||
var dynamicId = $(element).attr('id');
|
||||
var goodsId = dynamicId.replace('choiseListId', '');
|
||||
|
||||
$("#appendList #" + dynamicId).remove();
|
||||
|
||||
// 선택된 상품 배열에서 제거
|
||||
selectedGoods = selectedGoods.filter(function(good) {
|
||||
return good.goodsId !== goodsId;
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 중복 체크 함수
|
||||
*/
|
||||
function isSelected(goodsId) {
|
||||
return selectedGoods.some(function(good) {
|
||||
return good.goodsId === goodsId;
|
||||
});
|
||||
}
|
||||
|
||||
// fn_remove_list 함수를 전역 스코프로 선언
|
||||
window.fn_remove_append_goods_list = fn_remove_append_goods_list;
|
||||
|
||||
});
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<div class="form-control-container mb-5">
|
||||
<div class="left">
|
||||
<h3 class="content-section__inner-title mb-0">검색된 상품</h3>
|
||||
</div>
|
||||
<div class="center">
|
||||
</div>
|
||||
<div class="right">
|
||||
<p class="info-oneline"><i class="icon icon_info"></i>상품을 "더블클릭"하면 추가됩니다.
|
||||
</div>
|
||||
</div>
|
||||
<table class="table vertical tight">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col>
|
||||
<col style="width: 16%;">
|
||||
<col style="width: 16%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>상품명</th>
|
||||
<th>판매가</th>
|
||||
<th>판매상태</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.list }">
|
||||
<spring:eval expression="@environment.getProperty('mngrfo.common.fileupload.cdnurl')" var="cdnurl"/>
|
||||
<c:forEach items="${ resultMap.list }" var="list" varStatus="status">
|
||||
<tr class="searchList">
|
||||
<td class="text-left">
|
||||
<input type="hidden" id="goodsInnb" name="goodsInnb" value="<c:out value="${ list.goodsInnb }"/>"/>
|
||||
<input type="hidden" id="goodsImgCours" name="goodsImgCours" value="<c:out value="${cdnurl}${ list.goodsImgCours }"/>"/>
|
||||
<input type="hidden" id="goodsNm" name="goodsNm" value="<c:out value="${ list.goodsNm }"/>"/>
|
||||
<input type="hidden" id="slepric" name="slepric" value="<fmt:parseNumber value="${ list.slepric }"/>"/>
|
||||
<input type="hidden" id="goodsSttusNm" name="goodsSttusNm" value="<c:out value="${ list.goodsSttusNm }"/>"/>
|
||||
<input type="hidden" id="expsrNm" name="expsrNm" value="<c:out value="${ list.expsrNm }"/>"/>
|
||||
<div class="product-search-box__product">
|
||||
<img src="<c:out value="${cdnurl}${list.goodsImgCours}"/> "
|
||||
onerror="this.src='<c:url value="/mngr/images/image_placeholder.png"/>'"
|
||||
alt="${list.goodsNm}" width="64">
|
||||
${list.goodsNm}
|
||||
</div>
|
||||
</td>
|
||||
<td>${list.slepric} </td>
|
||||
<td>${list.goodsSttusNm} (${list.expsrNm})</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<tr>
|
||||
<td colspan="100%"><spring:message code="common.nodata"/></td>
|
||||
</tr>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<div class="pagination__container">
|
||||
<ui:pagination paginationInfo="${resultMap.paginationInfo}" type="image" jsFunction="fn_goods_search_popup_list" />
|
||||
</div>
|
||||
@@ -0,0 +1,674 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%--
|
||||
Class Name : MarktMbrSrchPopupR.jsp
|
||||
Description : 이메일 수동 발송
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-01-23 김혜인 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>GC ONE 통합 관리자</title>
|
||||
<%-- 공통 include --%>
|
||||
<%@ include file="/WEB-INF/views/comm/mngr/Include.jsp"%>
|
||||
</head>
|
||||
<script>
|
||||
// ----- 검색 닫기 ----- //
|
||||
var windowPopSectionContent = $('.windowPop-sectionContent');
|
||||
|
||||
windowPopSectionClose.on('click', function (e) {
|
||||
e.preventDefault();
|
||||
if (windowPopSectionClose.hasClass('closed')) {
|
||||
windowPopSectionContent.show();
|
||||
windowPopSectionClose.removeClass('closed');
|
||||
windowPopSectionClose.text('검색닫기');
|
||||
return;
|
||||
}
|
||||
windowPopSectionContent.hide();
|
||||
windowPopSectionClose.addClass('closed');
|
||||
windowPopSectionClose.text('검색열기');
|
||||
});
|
||||
</script>
|
||||
<body>
|
||||
<div class="windowPop-wrapper">
|
||||
<section class="content-section">
|
||||
<div class="table-wrapper windowPop-sectionContent">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 23%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>검색어</th>
|
||||
<td colspan="4">
|
||||
<div class="td-inner">
|
||||
<input class="input-text xl" type="text" title="해당 인풋에 대한 설명"
|
||||
placeholder="주문번호,주문자명,입금자명,아이디,휴대전화,이메일,수령자명,휴대전화,상품명,상품번호">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="search-hide">
|
||||
<th>매장</th>
|
||||
<td colspan="4">
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select title="해당 셀렉트에 대한 설명">
|
||||
<option value="">매장1</option>
|
||||
<option value="">매장2</option>
|
||||
<option value="">매장2</option>
|
||||
<option value="">매장2</option>
|
||||
<option value="">뉴트리코어</option>
|
||||
<option value="">매장2</option>
|
||||
<option value="">매장2</option>
|
||||
<option value="">매장2</option>
|
||||
<option value="">매장2</option>
|
||||
<option value="">매장2</option>
|
||||
<option value="">매장2</option>
|
||||
<option value="">매장2</option>
|
||||
<option value="">매장2</option>
|
||||
<option value="">매장2</option>
|
||||
<option value="">매장2</option>
|
||||
<option value="">매장2</option>
|
||||
<option value="">매장2</option>
|
||||
<option value="">매장2</option>
|
||||
<option value="">매장2</option>
|
||||
<option value="">매장2</option>
|
||||
<option value="">매장2</option>
|
||||
<option value="">매장2</option>
|
||||
<option value="">매장2</option>
|
||||
<option value="">매장2</option>
|
||||
<option value="">매장2</option>
|
||||
<option value="">매장2</option>
|
||||
<option value="">매장2</option>
|
||||
<option value="">매장2</option>
|
||||
<option value="">매장2</option>
|
||||
<option value="">매장2</option>
|
||||
</select>
|
||||
</div>
|
||||
<input disabled class="input-text" type="text" title="해당 인풋에 대한 설명" value="매장1">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="search-hide">
|
||||
<th>날짜</th>
|
||||
<td colspan="2">
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select title="해당 셀렉트에 대한 설명">
|
||||
<option value="">시작일</option>
|
||||
<option value="">종료일</option>
|
||||
<option value="">등록일</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="input-container">
|
||||
<input type="text" id="datepicker_1" class="datepicker" title="시작 날짜 선택"
|
||||
autocomplete="off">
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" id="datepicker_2" class="datepicker" title="종료 날짜 선택"
|
||||
autocomplete="off">
|
||||
</div>
|
||||
<div class="dateRange-btnContainer">
|
||||
<button class="dateRange-btn">어제</button>
|
||||
<button class="dateRange-btn">오늘</button>
|
||||
<button class="dateRange-btn">3일간</button>
|
||||
<button class="dateRange-btn">일주일</button>
|
||||
<button class="dateRange-btn">1개월</button>
|
||||
<button class="dateRange-btn">3개월</button>
|
||||
<button class="dateRange-btn">6개월</button>
|
||||
<button class="dateRange-btn selected">전체</button>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<th>리셀러의심</th>
|
||||
<td>
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">리셀러의심</span>
|
||||
</label>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="search-hide">
|
||||
<th>주문상태 (출고전)</th>
|
||||
<td colspan="4">
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container order-status-badge-container">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">
|
||||
<span class="order-status-badge recept">주문접수</span>
|
||||
</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">
|
||||
<span class="order-status-badge confirm">결제확인</span>
|
||||
</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">
|
||||
<span class="order-status-badge prep">상품준비</span>
|
||||
</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">
|
||||
<span class="order-status-badge gray">결제취소</span>
|
||||
</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">
|
||||
<span class="order-status-badge gray">주문무효</span>
|
||||
</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">
|
||||
<span class="order-status-badge gray">결제실패</span>
|
||||
</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">전체</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="search-hide">
|
||||
<th>주문상태 (출고후)</th>
|
||||
<td colspan="4">
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container order-status-badge-container">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">
|
||||
<span class="order-status-badge delivery">부분배송중</span>
|
||||
</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">
|
||||
<span class="order-status-badge delivery">배송중</span>
|
||||
</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">
|
||||
<span class="order-status-badge complete">부분배송완료</span>
|
||||
</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">
|
||||
<span class="order-status-badge complete">배송완료</span>
|
||||
</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">전체</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="search-hide">
|
||||
<th>주문환경</th>
|
||||
<td colspan="4">
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">PC</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">모바일/태블릿</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">전화</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">TM주문</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">TM출고</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">TM결제</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">가맹(POS)</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">직영(POS)</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">유통(POS)</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="search-hide">
|
||||
<th>배송예정</th>
|
||||
<td colspan="4">
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select title="해당 셀렉트에 대한 설명">
|
||||
<option value="">희망배송일</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="input-container">
|
||||
<input type="text" id="datepicker_3" class="datepicker" title="시작 날짜 선택"
|
||||
autocomplete="off">
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" id="datepicker_4" class="datepicker" title="종료 날짜 선택"
|
||||
autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="search-hide">
|
||||
<th>배송방법</th>
|
||||
<td colspan="1">
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">택배</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">직접배송</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">프레쉬배송</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<th>주문유형</th>
|
||||
<td colspan="2">
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">
|
||||
<i class="icon icon_word-badge01"></i>
|
||||
관리자주문</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">
|
||||
<i class="icon icon_word-badge02"></i>
|
||||
개인결제</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">
|
||||
<i class="icon icon_gift-badge"></i>
|
||||
선물하기</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">여러곳배송</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">정기배송</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="search-hide">
|
||||
<th>주문결제</th>
|
||||
<td colspan="1">
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container vertical mr-15">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">무통장</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">매장결제</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">수기결제</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="multi-select mr-2">
|
||||
<div class="multi-select__title">
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox check-all">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">모든 결제사</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="multi-select__inner">
|
||||
<div class="b-checkbox-container vertical">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">일반PG사</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">카카오페이</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">톡체크아웃</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">페이코</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">네이버페이 주문형</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">네이버페이 결제형</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">페이팔</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">엑심베이</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="multi-select">
|
||||
<div class="multi-select__title">
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox check-all">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">모든 결제수단</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="multi-select__inner">
|
||||
<div class="b-checkbox-container vertical">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">신용카드</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">휴대폰</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">계좌이체</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">에스크로계좌이체</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">포인트</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">후불결제</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<th>주문유입</th>
|
||||
<td colspan="2">
|
||||
<div class="td-inner">
|
||||
<div class="multi-select">
|
||||
<div class="multi-select__title">
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox check-all">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">모든 유입경로</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="multi-select__inner">
|
||||
<div class="b-checkbox-container vertical">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">인스타그램</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">직접입력</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">구글검색</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">네이버검색</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="form-control-container windowPop-sectionContent">
|
||||
<div class="left"></div>
|
||||
<div class="center">
|
||||
<button class="btn outline">초기화</button>
|
||||
<button class="btn primary">검색</button>
|
||||
</div>
|
||||
<div class="right">
|
||||
<button class="btn outline search-detail opened">상세검색</button>
|
||||
</div>
|
||||
</div>
|
||||
<button class="windowPop-sectionClose">검색닫기</button>
|
||||
</section>
|
||||
<section class="content-section">
|
||||
<div class="table-wrapper">
|
||||
<table class="table vertical">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<!-- 각 열 width 설정 -->
|
||||
<colgroup>
|
||||
<col style="width: 6%;">
|
||||
<col style="width: 5%">
|
||||
<col style="width: 6%;">
|
||||
<col style="width: 12%;">
|
||||
<col style="width: auto">
|
||||
<col style="width: 6%;">
|
||||
<col style="width: 6%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 6%;">
|
||||
<col style="width: 6%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>선택</th>
|
||||
<th>번호</th>
|
||||
<th>주문일시</th>
|
||||
<th>주문번호</th>
|
||||
<th>주문상품</th>
|
||||
<th>수(종)</th>
|
||||
<th>출고</th>
|
||||
<th>받는분/주문자</th>
|
||||
<th>결제수단/일시</th>
|
||||
<th>결제금액</th>
|
||||
<th>처리상태</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="manage-btn-container">
|
||||
<a href="#admin-memo-pop" rel="modal:open" class="btn xsm gray">선택</a>
|
||||
</div>
|
||||
</td>
|
||||
<td>3</td>
|
||||
<td>23-09-06<br>11:11</td>
|
||||
<td><a class="under-line blue-7" href="">2022011217594517548</a></td>
|
||||
<td>
|
||||
<div class="order-section__product">
|
||||
<img src="../resources/images/상품이미지01.png" alt="상품이미지" width="56" height="56">
|
||||
<div class="order-section__product-info">
|
||||
<span class="order-section__product-productTitle">초임계
|
||||
식물성 알티지 오메가3</span>
|
||||
<span class="option-text">
|
||||
<span class="option-badge">옵션</span>
|
||||
식물성알티지오메가3 1박스
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>1(1종)</td>
|
||||
<td>출고</td>
|
||||
<td>
|
||||
<a href="" class="order-detail-text">
|
||||
<i class="icon icon_word-badge09"></i>
|
||||
<span class="gray-12">
|
||||
홍길동
|
||||
</span>
|
||||
(
|
||||
<span class="fw-500 blue-7">test12321</span>
|
||||
/
|
||||
<span class="fw-500 green-8">일반</span>
|
||||
)
|
||||
</a>
|
||||
<button class="mini-info-btn" data-info="info01">?</button>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<span class="blue-7">전액할인</span>
|
||||
<br>
|
||||
<span class="badge-word">
|
||||
<i class="icon icon_word-badge03"></i>
|
||||
<span class="stone-8 fw-500">농협</span>
|
||||
</span>
|
||||
<br>
|
||||
<span>23-09-05 11:11</span>
|
||||
</td>
|
||||
<td><span class="comma fw-500">38900</span></td>
|
||||
<td>결제확인</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
<div class="pagination__container mb-40">
|
||||
<div class="pagination">
|
||||
<button disabled class="pagination__item first"><span class="visually-hidden">첫
|
||||
페이지로</span></button>
|
||||
<button disabled class="pagination__item prev"><span class="visually-hidden">이전
|
||||
페이지로</span></button>
|
||||
<ol class="pagination__number-group">
|
||||
<li><button class="pagination__item active"><span>1</span></button></li>
|
||||
<li><button class="pagination__item"><span>2</span></button></li>
|
||||
<li><button class="pagination__item"><span>3</span></button></li>
|
||||
<li><button class="pagination__item"><span>4</span></button></li>
|
||||
<li><button class="pagination__item"><span>5</span></button></li>
|
||||
<li><button class="pagination__item"><span>6</span></button></li>
|
||||
<li><button class="pagination__item"><span>7</span></button></li>
|
||||
<li><button class="pagination__item"><span>8</span></button></li>
|
||||
<li><button class="pagination__item"><span>9</span></button></li>
|
||||
<li><button class="pagination__item"><span>10</span></button></li>
|
||||
</ol>
|
||||
<button class="pagination__item next"><span class="visually-hidden">다음 페이지로</span></button>
|
||||
<button class="pagination__item last"><span class="visually-hidden">마지막 페이지로</span></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,803 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%--
|
||||
Class Name : MarktMbrSrchPopupR.jsp
|
||||
Description : 이메일 수동 발송
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-01-23 김혜인 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>GC ONE 통합 관리자</title>
|
||||
<%-- 공통 include --%>
|
||||
<%@ include file="/WEB-INF/views/comm/mngr/Include.jsp"%>
|
||||
</head>
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
//상세 검색 hide
|
||||
fn_init();
|
||||
// ----- 검색 닫기 ----- //
|
||||
var windowPopSectionContent = $('.windowPop-sectionContent');
|
||||
|
||||
/* windowPopSectionClose.on('click', function (e) {
|
||||
e.preventDefault();
|
||||
if (windowPopSectionClose.hasClass('closed')) {
|
||||
windowPopSectionContent.show();
|
||||
windowPopSectionClose.removeClass('closed');
|
||||
windowPopSectionClose.text('검색닫기');
|
||||
return;
|
||||
}
|
||||
windowPopSectionContent.hide();
|
||||
windowPopSectionClose.addClass('closed');
|
||||
windowPopSectionClose.text('검색열기');
|
||||
}); */
|
||||
});
|
||||
/*******************************************
|
||||
검색 조건 이벤트 설정
|
||||
********************************************/
|
||||
/*
|
||||
* 검색조건 > 검색 날짜 유효성 체크
|
||||
* srchStartDate : #검색 시작일 value
|
||||
* srchEndDate : #검색 종료일 value
|
||||
*/
|
||||
const fn_check_date = function (chkTrgt) {
|
||||
|
||||
//text 타입인 검색 시작일, 종료일 Date타입으로 변환
|
||||
const srchStartDate = new Date($("#"+chkTrgt+"StartDate").val());
|
||||
const srchEndDate = new Date($("#"+chkTrgt+"EndDate").val());
|
||||
if(srchStartDate != null && srchEndDate != null){
|
||||
// 현재 날짜, 일년 전 날짜 가져오기
|
||||
let today = new Date();
|
||||
let srchEndDateOneY = new Date(today.getFullYear()-1, today.getMonth(), today.getDate()-1);
|
||||
if(srchEndDate > today){
|
||||
alert("날짜 검색 '종료일'이 오늘 날짜보다 큽니다");
|
||||
$('#srchEndDate').datepicker().datepicker("setDate",'0');
|
||||
return false;
|
||||
}else if(srchStartDate > srchEndDate){
|
||||
alert("날짜 검색 '시작일'이 1년 초과 되었습니다");
|
||||
$('#srchStartDate').datepicker().datepicker("setDate",'-1Y');
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
* 검색조건 > 날짜 전체 클릭 시 날짜 설정 초기화
|
||||
*/
|
||||
const fn_reset_date = function(strtDate,endDate){
|
||||
$('#'+strtDate).datepicker().datepicker("setDate",'');
|
||||
$('#'+endDate).datepicker().datepicker("setDate",'');
|
||||
}
|
||||
|
||||
/*
|
||||
* 검색조건 > 마케팅 수신 동의 체크시 브랜드 전체 체크
|
||||
*/
|
||||
function fn_change_event(_target) {
|
||||
let readId = $('[name=' + _target + ']:checked').attr('id');
|
||||
if (readId == 'marktRecptnAgreAtY') {
|
||||
|
||||
$('.checkBtn').prop('checked', true);
|
||||
}else if(readId == 'marktRecptnAgreAtA' || readId == 'marktRecptnAgreAtN'){
|
||||
|
||||
$('.checkBtn').prop('checked', false);
|
||||
}
|
||||
};
|
||||
/*
|
||||
* 검색조건 >한 개 브랜드라도 체크 해제시 전체체크 체크 해제
|
||||
*/
|
||||
function fn_change_prop_uncheck(_target) {
|
||||
let readId = $('[name=' + _target + ']:checked').attr('id');
|
||||
if(!readId.checked){
|
||||
$('#checkAll').prop('checked', false);
|
||||
}
|
||||
};
|
||||
|
||||
/*
|
||||
* 검색조건 >한 개 브랜드라도 체크 해제시 전체체크 체크 해제
|
||||
*/
|
||||
function fn_change_prop_unclick(_target){
|
||||
let readId = $('[name=' + _target + ']:checked').attr('id');
|
||||
// 라디오 버튼 전체 혹은 거부에 버튼 클릭 후 브랜드 선택 시 동의로 버튼 변경
|
||||
if(readId != 'marktRecptnAgreAtY'){
|
||||
$('#marktRecptnAgreAtY').prop('checked', true);
|
||||
}
|
||||
}
|
||||
function fn_init () {
|
||||
/*
|
||||
* 검색조건 > 초기화 버튼 클릭 이벤트
|
||||
*/
|
||||
$('#btnResetForm').on('click', function(){
|
||||
fn_reset_form('mbrSrchSection');
|
||||
|
||||
$('#srchKywordDv option:eq(0)').prop('selected', true);
|
||||
$('#srchKywordDv').niceSelect('update');
|
||||
|
||||
$('#srchGradInnb option:eq(0)').prop('selected', true);
|
||||
$('#srchGradInnb').niceSelect('update');
|
||||
|
||||
$('#vstRvwDv option:eq(0)').prop('selected', true);
|
||||
$('#vstRvwDv').niceSelect('update');
|
||||
|
||||
$('input[name="srchStrtOrdrAmt"]').val('0');
|
||||
$('input[name="srchEndOrdrAmt"]').val('0');
|
||||
|
||||
$('input[name="srchStrtOrdrCnt"]').val('0');
|
||||
$('input[name="srchEndOrdrCnt"]').val('0');
|
||||
|
||||
$('input[name="srchStrtMlg"]').val('0');
|
||||
$('input[name="srchEndMlg"]').val('0');
|
||||
|
||||
$('input[name="srchStrtVstRvwCnt"]').val('0');
|
||||
$('input[name="srchEndVstRvwCnt"]').val('0');
|
||||
|
||||
$('input[name="srchStrtBrthDe"]').val('0');
|
||||
$('input[name="srchEndBrthDe"]').val('0');
|
||||
});
|
||||
/* ********************************************************
|
||||
* 목록 조회 function
|
||||
******************************************************** */
|
||||
//회원 목록 조회(ajax)
|
||||
const fn_select_list = function(pageIndex, pageUnit) {
|
||||
let dataStr;
|
||||
if(!pageIndex) {
|
||||
$('#pageIndex').val(1);
|
||||
} else {
|
||||
$('#pageIndex').val(pageIndex);
|
||||
}
|
||||
|
||||
if(!pageUnit) {
|
||||
dataStr = $('#listForm').serialize();
|
||||
} else {
|
||||
if($('#pageUnit').length){
|
||||
$('#pageUnit').val(pageUnit);
|
||||
dataStr = $('#listForm').serialize();
|
||||
} else {
|
||||
dataStr = $('#listForm').serialize()+'&pageUnit='+pageUnit;
|
||||
}
|
||||
}
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url : "<c:url value='/mngr/mbr/selectMbrListInqire'/>",
|
||||
data : dataStr,
|
||||
success:function(resultHtml) {
|
||||
$('#pageDiv').html(resultHtml);
|
||||
$('#pageUnit').niceSelect();
|
||||
}
|
||||
});
|
||||
}
|
||||
//검색 엔터 클릭시 목록 조회
|
||||
document.addEventListener('keydown', function(event) {
|
||||
if (event.keyCode === 13) {
|
||||
event.preventDefault();
|
||||
fn_select_list(1);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
</script>
|
||||
<body>
|
||||
<div class="windowPop-wrapper">
|
||||
<form id = "listForm">
|
||||
<section class="content-section" id = "mbrSrchSection">
|
||||
<input type="hidden" id="pageIndex" name="pageIndex" value="${ resultSrchMap.boMbrSrchVO.pageIndex}"/>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>회원 검색</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 38%;">
|
||||
<col style="width: 12%;">
|
||||
<col style="width: auto%;">
|
||||
</colgroup>
|
||||
<tr>
|
||||
<th>이름</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text xl" type="text" title="검색 이름" name = "srchNm">
|
||||
</div>
|
||||
</td>
|
||||
<th>휴대폰번호</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text xl" type="text" title="검색 휴대폰번호" name = "srchMbtlnb">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>회원구분</th>
|
||||
<td colspan = "3">
|
||||
<c:forEach var = "mbrTy" items = "${resultSrchMap.code.mbrTy}">
|
||||
<c:if test = "${mbrTy.cd eq 'member'}">
|
||||
<label class="b-checkbox checkbox check">
|
||||
<input type="checkbox" id="<c:out value = "${mbrTy.cd}"/>" name="srchMbrTy" value = "<c:out value = "${mbrTy.cd }"/>" >
|
||||
<span class="check"></span>
|
||||
<span class="control-label"><c:out value = "${mbrTy.cdNm}"/></span>
|
||||
</label>
|
||||
(<c:forEach var = "grad" items = "${resultSrchMap.code.grad}">
|
||||
<label class="b-checkbox checkbox check">
|
||||
<input type="checkbox" id="mbrTy${grad.mbrGradInnb}" name="srchGradInnb" value = "${grad.mbrGradInnb}">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">${grad.gradNm}</span>
|
||||
</label>
|
||||
</c:forEach>)
|
||||
</c:if>
|
||||
<c:if test = "${mbrTy.cd eq 'none'}">
|
||||
<br>
|
||||
<label class="b-checkbox checkbox check">
|
||||
<input type="checkbox" id="<c:out value = "${mbrTy.cd}"/>" name="srchMbrTy" value = "<c:out value = "${mbrTy.cd}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label"><c:out value = "${mbrTy.cdNm}"/></span>
|
||||
</label>
|
||||
( <label class="b-checkbox checkbox check">
|
||||
<input type="checkbox" id="distinctMbr" name="distinctMbr" value = "D">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">회원 중복 휴대폰번호 제외</span>
|
||||
</label> )
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<c:forEach var = "joinMth" items = "${resultSrchMap.code.joinMth}">
|
||||
<c:if test = "${joinMth.cd eq 'pos'}">
|
||||
<label class="b-checkbox checkbox check">
|
||||
<input type="checkbox" id="pos" name="srchMbrTy" value = "<c:out value ='${joinMth.cd}'/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">매장회원</span>
|
||||
</label>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
(<c:forEach var = "posDv" items = "${resultSrchMap.code.posDv}">
|
||||
<c:if test = "${posDv.cd eq '1'}">
|
||||
<label class="b-checkbox checkbox check">
|
||||
<input type="checkbox" id="pos<c:out value = "${posDv.cd}"/>" name="posDv" value = "<c:out value = "${posDv.cd}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label"><c:out value = "${posDv.cdNm}"/></span>
|
||||
</label>
|
||||
</c:if>
|
||||
<c:if test = "${posDv.cd eq '2'}">
|
||||
<label class="b-checkbox checkbox check checkBtn">
|
||||
<input type="checkbox" id="pos<c:out value = "${posDv.cd}"/>" name="posDv" value = "<c:out value = "${posDv.cd}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label"><c:out value = "${posDv.cdNm}"/></span>
|
||||
</label>
|
||||
</c:if>
|
||||
<c:if test = "${posDv.cd eq '3'}">
|
||||
<label class="b-checkbox checkbox check checkBtn">
|
||||
<input type="checkbox" id="pos<c:out value = "${posDv.cd}"/>" name="posDv" value = "<c:out value = "${posDv.cd}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label"><c:out value = "${posDv.cdNm}"/></span>
|
||||
</label>
|
||||
</c:if>
|
||||
</c:forEach>)
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="search-hide">
|
||||
<th>성별</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="custom-radio-container">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="sexDstnA" name="srchSexDstn" value = "" checked>
|
||||
<label for="sexDstnA">전체</label>
|
||||
</div>
|
||||
<c:forEach var = "sexDstn" items = "${resultSrchMap.code.sexDstn}">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="${sexDstn.cd}" value = "${sexDstn.cd}" name="srchSexDstn">
|
||||
<label for="sex${sexDstn.cd}"><c:out value = "${sexDstn.cdNm}"/></label>
|
||||
</div>
|
||||
</c:forEach>
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="sexDstnN" value = "none" name="srchSexDstn">
|
||||
<label for="sexDstnN">성별없음</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<th>리셀러 제외</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="custom-radio-container">
|
||||
<c:forEach var = "appen" items = "${resultSrchMap.code.appen}">
|
||||
<c:if test ="${appen.cd eq '02'}">
|
||||
<label class="b-checkbox checkbox check">
|
||||
<input type="checkbox" id="<c:out value = "${appen.cd}"/>" name="srchAppen" value = "<c:out value = "${appen.cd}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">리셀러 제외</span>
|
||||
</label>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>생일</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select title="생일검색" name = "srchBrthDe" id = "srchBrthDe">
|
||||
<option value = "">선택</option>
|
||||
<c:forEach var="brthDe" begin = "1" end = "12" varStatus = "status">
|
||||
<c:choose>
|
||||
<c:when test = "${status.index < 10}">
|
||||
<option value="0${status.index}"><c:out value = "${status.index}"/></option>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<option value="${status.index}"><c:out value = "${status.index}"/></option>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
<span class="input-unit-text">월</span>
|
||||
</div>
|
||||
</td>
|
||||
<th>나이</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="input-container">
|
||||
<span class="input-unit-text left">만</span>
|
||||
<input type="text" class="input-text xsm right number" value="0"
|
||||
title="나이 검색 시작" name = "srchStrtAge">
|
||||
<span class="input-unit-text">세</span>
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" class="input-text xsm right number" value="0"
|
||||
title="나이 검색 종료" name = "srchEndAge">
|
||||
<span class="input-unit-text">세</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th rowspan = "2">회원가입 환경</th>
|
||||
<td colspan = "3">
|
||||
<div class="td-inner">
|
||||
<div class="custom-radio-container">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="srchPlatformAll" value = "" name="srchPlatform" checked>
|
||||
<label for="srchPlatformAll">전체</label>
|
||||
</div>
|
||||
<c:forEach var = "platform" items = "${resultSrchMap.code.platform}">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="${platform.cd}" name="srchPlatform" value = "${platform.cd}">
|
||||
<label for="${platform.cd}">${platform.cdNm}</label>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan = "3">
|
||||
<div class="td-inner">
|
||||
<div class="custom-radio-container">
|
||||
<c:forEach var = "brand" items = "${resultSrchMap.code.brand}">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="platform${brand.cd}" name="srchPlatform" value = "${brand.cd}">
|
||||
<label for="platform${brand.cd}">${brand.cdNm}</label>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>회원가입 방법</th>
|
||||
<td colspan = "3">
|
||||
<div class="td-inner">
|
||||
<div class="custom-radio-container">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="srchruteA" name="srchrute" value = "" checked>
|
||||
<label for="srchruteA">전체</label>
|
||||
</div>
|
||||
<c:forEach var = "rute" items = "${resultSrchMap.code.rute}">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="${rute.cd}" name="srchrute" value = "${rute.cd}">
|
||||
<label for="${rute.cd}">${rute.cdNm}</label>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>마케팅 수신 동의</th>
|
||||
<td colspan = "3">
|
||||
<div class="td-inner">
|
||||
<div class="custom-radio-container">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="marktRecptnAgreAtA" name = "srchMarktRecptnAgreAt" value = "" onclick = "fn_change_event('srchMarktRecptnAgreAt')" checked>
|
||||
<label for="marktRecptnAgreAtA">전체</label>
|
||||
</div>
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="marktRecptnAgreAtY" value = "Y" name="srchMarktRecptnAgreAt" onclick = "fn_change_event('srchMarktRecptnAgreAt')">
|
||||
<label for="marktRecptnAgreAtY">동의</label>
|
||||
</div>
|
||||
<span class="parentheses">(</span>
|
||||
<div class="b-checkbox-container inner">
|
||||
<label class="b-checkbox checkbox check-all checkBtn">
|
||||
<input type="checkbox" value="" id = "checkAll" class = "srchBrndChkBtn checkBtn" >
|
||||
<span class="check"></span>
|
||||
<span class="control-label">전체</span>
|
||||
</label>
|
||||
<c:forEach var = "brand" items = "${resultSrchMap.code.brand}">
|
||||
<label class="b-checkbox checkbox check checkBtn">
|
||||
<input type="checkbox" id="markt${brand.cd}" name="srchBrand" value = "${brand.cd}" class = "checkBtn" onclick = "fn_change_prop_uncheck('srchBrand');fn_change_prop_unclick('srchMarktRecptnAgreAt')">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">${brand.cdNm}</span>
|
||||
</label>
|
||||
</c:forEach>
|
||||
</div>
|
||||
<span class="parentheses">)</span>
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="marktRecptnAgreAtN" value = "N" name="srchMarktRecptnAgreAt" onclick = "fn_change_event('srchMarktRecptnAgreAt')" >
|
||||
<label for="marktRecptnAgreAtN">거부</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>가입일</th>
|
||||
<td colspan="2">
|
||||
<div class="td-inner">
|
||||
<div class="input-container">
|
||||
<%-- 검색 종료일 현재 날짜 --%>
|
||||
<c:set var="today" value="<%=new java.util.Date()%>" />
|
||||
<!-- 검색 조건 시작일 -->
|
||||
<input type="text" name ="sbscrbStrtDt" id="sbscrbStrtDt" class="datepicker"
|
||||
title="시작 날짜 선택" autocomplete="off" onchange = "fn_check_date(sbscrb)">
|
||||
<span class="tilde">~</span>
|
||||
<!-- 검색 조건 종료일 -->
|
||||
<input type="text" name ="sbscrbEndDt" id="sbscrbEndDt" class="datepicker"
|
||||
title="종료 날짜 선택" autocomplete="off" onchange = "fn_check_date(sbscrb)"/>
|
||||
</div>
|
||||
<div class="dateRange-btnContainer">
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('sbscrbStrtDt','sbscrbEndDt','sbscrbEndDt','1D')">어제</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('sbscrbStrtDt','sbscrbEndDt','sbscrbEndDt','0')">오늘</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('sbscrbStrtDt','sbscrbEndDt','sbscrbEndDt','3D')">3일간</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('sbscrbStrtDt','sbscrbEndDt','sbscrbEndDt','7D')">일주일</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('sbscrbStrtDt','sbscrbEndDt','sbscrbEndDt','1M')">1개월</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('sbscrbStrtDt','sbscrbEndDt','sbscrbEndDt','3M')">3개월</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('sbscrbStrtDt','sbscrbEndDt','sbscrbEndDt','6M')">6개월</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('sbscrbStrtDt','sbscrbEndDt','sbscrbEndDt','1Y')">1년</button>
|
||||
<button class="dateRange-btn selected"
|
||||
onclick = "fn_reset_date('sbscrbStrtDt','sbscrbEndDt')">전체</button>
|
||||
</div>
|
||||
<div class="b-checkbox-container inner">
|
||||
<label class="b-checkbox checkbox check checkBtn">
|
||||
<input type="checkbox" id="noVstAt" name="noVstAt" value = "Y">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">재방문 없음</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox check checkBtn">
|
||||
<input type="checkbox" id="noOrdrAt" name="noOrdrAt" value = "Y">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">구매 없음</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>최종방문일</th>
|
||||
<td colspan="2">
|
||||
<div class="td-inner">
|
||||
<div class="input-container">
|
||||
<!-- 검색 조건 시작일 -->
|
||||
<input type="text" name ="loginStrtDt" id="loginStrtDt" class="datepicker"
|
||||
title="시작 날짜 선택" autocomplete="off">
|
||||
<span class="tilde">~</span>
|
||||
<!-- 검색 조건 종료일 -->
|
||||
<input type="text" name ="loginEndDt" id="loginEndDt" class="datepicker"
|
||||
title="종료 날짜 선택" autocomplete="off" pattern="yyyy-MM-dd"/>
|
||||
</div>
|
||||
<div class="dateRange-btnContainer">
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('loginStrtDt','loginEndDt','loginEndDt','1D')">어제</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('loginStrtDt','loginEndDt','loginEndDt','0')">오늘</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('loginStrtDt','loginEndDt','loginEndDt','3D')">3일간</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('loginStrtDt','loginEndDt','loginEndDt','7D')">일주일</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('loginStrtDt','loginEndDt','loginEndDt','1M')">1개월</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('loginStrtDt','loginEndDt','loginEndDt','3M')">3개월</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('loginStrtDt','loginEndDt','loginEndDt','6M')">6개월</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('loginStrtDt','loginEndDt','loginEndDt','1Y')">1년</button>
|
||||
<button class="dateRange-btn selected"
|
||||
onclick = "fn_reset_date('loginStrtDt','loginEndDt')">전체</button>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>마일리지</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="input-container">
|
||||
<input type="text" class="input-text sm right number" value="0"
|
||||
title="검색 시작 마일리지" name = "srchStrtMlg">
|
||||
<span class="input-unit-text">마일리지</span>
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" class="input-text sm right number" value="0"
|
||||
title="검색 끝 마일리지" name = "srchEndMlg">
|
||||
<span class="input-unit-text">마일리지</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<th>리뷰 수</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="input-container">
|
||||
<input type="text" class="input-text sm right number" value="0"
|
||||
title="검색 시작 리뷰 수" name = "srchStrtRvwCnt">
|
||||
<span class="input-unit-text">건</span>
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" class="input-text sm right number" value="0"
|
||||
title="검색 끝 리뷰 수" name = "srchEndRvwCnt">
|
||||
<span class="input-unit-text">건</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>장바구니 포함 제품</th>
|
||||
<td colspan = "3">
|
||||
<div class="td-inner">
|
||||
<button class = "btn primary">상품 선택</button>
|
||||
<input type="text" class="input-text xl" title="장바구니 포함 제품" name = "srchCartGoods" placeholder = "상품 고유번호, 상품 고유번호, ...">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>구매 이력 제품</th>
|
||||
<td colspan = "4">
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select title="구매 이력 검색 구분" name = "srchPurchsHistDv" id = "srchPurchsHistDv">
|
||||
<option value = "frst">해당 제품 구매 이력 있음</option>
|
||||
<option value = "secn">해당 제품 기간 내 재구매 이력 없음</option>
|
||||
<option value = "no">기간 내 구매 이력 없음</option>
|
||||
</select>
|
||||
</div>
|
||||
<button class = "btn primary">상품 선택</button>
|
||||
<input type="text" class="input-text xl" title="구매 이력 제품" name = "srchPurchsHistGoods" placeholder = "상품 고유번호, 상품 고유번호, ...">
|
||||
<div class="dateRange-btnContainer">
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('loginStrtDt','loginEndDt','loginEndDt','1D')">어제</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('loginStrtDt','loginEndDt','loginEndDt','0')">오늘</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('loginStrtDt','loginEndDt','loginEndDt','3D')">3일간</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('loginStrtDt','loginEndDt','loginEndDt','7D')">일주일</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('loginStrtDt','loginEndDt','loginEndDt','1M')">1개월</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('loginStrtDt','loginEndDt','loginEndDt','3M')">3개월</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('loginStrtDt','loginEndDt','loginEndDt','6M')">6개월</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('loginStrtDt','loginEndDt','loginEndDt','1Y')">1년</button>
|
||||
<button class="dateRange-btn selected"
|
||||
onclick = "fn_reset_date('loginStrtDt','loginEndDt')">전체</button>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>주문 기간</th>
|
||||
<td colspan = "3">
|
||||
<div class="td-inner">
|
||||
<div class="input-container">
|
||||
<input type="text" class="input-text sm right number" value="0"
|
||||
title="검색 시작 주문 금액" name = "srchStrtOrdrAmt">
|
||||
<span class="input-unit-text">원</span>
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" class="input-text sm right number" value="0"
|
||||
title="검색 끝 주문 금액" name = "srchEndOrdrAmt">
|
||||
<span class="input-unit-text">원</span>
|
||||
</div>
|
||||
<div class="input-container">
|
||||
<input type="text" id="srchStrtOrdrAmtDt" class="datepicker" title="시작 날짜 선택" name = "srchStrtOrdrAmtDt"
|
||||
autocomplete="off" >
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" id="srchEndOrdrAmtDt" class="datepicker" title="종료 날짜 선택" name = "srchEndOrdrAmtDt"
|
||||
autocomplete="off" pattern="yyyy-MM-dd"/>
|
||||
</div>
|
||||
<div class="dateRange-btnContainer" id = "searchDateRange">
|
||||
<button class="dateRange-btn" id = "today"
|
||||
onclick = "fn_set_date('srchStrtOrdrAmtDt','srchEndOrdrAmtDt','srchEndOrdrAmtDt','1D')">어제</button>
|
||||
<button class="dateRange-btn" id = "today"
|
||||
onclick = "fn_set_date('srchStrtOrdrAmtDt','srchEndOrdrAmtDt','srchEndOrdrAmtDt','0')">오늘</button>
|
||||
<button class="dateRange-btn" id = "threeDays"
|
||||
onclick = "fn_set_date('srchStrtOrdrAmtDt','srchEndOrdrAmtDt','srchEndOrdrAmtDt','3D')">3일간</button>
|
||||
<button class="dateRange-btn" id = "sevenDays"
|
||||
onclick = "fn_set_date('srchStrtOrdrAmtDt','srchEndOrdrAmtDt','srchEndOrdrAmtDt','7D')">일주일</button>
|
||||
<button class="dateRange-btn" id = "oneMonth"
|
||||
onclick = "fn_set_date('srchStrtOrdrAmtDt','srchEndOrdrAmtDt','srchEndOrdrAmtDt','1M')">1개월</button>
|
||||
<button class="dateRange-btn" id = "threeMonth"
|
||||
onclick = "fn_set_date('srchStrtOrdrAmtDt','srchEndOrdrAmtDt','srchEndOrdrAmtDt','3M')">3개월</button>
|
||||
<button class="dateRange-btn" id = "threeMonth"
|
||||
onclick = "fn_set_date('srchStrtOrdrAmtDt','srchEndOrdrAmtDt','srchEndOrdrAmtDt','6M')">6개월</button>
|
||||
<button class="dateRange-btn" id = "threeMonth"
|
||||
onclick = "fn_set_date('srchStrtOrdrAmtDt','srchEndOrdrAmtDt','srchEndOrdrAmtDt','1Y')">1년</button>
|
||||
<button class="dateRange-btn selected"
|
||||
onclick = "fn_reset_date('srchStrtOrdrAmtDt','srchEndOrdrAmtDt')()">전체</button>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>주문 금액</th>
|
||||
<td colspan = "3">
|
||||
<div class="td-inner">
|
||||
<div class="input-container">
|
||||
<input type="text" class="input-text sm right number" value="0"
|
||||
title="검색 시작 주문 건수" name = "srchStrtOrdrCnt">
|
||||
<span class="input-unit-text">건</span>
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" class="input-text sm right number" value="0"
|
||||
title="검색 끝 주문 건수" name = "srchEndOrdrCnt">
|
||||
<span class="input-unit-text">건</span>
|
||||
</div>
|
||||
<div class="input-container">
|
||||
<input type="text" id="srchStrtOrdrCntDt" class="datepicker" title="시작 날짜 선택" name = "srchStrtOrdrCntDt"
|
||||
autocomplete="off" >
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" id="srchEndOrdrCntDt" class="datepicker" title="종료 날짜 선택" name = "srchEndOrdrCntDt"
|
||||
autocomplete="off" >
|
||||
</div>
|
||||
<div class="dateRange-btnContainer" id = "searchDateRange">
|
||||
<button class="dateRange-btn" id = "today"
|
||||
onclick = "fn_set_date('srchStrtOrdrCntDt','srchEndOrdrCntDt','srchEndOrdrCntDt','1D')">어제</button>
|
||||
<button class="dateRange-btn" id = "today"
|
||||
onclick = "fn_set_date('srchStrtOrdrCntDt','srchEndOrdrCntDt','srchEndOrdrCntDt','0')">오늘</button>
|
||||
<button class="dateRange-btn" id = "threeDays"
|
||||
onclick = "fn_set_date('srchStrtOrdrCntDt','srchEndOrdrCntDt','srchEndOrdrCntDt','3D')">3일간</button>
|
||||
<button class="dateRange-btn" id = "sevenDays"
|
||||
onclick = "fn_set_date('srchStrtOrdrCntDt','srchEndOrdrCntDt','srchEndOrdrCntDt','7D')">일주일</button>
|
||||
<button class="dateRange-btn" id = "oneMonth"
|
||||
onclick = "fn_set_date('srchStrtOrdrCntDt','srchEndOrdrCntDt','srchEndOrdrCntDt','1M')">1개월</button>
|
||||
<button class="dateRange-btn" id = "threeMonth"
|
||||
onclick = "fn_set_date('srchStrtOrdrCntDt','srchEndOrdrCntDt','srchEndOrdrCntDt','3M')">3개월</button>
|
||||
<button class="dateRange-btn" id = "threeMonth"
|
||||
onclick = "fn_set_date('srchStrtOrdrCntDt','srchEndOrdrCntDt','srchEndOrdrCntDt','6M')">6개월</button>
|
||||
<button class="dateRange-btn" id = "threeMonth"
|
||||
onclick = "fn_set_date('srchStrtOrdrCntDt','srchEndOrdrCntDt','srchEndOrdrCntDt','1Y')">1년</button>
|
||||
<button class="dateRange-btn selected"
|
||||
onclick = "fn_reset_date('srchStrtOrdrCntDt','srchEndOrdrCntDt')()">전체</button>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>주문 건수</th>
|
||||
<td colspan = "3">
|
||||
<div class="td-inner">
|
||||
<div class="input-container">
|
||||
<input type="text" class="input-text sm right number" value="0"
|
||||
title="검색 시작 주문 건수" name = "srchStrtOrdrCnt">
|
||||
<span class="input-unit-text">건</span>
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" class="input-text sm right number" value="0"
|
||||
title="검색 끝 주문 건수" name = "srchEndOrdrCnt">
|
||||
<span class="input-unit-text">건</span>
|
||||
</div>
|
||||
<div class="input-container">
|
||||
<input type="text" id="srchStrtOrdrCntDt" class="datepicker" title="시작 날짜 선택" name = "srchStrtOrdrCntDt"
|
||||
autocomplete="off" >
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" id="srchEndOrdrCntDt" class="datepicker" title="종료 날짜 선택" name = "srchEndOrdrCntDt"
|
||||
autocomplete="off" >
|
||||
</div>
|
||||
<div class="dateRange-btnContainer" id = "searchDateRange">
|
||||
<button class="dateRange-btn" id = "today"
|
||||
onclick = "fn_set_date('srchStrtOrdrCntDt','srchEndOrdrCntDt','srchEndOrdrCntDt','1D')">어제</button>
|
||||
<button class="dateRange-btn" id = "today"
|
||||
onclick = "fn_set_date('srchStrtOrdrCntDt','srchEndOrdrCntDt','srchEndOrdrCntDt','0')">오늘</button>
|
||||
<button class="dateRange-btn" id = "threeDays"
|
||||
onclick = "fn_set_date('srchStrtOrdrCntDt','srchEndOrdrCntDt','srchEndOrdrCntDt','3D')">3일간</button>
|
||||
<button class="dateRange-btn" id = "sevenDays"
|
||||
onclick = "fn_set_date('srchStrtOrdrCntDt','srchEndOrdrCntDt','srchEndOrdrCntDt','7D')">일주일</button>
|
||||
<button class="dateRange-btn" id = "oneMonth"
|
||||
onclick = "fn_set_date('srchStrtOrdrCntDt','srchEndOrdrCntDt','srchEndOrdrCntDt','1M')">1개월</button>
|
||||
<button class="dateRange-btn" id = "threeMonth"
|
||||
onclick = "fn_set_date('srchStrtOrdrCntDt','srchEndOrdrCntDt','srchEndOrdrCntDt','3M')">3개월</button>
|
||||
<button class="dateRange-btn" id = "threeMonth"
|
||||
onclick = "fn_set_date('srchStrtOrdrCntDt','srchEndOrdrCntDt','srchEndOrdrCntDt','6M')">6개월</button>
|
||||
<button class="dateRange-btn" id = "threeMonth"
|
||||
onclick = "fn_set_date('srchStrtOrdrCntDt','srchEndOrdrCntDt','srchEndOrdrCntDt','1Y')">1년</button>
|
||||
<button class="dateRange-btn selected"
|
||||
onclick = "fn_reset_date('srchStrtOrdrCntDt','srchEndOrdrCntDt')()">전체</button>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>발송이력</th>
|
||||
<td colspan = "3">
|
||||
<div class="td-inner">
|
||||
<input type="text" class="input-text xml" title="발송 이력" name = "srchSndngHist">
|
||||
<div class="input-container">
|
||||
<input type="text" id="srchStrtOrdrCntDt" class="datepicker" title="시작 날짜 선택" name = "srchStrtSndngHistDt"
|
||||
autocomplete="off" >
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" id="srchEndOrdrCntDt" class="datepicker" title="종료 날짜 선택" name = "srchEndSndngHistDt"
|
||||
autocomplete="off" >
|
||||
</div>
|
||||
<div class="dateRange-btnContainer" id = "searchDateRange">
|
||||
<button class="dateRange-btn" id = "today"
|
||||
onclick = "fn_set_date('srchStrtOrdrCntDt','srchEndOrdrCntDt','srchEndOrdrCntDt','1D')">어제</button>
|
||||
<button class="dateRange-btn" id = "today"
|
||||
onclick = "fn_set_date('srchStrtOrdrCntDt','srchEndOrdrCntDt','srchEndOrdrCntDt','0')">오늘</button>
|
||||
<button class="dateRange-btn" id = "threeDays"
|
||||
onclick = "fn_set_date('srchStrtOrdrCntDt','srchEndOrdrCntDt','srchEndOrdrCntDt','3D')">3일간</button>
|
||||
<button class="dateRange-btn" id = "sevenDays"
|
||||
onclick = "fn_set_date('srchStrtOrdrCntDt','srchEndOrdrCntDt','srchEndOrdrCntDt','7D')">일주일</button>
|
||||
<button class="dateRange-btn" id = "oneMonth"
|
||||
onclick = "fn_set_date('srchStrtOrdrCntDt','srchEndOrdrCntDt','srchEndOrdrCntDt','1M')">1개월</button>
|
||||
<button class="dateRange-btn" id = "threeMonth"
|
||||
onclick = "fn_set_date('srchStrtOrdrCntDt','srchEndOrdrCntDt','srchEndOrdrCntDt','3M')">3개월</button>
|
||||
<button class="dateRange-btn" id = "threeMonth"
|
||||
onclick = "fn_set_date('srchStrtOrdrCntDt','srchEndOrdrCntDt','srchEndOrdrCntDt','6M')">6개월</button>
|
||||
<button class="dateRange-btn" id = "threeMonth"
|
||||
onclick = "fn_set_date('srchStrtOrdrCntDt','srchEndOrdrCntDt','srchEndOrdrCntDt','1Y')">1년</button>
|
||||
<button class="dateRange-btn selected"
|
||||
onclick = "fn_reset_date('srchStrtOrdrCntDt','srchEndOrdrCntDt')()">전체</button>
|
||||
</div>
|
||||
<div class="b-checkbox-container inner">
|
||||
<label class="b-checkbox checkbox check checkBtn">
|
||||
<input type="checkbox" id="sndngHistA" name="sndngHist" value = "" >
|
||||
<span class="check"></span>
|
||||
<span class="control-label mr-5">전체</span>
|
||||
( <input type="checkbox" id="sndngHist" name="sndngHist" value = "Y" >
|
||||
<span class="check"></span>
|
||||
<span class="control-label mr-5">응답자</span>
|
||||
<input type="checkbox" id="sndngHist" name="sndngHist" value = "N">
|
||||
<span class="check"></span>
|
||||
<span class="control-label mr-5">비응답자</span>)
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="form-control-container">
|
||||
<div class="left"></div>
|
||||
<div class="center">
|
||||
<button type = "button" class="btn outline" id = "btnResetForm">초기화</button>
|
||||
<button type = "button" class="btn primary" onclick = "fn_select_list(1)">검색</button>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<div id = "pageDiv">
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,358 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%--
|
||||
Class Name : MbrListInqireR.jsp
|
||||
Description : 회원 조회 목록
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-01-15 김혜인 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
/******************************
|
||||
* 버튼 이벤트
|
||||
*******************************/
|
||||
/*
|
||||
* 리셀러 해제 (회원 체크)
|
||||
*/
|
||||
$(".resellDel").on("click",function(e){
|
||||
let noAppenArray = [];
|
||||
const appnDvCd = e.target.id;
|
||||
// 해제할 회원수를 체크한다
|
||||
if($('input[name=mbrInnb]:checked').length > 0){
|
||||
$('input[name=mbrInnb]:checked').each(function() {
|
||||
//해제할 회원 중 리셀러 지정안된 회원이 포함되어 있으면 noAppenArray에 추가한다
|
||||
if($(this).siblings("input[name='appnDvCd']").val() == '02'){
|
||||
noAppenArray.push(this.value);
|
||||
}
|
||||
});
|
||||
//지정안된 회원 수 존재 시 안내 문구를 호출한다.
|
||||
if(noAppenArray.length > 0){
|
||||
alert("리셀러 지정이 안된 회원이 포함되어 있습니다.");
|
||||
}else{
|
||||
//지정 사유 작성 모달
|
||||
$("#resnTextArea").val('');
|
||||
$("#resnModal").modal("show");
|
||||
$("#resnTextArea").prop("name","appnCn");
|
||||
$("#resnDv").val(appnDvCd);
|
||||
}
|
||||
}else{
|
||||
//해제할 회원이 체크되지 않으면 안내 문구를 호출한다
|
||||
alert("해제할 리셀러를 지정해주세요.");
|
||||
}
|
||||
});
|
||||
/*
|
||||
* 리셀러 등록 (회원 체크)
|
||||
*/
|
||||
$(".resellReg").on("click",function(e){
|
||||
let appenArray = [];
|
||||
const appnDvCd = e.target.id;
|
||||
|
||||
// 등록할 회원수를 체크한다
|
||||
if($('input[name=mbrInnb]:checked').length > 0){
|
||||
$('input[name=mbrInnb]:checked').each(function() {
|
||||
//등록할 회원 중 리셀러 회원이 포함되어 있으면 appenArray에 추가한다
|
||||
if($(this).siblings("input[name='appnDvCd']").val() == '01'){
|
||||
appenArray.push(this.value);
|
||||
}
|
||||
});
|
||||
//지정안된 회원 수 존재 시 안내 문구를 호출한다.
|
||||
if(appenArray.length > 0){
|
||||
alert("리셀러 회원이 포함되어 있습니다.");
|
||||
}else{
|
||||
//지정 사유 작성 모달
|
||||
$("#resnTextArea").val('');
|
||||
$("#resnModal").modal('show');
|
||||
$("#resnTextArea").prop("name","appnCn");
|
||||
$("#resnDv").val(appnDvCd);
|
||||
}
|
||||
}else{
|
||||
//등록할 회원이 체크되지 않으면 안내 문구를 호출한다
|
||||
alert("리셀러를 지정해주세요.");
|
||||
}
|
||||
});
|
||||
/*
|
||||
* 회원 탈퇴
|
||||
*/
|
||||
$("#withdrawalBtn").on("click",function(e){
|
||||
const withdrawalId = e.target.id;
|
||||
// 탈퇴할 회원수를 체크한다
|
||||
if($('input[name=mbrInnb]:checked').length > 0){
|
||||
//지정 사유 작성 모달
|
||||
$("#resnTextArea").val('');
|
||||
$("#resnModal").modal('show');
|
||||
$("#resnTextArea").prop("name","secsnResn");
|
||||
$("#resnDv").val(withdrawalId);
|
||||
}else{
|
||||
//해제할 회원이 체크되지 않으면 안내 문구를 호출한다
|
||||
alert("탈퇴할 회원을 지정해주세요.");
|
||||
}
|
||||
});
|
||||
//리셀러 해제, 등록, 탈퇴 회원
|
||||
$("#registBtn").on("click",function(){
|
||||
//체크된 회원
|
||||
let mbrArr = [];
|
||||
//사유구분
|
||||
const resnDv = $("#resnDv").val();
|
||||
//사유 내용
|
||||
const resnCn = $("#resnTextArea").val();
|
||||
$('input[name=mbrInnb]:checked').each(function() {
|
||||
mbrArr.push(this.value);
|
||||
});
|
||||
if(resnDv == '02' || resnDv == '01' ){
|
||||
fn_resel_upt(mbrArr,resnDv,resnCn);
|
||||
}else if(resnDv == 'withdrawalBtn'){
|
||||
fn_withdrawal_reg(mbrArr,resnCn);
|
||||
}
|
||||
});
|
||||
//이메일 발송
|
||||
$("#emailSndngBtn").on("click",function(){
|
||||
//체크 혹은 전체mbrInnb 갖고와야함
|
||||
|
||||
/* $.ajax({
|
||||
type: "post",
|
||||
url : "<c:url value='/mngr/Sndng/selectEmailSndngPopupForm'/>",
|
||||
data : fn_get_mbrInnb() ,
|
||||
success:function(html) {
|
||||
$("#modalDiv").show();
|
||||
}
|
||||
}); */
|
||||
});
|
||||
//sms 발송
|
||||
$("#smsSndngBtn").on("click",function(){
|
||||
//체크 혹은 전체mbrInnb 갖고와야함
|
||||
|
||||
/* $.ajax({
|
||||
type: "post",
|
||||
url : "<c:url value='/mngr/Sndng/selectMssageSndngPopupForm'/>",
|
||||
data : fn_get_mbrInnb() ,
|
||||
success:function(html) {
|
||||
$("#modalDiv").show();
|
||||
}
|
||||
}); */
|
||||
});
|
||||
// 테이블 체크박스 전체 선택
|
||||
var tableCheckAll = $(".table .check-all > input[type=checkbox]");
|
||||
tableCheckAll.click(function () {
|
||||
let colIndex = $(this).closest("th").index();
|
||||
let checkbox = $(this)
|
||||
.closest(".table")
|
||||
.find("tbody tr td:nth-child(" + (colIndex + 1) + ") input[type=checkbox]");
|
||||
checkAllCheckBoxes($(this), checkbox);
|
||||
});
|
||||
// 목록에서 체크 해제시 전체 체크박스 해제 및 목록 항목 전체 체크 시 전체체크 버튼 true
|
||||
let chk = $("#mbrList .is-medium >input[type=checkbox]");
|
||||
chk.click(function(){
|
||||
$('.table .check-all > input[type=checkbox]').prop('checked', false);
|
||||
let length = $("tbody .is-medium").length;
|
||||
let chcedLen = $("tbody .is-medium >input[type=checkbox]:checked").length;
|
||||
if(length == chcedLen){
|
||||
$('#mbrList .check-all > input[type=checkbox]').prop('checked', true);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
<section class="content-section">
|
||||
<div class="form-control-container">
|
||||
<div class="left">
|
||||
<div class="search-number">
|
||||
<span class="search-number__text">총 <strong><c:out value="${ resultListMap.paginationInfo.totalRecordCount }"/></strong>건</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="center">
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="select-box">
|
||||
<select title="정렬순" name = "sortDv" id = "sortDv" onchange = "fn_select_list(1);return false;">
|
||||
<option value="recent" <c:if test="${mbrSrchVO.sortDv eq 'recent'}">selected="selected"</c:if>>최근 가입순</option>
|
||||
<option value="mlgDesc" <c:if test="${mbrSrchVO.sortDv eq 'mlgDesc'}">selected="selected"</c:if>>마일리지 많은순</option>
|
||||
<option value="mlgAsc" <c:if test="${mbrSrchVO.sortDv eq 'mlgAsc'}">selected="selected"</c:if>>마일리지 적은순</option>
|
||||
<option value="perchDesc" <c:if test="${mbrSrchVO.sortDv eq 'perchDesc'}">selected="selected"</c:if>>구매금액 많은순</option>
|
||||
<option value="perchAsc" <c:if test="${mbrSrchVO.sortDv eq 'perchAsc'}">selected="selected"</c:if>>구매금액 적은순</option>
|
||||
<option value="ordrCntDesc" <c:if test="${mbrSrchVO.sortDv eq 'ordrCntDesc'}">selected="selected"</c:if>>주문건수 많은순</option>
|
||||
<option value="ordrCntAsc" <c:if test="${mbrSrchVO.sortDv eq 'ordrCntAsc'}">selected="selected"</c:if>>주문건수 적은순</option>
|
||||
<option value="rvwCntDesc" <c:if test="${mbrSrchVO.sortDv eq 'rvwCntDesc'}">selected="selected"</c:if>>리뷰수 많은순</option>
|
||||
<option value="rvwCntAsc" <c:if test="${mbrSrchVO.sortDv eq 'rvwCntAsc'}">selected="selected"</c:if>>리뷰수 적은순</option>
|
||||
<option value="vsitCntDesc" <c:if test="${mbrSrchVO.sortDv eq 'vsitCntDesc'}">selected="selected"</c:if>>방문수 많은순</option>
|
||||
<option value="vsitCntAsc" <c:if test="${mbrSrchVO.sortDv eq 'vsitCntAsc'}">selected="selected"</c:if>>방문수 적은순</option>
|
||||
</select>
|
||||
</div>
|
||||
<!-- 코드 사용 -->
|
||||
<div class="select-box">
|
||||
<select title="페이지당 출력될 목록건수" name = "pageUnit" id ="pageUnit" onchange = "fn_select_list(1);return false;">
|
||||
<c:forEach items="${ resultListMap.paginationInfo.pageUnitArr }" var="pageUnit" varStatus="pageUnitStatus">
|
||||
<option value="<c:out value="${ pageUnit }"/>" <c:if test="${ resultListMap.paginationInfo.recordCountPerPage eq pageUnit}">selected="selected"</c:if>><c:out value="${ pageUnit }"/>개씩</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="horizontal-line">
|
||||
<div class="form-control-container">
|
||||
<div class="left">
|
||||
<c:forEach var = "appnDv" items = "${resultListMap.resultMap.appen}">
|
||||
<button type = "button" <c:if test = "${appnDv.cd eq '01'}">class="btn sm dark resellReg"</c:if>
|
||||
<c:if test = "${appnDv.cd eq '02'}">class="btn outline sm resellDel" </c:if>
|
||||
value = "<c:out value = "${appnDv.cdNm}"/>" id = "<c:out value = "${appnDv.cd}"/>">
|
||||
<c:out value = "${appnDv.cdNm}"/>
|
||||
</button>
|
||||
</c:forEach>
|
||||
</div>
|
||||
<div class="center">
|
||||
</div>
|
||||
<div class="right">
|
||||
<button type = "button" class="btn outline sm" id="emailSndngBtn"onclick = "alert('TODO :: 이메일 발송 팝업 호출')">
|
||||
이메일 발송
|
||||
</button>
|
||||
<button type = "button" class="btn outline sm" id ="smsSndngBtn" onclick = "alert('TODO :: sms 발송 팝업 호출')">
|
||||
SMS 발송
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="spacing">
|
||||
<div class="table-wrapper">
|
||||
<table class="table vertical" id = "mbrList">
|
||||
<caption>회원 목록</caption>
|
||||
<!-- 각 열 width 설정 -->
|
||||
<colgroup>
|
||||
<col style="width: 4%;">
|
||||
<col style="width: 6%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 8%;">
|
||||
<col style="width: auto">
|
||||
<col style="width: auto%;">
|
||||
<col style="width: 6%;">
|
||||
<col style="width: 6%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
<label class="b-checkbox checkbox is-medium check-all" >
|
||||
<input type="checkbox" value="" id = "chkA">
|
||||
<span class="check"></span>
|
||||
</label>
|
||||
</th>
|
||||
<th>번호</th>
|
||||
<th>아이디</th>
|
||||
<th>이름</th>
|
||||
<th>이메일</th>
|
||||
<th>핸드폰번호</th>
|
||||
<th>등급</th>
|
||||
<th>마일리지</th>
|
||||
<th>가입일</th>
|
||||
<th>최종방문 일시</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:choose>
|
||||
<c:when test = "${not empty resultListMap.resultMap.resultList}">
|
||||
<c:forEach var = "resultList" items="${resultListMap.resultMap.resultList}">
|
||||
<tr>
|
||||
<td>
|
||||
<label class="b-checkbox checkbox is-medium">
|
||||
<input type="checkbox" value="<c:out value='${resultList.mbrInnb}' />" name = "mbrInnb">
|
||||
<span class="check"></span>
|
||||
<input type="hidden" value ="<c:out value='${resultList.appnDvCd}' />" name = "appnDvCd">
|
||||
</label>
|
||||
</td>
|
||||
<td><c:out value="${resultListMap.paginationInfo.totalRecordCount - resultList.rnum+1 }" /></td>
|
||||
<td>
|
||||
<c:if test = "${resultList.appnDvCd eq '01'}">
|
||||
<span class="black-list">
|
||||
R<span class="visually-hidden">블랙리스트</span>
|
||||
</span>
|
||||
</c:if>
|
||||
<c:out value="${resultList.mbrid}" />
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${resultList.mbrNm}" />
|
||||
<button type = "button" class="mini-info-btn" data-info="crm${resultList.mbrInnb}" id="crm${resultList.mbrInnb}"
|
||||
onclick = "fn_select_crm_miniInfo(<c:out value='${resultList.mbrInnb}'/>)" >?</button>
|
||||
<div id = "miniInfo"></div>
|
||||
</td>
|
||||
<!-- 이메일 발송 url -->
|
||||
<td>
|
||||
<a class="under-line" onclick = "alert('TODO :: 이메일 발송 팝업 호출')">
|
||||
<c:out value="${resultList.email}" />
|
||||
</a>
|
||||
</td>
|
||||
<!-- sms 발송 url -->
|
||||
<td>
|
||||
<a class="under-line" onclick = "alert('TODO :: sms 발송 팝업 호출')">
|
||||
<c:out value="${resultList.mbtlnb}" />
|
||||
</a>
|
||||
</td>
|
||||
<td><c:out value="${resultList.gradNm}" /></td>
|
||||
<td>
|
||||
<fmt:formatNumber var="mbrMil" value="${resultList.mbrMil}" type="number"/>
|
||||
<button type = "button" class="under-line" onclick = "fn_move_mlgManagePopup('<c:out value='${resultList.mbrInnb}' />')">
|
||||
<c:choose>
|
||||
<c:when test = "${empty mbrMil || mbrMil == '0' }">
|
||||
0
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<c:out value="${mbrMil}" />
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</button>
|
||||
</td>
|
||||
<td><c:out value="${resultList.subscrbDt}" /></td>
|
||||
<fmt:parseDate var="lastLoginDt" value="${resultList.lastLoginDt}" pattern="yyyy-MM-dd'T'HH:mm:ss" />
|
||||
<fmt:formatDate value="${lastLoginDt}" pattern="yyyy-MM-dd" var="lastLoginDt" />
|
||||
<td><c:out value="${lastLoginDt}" /></td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<tr>
|
||||
<td colspan="100%"><spring:message code="common.nodata"/></td>
|
||||
</tr>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</table>
|
||||
<div id = "modalDv">
|
||||
</div>
|
||||
<hr class="spacing">
|
||||
<hr class="spacing">
|
||||
<div class="form-control-container">
|
||||
<div class="left"></div>
|
||||
<div class="center">
|
||||
</div>
|
||||
<div class="right">
|
||||
<button type = "button" class="btn dark no-min" id = "withdrawalBtn">탈퇴</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<div class="pagination__container mt-30">
|
||||
<ui:pagination paginationInfo="${resultListMap.paginationInfo}" type="image" jsFunction="fn_select_list" />
|
||||
</div>
|
||||
<!-- 리셀러 해제, 등록, 탈퇴 사유 모달 -->
|
||||
<div id="resnModal" class="modal" style="max-width: 500px;">
|
||||
<div class="modal-header">
|
||||
<h4>사유 작성</h4>
|
||||
</div>
|
||||
<div class="modal-content">
|
||||
<div class="table-wrapper">
|
||||
<textarea id = "resnTextArea"class="textarea" title="리셀러 해제, 등록, 탈퇴 사유" rows="10"></textarea>
|
||||
</div>
|
||||
<input type = "hidden" id = "resnDv" disabled>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="#" rel="modal:close" class="btn outline"><spring:message code="button.cancel"/></a>
|
||||
<button class="btn primary outline" id = "registBtn" ><spring:message code="button.insert"/></button>
|
||||
</div>
|
||||
</div>
|
||||
</html>
|
||||
@@ -0,0 +1,714 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%--
|
||||
Class Name : MbrListInqireRForm.jsp
|
||||
Description :회원 목록 검색 폼
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-01-15 김혜인 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>회원 목록 조회</title>
|
||||
<%-- 공통 include --%>
|
||||
<%@ include file="/WEB-INF/views/comm/mngr/Include.jsp"%>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
//상세 검색 hide
|
||||
var searchHide = $(".search-hide");
|
||||
searchHide.hide();
|
||||
fn_init();
|
||||
//페이징 정보 있는 회원 목록 조회
|
||||
let pageIndex = '<c:out value="${ resultSrchMap.mbrSrchvo.pageIndex }"/>';
|
||||
let pageUnit = '<c:out value="${ resultSrchMap.mbrSrchvo.pageUnit }"/>';
|
||||
fn_select_list(pageIndex, pageUnit);
|
||||
|
||||
fn_set_date('sbscrbStrtDt','sbscrbEndDt','sbscrbEndDt');
|
||||
fn_set_date('loginStrtDt','loginEndDt','loginEndDt');
|
||||
fn_set_date('srchStrtOrdrAmtDt','srchEndOrdrAmtDt','srchEndOrdrAmtDt');
|
||||
fn_set_date('srchStrtOrdrCntDt','srchEndOrdrCntDt','srchEndOrdrCntDt');
|
||||
|
||||
//검색어 구분 change 이벤트
|
||||
$("#srchKyword").on("input", function () {
|
||||
let dvVal = $("#srchKywordDv").val();
|
||||
let input = $(this).val();
|
||||
if(dvVal == 'hp'){
|
||||
$(this).val(input.replace(/[^0-9]/g, ""));
|
||||
}
|
||||
});
|
||||
//마케팅 수신 동의 동의 버튼 외 버튼에서 브랜드 전체 버튼 클릭 시 동의 버튼으로 바꿈
|
||||
$(".checkBtn").on("click",function(){
|
||||
$("#marktRecptnAgreAtY").prop("checked",true);
|
||||
});
|
||||
});
|
||||
/*******************************************
|
||||
검색 조건 이벤트 설정
|
||||
********************************************/
|
||||
/*
|
||||
* 검색조건 > 날짜 전체 클릭 시 날짜 설정 초기화
|
||||
*/
|
||||
const fn_reset_date = function(strtDate,endDate){
|
||||
$('#'+strtDate).datepicker().datepicker("setDate",'');
|
||||
$('#'+endDate).datepicker().datepicker("setDate",'');
|
||||
}
|
||||
/*
|
||||
* 검색조건 > 상세 검색 버튼 클릭 시 disable 처리 미완
|
||||
*/
|
||||
const fn_disable_srchInput = function(){
|
||||
$(".search-hide > input").prop("disbled",true);
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* 검색조건 > 마케팅 수신 동의 체크시 브랜드 전체 체크
|
||||
*/
|
||||
function fn_change_event(_target) {
|
||||
let readId = $('[name=' + _target + ']:checked').attr('id');
|
||||
if (readId == 'marktRecptnAgreAtY') {
|
||||
$('.checkBtn').prop('checked', true);
|
||||
}else if(readId == 'marktRecptnAgreAtA' || readId == 'marktRecptnAgreAtN'){
|
||||
$('.checkBtn').prop('checked', false);
|
||||
}
|
||||
};
|
||||
/*
|
||||
* 검색조건 >한 개 브랜드라도 체크 해제시 전체체크 체크 해제
|
||||
*/
|
||||
function fn_change_prop_uncheck(_target) {
|
||||
let readId = $('[name=' + _target + ']:checked').attr('id');
|
||||
if(!readId.checked){
|
||||
$('#checkAll').prop('checked', false);
|
||||
}
|
||||
};
|
||||
|
||||
/*
|
||||
* 검색조건 >한 개 브랜드라도 체크 해제시 전체체크 체크 해제
|
||||
*/
|
||||
function fn_change_prop_unclick(_target){
|
||||
let readId = $('[name=' + _target + ']:checked').attr('id');
|
||||
// 라디오 버튼 전체 혹은 거부에 버튼 클릭 후 브랜드 선택 시 동의로 버튼 변경
|
||||
if(readId != 'marktRecptnAgreAtY'){
|
||||
$('#marktRecptnAgreAtY').prop('checked', true);
|
||||
}
|
||||
}
|
||||
function fn_init () {
|
||||
/*
|
||||
* 검색조건 > 초기화 버튼 클릭 이벤트
|
||||
*/
|
||||
$('#btnResetForm').on('click', function(){
|
||||
fn_reset_form('mbrSrchSection');
|
||||
|
||||
$('#srchKywordDv option:eq(0)').prop('selected', true);
|
||||
$('#srchKywordDv').niceSelect('update');
|
||||
|
||||
$('#srchGradInnb option:eq(0)').prop('selected', true);
|
||||
$('#srchGradInnb').niceSelect('update');
|
||||
|
||||
$('#vstRvwDv option:eq(0)').prop('selected', true);
|
||||
$('#vstRvwDv').niceSelect('update');
|
||||
|
||||
$('input[name="srchStrtOrdrAmt"]').val('0');
|
||||
$('input[name="srchEndOrdrAmt"]').val('0');
|
||||
|
||||
$('input[name="srchStrtOrdrCnt"]').val('0');
|
||||
$('input[name="srchEndOrdrCnt"]').val('0');
|
||||
|
||||
$('input[name="srchStrtMlg"]').val('0');
|
||||
$('input[name="srchEndMlg"]').val('0');
|
||||
|
||||
$('input[name="srchStrtVstRvwCnt"]').val('0');
|
||||
$('input[name="srchEndVstRvwCnt"]').val('0');
|
||||
|
||||
$('input[name="srchStrtBrthDe"]').val('0');
|
||||
$('input[name="srchEndBrthDe"]').val('0');
|
||||
});
|
||||
}
|
||||
/***********************************************
|
||||
* 리셀러 해제 , 등록 함수
|
||||
***********************************************/
|
||||
const fn_resel_upt = function(mbrArray,appnDvCd,resnCn){
|
||||
let url = "";
|
||||
let confirmMessage = "";
|
||||
//해제, 등록 url 분기
|
||||
if(appnDvCd == 'CGN03802'){
|
||||
url = "<c:url value='/mngr/mbr/updateMbrRslrRelis'/>"
|
||||
confirmMessage = "리셀러 해제를"
|
||||
}else if(appnDvCd == 'CGN03801'){
|
||||
url = "<c:url value='/mngr/mbr/updateMbrRslrMvmn'/>"
|
||||
confirmMessage = "리셀러 지정을"
|
||||
}
|
||||
if(confirm(confirmMessage+' <spring:message code="confirm.common.insert"/>')){
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url : url,
|
||||
data : {
|
||||
mbrArr : mbrArray
|
||||
,appnDvCd : appnDvCd
|
||||
,appnCn : resnCn
|
||||
},
|
||||
success:function(resultHtml) {
|
||||
alert("<spring:message code="success.common.insert"/>");
|
||||
$("#resnModal > a").each(function() {
|
||||
if(this.href.indexOf('#close-modal')){
|
||||
$(this).click();
|
||||
}
|
||||
});
|
||||
$("#resnModal").remove();
|
||||
fn_select_list($("#pageIndex").val(),$("#pageUnit").val());
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
/***********************************************
|
||||
* 회원 탈퇴 함수
|
||||
***********************************************/
|
||||
const fn_withdrawal_reg = function(mbrArr,resnCn){
|
||||
if(confirm('회원 탈퇴를 <spring:message code="confirm.common.insert"/>')){
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url : "<c:url value='/mngr/mbr/updateMbrSecsnUpdt'/>",
|
||||
data : {
|
||||
mbrArr : mbrArr
|
||||
,secsnResn : resnCn
|
||||
},
|
||||
success:function(resultHtml) {
|
||||
alert("<spring:message code="success.common.insert"/>");
|
||||
$("#resnModal > a").each(function() {
|
||||
if(this.href.indexOf('#close-modal')){
|
||||
$(this).click();
|
||||
}
|
||||
});
|
||||
$("#resnModal").remove();
|
||||
fn_select_list(1);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
/* ********************************************************
|
||||
* 목록 조회 function
|
||||
******************************************************** */
|
||||
//회원 목록 조회(ajax)
|
||||
const fn_select_list = function(pageIndex, pageUnit) {
|
||||
let dataStr;
|
||||
if(!pageIndex) {
|
||||
$('#pageIndex').val(1);
|
||||
} else {
|
||||
$('#pageIndex').val(pageIndex);
|
||||
}
|
||||
|
||||
if(!pageUnit) {
|
||||
dataStr = $('#listForm').serialize();
|
||||
} else {
|
||||
if($('#pageUnit').length){
|
||||
$('#pageUnit').val(pageUnit);
|
||||
dataStr = $('#listForm').serialize();
|
||||
} else {
|
||||
dataStr = $('#listForm').serialize()+'&pageUnit='+pageUnit;
|
||||
}
|
||||
}
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url : "<c:url value='/mngr/mbr/selectMbrListInqire'/>",
|
||||
data : dataStr,
|
||||
success:function(resultHtml) {
|
||||
$('#pageDiv').html(resultHtml);
|
||||
$('#pageUnit').niceSelect();
|
||||
$('#sortDv').niceSelect();
|
||||
}
|
||||
});
|
||||
}
|
||||
//검색 엔터 클릭시 목록 조회
|
||||
document.addEventListener('keydown', function(event) {
|
||||
if (event.keyCode === 13) {
|
||||
event.preventDefault();
|
||||
//모달창 visible 여부로 몪록 조회 혹은 사유 내용 등록 이벤트 처리
|
||||
if(!$("#resnModal").is(":visible")){
|
||||
fn_select_list(1);
|
||||
}else{
|
||||
$("#registBtn").click();
|
||||
}
|
||||
}
|
||||
});
|
||||
//마일리지 모달
|
||||
const fn_move_mlgManagePopup = function(mbrInnb){
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url : "<c:url value='/mngr/mbr/selectMlgManagePopupForm'/>",
|
||||
data : {mbrInnb:mbrInnb},
|
||||
success:function(resultHtml) {
|
||||
$('#MlgMabagePopup').remove();
|
||||
$('#modalDiv').html(resultHtml);
|
||||
$("#MlgMabagePopup").modal("show");
|
||||
$("#mlgApplcCnDv").niceSelect();
|
||||
$("#mlgApplcResn").niceSelect();
|
||||
}
|
||||
});
|
||||
}
|
||||
//마일리지 내역 목록 조회(ajax)
|
||||
const fn_select_mlgList = function(pageIndex, pageUnit) {
|
||||
let dataStr;
|
||||
if(!pageIndex) {
|
||||
$('#mlgPageIndex').val(1);
|
||||
} else {
|
||||
$('#mlgPageIndex').val(pageIndex);
|
||||
}
|
||||
|
||||
if(!pageUnit) {
|
||||
dataStr = $('#mlgListForm').serialize();
|
||||
} else {
|
||||
if($('#mlgPageIndex').length){
|
||||
$('#mlgPageUnit').val(pageUnit);
|
||||
dataStr = $('#mlgListForm').serialize();
|
||||
} else {
|
||||
dataStr = $('#mlgListForm').serialize()+'&pageUnit='+pageUnit;
|
||||
}
|
||||
}
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url : "<c:url value='/mngr/mbr/selectMlgManagePopup'/>",
|
||||
data : dataStr,
|
||||
success:function(resultHtml) {
|
||||
$('#mlgDtlDiv').html(resultHtml);
|
||||
$('#mlgPageUnit').niceSelect();
|
||||
fn_set_niceSelect_datePicker("#mlgListForm");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/* 버튼 타입 button으로 일괄 적용
|
||||
* ready함수에 선언
|
||||
*/
|
||||
const fn_apply_btnTy_button = () => {
|
||||
let button = $(document).find('button');
|
||||
button.attr("type","button");
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<%-- 상단메뉴 공통화 적용 : 2023-11-30 / 박철민 추가 --%>
|
||||
<%@ include file="/WEB-INF/views/comm/mngr/Header.jsp"%>
|
||||
<main class="main">
|
||||
<%-- 좌측메뉴 공통화 적용 : 2023-11-30 / 박철민 추가 --%>
|
||||
<%@ include file="/WEB-INF/views/comm/mngr/Left.jsp"%>
|
||||
<div class="content">
|
||||
<div class="content__inner">
|
||||
<button class="side-nav__fold"><span class="visually-hidden">좌측메뉴 펼치기/닫기</span></button>
|
||||
<div class="page-title">
|
||||
<h2 class="page-title__title">회원 조회</h2>
|
||||
</div>
|
||||
<form id = "listForm">
|
||||
<section class="content-section" id = "mbrSrchSection">
|
||||
<input type="hidden" id="pageIndex" name="pageIndex" value="${ resultSrchMap.boMbrSrchVO.pageIndex}"/>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>회원 검색</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tr>
|
||||
<th>검색어</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select title="검색어 구분" name = "srchKywordDv" id = "srchKywordDv">
|
||||
<option value="mbrNm">이름</option>
|
||||
<option value="mbrId">아이디</option>
|
||||
<option value="email">이메일</option>
|
||||
<option value="hp">휴대폰번호("-"미포함)</option>
|
||||
<option value="adres">주소</option>
|
||||
</select>
|
||||
</div>
|
||||
<input class="input-text xl" type="text" title="검색 키워드" id = "srchKyword" name = "srchKyword" placeholder = "검색어를 입력해 주십시요.">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>가입일</th>
|
||||
<td colspan="2">
|
||||
<div class="td-inner" id = "g">
|
||||
<div class="input-container">
|
||||
<!-- 검색 조건 시작일 -->
|
||||
<input type="text" name ="sbscrbStrtDt" id="sbscrbStrtDt" class="datepicker" title="시작 날짜 선택" autocomplete="off">
|
||||
<span class="tilde">~</span>
|
||||
<!-- 검색 조건 종료일 -->
|
||||
<input type="text" name ="sbscrbEndDt" id="sbscrbEndDt" class="datepicker" title="종료 날짜 선택" autocomplete="off" pattern="yyyy-MM-dd"/>
|
||||
</div>
|
||||
<div class="dateRange-btnContainer">
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('sbscrbStrtDt','sbscrbEndDt','sbscrbEndDt','1D')">어제</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('sbscrbStrtDt','sbscrbEndDt','sbscrbEndDt','0')">오늘</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('sbscrbStrtDt','sbscrbEndDt','sbscrbEndDt','3D')">3일간</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('sbscrbStrtDt','sbscrbEndDt','sbscrbEndDt','7D')">일주일</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('sbscrbStrtDt','sbscrbEndDt','sbscrbEndDt','1M')">1개월</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('sbscrbStrtDt','sbscrbEndDt','sbscrbEndDt','3M')">3개월</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('sbscrbStrtDt','sbscrbEndDt','sbscrbEndDt','6M')">6개월</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('sbscrbStrtDt','sbscrbEndDt','sbscrbEndDt','1Y')">1년</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_reset_date('sbscrbStrtDt','sbscrbEndDt')">전체</button>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>최종방문일</th>
|
||||
<td colspan="2">
|
||||
<div class="td-inner">
|
||||
<div class="input-container">
|
||||
<!-- 검색 조건 시작일 -->
|
||||
<input type="text" name ="loginStrtDt" id="loginStrtDt" class="datepicker"
|
||||
title="시작 날짜 선택" autocomplete="off">
|
||||
<span class="tilde">~</span>
|
||||
<!-- 검색 조건 종료일 -->
|
||||
<input type="text" name ="loginEndDt" id="loginEndDt" class="datepicker"
|
||||
title="종료 날짜 선택" autocomplete="off" pattern="yyyy-MM-dd"/>
|
||||
</div>
|
||||
<div class="dateRange-btnContainer">
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('loginStrtDt','loginEndDt','loginEndDt','1D')">어제</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('loginStrtDt','loginEndDt','loginEndDt','0')">오늘</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('loginStrtDt','loginEndDt','loginEndDt','3D')">3일간</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('loginStrtDt','loginEndDt','loginEndDt','7D')">일주일</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('loginStrtDt','loginEndDt','loginEndDt','1M')">1개월</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('loginStrtDt','loginEndDt','loginEndDt','3M')">3개월</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('loginStrtDt','loginEndDt','loginEndDt','3M')">6개월</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_set_date('loginStrtDt','loginEndDt','loginEndDt','1Y')">1년</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_reset_date('loginStrtDt','loginEndDt')">전체</button>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>등급</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select title="등급검색" name = "srchGradInnb" id = "srchGradInnb">
|
||||
<option value = "">선택</option>
|
||||
<c:forEach var="gradNm" items = "${resultSrchMap.code.gradNm}" >
|
||||
<option value="${gradNm.mbrGradInnb}"><c:out value = "${gradNm.gradNm}"/></option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="search-hide">
|
||||
<th>주문 금액</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="input-container">
|
||||
<input type="text" class="input-text sm right number" value="0"
|
||||
title="검색 시작 주문 금액" name = "srchStrtOrdrAmt" id = 'srchStrtOrdrAmt'>
|
||||
<span class="input-unit-text">원</span>
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" class="input-text sm right number" value="0" onchange = "fn_check_fromTo('#srchStrtOrdrAmt','#srchEndOrdrAmt','number')"
|
||||
title="검색 끝 주문 금액" name = "srchEndOrdrAmt" id = 'srchEndOrdrAmt'>
|
||||
<span class="input-unit-text">원</span>
|
||||
</div>
|
||||
<div class="input-container">
|
||||
<input type="text" id="srchStrtOrdrAmtDt" class="datepicker" title="시작 날짜 선택" name = "srchStrtOrdrAmtDt"
|
||||
autocomplete="off" >
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" id="srchEndOrdrAmtDt" class="datepicker" title="종료 날짜 선택" name = "srchEndOrdrAmtDt"
|
||||
autocomplete="off" pattern="yyyy-MM-dd"/>
|
||||
</div>
|
||||
<div class="dateRange-btnContainer" id = "searchDateRange">
|
||||
<button class="dateRange-btn" id = "today"
|
||||
onclick = "fn_set_date('srchStrtOrdrAmtDt','srchEndOrdrAmtDt','srchEndOrdrAmtDt','1D')">어제</button>
|
||||
<button class="dateRange-btn" id = "today"
|
||||
onclick = "fn_set_date('srchStrtOrdrAmtDt','srchEndOrdrAmtDt','srchEndOrdrAmtDt','0')">오늘</button>
|
||||
<button class="dateRange-btn" id = "threeDays"
|
||||
onclick = "fn_set_date('srchStrtOrdrAmtDt','srchEndOrdrAmtDt','srchEndOrdrAmtDt','3D')">3일간</button>
|
||||
<button class="dateRange-btn" id = "sevenDays"
|
||||
onclick = "fn_set_date('srchStrtOrdrAmtDt','srchEndOrdrAmtDt','srchEndOrdrAmtDt','7D')">일주일</button>
|
||||
<button class="dateRange-btn" id = "oneMonth"
|
||||
onclick = "fn_set_date('srchStrtOrdrAmtDt','srchEndOrdrAmtDt','srchEndOrdrAmtDt','1M')">1개월</button>
|
||||
<button class="dateRange-btn" id = "threeMonth"
|
||||
onclick = "fn_set_date('srchStrtOrdrAmtDt','srchEndOrdrAmtDt','srchEndOrdrAmtDt','3M')">3개월</button>
|
||||
<button class="dateRange-btn" id = "threeMonth"
|
||||
onclick = "fn_set_date('srchStrtOrdrAmtDt','srchEndOrdrAmtDt','srchEndOrdrAmtDt','6M')">6개월</button>
|
||||
<button class="dateRange-btn" id = "threeMonth"
|
||||
onclick = "fn_set_date('srchStrtOrdrAmtDt','srchEndOrdrAmtDt','srchEndOrdrAmtDt','1Y')">1년</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_reset_date('srchStrtOrdrAmtDt','srchEndOrdrAmtDt')()">전체</button>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="search-hide">
|
||||
<th>주문 건수</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="input-container">
|
||||
<input type="text" class="input-text sm right number" value="0"
|
||||
title="검색 시작 주문 건수" name = "srchStrtOrdrCnt" id = "srchStrtOrdrCnt">
|
||||
<span class="input-unit-text">건</span>
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" class="input-text sm right number" value="0" onchange = "fn_check_fromTo('#srchStrtOrdrCnt','#srchEndOrdrCnt','number')"
|
||||
title="검색 끝 주문 건수" name = "srchEndOrdrCnt" id = "srchEndOrdrCnt">
|
||||
<span class="input-unit-text">건</span>
|
||||
</div>
|
||||
<div class="input-container">
|
||||
<input type="text" id="srchStrtOrdrCntDt" class="datepicker" title="시작 날짜 선택" name = "srchStrtOrdrCntDt"
|
||||
autocomplete="off" >
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" id="srchEndOrdrCntDt" class="datepicker" title="종료 날짜 선택" name = "srchEndOrdrCntDt"
|
||||
autocomplete="off" >
|
||||
</div>
|
||||
<div class="dateRange-btnContainer" id = "searchDateRange">
|
||||
<button class="dateRange-btn" id = "today"
|
||||
onclick = "fn_set_date('srchStrtOrdrCntDt','srchEndOrdrCntDt','srchEndOrdrCntDt','1D')">어제</button>
|
||||
<button class="dateRange-btn" id = "today"
|
||||
onclick = "fn_set_date('srchStrtOrdrCntDt','srchEndOrdrCntDt','srchEndOrdrCntDt','0')">오늘</button>
|
||||
<button class="dateRange-btn" id = "threeDays"
|
||||
onclick = "fn_set_date('srchStrtOrdrCntDt','srchEndOrdrCntDt','srchEndOrdrCntDt','3D')">3일간</button>
|
||||
<button class="dateRange-btn" id = "sevenDays"
|
||||
onclick = "fn_set_date('srchStrtOrdrCntDt','srchEndOrdrCntDt','srchEndOrdrCntDt','7D')">일주일</button>
|
||||
<button class="dateRange-btn" id = "oneMonth"
|
||||
onclick = "fn_set_date('srchStrtOrdrCntDt','srchEndOrdrCntDt','srchEndOrdrCntDt','1M')">1개월</button>
|
||||
<button class="dateRange-btn" id = "threeMonth"
|
||||
onclick = "fn_set_date('srchStrtOrdrCntDt','srchEndOrdrCntDt','srchEndOrdrCntDt','3M')">3개월</button>
|
||||
<button class="dateRange-btn" id = "threeMonth"
|
||||
onclick = "fn_set_date('srchStrtOrdrCntDt','srchEndOrdrCntDt','srchEndOrdrCntDt','6M')">6개월</button>
|
||||
<button class="dateRange-btn" id = "threeMonth"
|
||||
onclick = "fn_set_date('srchStrtOrdrCntDt','srchEndOrdrCntDt','srchEndOrdrCntDt','1Y')">1년</button>
|
||||
<button class="dateRange-btn"
|
||||
onclick = "fn_reset_date('srchStrtOrdrCntDt','srchEndOrdrCntDt')()">전체</button>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="search-hide">
|
||||
<th>마일리지</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="input-container">
|
||||
<input type="text" class="input-text sm right number" value="0"
|
||||
title="검색 시작 마일리지" name = "srchStrtMlg" id = "srchStrtMlg">
|
||||
<span class="input-unit-text">마일리지</span>
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" class="input-text sm right number" value="0" onchange = "fn_check_fromTo('#srchStrtMlg','#srchEndMlg','number')"
|
||||
title="검색 끝 마일리지" name = "srchEndMlg" id = "srchEndMlg">
|
||||
<span class="input-unit-text">마일리지</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="search-hide">
|
||||
<th>방문 / 리뷰 수</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select title="방문수, 리뷰 수 검색 구분" name = "vstRvwDv" id = "vstRvwDv">
|
||||
<option value="vsitCnt">방문수</option>
|
||||
<option value="rvwCnt">리뷰수</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="input-container">
|
||||
<input type="text" class="input-text sm right number" value="0"
|
||||
title="검색 시작 방문수, 리뷰 수" name = "srchStrtVstRvwCnt" id = "srchStrtVstRvwCnt">
|
||||
<span class="input-unit-text">회</span>
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" class="input-text sm right number" value="0" onchange = "fn_check_fromTo('#srchStrtVstRvwCnt','#srchEndVstRvwCnt','number')"
|
||||
title="검색 끝 방문수, 리뷰 수" name = "srchEndVstRvwCnt" id = "srchEndVstRvwCnt">
|
||||
<span class="input-unit-text">회</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="search-hide">
|
||||
<th rowspan = "2">회원가입 환경</th>
|
||||
<td rowspan>
|
||||
<div class="td-inner">
|
||||
<div class="custom-radio-container">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="srchPlatformAll" value = "" name="srchPlatform" checked>
|
||||
<label for="srchPlatformAll">전체</label>
|
||||
</div>
|
||||
<c:forEach var = "platform" items = "${resultSrchMap.code.platform}">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="${platform.cd}" name="srchPlatform" value = "${platform.cd}">
|
||||
<label for="${platform.cd}">${platform.cdNm}</label>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="search-hide">
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="custom-radio-container">
|
||||
<c:forEach var = "brand" items = "${resultSrchMap.code.brand}">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="platform${brand.cd}" name="srchPlatform" value = "${brand.cd}">
|
||||
<label for="platform${brand.cd}">${brand.cdNm}</label>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="search-hide">
|
||||
<th>회원가입 방법</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="custom-radio-container">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="srchruteA" name="srchrute" value = "" checked>
|
||||
<label for="srchruteA">전체</label>
|
||||
</div>
|
||||
<c:forEach var = "rute" items = "${resultSrchMap.code.rute}">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="${rute.cd}" name="srchrute" value = "${rute.cd}">
|
||||
<label for="${rute.cd}">${rute.cdNm}</label>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>마케팅 수신 동의</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="custom-radio-container">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="marktRecptnAgreAtA" name = "srchMarktRecptnAgreAt" value = "" onclick = "fn_change_event('srchMarktRecptnAgreAt')" checked>
|
||||
<label for="marktRecptnAgreAtA">전체</label>
|
||||
</div>
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="marktRecptnAgreAtY" value = "Y" name="srchMarktRecptnAgreAt" onclick = "fn_change_event('srchMarktRecptnAgreAt')">
|
||||
<label for="marktRecptnAgreAtY">동의</label>
|
||||
</div>
|
||||
<span class="parentheses">(</span>
|
||||
<div class="b-checkbox-container inner">
|
||||
<label class="b-checkbox checkbox check-all">
|
||||
<input type="checkbox" value="" class = "checkBtn" id = "checkAll">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">전체</span>
|
||||
</label>
|
||||
<c:forEach var = "brand" items = "${resultSrchMap.code.brand}">
|
||||
<label class="b-checkbox checkbox check checkBtn">
|
||||
<input type="checkbox" id="markt${brand.cd}" name="srchBrand" value = "${brand.cd}" class = "checkBtn" onclick = "fn_change_prop_uncheck('srchBrand');fn_change_prop_unclick('srchMarktRecptnAgreAt')">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">${brand.cdNm}</span>
|
||||
</label>
|
||||
</c:forEach>
|
||||
</div>
|
||||
<span class="parentheses">)</span>
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="marktRecptnAgreAtN" value = "N" name="srchMarktRecptnAgreAt" onclick = "fn_change_event('srchMarktRecptnAgreAt')" >
|
||||
<label for="marktRecptnAgreAtN">거부</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="search-hide">
|
||||
<th>성별</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="custom-radio-container">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="sexDstnA" name="srchSexDstn" value = "" checked>
|
||||
<label for="sexDstnA">전체</label>
|
||||
</div>
|
||||
<c:forEach var = "sexDstn" items = "${resultSrchMap.code.sexDstn}">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="sex${sexDstn.cd}" value = "${sexDstn.cd}" name="srchSexDstn">
|
||||
<label for="sex${sexDstn.cd}"><c:out value = "${sexDstn.cdNm}"/></label>
|
||||
</div>
|
||||
</c:forEach>
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="sexDstnN" value = "none" name="srchSexDstn">
|
||||
<label for="sexDstnN">성별없음</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="search-hide">
|
||||
<th>나이</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="input-container">
|
||||
<span class="input-unit-text left">만</span>
|
||||
<input type="text" class="input-text xsm right number" value="0"
|
||||
title="나이 검색 시작" name = "srchStrtBrthDe" id = "srchStrtBrthDe">
|
||||
<span class="input-unit-text">세</span>
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" class="input-text xsm right number" value="0" onchange = "fn_check_fromTo('#srchStrtBrthDe','#srchEndBrthDe','number')"
|
||||
title="나이 검색 종료" name = "srchEndBrthDe" id = "srchEndBrthDe">
|
||||
<span class="input-unit-text">세</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>리셀러 여부</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="custom-radio-container">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="appenA" name="srchAppen" value = "" checked>
|
||||
<label for="appenA">전체</label>
|
||||
</div>
|
||||
<c:forEach var = "appen" items = "${resultSrchMap.code.appen}">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="${appen.cd}" name="srchAppen" value = "${appen.cd}">
|
||||
<label for="${appen.cd}">${appen.cdNm}</label>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="form-control-container">
|
||||
<div class="left"></div>
|
||||
<div class="center">
|
||||
<button type = "button" class="btn outline" id = "btnResetForm">초기화</button>
|
||||
<button type = "button" class="btn primary" onclick = "fn_select_list(1)">검색</button>
|
||||
</div>
|
||||
<div class="right">
|
||||
<button type = "button" class="btn outline search-detail" onclick = "fn_disable_srchInput()">상세검색</button>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<div id = "pageDiv">
|
||||
</div>
|
||||
</form>
|
||||
<button class="scroll-to-top"><span class="visually-hidden">위로가기</span></button>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<div id = "modalDiv"></div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,155 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%--
|
||||
Class Name : MlgManagePopupCForm.jsp.jsp
|
||||
Description : 마일리지 관리
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
since : 2024.02.19 김혜인 최초 생성
|
||||
--%>
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
fn_count_byte(".cn",".byteCnt",90);
|
||||
fn_select_mlgList(1);
|
||||
//적용구분 값따라 showHIde
|
||||
$("#mlgApplcCnDv").on("change",function(){
|
||||
const applcDv = $("#mlgApplcCnDv").val();
|
||||
|
||||
if(applcDv == "minus"){
|
||||
fn_ui_showHide("",".hideEl","Y");
|
||||
}else if (applcDv == 'add' || applcDv == 'plus'){
|
||||
fn_ui_showHide(".hideEl","","N");
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<!-- 마일리지 관리 모달 -->
|
||||
<div id="MlgMabagePopup" class="modal" style="max-width: 1200px;">
|
||||
<div class="modal-header">
|
||||
<h4>마일리지 관리</h4>
|
||||
</div>
|
||||
<div class="modal-content">
|
||||
<h2 class="content-section__title">마일리지</h2>
|
||||
<hr class="spacing">
|
||||
<form id = "mlgApplyForm">
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>마일리지 적용</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col>
|
||||
<col style="width: 12%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>지급자</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<span>TODO::지급자명</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>대상회원</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<span>TODO::대상회원명(대상회원휴대폰호)</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>마일리지</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select name = "mlgApplcCnDv" id = "mlgApplcCnDv" title="마일리지 적용 구분" >
|
||||
<!--TODO:: 코드 가져오기 -->
|
||||
<option value="plus">지급</option>
|
||||
<option value="minus">차감</option>
|
||||
<option value="add">적립</option>
|
||||
</select>
|
||||
</div>
|
||||
<input name = "accmlmnyAmt" id = "accmlmnyAmt" type="text" class="input-text sm right number" value="0" title="마일리지 금액"><span>마일리지</span>
|
||||
<span class = "hideEl">유효기간:</span>
|
||||
<input name = "mlgValidDt" type="text" class="input-text sm right number hideEl" value="0" title="마일리지 유효기간">
|
||||
<span class="control-label hideEl">개월</span>
|
||||
<div class="b-checkbox-container inner hideEl">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input name = "validAt" type="checkbox" value="">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">유효기간 설정안함</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>사유</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select name = "mlgApplcResn" id = "mlgApplcResn" title="마일리지 적용 사유" >
|
||||
<!--TODO:: 코드 가져오기 -->
|
||||
<option value="">등록일</option>
|
||||
</select>
|
||||
</div>
|
||||
<input name = "accmlmnyAmt" type="text" class="input-text sm right number" value="0" title="마일리지 금액" id = "accmlmnyAmt" placeholder="직접 입력">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<hr class="spacing">
|
||||
<h2 class="content-section__title">SMS</h2>
|
||||
<hr class="spacing">
|
||||
<div class="table-wrapper" style="max-width: 400px;">
|
||||
<table class="table">
|
||||
<caption>마일리지 적용</caption>
|
||||
<colgroup>
|
||||
<col style="width: 35%;">
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class = "center">sms 입력</th>
|
||||
<td>
|
||||
<div class="template-message__body">
|
||||
<div class="sms-manage">
|
||||
<textarea class="textarea cn" title="sms 입력"></textarea>
|
||||
<div class="sms-manage__byte">
|
||||
<span class="number byteCnt">0</span>
|
||||
<span class="text">byte</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="form-control-container">
|
||||
<div class="left"></div>
|
||||
<div class="center">
|
||||
<button class="btn primary" id="searchBtn" type="button" onclick="">적용하기</button>
|
||||
</div>
|
||||
|
||||
<div class="right"></div>
|
||||
</div>
|
||||
<hr class="spacing">
|
||||
</form>
|
||||
<hr class="horizontal-line">
|
||||
<div id = "mlgDtlDiv"></div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="#" rel="modal:close" class="btn outline">닫기</a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,186 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%--
|
||||
Class Name : MlgManagePopupCForm.jsp.jsp
|
||||
Description : 마일리지 관리
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
since : 2024.02.19 김혜인 최초 생성
|
||||
2024-05-20 이운산 수정
|
||||
--%>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
fn_apply_btnTy_button();
|
||||
});
|
||||
</script>
|
||||
<form id="mlgListForm">
|
||||
<section class="content-section" id="mlg_content_section">
|
||||
<h2 class="content-section__title">수신 내역</h2>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>마일리지 적용</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>지급/차감일</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="input-container">
|
||||
<input type="text" id="srchStrtDt" class="datepicker" title="시작 날짜 선택" autocomplete="off">
|
||||
<span class="tilde">~</span>
|
||||
<input type="text" id="srchEndDt" class="datepicker" title="종료 날짜 선택" autocomplete="off">
|
||||
</div>
|
||||
<div class="dateRange-btnContainer" id="srchDateRange">
|
||||
<button class="dateRange-btn">어제</button>
|
||||
<button class="dateRange-btn">오늘</button>
|
||||
<button class="dateRange-btn">3일간</button>
|
||||
<button class="dateRange-btn">일주일</button>
|
||||
<button class="dateRange-btn">1개월</button>
|
||||
<button class="dateRange-btn">3개월</button>
|
||||
<button class="dateRange-btn">6개월</button>
|
||||
<button class="dateRange-btn">1년</button>
|
||||
<button class="dateRange-btn selected">전체</button>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>마일리지 적용구분</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox check-all">
|
||||
<input type="checkbox" value="" id = "applcDvChkAll">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">전체</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="complete" class = "applcDvChk" name = "srchPurchsSttus">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">지급</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="complete" class = "applcDvChk" name = "srchPurchsSttus">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">차감</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="complete" class = "applcDvChk" name = "srchPurchsSttus">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">적립</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="stay" class = "applcDvChk" name = "srchPurchsSttus">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">회수</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="form-control-container">
|
||||
<div class="left"></div>
|
||||
<div class="center">
|
||||
<button type = "button" class="btn outline" id = "resetBtn">초기화</button>
|
||||
<button type = "button" class="btn primary" onclick="fn_select_list(); return false;">검색</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-control-container">
|
||||
<div class="left">
|
||||
</div>
|
||||
<div class="center">
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="select-box">
|
||||
<select id="mbrPageUnit" name="pageUnit" title="페이지당 출력될 목록건수" onchange="fn_select_mbrInfo(1);">
|
||||
<%-- <c:forEach items="${ resultListMapMbr.paginationInfo.pageUnitArr }" var="pageUnit" varStatus="pageUnitStatus">
|
||||
<option value="<c:out value="${ pageUnit }"/>" <c:if test="${ resultListMapMbr.paginationInfo.recordCountPerPage eq pageUnit}">selected="selected"</c:if>><c:out value="${ pageUnit }"/>개씩</option>
|
||||
</c:forEach> --%>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="horizontal-line">
|
||||
<div class="form-control-container">
|
||||
<div class="left">
|
||||
</div>
|
||||
<div class="center">
|
||||
</div>
|
||||
<div class="right">
|
||||
</div>
|
||||
</div>
|
||||
<hr class="spacing">
|
||||
<div class="table-wrapper">
|
||||
<table class="table vertical">
|
||||
<caption>수신 내역</caption>
|
||||
<!-- 각 열 width 설정 -->
|
||||
<colgroup>
|
||||
<col style="width: 6%;">
|
||||
<col style="width: 15%">
|
||||
<col style="width: 20%">
|
||||
<col style="width: 20%">
|
||||
<col>
|
||||
<col style="width: 10%">
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>번호</th>
|
||||
<th>지급/차감 금액</th>
|
||||
<th>사유</th>
|
||||
<th>내역</th>
|
||||
<th>지급일</th>
|
||||
<th>자동/수동</th>
|
||||
<th>유효기간</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultListMapMbr.boCtrlMap}">
|
||||
<c:forEach items="${ resultListMapMbr.boCtrlMap }" var="list" varStatus="status">
|
||||
<tr>
|
||||
<td><c:out value="${resultListMapMbr.paginationInfo.totalRecordCount - list.rnum + 1 }" /></td>
|
||||
<td>
|
||||
<span class="table-ellipsis">
|
||||
<c:out value = "${list.recpntEmail}"/>
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<c:out value = "${list.recpntNm}"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:out value = "${list.sttus}"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:out value = "${list.sndngDt}"/>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<tr>
|
||||
<td colspan="100%"><spring:message code="common.nodata"/></td>
|
||||
</tr>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
<input type="hidden" id="pageIndex" name="pageIndex" value="1" />
|
||||
<%-- <div class="pagination__container mt-30">
|
||||
<ui:pagination paginationInfo="${resultMap.paginationInfo}" type="image" jsFunction="fn_select_rpuseDlvylcList" />
|
||||
</div> --%>
|
||||
</section>
|
||||
</form>
|
||||
Reference in New Issue
Block a user