초기소스
This commit is contained in:
376
src/main/webapp/WEB-INF/views/mngr/setup/mbr/GradBnefRegistU.jsp
Normal file
376
src/main/webapp/WEB-INF/views/mngr/setup/mbr/GradBnefRegistU.jsp
Normal file
@@ -0,0 +1,376 @@
|
||||
<%@ 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" %>
|
||||
<%--
|
||||
Class Name : GradBnefRegistU.jsp
|
||||
Description : 등급별 혜택 수정 jsp
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
since : 2023.12.27 김혜인 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<%@include file ="/WEB-INF/views/comm/mngr/Include.jsp" %>
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
fn_showHide_html();
|
||||
// 셀렉트 박스 마일리지 지급 단위에 따른 제어 함수
|
||||
$("#mlgDv").on("change", function () {
|
||||
let mlgDvValue = $("#mlgDv option:selected").val();
|
||||
if (mlgDvValue === "02") {
|
||||
$('.mlgPercent').hide();
|
||||
$("#mlgAccmlAmt").attr("maxlength", "11");
|
||||
$("#mlgMxmmAccmlmnyAmt").prop("disabled", true);
|
||||
} else if (mlgDvValue === "01") {
|
||||
$(".mlgPercent").show();
|
||||
$("#mlgAccmlAmt").attr("maxlength", "2");
|
||||
$("#mlgMxmmAccmlmnyAmt").prop("disabled", false);
|
||||
if ($("#mlgMxmmAccmlmnyAmtChk").is(":checked")) {
|
||||
$("#mlgMxmmAccmlmnyAmt").prop("disabled", true);
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
// 마일리지 지급 설정 라디오버튼 제어 함수javascript 셀렉트 값 가져오기
|
||||
$('input[name="mlgPymnt"]').on("change", function () {
|
||||
let mlgPymntValue = $('input[name="mlgPymnt"]:checked').val();
|
||||
if (mlgPymntValue === "mlgPymntN") {
|
||||
$('.mlgPymnt').hide();
|
||||
$('.red-7').hide();
|
||||
} else if (mlgPymntValue === "mlgPymntY") {
|
||||
//마일리지 지급 설정 노출
|
||||
$('.mlgPymnt').show();
|
||||
$('.red-7').show();
|
||||
//마일리지 적립 금액 값 없을 시 0세팅
|
||||
if ($("#mlgAccmlAmt").val() === "") {
|
||||
$("#mlgAccmlAmt").val('0');
|
||||
}
|
||||
//금액 disabled 비활성
|
||||
$("#mlgAccmlAmt").prop("disabled", false);
|
||||
|
||||
//최대 적립마일리지
|
||||
if ($("#mlgMxmmAccmlmnyAmtChk").is(":checked")) {
|
||||
$("#mlgMxmmAccmlmnyAmt").prop("disabled", true);
|
||||
} else {
|
||||
$("#mlgMxmmAccmlmnyAmt").prop("disabled", false);
|
||||
}
|
||||
$("#mlgMxmmAccmlmnyAmtChk").prop("disabled", false);
|
||||
|
||||
if ($("#mlgDv option:selected").val() == '01') {
|
||||
$('.mlgPercent').show();
|
||||
$("#mlgAccmlAmt").attr("maxlength", "2");
|
||||
//if 비율이 ''일시 0으로 값 수정
|
||||
if (!$("#mlgMxmmAccmlmnyAmtChk").is(":checked")) {
|
||||
$("#mlgMxmmAccmlmnyAmt").prop("disabled", false);
|
||||
}
|
||||
} else if ($("#mlgDv option:selected").val() == '02') {
|
||||
//마일리지 금액 항목 노출
|
||||
$('.mlgPercent').hide();
|
||||
$("#mlgAccmlAmt").attr("maxlength", "11");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
//처음 페이지 이동 시 라디오 버튼 처리
|
||||
const fn_showHide_html = function () {
|
||||
|
||||
let mlgPymntValue = $("[name='mlgPymnt']:checked").val();
|
||||
let mlgDvValue = $("#mlgDv").val();
|
||||
//1. 지급
|
||||
if (mlgPymntValue === "mlgPymntY") {
|
||||
$("#mlgAccmlAmt").show();
|
||||
if (mlgDvValue === "01") {
|
||||
$(".mlgPercent").show();
|
||||
$("#mlgAccmlAmt").attr("maxlength", "2");
|
||||
if ($("#mlgAccmlAmt").val() != "" && $("#mlgMxmmAccmlmnyAmt") == "") {
|
||||
$("#mlgMxmmAccmlmnyAmtChk").prop("checked", true);
|
||||
}
|
||||
} else if (mlgDvValue === "02") {
|
||||
$('.mlgPercent').hide();
|
||||
$("#mlgAccmlAmt").attr("maxlength", "11");
|
||||
$("#mlgMxmmAccmlmnyAmt").prop("disabled", true);
|
||||
}
|
||||
|
||||
//2. 미지급
|
||||
} else if (mlgPymntValue === "mlgPymntN") {
|
||||
$('.mlgPymnt').hide();
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 수정 ajax 처리
|
||||
*/
|
||||
const fn_save_gradBnefFrm = function () {
|
||||
if (confirm('<spring:message code="confirm.common.save"/>')) {
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url: '<c:url value="/mngr/setup/mbr/updateGradBnefUpdt"/>',
|
||||
data: $('#gradBnefFrm').serialize(),
|
||||
success: function (resultData) {
|
||||
alert("<spring:message code="success.common.save"/>");
|
||||
fn_move_gradBnefDtl();
|
||||
$("#pageIndex").val(1);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
//수정 후 재 조회
|
||||
const fn_move_gradBnefDtl = function () {
|
||||
//form 여부 체크
|
||||
if ($('#hiddenDtlForm') != null) {
|
||||
$('#hiddenDtlForm').remove();
|
||||
}
|
||||
//form input 형성
|
||||
const hiddenDtlForm = document.createElement('form');
|
||||
hiddenDtlForm.name = 'hiddenDtlForm';
|
||||
hiddenDtlForm.id = 'hiddenDtlForm';
|
||||
hiddenDtlForm.method = 'post';
|
||||
hiddenDtlForm.action = '/mngr/setup/mbr/selectGradBnefRegistInqire';
|
||||
//memberInnb input 형성
|
||||
let input = document.createElement('input');
|
||||
input.setAttribute("type", "hidden");
|
||||
input.setAttribute("name", "mbrGradInnb");
|
||||
input.setAttribute("value", $("#mbrGradInnb").val());
|
||||
hiddenDtlForm.appendChild(input);
|
||||
//pageIndex input 형성
|
||||
input = document.createElement('input');
|
||||
input.setAttribute("type", "hidden");
|
||||
input.setAttribute("name", "pageIndex");
|
||||
input.setAttribute("value", 1);
|
||||
hiddenDtlForm.appendChild(input);
|
||||
//pageUnit input 형성
|
||||
input = document.createElement('input');
|
||||
input.setAttribute("type", "hidden");
|
||||
input.setAttribute("name", "pageUnit");
|
||||
input.setAttribute("value", $("#pageUnit").val());
|
||||
hiddenDtlForm.appendChild(input);
|
||||
//searchGradNm input 형성
|
||||
if ($("#searchGradNm").val() != undefined) {
|
||||
input = document.createElement('input');
|
||||
input.setAttribute("type", "hidden");
|
||||
input.setAttribute("name", "searchGradNm");
|
||||
input.setAttribute("value", $("#searchGradNm").val());
|
||||
hiddenDtlForm.appendChild(input);
|
||||
}
|
||||
//<body>에 form 추가
|
||||
document.body.appendChild(hiddenDtlForm);
|
||||
//hiddenFform submit();
|
||||
$('#hiddenDtlForm').submit();
|
||||
}
|
||||
/*******************
|
||||
목록 조회
|
||||
************************/
|
||||
const fn_move_gradBnefList = function (pageIndex) {
|
||||
$('#gradBnefFrm').prop('action', '<c:url value="/mngr/setup/mbr/selectMbrGradSrchForm"/>');
|
||||
$('#gradBnefFrm').prop('method', 'post');
|
||||
$('#gradBnefFrm').submit();
|
||||
}
|
||||
/**************************************************************
|
||||
마일리지 설정안함 체크 시 input 제어
|
||||
****************************************************************/
|
||||
const fn_ctr_input = function (obj, tgtSelector) {
|
||||
if ($(obj).prop('checked')) {
|
||||
if ($(tgtSelector).eq(0)) {
|
||||
$(tgtSelector).eq(0).prop('disabled', true);
|
||||
}
|
||||
} else {
|
||||
if ($(tgtSelector).eq(0)) {
|
||||
$(tgtSelector).eq(0).prop('disabled', false);
|
||||
}
|
||||
}
|
||||
}
|
||||
</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">
|
||||
<c:set var = "gradDtl" value = "${resultMap.gradDtl.gradDtl}"/>
|
||||
<c:set var = "accmlUnitDv" value = "${resultMap.gradDtl.accmlUnitDv}"/>
|
||||
<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 type="button" onclick="fn_move_gradBnefList()" class="btn outline"><spring:message
|
||||
code="button.list"/></button>
|
||||
<button type="button" onclick="fn_save_gradBnefFrm()" class="btn primary"><spring:message
|
||||
code="button.save"/></button>
|
||||
</div>
|
||||
</div>
|
||||
<form id="gradBnefFrm">
|
||||
<section class="content-section">
|
||||
<h3 class="content-section__title">혜택 설정</h3>
|
||||
<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: 38%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>회원 등급</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<span><c:out value="${gradDtl.mbrGradNm}"/></span>
|
||||
<input type="hidden"
|
||||
value="<c:out value = "${gradDtl.mbrGradInnb}"/>"
|
||||
name="mbrGradInnb" id="mbrGradInnb">
|
||||
</div>
|
||||
</td>
|
||||
<th>조건구매금액</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<span>
|
||||
<c:choose>
|
||||
<c:when test = "${gradDtl.mbrGradCndCd eq '01'}">
|
||||
조건 없음
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<fmt:formatNumber value="${gradDtl.mbrGradAmt}" pattern="#,###.##"/>원 이상
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>마일리지</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner vertical">
|
||||
<div class="table-wrapper" style="width: 800px;">
|
||||
<table class="table">
|
||||
<caption>마일리지 지급 설정</caption>
|
||||
<colgroup>
|
||||
<col style="width: 20%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>지급 설정<span class="red-7">*</span></th>
|
||||
<td>
|
||||
<div class="td-inner vertical">
|
||||
<div class="custom-radio-container">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="mlgPymntY" name="mlgPymnt"
|
||||
value="mlgPymntY"
|
||||
onclick="fn_ctrl_disable('',['.enable']);"
|
||||
<c:if test="${not empty gradDtl.mlgAccmlAmt}">
|
||||
checked="checked"
|
||||
</c:if>>
|
||||
<label for="mlgPymntY">지급</label>
|
||||
</div>
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="mlgPymntN" name="mlgPymnt"
|
||||
value="mlgPymntN"
|
||||
onclick="fn_ctrl_disable(['.disableMlgPymnt']);"
|
||||
<c:if test="${empty gradDtl.mlgAccmlAmt}">
|
||||
checked="checked"
|
||||
</c:if>>
|
||||
<label for="mlgPymntN">미지급</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mlgPymnt">
|
||||
<div class="input-container disableMlgPymnt ">
|
||||
<span class="mr-5">구매시</span>
|
||||
<span class="mr-5 mlgPercent">총 상품 결제금액의</span>
|
||||
<span class="mr-5">
|
||||
<fmt:formatNumber var="mlgAccmlAmt"
|
||||
value="${gradDtl.mlgAccmlAmt}"
|
||||
pattern="#,###.##"/>
|
||||
<input type="text"
|
||||
class="input-text sm number right mr-5"
|
||||
title="마일리지 적립 금액"
|
||||
id="mlgAccmlAmt"
|
||||
name="mlgAccmlAmt"
|
||||
value="<c:out value = '${mlgAccmlAmt}'/>">
|
||||
</span>
|
||||
<div class="select-box mr-10 enable">
|
||||
<select id="mlgDv" name="mlgAccmlUnitDvCd"
|
||||
class="short" title="마일리지 단위 선택">
|
||||
<c:forEach var="accmlUnitDv" items="${accmlUnitDv}">
|
||||
<option value="${accmlUnitDv.cd}" <c:if test="${accmlUnitDv.cd eq gradDtl.mlgAccmlUnitDvCd}">selected="selected"</c:if>>
|
||||
${accmlUnitDv.cdNm}
|
||||
</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
<span class="mr-5">
|
||||
적립
|
||||
</span>
|
||||
</div>
|
||||
<div class="input-container mr-5 mlgPymnt mlgPercent disableMlgPymnt">
|
||||
<span class="mr-5">최대</span>
|
||||
<c:choose>
|
||||
<c:when test="${not empty gradDtl.mlgMxmmAccmlAmt && gradDtl.mlgMxmmAccmlAmt ne '0'}">
|
||||
<fmt:formatNumber var="mlgMxmmAccmlAmt" value="${gradDtl.mlgMxmmAccmlAmt}" pattern="#,###.##"/>
|
||||
<input class="input-text sm number right mr-5"
|
||||
type="text" title="최대 마일리지 적립금액"
|
||||
id="mlgMxmmAccmlmnyAmt"
|
||||
name="mlgMxmmAccmlAmt" maxlength="12"
|
||||
value="<c:out value = '${mlgMxmmAccmlAmt}'/>">
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<input class="input-text sm number right mr-5"
|
||||
type="text" title="최대 마일리지 적립금액"
|
||||
id="mlgMxmmAccmlmnyAmt"
|
||||
name="mlgMxmmAccmlAmt" maxlength="12"
|
||||
value="0" disabled>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<span class="mr-5">마일리지 까지 적립</span>
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="Y"
|
||||
name="mlgMxmmAccmlmnyAmtChk"
|
||||
id="mlgMxmmAccmlmnyAmtChk"
|
||||
onclick="fn_ctr_input(this,mlgMxmmAccmlmnyAmt)"
|
||||
<c:if test="${gradDtl.mlgMxmmAccmlAmt eq null && gradDtl.mlgAccmlUnitDvCd eq '01'}">
|
||||
checked="checked" </c:if>>
|
||||
<span class="check"></span>
|
||||
<span class="control-label">설정 안함</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<br>
|
||||
<p class="red-7">*회원 등급 마일리지 유효기간은 주문 설정의 마일리지 유효기간을 따라갑니다.</p>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--검색 조건 , 페이징 조건 -->
|
||||
<input type="hidden" id="searchGradNm" name="searchGradNm" title="검색_회원등급명" value="${resultMap.vo.searchGradNm}">
|
||||
<input type="hidden" id="pageIndex" name="pageIndex" value="${resultMap.vo.pageIndex}"/>
|
||||
<input type="hidden" id="pageUnit" name="pageUnit" value="${resultMap.vo.pageUnit}"/>
|
||||
</section>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user