초기소스
This commit is contained in:
520
src/main/webapp/WEB-INF/views/itrnt/mngr/ItrntMngrDtlFormR.jsp
Normal file
520
src/main/webapp/WEB-INF/views/itrnt/mngr/ItrntMngrDtlFormR.jsp
Normal file
@@ -0,0 +1,520 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%@ 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"%>
|
||||
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||
|
||||
|
||||
<%--
|
||||
Class Name : ItrntMngrDtlFormR.jsp
|
||||
Description : 인트라넷 관리자 상세 화면
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-03-18 유재현 최초 생성(퍼블리싱 적용)
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<%-- 공통 include --%>
|
||||
<%@ include file="/WEB-INF/views/comm/itrnt/Include.jsp"%>
|
||||
|
||||
<script>
|
||||
|
||||
/**********************************************
|
||||
* 인트라넷 관리자 목록 화면 이동
|
||||
***********************************************/
|
||||
const fn_move_itrnMngrList = function () {
|
||||
location.href='/itrnt/mngr/selectItrntMngrList';
|
||||
}
|
||||
|
||||
/**********************************************
|
||||
* 인트라넷 관리자 저장
|
||||
***********************************************/
|
||||
|
||||
const fn_update_itrntMngr = function() {
|
||||
|
||||
|
||||
//비밀번호 입력되었는지 확인
|
||||
const tentcpnPassword = $('#tentcpnPassword').val();
|
||||
const tentcpnPasswordChk = $('#tentcpnPasswordChk').val();
|
||||
const pwdChangeChk = $('#pwdChangeChk:checked')
|
||||
if(pwdChangeChk < 1 && (tentcpnPassword < 1 || tentcpnPasswordChk < 1)){
|
||||
alert('비밀번호를 입력해 주세요');
|
||||
return;
|
||||
}else if(pwdChangeChk < 1 && (tentcpnPassword !== tentcpnPasswordChk)){
|
||||
alert('비밀번호가 일치하지 않습니다');
|
||||
return;
|
||||
}
|
||||
|
||||
//비밀번호 정규식 확인
|
||||
const pwdChkNoticeResult = $('#pwdChkNoticeRs').val();
|
||||
if(pwdChangeChk < 1 && (pwdChkNoticeResult !=='Y')){
|
||||
alert('비밀번호 조합 조건을 확인해 주세요')
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
const url = '<c:url value="/itrnt/mngr/updateItrntMngrUptDtl"/>';
|
||||
const saveForm = $('#itrntMngrDtlUptForm');
|
||||
const formData = new FormData();
|
||||
saveForm.serializeArray().forEach(function(item) {
|
||||
formData.append(item.name,item.value);
|
||||
});
|
||||
|
||||
if(confirm('관리자를 <spring:message code="confirm.common.insert"/>')) {
|
||||
$.ajax({
|
||||
type : 'post',
|
||||
url : url,
|
||||
data : formData,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
success : function(result) {
|
||||
console.log(result.toString())
|
||||
if (JSON.parse(result.resBody.result).message ==='success') {
|
||||
alert('<spring:message code="success.common.insert"/>');
|
||||
location.href='/itrnt/mngr/selectItrntMngrList';
|
||||
}else if(JSON.parse(result.resBody.result).message ==='pwdNotMatch'){
|
||||
alert('현재 로그인된 비밀번호가 일치하지 않습니다');
|
||||
$('#currentPassword').val('');
|
||||
$('#tentcpnPassword').val('');
|
||||
$('#tentcpnPasswordChk').val('');
|
||||
$('#currentPassword').focus();
|
||||
} else {
|
||||
alert('<spring:message code="fail.common.insert"/>');
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
//비밀번호 정규식 확인
|
||||
const pwdChk = $('#tentcpnPasswordChk').on('propertychange change keyup paste input', function () {
|
||||
const pwdRegex = /^(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[!#$%&()*+-\/:<>?@\[\\\]^_{|}~]).{10,20}$/;
|
||||
let tentcpnPassword = $('#tentcpnPassword').val().trim();
|
||||
let tentcpnPasswordChk = $('#tentcpnPasswordChk').val().trim();
|
||||
let pwdChkNotice = $('#pwdChkNotice');
|
||||
let pwdChkNoticeResult = $('#pwdChkNoticeRs')
|
||||
|
||||
if (pwdRegex.test(tentcpnPassword) === false
|
||||
|| pwdRegex.test(tentcpnPasswordChk) === false) {
|
||||
|
||||
pwdChkNotice.attr('value', '비밀번호 조합 조건을 확인해 주세요.');
|
||||
pwdChkNotice.attr('type', 'text').css('visibility', 'visible');
|
||||
pwdChkNotice.css('pointer-events','none'); //클릭 방지
|
||||
pwdChkNoticeResult.attr('value', 'N')
|
||||
|
||||
} else if(tentcpnPassword === tentcpnPasswordChk){
|
||||
pwdChkNotice.attr('value', '사용 가능한 비밀번호 입니다')
|
||||
pwdChkNotice.attr('type', 'text').css('visibility', 'visible')
|
||||
pwdChkNotice.css('pointer-events','none');
|
||||
pwdChkNoticeResult.attr('value', 'Y')
|
||||
}else{
|
||||
pwdChkNotice.attr('value', '입력하신 비밀번호가 일치하지 않습니다.')
|
||||
pwdChkNotice.attr('type', 'text').css('visibility', 'visible')
|
||||
pwdChkNotice.css('pointer-events','none');
|
||||
pwdChkNoticeResult.attr('value', 'N')
|
||||
}
|
||||
});
|
||||
setTimeout(pwdChk, 3000);
|
||||
|
||||
|
||||
//관리자 권한 표시
|
||||
//관리자 쓰기 권한
|
||||
const adminWriteInput = $('.adminWrite');
|
||||
adminWriteInput.each(function(){
|
||||
if($(this).children('input').val() !=='Y'){
|
||||
$(this).siblings('span.stone-7').remove()
|
||||
$(this).remove()
|
||||
}
|
||||
});
|
||||
|
||||
//관리자 권한
|
||||
const adminCategoryInput = $('.adminCategory');
|
||||
adminCategoryInput.each(function(){
|
||||
if($(this).children('input').val() !=='Y'){
|
||||
$(this).remove()
|
||||
}
|
||||
});
|
||||
|
||||
//관리자 권한 / 쓰기권한 모두 없을 경우 div 삭제
|
||||
const checkboxContainer = $('.b-checkbox-container');
|
||||
checkboxContainer.each(function () {
|
||||
if($(this).find('input').length === 0){
|
||||
$(this).remove()
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
// 비밀번호 변경 창 OnOff
|
||||
$('#pwdChangeChk').on("click",function(){
|
||||
if($(this).attr("checked")){
|
||||
$(".pwdChangeDiv").hide();
|
||||
$(this).removeAttr('checked', false)
|
||||
}else{
|
||||
$(".pwdChangeDiv").show();
|
||||
$(this).attr('checked', true)
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<%@ include file="/WEB-INF/views/comm/itrnt/Header.jsp"%>
|
||||
<main class="main">
|
||||
<%@ include file="/WEB-INF/views/comm/itrnt/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 type="button" class="btn outline" onclick="fn_move_itrnMngrList();"> <spring:message code="button.list"/> </button>
|
||||
<button type="button" class="btn primary" onclick="fn_update_itrntMngr();"> <spring:message code="button.save"/> </button>
|
||||
</div>
|
||||
</div>
|
||||
<section class="content-section">
|
||||
<form id="itrntMngrDtlUptForm" name="itrntMngrDtlUptForm">
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<c:if test="${not empty resultMap.result}"/>
|
||||
<input type="hidden" name="strInnb" value="${resultMap.result.strInnb}"/>
|
||||
<tr>
|
||||
<th>최근접속일</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<p><c:out value="${resultMap.result.lastLoginDt}"/></p>
|
||||
</div>
|
||||
</td>
|
||||
<th>등록일</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<p><c:out value="${resultMap.result.registDt}"/></p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>관리자 구분</th>
|
||||
<td>
|
||||
<c:if test="${resultMap.result.reprsntMngrAt == 'Y'}">
|
||||
<div class="td-inner">
|
||||
<p><c:out value="대표운영자" default="부운영자"/></p>
|
||||
</div>
|
||||
</c:if>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>관리자 ID</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<p><c:out value="${resultMap.result.tentcpnId}"/></p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>비밀번호
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" id="pwdChangeChk">
|
||||
<span class="check"></span>
|
||||
<span class="control-label"> 변경</span>
|
||||
</label>
|
||||
</div>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<div class="table-wrapper w-100 pwdChangeDiv" style="width: 800px; display: none">
|
||||
<table class="table transparent">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 20%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class="text-left">현재 비밀번호</th>
|
||||
<td class="w-25">
|
||||
<div class="td-inner">
|
||||
<input type="password" class="input-text" value="" id="currentPassword" name="currentPassword" autocomplete="new-password"
|
||||
title="해당 인풋에 대한 설명">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="text-left">비밀번호 변경</th>
|
||||
<td class="w-25">
|
||||
<div class="td-inner">
|
||||
<input type="password" class="input-text" value="" id="tentcpnPassword" name="tentcpnPassword" autocomplete="new-password"
|
||||
title="해당 인풋에 대한 설명">
|
||||
<p class="fyi fs-13 gray-7 ml-4">10-20자, 영문 대소문자
|
||||
또는
|
||||
숫자,
|
||||
특수문자 중 2가지 이상 조합</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="text-left">비밀번호 변경 확인</th>
|
||||
<td class="w-25">
|
||||
<div class="td-inner">
|
||||
<input type="password" class="input-text" value="" id="tentcpnPasswordChk" autocomplete="new-password"
|
||||
title="해당 인풋에 대한 설명">
|
||||
<p class="fyi fs-13 gray-7 ml-4">사용가능 특수문자 : ! #
|
||||
$ %
|
||||
& ( ) * + - / : < =
|
||||
> ? @ [ \ ] ^ _ { | } ~</p>
|
||||
<input type="hidden" class="fyi fs-13 gray-7 ml-4 w-full" id="pwdChkNotice" tabindex="-1" readonly />
|
||||
<input type="hidden" id="pwdChkNoticeRs" />
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>관리자 명</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text md" type="text" title="해당 인풋에 대한 설명" name="tentcpnNm" value="<c:out value="${resultMap.result.tentcpnNm}"/>" />
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</form>
|
||||
</section>
|
||||
<section class="content-section">
|
||||
<div class="form-control-container mb-10">
|
||||
<div class="left">
|
||||
<h3 class="delivery-info__title">
|
||||
관리자 권한
|
||||
</h3>
|
||||
</div>
|
||||
<div class="center">
|
||||
</div>
|
||||
</div>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.result.mngrAuthor}">
|
||||
<tr>
|
||||
<th>매출분석</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="hidden" id="daily_revenue" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.dailyRevenue}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">일별매출</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="hidden" id="weekly_revenue" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.weeklyRevenue}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">주별매출</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="hidden" id="monthly_revenue" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.monthlyRevenue}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">월별매출</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>판매분석</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="hidden" id="daily_static" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.dailyStatic}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">금일 판매내역</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="hidden" id="weekly_static" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.weeklyStatic}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">주간 판매내역</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="hidden" id="monthly_static" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.monthlyStatic}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">월간 판매내역</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="hidden" id="revenue_static" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.revenueStatic}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">판매 상품 순위</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>마이페이지</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="hidden" id="catalog" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.catalog}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">회원리스트</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="hidden" id="member_sms" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.memberSns}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">SMS발송관리</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>관리자</th>
|
||||
<td>
|
||||
<div class="td-inner vertical gap-15">
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="hidden" id="gs_seller_notice" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.gsSellerNotice}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">공지사항</span>
|
||||
</label>
|
||||
<span class="stone-7">→</span>
|
||||
<label class="b-checkbox checkbox adminWrite" disabled>
|
||||
<input disabled type="hidden" id="gs_seller_notice_act" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.gsSellerNoticeAct}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">쓰기/삭제</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="hidden" id="shop_education" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.shopEducation}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">교육자료</span>
|
||||
</label>
|
||||
<span class="stone-7">→</span>
|
||||
<label class="b-checkbox checkbox adminWrite" disabled>
|
||||
<input disabled type="hidden" id="shop_education_act" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.shopEducationAct}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">쓰기/삭제</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="hidden" id="member_edit_req" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.memberEditReq}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">회원정보수정요청</span>
|
||||
</label>
|
||||
<span class="stone-7">→</span>
|
||||
<label class="b-checkbox checkbox adminWrite" disabled>
|
||||
<input disabled type="hidden" id="member_edit_req_act" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.memberEditReqAct}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">쓰기/삭제</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="hidden" id="point_edit_req" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.pointEditReq}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">마일리지(포인트)수정요청</span>
|
||||
</label>
|
||||
<span class="stone-7">→</span>
|
||||
<label class="b-checkbox checkbox adminWrite" disabled>
|
||||
<input disabled type="hidden" id="point_edit_req_act" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.pointEditReqAct}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">쓰기/삭제</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="hidden" id="logistics_req" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.logisticsReq}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">물류관련요청</span>
|
||||
</label>
|
||||
<span class="stone-7">→</span>
|
||||
<label class="b-checkbox checkbox adminWrite" disabled>
|
||||
<input disabled type="hidden" id="logistics_req_act" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.logisticsReqAct}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">쓰기/삭제</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="hidden" id="shop_edit_req" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.shopEditReq}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">매장정보변경</span>
|
||||
</label>
|
||||
<span class="stone-7">→</span>
|
||||
<label class="b-checkbox checkbox adminWrite" disabled>
|
||||
<input disabled type="hidden" id="shop_edit_req_act" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.shopEditReqAct}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">쓰기/삭제</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="hidden" id="family_qna_edit_req" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.familyQnaEditReq}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">가맹점 Q&A</span>
|
||||
</label>
|
||||
<span class="stone-7">→</span>
|
||||
<label class="b-checkbox checkbox adminWrite" disabled>
|
||||
<input disabled type="hidden" id="family_qna_edit_req_act" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.familyQnaEditReqAct}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">쓰기/삭제</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="hidden" id="admin_list" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.adminList}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">관리자 리스트</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<tr>
|
||||
<td class="row-no-data" colspan="8">조회된 관리자 권한이 없습니다.</td>
|
||||
</tr>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
<button class="scroll-to-top"><span class="visually-hidden">위로가기</span></button>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
540
src/main/webapp/WEB-INF/views/itrnt/mngr/ItrntMngrFormR.jsp
Normal file
540
src/main/webapp/WEB-INF/views/itrnt/mngr/ItrntMngrFormR.jsp
Normal file
@@ -0,0 +1,540 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%@ 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"%>
|
||||
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||
|
||||
|
||||
<%--
|
||||
Class Name : ItrntMngrFormR.jsp
|
||||
Description : 인트라넷 관리자 등록 화면
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-03-18 유재현 최초 생성(퍼블리싱 적용)
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<%-- 공통 include --%>
|
||||
<%@ include file="/WEB-INF/views/comm/itrnt/Include.jsp"%>
|
||||
|
||||
<script>
|
||||
|
||||
/* ********************************************************
|
||||
* 시작 화면 조작 함수
|
||||
******************************************************** */
|
||||
$(document).ready(function(){
|
||||
let urlParams = new URLSearchParams(window.location.search);
|
||||
|
||||
});
|
||||
|
||||
/**********************************************
|
||||
* 인트라넷 관리자 목록 화면 이동
|
||||
***********************************************/
|
||||
const fn_move_itrnMngrList = function () {
|
||||
location.href='/itrnt/mngr/selectItrntMngrList';
|
||||
}
|
||||
|
||||
/**********************************************
|
||||
* 등록
|
||||
***********************************************/
|
||||
|
||||
const fn_regist_itrntMngr = function() {
|
||||
|
||||
//비밀번호 입력되었는지 확인
|
||||
const tentcpnPassword = $('#tentcpnPassword');
|
||||
const tentcpnPasswordChk = $('#tentcpnPasswordChk');
|
||||
|
||||
if(tentcpnPassword.val() < 1 || tentcpnPasswordChk.val() < 1){
|
||||
alert('비밀번호를 입력해 주세요');
|
||||
tentcpnPassword.val('');
|
||||
tentcpnPasswordChk.val('');
|
||||
tentcpnPassword.focus();
|
||||
|
||||
return;
|
||||
}else if(tentcpnPassword.val() !== tentcpnPasswordChk.val()){
|
||||
alert('비밀번호가 일치하지 않습니다');
|
||||
tentcpnPassword.val('');
|
||||
tentcpnPasswordChk.val('');
|
||||
tentcpnPassword.focus();
|
||||
return;
|
||||
}
|
||||
|
||||
//비밀번호 정규식 확인
|
||||
const pwdChkNoticeResult = $('#pwdChkNoticeRs').val();
|
||||
if(pwdChkNoticeResult !=='Y'){
|
||||
alert('비밀번호 조합 조건을 확인해 주세요')
|
||||
tentcpnPassword.val('');
|
||||
tentcpnPasswordChk.val('');
|
||||
tentcpnPassword.focus();
|
||||
return;
|
||||
}
|
||||
|
||||
//아이디 중복 확인 하였는지 확인
|
||||
let idChk = $('#idChk').val();
|
||||
if(idChk !=='Y'){
|
||||
alert('아이디 중복 확인을 해주세요');
|
||||
return;
|
||||
}
|
||||
|
||||
const url = '<c:url value="/itrnt/mngr/insertItrntMngr"/>';
|
||||
const saveForm = $('#itrntMngrRegFrom');
|
||||
let formData = new FormData();
|
||||
saveForm.serializeArray().forEach(function(item) {
|
||||
formData.append(item.name,item.value);
|
||||
});
|
||||
|
||||
//관리자 권한 배열에 담기
|
||||
let mngrAuthor = '';
|
||||
$('input:checkbox[name=mngrAuthor]').each(function(index, item){
|
||||
if ($(item).is(':checked')) {
|
||||
mngrAuthor += $(item).attr("id") +'='+ 'Y' + '||';
|
||||
} else {
|
||||
mngrAuthor += $(item).attr("id") +'='+ 'N' + '||';
|
||||
}
|
||||
});
|
||||
const manager_act = $('#manager_act');
|
||||
mngrAuthor += manager_act.attr("id") +'='+ manager_act.val() + '||';
|
||||
formData.append("mngrAuthor",mngrAuthor);
|
||||
|
||||
if(confirm('관리자를 <spring:message code="confirm.common.insert"/>')) {
|
||||
$.ajax({
|
||||
type : 'post',
|
||||
url : url,
|
||||
data : formData,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
success : function(result) {
|
||||
if (JSON.parse(result.resBody.result).message ==='success') {
|
||||
alert('<spring:message code="success.common.insert"/>');
|
||||
location.href='/itrnt/mngr/selectItrntMngrList';
|
||||
} else {
|
||||
alert('<spring:message code="fail.common.insert"/>');
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**********************************************
|
||||
* 아이디 중복 확인
|
||||
***********************************************/
|
||||
const fm_idchk_itrntMngr = function (){
|
||||
|
||||
const tentcpnId = $('#tentcpnId');
|
||||
const idRegex = /^[a-zA-Z][a-zA-Z0-9]{4,16}$/;
|
||||
|
||||
if(!idRegex.test(tentcpnId.val().trim())){
|
||||
alert("아이디 입력 조건을 확인하여 다시 입력 해주세요")
|
||||
tentcpnId.val('');
|
||||
tentcpnId.focus();
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
const url = '<c:url value="/itrnt/mngr/selectItrntMngrIdChk"/>';
|
||||
$.ajax({
|
||||
type : 'post',
|
||||
url : url,
|
||||
data : {'tentcpnId' : tentcpnId.val().trim()},
|
||||
success : function(result) {
|
||||
if (JSON.parse(result.resBody.result).message ==='notExist') {
|
||||
alert(tentcpnId.val().trim() + '은(는) 사용 가능합니다.');
|
||||
$('#idChk').attr('value', 'Y');
|
||||
} else {
|
||||
alert(tentcpnId.val().trim() + '은(는) 이미 사용중입니다.');
|
||||
$('#idChk').attr('value', 'N');
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
// 관리자 권한 전체 체크
|
||||
let adminAuthCheckAll = $('#adminAuthCheckAll');
|
||||
let adminCategory = $('.adminCategory');
|
||||
let adminCategoryCheck = $('.adminCategory > input');
|
||||
let adminWrite = $('.adminWrite');
|
||||
let adminWriteCheck = $('.adminWrite > input');
|
||||
|
||||
adminAuthCheckAll.click( function () {
|
||||
if ($(this).hasClass('checked')) {
|
||||
adminCategoryCheck.prop('checked', false);
|
||||
$(this).removeClass('checked');
|
||||
isCategoryChecked();
|
||||
|
||||
} else {
|
||||
adminCategoryCheck.prop('checked', true);
|
||||
$(this).addClass('checked');
|
||||
isCategoryChecked();
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
adminCategoryCheck.click(function () {
|
||||
isCategoryChecked();
|
||||
});
|
||||
|
||||
function isCategoryChecked() {
|
||||
$('.adminCategory').each(function () {
|
||||
if ($(this).find('input').prop('checked')) {
|
||||
$(this).closest('.b-checkbox-container').find(adminWrite).removeAttr('disabled');
|
||||
$(this).closest('.b-checkbox-container').find(adminWriteCheck).removeAttr('disabled');
|
||||
$(this).closest('.b-checkbox-container').find(adminWriteCheck).prop('checked', true);
|
||||
} else {
|
||||
$(this).closest('.b-checkbox-container').find(adminWrite).attr('disabled', 'disabled');
|
||||
$(this).closest('.b-checkbox-container').find(adminWriteCheck).attr('disabled', 'disabled');
|
||||
$(this).closest('.b-checkbox-container').find(adminWriteCheck).prop('checked', false);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
//비밀번호 정규식 확인
|
||||
const pwdChk = $('#tentcpnPasswordChk').on('propertychange change keyup paste input', function () {
|
||||
const pwdRegex = /^(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[!#$%&()*+-\/:<>?@\[\\\]^_{|}~]).{10,20}$/;
|
||||
let tentcpnPassword = $('#tentcpnPassword').val().trim();
|
||||
let tentcpnPasswordChk = $('#tentcpnPasswordChk').val().trim();
|
||||
let pwdChkNotice = $('#pwdChkNotice');
|
||||
let pwdChkNoticeResult = $('#pwdChkNoticeRs')
|
||||
|
||||
if (pwdRegex.test(tentcpnPassword) === false
|
||||
|| pwdRegex.test(tentcpnPasswordChk) === false) {
|
||||
|
||||
pwdChkNotice.attr('value', '비밀번호 조합 조건을 확인해 주세요.');
|
||||
pwdChkNotice.attr('type', 'text').css('visibility', 'visible');
|
||||
pwdChkNotice.css('pointer-events','none'); //클릭 방지
|
||||
pwdChkNoticeResult.attr('value', 'N')
|
||||
|
||||
} else if(tentcpnPassword === tentcpnPasswordChk){
|
||||
pwdChkNotice.attr('value', '사용 가능한 비밀번호 입니다')
|
||||
pwdChkNotice.attr('type', 'text').css('visibility', 'visible')
|
||||
pwdChkNotice.css('pointer-events','none');
|
||||
pwdChkNoticeResult.attr('value', 'Y')
|
||||
}else{
|
||||
pwdChkNotice.attr('value', '입력하신 비밀번호가 일치하지 않습니다.')
|
||||
pwdChkNotice.attr('type', 'text').css('visibility', 'visible')
|
||||
pwdChkNotice.css('pointer-events','none');
|
||||
pwdChkNoticeResult.attr('value', 'N')
|
||||
}
|
||||
});
|
||||
setTimeout(pwdChk, 3000);
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<%@ include file="/WEB-INF/views/comm/itrnt/Header.jsp"%>
|
||||
<main class="main">
|
||||
<%@ include file="/WEB-INF/views/comm/itrnt/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 class="btn outline" onclick="fn_move_itrnMngrList();"> <spring:message code="button.list"/> </button>
|
||||
<button class="btn primary" onclick="fn_regist_itrntMngr();" > <spring:message code="button.save"/> </button>
|
||||
</div>
|
||||
</div>
|
||||
<section class="content-section">
|
||||
<form id="itrntMngrRegFrom" name="itrntMngrRegFrom">
|
||||
<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">
|
||||
<input class="input-text" type="text" title="해당 인풋에 대한 설명" id="tentcpnId" name="tentcpnId" autocomplete="username">
|
||||
<input type="hidden" title="해당 인풋에 대한 설명" id="idChk">
|
||||
<button class="btn sm gray" onclick="fm_idchk_itrntMngr(); return false;"><spring:message code="button.duplication"/> </button>
|
||||
<p class="fyi fs-13 gray-7 ml-4">4-16자, 첫 글자 영문, 영문 대소문자 또는 숫자</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>비밀번호</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="table-wrapper" style="width: 800px;">
|
||||
<table class="table transparent">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 14%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class="text-right">비밀번호</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input type="password" class="input-text" value="" id="tentcpnPassword" name="tentcpnPassword" autocomplete="new-password"
|
||||
title="해당 인풋에 대한 설명">
|
||||
<p class="fyi fs-13 gray-7 ml-4">10-20자, 영문 대소문자
|
||||
또는
|
||||
숫자,
|
||||
특수문자 중 2가지 이상 조합</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="text-right">비밀번호 확인</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input type="password" class="input-text" value="" id="tentcpnPasswordChk" autocomplete="new-password"
|
||||
title="해당 인풋에 대한 설명">
|
||||
<p class="fyi fs-13 gray-7 ml-4">사용가능 특수문자 : ! #
|
||||
$ %
|
||||
& ( ) * + - / : < =
|
||||
> ? @ [ \ ] ^ _ { | } ~</p>
|
||||
</div>
|
||||
<input type="hidden" class="fyi fs-13 gray-7 ml-4 w-full" id="pwdChkNotice" tabindex="-1" readonly />
|
||||
<input type="hidden" id="pwdChkNoticeRs" />
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>관리자 명</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text md" type="text" title="해당 인풋에 대한 설명" name="tentcpnNm">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</form>
|
||||
</section>
|
||||
<section class="content-section">
|
||||
<div class="form-control-container mb-10">
|
||||
<div class="left">
|
||||
<h3 class="delivery-info__title">
|
||||
관리자 권한
|
||||
</h3>
|
||||
</div>
|
||||
<div class="center">
|
||||
</div>
|
||||
<div class="right">
|
||||
<button id="adminAuthCheckAll" class="btn sm primary outline">전체체크</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>매출분석</th>
|
||||
<td>
|
||||
<input type="hidden" id="manager_act" name="mngrAuthor" value="<c:out value="${resultMap.result.reprsntMngrAt}" default="N"/>" >
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="checkbox" id="daily_revenue" name="mngrAuthor" value="Y">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">일별매출</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="checkbox" id="weekly_revenue" name="mngrAuthor" value="Y">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">주별매출</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="checkbox" id="monthly_revenue" name="mngrAuthor" value="Y">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">월별매출</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>판매분석</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="checkbox" id="daily_static" name="mngrAuthor" value="Y">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">금일 판매내역</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="checkbox" id="weekly_static" name="mngrAuthor" value="Y">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">주간 판매내역</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="checkbox" id="monthly_static" name="mngrAuthor" value="Y">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">월간 판매내역</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="checkbox" id="revenue_static" name="mngrAuthor" value="Y">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">판매 상품 순위</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>마이페이지</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="checkbox" id="catalog" name="mngrAuthor" value="Y">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">회원리스트</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="checkbox" id="member_sms" name="mngrAuthor" value="Y">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">SMS발송관리</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>관리자</th>
|
||||
<td>
|
||||
<div class="td-inner vertical gap-15">
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="checkbox" id="gs_seller_notice" name="mngrAuthor" value="Y">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">공지사항</span>
|
||||
</label>
|
||||
<span class="stone-7">→</span>
|
||||
<label class="b-checkbox checkbox adminWrite" disabled>
|
||||
<input disabled type="checkbox" id="gs_seller_notice_act" name="mngrAuthor" value="Y">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">쓰기/삭제</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="checkbox" id="shop_education" name="mngrAuthor" value="Y">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">교육자료</span>
|
||||
</label>
|
||||
<span class="stone-7">→</span>
|
||||
<label class="b-checkbox checkbox adminWrite" disabled>
|
||||
<input disabled type="checkbox" id="shop_education_act" name="mngrAuthor" value="Y">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">쓰기/삭제</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="checkbox" id="member_edit_req" name="mngrAuthor" value="Y">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">회원정보수정요청</span>
|
||||
</label>
|
||||
<span class="stone-7">→</span>
|
||||
<label class="b-checkbox checkbox adminWrite" disabled>
|
||||
<input disabled type="checkbox" id="member_edit_req_act" name="mngrAuthor" value="Y">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">쓰기/삭제</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="checkbox" id="point_edit_req" name="mngrAuthor" value="Y">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">마일리지(포인트)수정요청</span>
|
||||
</label>
|
||||
<span class="stone-7">→</span>
|
||||
<label class="b-checkbox checkbox adminWrite" disabled>
|
||||
<input disabled type="checkbox" id="point_edit_req_act" name="mngrAuthor" value="Y">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">쓰기/삭제</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="checkbox" id="logistics_req" name="mngrAuthor" value="Y">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">물류관련요청</span>
|
||||
</label>
|
||||
<span class="stone-7">→</span>
|
||||
<label class="b-checkbox checkbox adminWrite" disabled>
|
||||
<input disabled type="checkbox" id="logistics_req_act" name="mngrAuthor" value="Y">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">쓰기/삭제</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="checkbox" id="shop_edit_req" name="mngrAuthor" value="Y">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">매장정보변경</span>
|
||||
</label>
|
||||
<span class="stone-7">→</span>
|
||||
<label class="b-checkbox checkbox adminWrite" disabled>
|
||||
<input disabled type="checkbox" id="shop_edit_req_act" name="mngrAuthor" value="Y">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">쓰기/삭제</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="checkbox" id="family_qna_edit_req" name="mngrAuthor" value="Y">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">가맹점 Q&A</span>
|
||||
</label>
|
||||
<span class="stone-7">→</span>
|
||||
<label class="b-checkbox checkbox adminWrite" disabled>
|
||||
<input disabled type="checkbox" id="family_qna_edit_req_act" name="mngrAuthor" value="Y">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">쓰기/삭제</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="checkbox" id="admin_list" name="mngrAuthor" value="Y">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">관리자 리스트</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
<button class="scroll-to-top"><span class="visually-hidden">위로가기</span></button>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
228
src/main/webapp/WEB-INF/views/itrnt/mngr/ItrntMngrListR.jsp
Normal file
228
src/main/webapp/WEB-INF/views/itrnt/mngr/ItrntMngrListR.jsp
Normal file
@@ -0,0 +1,228 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%@ 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"%>
|
||||
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||
|
||||
|
||||
<%--
|
||||
Class Name : ItrntMngrListR.jsp
|
||||
Description : 인트라넷 관리자 목록 화면
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-03-18 유재현 최초 생성(퍼블리싱 적용)
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<%-- 공통 include --%>
|
||||
<%@ include file="/WEB-INF/views/comm/itrnt/Include.jsp"%>
|
||||
|
||||
<script>
|
||||
|
||||
/**********************************************
|
||||
* 인트라넷 관리자 등록 화면 이동
|
||||
***********************************************/
|
||||
const fn_move_itrnMngrRegist = function () {
|
||||
location.href='/itrnt/mngr/selectItrntMngrForm';
|
||||
}
|
||||
|
||||
/**********************************************
|
||||
* 인트라넷 관리자 상세 화면 이동
|
||||
***********************************************/
|
||||
const fn_move_ItrntMngrDtl = function (strInnb) {
|
||||
location.href='/itrnt/mngr/selectItrntMngrDtlForm?strInnb='+strInnb;
|
||||
}
|
||||
|
||||
/**********************************************
|
||||
* 인트라넷 관리자 목록 재 조회(행 재설정시)
|
||||
***********************************************/
|
||||
const fm_chk_select = function () {
|
||||
const recordSelector = $('#recordSelector > option:selected').val();
|
||||
$('#recordCountPerPage').attr('value', recordSelector);
|
||||
const url = '<c:url value="/itrnt/mngr/selectItrntMngrList"/>';
|
||||
const form = $('#ItrntMngrListReload');
|
||||
form.attr('action', url);
|
||||
form.attr('method', 'post');
|
||||
form.submit();
|
||||
|
||||
}
|
||||
|
||||
/**********************************************
|
||||
* 인트라넷 관리자 수정화면 조회
|
||||
***********************************************/
|
||||
const fm_move_ItrntMngrTentcpnDtl = function (strInnb) {
|
||||
location.href='/itrnt/mngr/selectItrntMngrTentcpnDtlForm?strInnb='+strInnb;
|
||||
}
|
||||
/**********************************************
|
||||
* 인트라넷 관리자 삭제
|
||||
***********************************************/
|
||||
const fm_del_ItrntMngr = function () {
|
||||
|
||||
|
||||
let strInnbArr = '';
|
||||
const length = $('.adminDeleteChk:checked').length-1;
|
||||
|
||||
if(length < 0){
|
||||
alert("삭제할 관리자를 선택해주세요")
|
||||
return false;
|
||||
}
|
||||
|
||||
$('.adminDeleteChk:checked').each(function (index) {
|
||||
|
||||
if(length===index){
|
||||
strInnbArr += this.value
|
||||
}else{
|
||||
strInnbArr += this.value +','
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
|
||||
const url = '<c:url value="/itrnt/mngr/deleteItrntMngrDel"/>';
|
||||
if(confirm('관리자를 <spring:message code="confirm.common.delete"/>')) {
|
||||
$.ajax({
|
||||
type : 'post',
|
||||
url : url,
|
||||
data : {'strInnb': strInnbArr},
|
||||
success : function(result) {
|
||||
if (JSON.parse(result.resBody.result).message ==='success') {
|
||||
alert('<spring:message code="success.common.delete"/>');
|
||||
location.reload()
|
||||
} else {
|
||||
alert('<spring:message code="fail.common.delete"/>');
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<%@ include file="/WEB-INF/views/comm/itrnt/Header.jsp"%>
|
||||
<main class="main">
|
||||
<%@ include file="/WEB-INF/views/comm/itrnt/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 type="button" class="btn dark" onclick="fm_del_ItrntMngr();"> 삭제 </button>
|
||||
<button class="btn primary" onclick="fn_move_itrnMngrRegist();"> 관리자 등록 </button>
|
||||
</div>
|
||||
</div>
|
||||
<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.paramVO.paginationInfo.totalRecordCount}" default="0"/></strong>건</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="center">
|
||||
</div>
|
||||
<form name="ItrntMngrListReload" id="ItrntMngrListReload">
|
||||
<div class="right">
|
||||
<div class="select-box">
|
||||
<select id="recordSelector" onchange="fm_chk_select();" title="해당 셀렉트에 대한 설명">
|
||||
<option value="10">10개씩</option>
|
||||
<option value="50">50개씩</option>
|
||||
<option value="100">100개씩</option>
|
||||
<option value="200">200개씩</option>
|
||||
</select>
|
||||
<input type="hidden" name="recordCountPerPage" id="recordCountPerPage">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<hr class="spacing">
|
||||
<div class="table-wrapper">
|
||||
<table class="table vertical">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<!-- 각 열 width 설정 -->
|
||||
<colgroup>
|
||||
<col style="width: 80px;">
|
||||
<col style="width: 14%">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 14%;">
|
||||
<col style="width: 14%;">
|
||||
<col style="width: 14%;">
|
||||
<col style="width: 10%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.resultList }">
|
||||
<c:forEach var="list" items="${resultMap.resultList }" varStatus="status">
|
||||
<tr>
|
||||
<th>
|
||||
<label class="b-checkbox checkbox is-medium check-all">
|
||||
<input type="checkbox" >
|
||||
<span class="check"></span>
|
||||
</label>
|
||||
</th>
|
||||
<th>관리자 구분</th>
|
||||
<th>관리자 ID (접속허용 IP설정)</th>
|
||||
<th>관리자명</th>
|
||||
<th>최근 접속일</th>
|
||||
<th>등록일</th>
|
||||
<th>관리</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<label class="b-checkbox checkbox is-medium">
|
||||
<input type="checkbox" class="adminDeleteChk" value="<c:out value="${list.strInnb}"/>" >
|
||||
<span class="check"></span>
|
||||
</label>
|
||||
</td>
|
||||
<td>
|
||||
<c:if test="${list.reprsntMngrAt == 'Y' }">
|
||||
<p><c:out value="대표관리자" default="부운영자"/></p>
|
||||
</c:if>
|
||||
</td>
|
||||
<td>
|
||||
<button type="button" onclick="fn_move_ItrntMngrDtl(${list.strInnb});" class="blue-6"><c:out value="${list.tentcpnId}"/></button>
|
||||
(<c:out value="${list.accesLmttIp}" default="미설정"/>)
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${list.tentcpnNm}"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${list.lastLoginDt}"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${list.registDt}"/>
|
||||
</td>
|
||||
<td>
|
||||
<div class="manage-btn-container">
|
||||
<button class="btn xsm primary outline" onclick="fm_move_ItrntMngrTentcpnDtl(${list.strInnb});">수정</button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<tr>
|
||||
<td class="row-no-data" colspan="8">조회된 데이터가 없습니다.</td>
|
||||
</tr>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
<button class="scroll-to-top"><span class="visually-hidden">위로가기</span></button>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,582 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%@ 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"%>
|
||||
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||
|
||||
|
||||
<%--
|
||||
Class Name : ItrntMngrTentcpnDtlFormR.jsp
|
||||
Description : 인트라넷 관리자 입점사 상세 화면
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024-03-18 유재현 최초 생성(퍼블리싱 적용)
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<%-- 공통 include --%>
|
||||
<%@ include file="/WEB-INF/views/comm/itrnt/Include.jsp"%>
|
||||
|
||||
<script>
|
||||
|
||||
/* ********************************************************
|
||||
* 시작 화면 조작 함수
|
||||
******************************************************** */
|
||||
$(document).ready(function(){
|
||||
let urlParams = new URLSearchParams(window.location.search);
|
||||
|
||||
});
|
||||
|
||||
/**********************************************
|
||||
* 인트라넷 관리자 목록 화면 이동
|
||||
***********************************************/
|
||||
const fn_move_itrnMngrList = function () {
|
||||
location.href='/itrnt/mngr/selectItrntMngrList';
|
||||
}
|
||||
|
||||
/**********************************************
|
||||
* 관리자 입점사 수정
|
||||
***********************************************/
|
||||
|
||||
const fn_update_itrntMngrTentcpn = function() {
|
||||
|
||||
//비밀번호 입력되었는지 확인
|
||||
const tentcpnPassword = $('#tentcpnPassword').val();
|
||||
const tentcpnPasswordChk = $('#tentcpnPasswordChk').val();
|
||||
const pwdChangeChk = $('#pwdChangeChk:checked')
|
||||
if(pwdChangeChk < 1 && (tentcpnPassword < 1 || tentcpnPasswordChk < 1)){
|
||||
alert('비밀번호를 입력해 주세요');
|
||||
return;
|
||||
}else if(pwdChangeChk < 1 && (tentcpnPassword !== tentcpnPasswordChk)){
|
||||
alert('비밀번호가 일치하지 않습니다');
|
||||
return;
|
||||
}
|
||||
|
||||
//비밀번호 정규식 확인
|
||||
const pwdChkNoticeResult = $('#pwdChkNoticeRs').val();
|
||||
if(pwdChangeChk < 1 && (pwdChkNoticeResult !=='Y')){
|
||||
alert('비밀번호 조합 조건을 확인해 주세요')
|
||||
return;
|
||||
}
|
||||
|
||||
const url = '<c:url value="/itrnt/mngr/updateItrntMngrTentcpnDtlForm"/>';
|
||||
const saveForm = $('#itrntMngrTentcpnDtlUptFrom');
|
||||
let formData = new FormData();
|
||||
saveForm.serializeArray().forEach(function(item) {
|
||||
formData.append(item.name,item.value);
|
||||
});
|
||||
|
||||
//관리자 권한 배열에 담기
|
||||
let mngrAuthor = '';
|
||||
$('input:checkbox[name=mngrAuthor]').each(function(index, item){
|
||||
if ($(item).is(':checked')) {
|
||||
mngrAuthor += $(item).attr("id") +'='+ 'Y' + '||';
|
||||
} else {
|
||||
mngrAuthor += $(item).attr("id") +'='+ 'N' + '||';
|
||||
}
|
||||
});
|
||||
|
||||
const manager_act = $('#manager_act');
|
||||
mngrAuthor += manager_act.attr("id") +'='+ manager_act.val() + '||';
|
||||
formData.append("mngrAuthor",mngrAuthor);
|
||||
|
||||
|
||||
if(confirm('관리자를 <spring:message code="confirm.common.insert"/>')) {
|
||||
$.ajax({
|
||||
type : 'post',
|
||||
url : url,
|
||||
data : formData,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
success : function(result) {
|
||||
if (JSON.parse(result.resBody.result).message ==='success') {
|
||||
alert('<spring:message code="success.common.insert"/>');
|
||||
location.href='/itrnt/mngr/selectItrntMngrList';
|
||||
} else {
|
||||
alert('<spring:message code="fail.common.insert"/>');
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$(document).ready(function () {
|
||||
// 관리자 권한 전체 체크
|
||||
const adminAuthCheckAll = $('#adminAuthCheckAll');
|
||||
const adminCategory = $('.adminCategory');
|
||||
const adminCategoryCheck = $('.adminCategory > input');
|
||||
const adminWrite = $('.adminWrite');
|
||||
const adminWriteCheck = $('.adminWrite > input');
|
||||
|
||||
adminAuthCheckAll.on('click', function () {
|
||||
if ($(this).hasClass('checked')) {
|
||||
adminCategoryCheck.prop('checked', false);
|
||||
$(this).removeClass('checked');
|
||||
isCategoryChecked();
|
||||
|
||||
} else {
|
||||
adminCategoryCheck.prop('checked', true);
|
||||
$(this).addClass('checked');
|
||||
isCategoryChecked();
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
adminCategoryCheck.on('click', function () {
|
||||
isCategoryChecked();
|
||||
});
|
||||
|
||||
function isCategoryChecked() {
|
||||
$('.adminCategory').each(function () {
|
||||
if ($(this).find('input').prop('checked')) {
|
||||
$(this).closest('.b-checkbox-container').find(adminWrite).removeAttr('disabled');
|
||||
$(this).closest('.b-checkbox-container').find(adminWriteCheck).removeAttr('disabled');
|
||||
$(this).closest('.b-checkbox-container').find(adminWriteCheck).prop('checked', true);
|
||||
} else {
|
||||
$(this).closest('.b-checkbox-container').find(adminWrite).attr('disabled', 'disabled');
|
||||
$(this).closest('.b-checkbox-container').find(adminWriteCheck).attr('disabled', 'disabled');
|
||||
$(this).closest('.b-checkbox-container').find(adminWriteCheck).prop('checked', false);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
//비밀번호 정규식 확인
|
||||
const pwdChk = $('#tentcpnPasswordChk').on('propertychange change keyup paste input', function () {
|
||||
const pwdRegex = /^(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[!#$%&()*+-\/:<>?@\[\\\]^_{|}~]).{10,20}$/;
|
||||
let tentcpnPassword = $('#tentcpnPassword').val().trim();
|
||||
let tentcpnPasswordChk = $('#tentcpnPasswordChk').val().trim();
|
||||
let pwdChkNotice = $('#pwdChkNotice');
|
||||
let pwdChkNoticeResult = $('#pwdChkNoticeRs')
|
||||
|
||||
if (pwdRegex.test(tentcpnPassword) === false
|
||||
|| pwdRegex.test(tentcpnPasswordChk) === false) {
|
||||
|
||||
pwdChkNotice.attr('value', '비밀번호 조합 조건을 확인해 주세요.');
|
||||
pwdChkNotice.attr('type', 'text').css('visibility', 'visible');
|
||||
pwdChkNotice.css('pointer-events','none'); //클릭 방지
|
||||
pwdChkNoticeResult.attr('value', 'N')
|
||||
|
||||
} else if(tentcpnPassword === tentcpnPasswordChk){
|
||||
pwdChkNotice.attr('value', '사용 가능한 비밀번호 입니다')
|
||||
pwdChkNotice.attr('type', 'text').css('visibility', 'visible')
|
||||
pwdChkNotice.css('pointer-events','none');
|
||||
pwdChkNoticeResult.attr('value', 'Y')
|
||||
}else{
|
||||
pwdChkNotice.attr('value', '입력하신 비밀번호가 일치하지 않습니다.')
|
||||
pwdChkNotice.attr('type', 'text').css('visibility', 'visible')
|
||||
pwdChkNotice.css('pointer-events','none');
|
||||
pwdChkNoticeResult.attr('value', 'N')
|
||||
}
|
||||
});
|
||||
setTimeout(pwdChk, 3000);
|
||||
|
||||
|
||||
//관리자 권한 표시
|
||||
//관리자 쓰기 권한
|
||||
const adminWriteInput = $('.adminWrite');
|
||||
adminWriteInput.each(function(){
|
||||
if($(this).children('input').val() ==='Y'){
|
||||
$(this).removeAttr('disabled')
|
||||
$(this).children('input').prop('checked', true)
|
||||
$(this).children('input').removeAttr('disabled')
|
||||
}
|
||||
});
|
||||
|
||||
//관리자 권한
|
||||
const adminCategoryInput = $('.adminCategory');
|
||||
adminCategoryInput.each(function(){
|
||||
if($(this).children('input').val() ==='Y'){
|
||||
$(this).children('input').prop('checked', true)
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// 비밀번호 변경 창 OnOff
|
||||
$('#pwdChangeChk').on("click",function(){
|
||||
if($(this).attr("checked")){
|
||||
$(".pwdChangeDiv").hide();
|
||||
$(this).removeAttr('checked', false)
|
||||
}else{
|
||||
$(".pwdChangeDiv").show();
|
||||
$(this).attr('checked', true)
|
||||
}
|
||||
});
|
||||
|
||||
})
|
||||
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<%@ include file="/WEB-INF/views/comm/itrnt/Header.jsp"%>
|
||||
<main class="main">
|
||||
<%@ include file="/WEB-INF/views/comm/itrnt/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 type="button" class="btn outline" onclick="fn_move_itrnMngrList();"> <spring:message code="button.list"/> </button>
|
||||
<button type="button" class="btn primary" onclick="fn_update_itrntMngrTentcpn();"> <spring:message code="button.save"/> </button>
|
||||
</div>
|
||||
</div>
|
||||
<section class="content-section">
|
||||
<form id="itrntMngrTentcpnDtlUptFrom" name="itrntMngrTentcpnDtlUptFrom">
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<c:if test="${not empty resultMap.result}"/>
|
||||
<tr>
|
||||
<th>최초입점일</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<p><c:out value="${resultMap.result.registDt}"/></p>
|
||||
</div>
|
||||
</td>
|
||||
<th>최근접속일</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<p><c:out value="${resultMap.result.lastLoginDt}"/></p>
|
||||
</div>
|
||||
</td>
|
||||
<th style="width: 13%">최근 변경(정상/종료)일</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<p><c:out value="${resultMap.result.updtDt}"/></p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>구분</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<%-- TODO : as-is{? c.__FROMHEAD__ === true}매장{:}본사{/}
|
||||
to-be tentGroup 으로 구분여부 (확인 필요)
|
||||
--%>
|
||||
<c:choose>
|
||||
<c:when test="${resultMap.result.tentGroup == '01'}">
|
||||
<p><c:out value="본사" default="매장"/></p>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<p><c:out value="매장"/></p>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
|
||||
</div>
|
||||
</td>
|
||||
<th>매장(업체)명</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<p><c:out value="${resultMap.result.tentcpnNm}"/></p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>매장ID</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<p><c:out value="${resultMap.result.tentcpnId}"/></p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>매장 비밀번호
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" id="pwdChangeChk">
|
||||
<span class="check"></span>
|
||||
<span class="control-label"> 변경</span>
|
||||
</label>
|
||||
</div>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<div class="table-wrapper pwdChangeDiv" style="width: 800px; display: none" >
|
||||
<table class="table transparent">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 18%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class="text-left">현재 비밀번호</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input type="password" class="input-text" value="" id="currentPassword" name="currentPassword" autocomplete="new-password"
|
||||
title="해당 인풋에 대한 설명">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="text-left">비밀번호 변경</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input type="password" class="input-text" value="" id="tentcpnPassword" name="tentcpnPassword" autocomplete="new-password"
|
||||
title="해당 인풋에 대한 설명">
|
||||
<p class="fyi fs-13 gray-7 ml-4">10-20자, 영문 대소문자
|
||||
또는
|
||||
숫자,
|
||||
특수문자 중 2가지 이상 조합</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="text-left">비밀번호 변경 확인</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input type="password" class="input-text" value="" id="tentcpnPasswordChk" autocomplete="new-password"
|
||||
title="해당 인풋에 대한 설명">
|
||||
<p class="fyi fs-13 gray-7 ml-4">사용가능 특수문자 : ! #
|
||||
$ %
|
||||
& ( ) * + - / : < =
|
||||
> ? @ [ \ ] ^ _ { | } ~</p>
|
||||
</div>
|
||||
<input type="hidden" class="fyi fs-13 gray-7 ml-4 w-full" id="pwdChkNotice" tabindex="-1" readonly />
|
||||
<input type="hidden" id="pwdChkNoticeRs" />
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</form>
|
||||
</section>
|
||||
<section class="content-section">
|
||||
<div class="form-control-container mb-10">
|
||||
<div class="left">
|
||||
<h3 class="delivery-info__title">
|
||||
관리자 권한
|
||||
</h3>
|
||||
</div>
|
||||
<div class="center">
|
||||
</div>
|
||||
<div class="right">
|
||||
<button id="adminAuthCheckAll" class="btn sm primary outline">전체체크</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<c:choose>
|
||||
<c:when test="${ not empty resultMap.result.mngrAuthor}">
|
||||
<tr>
|
||||
<th>매출분석</th>
|
||||
<td>
|
||||
<input type="hidden" id="manager_act" name="mngrAuthor" value="<c:out value="${resultMap.result.reprsntMngrAt}" default="N"/>" >
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="checkbox" id="daily_revenue" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.dailyRevenue}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">일별매출</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="checkbox" id="weekly_revenue" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.weeklyRevenue}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">주별매출</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="checkbox" id="monthly_revenue" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.monthlyRevenue}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">월별매출</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>판매분석</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="checkbox" id="daily_static" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.dailyStatic}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">금일 판매내역</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="checkbox" id="weekly_static" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.weeklyStatic}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">주간 판매내역</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="checkbox" id="monthly_static" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.monthlyStatic}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">월간 판매내역</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="checkbox" id="revenue_static" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.revenueStatic}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">판매 상품 순위</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>마이페이지</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="checkbox" id="catalog" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.catalog}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">회원리스트</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="checkbox" id="member_sms" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.memberSns}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">SMS발송관리</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>관리자</th>
|
||||
<td>
|
||||
<div class="td-inner vertical gap-15">
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="checkbox" id="gs_seller_notice" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.gsSellerNotice}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">공지사항</span>
|
||||
</label>
|
||||
<span class="stone-7">→</span>
|
||||
<label class="b-checkbox checkbox adminWrite" disabled>
|
||||
<input disabled type="checkbox" id="gs_seller_notice_act" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.gsSellerNoticeAct}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">쓰기/삭제</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="checkbox" id="shop_education" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.shopEducation}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">교육자료</span>
|
||||
</label>
|
||||
<span class="stone-7">→</span>
|
||||
<label class="b-checkbox checkbox adminWrite" disabled>
|
||||
<input disabled type="checkbox" id="shop_education_act" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.shopEducationAct}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">쓰기/삭제</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="checkbox" id="member_edit_req" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.memberEditReq}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">회원정보수정요청</span>
|
||||
</label>
|
||||
<span class="stone-7">→</span>
|
||||
<label class="b-checkbox checkbox adminWrite" disabled>
|
||||
<input disabled type="checkbox" id="member_edit_req_act" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.memberEditReqAct}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">쓰기/삭제</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="checkbox" id="point_edit_req" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.pointEditReq}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">마일리지(포인트)수정요청</span>
|
||||
</label>
|
||||
<span class="stone-7">→</span>
|
||||
<label class="b-checkbox checkbox adminWrite" disabled>
|
||||
<input disabled type="checkbox" id="point_edit_req_act" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.pointEditReqAct}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">쓰기/삭제</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="checkbox" id="logistics_req" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.logisticsReq}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">물류관련요청</span>
|
||||
</label>
|
||||
<span class="stone-7">→</span>
|
||||
<label class="b-checkbox checkbox adminWrite" disabled>
|
||||
<input disabled type="checkbox" id="logistics_req_act" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.logisticsReqAct}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">쓰기/삭제</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="checkbox" id="shop_edit_req" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.shopEditReq}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">매장정보변경</span>
|
||||
</label>
|
||||
<span class="stone-7">→</span>
|
||||
<label class="b-checkbox checkbox adminWrite" disabled>
|
||||
<input disabled type="checkbox" id="shop_edit_req_act" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.shopEditReqAct}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">쓰기/삭제</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="checkbox" id="family_qna_edit_req" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.familyQnaEditReq}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">가맹점 Q&A</span>
|
||||
</label>
|
||||
<span class="stone-7">→</span>
|
||||
<label class="b-checkbox checkbox adminWrite" disabled>
|
||||
<input disabled type="checkbox" id="family_qna_edit_req_act" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.familyQnaEditReqAct}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">쓰기/삭제</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox adminCategory">
|
||||
<input type="checkbox" id="admin_list" name="mngrAuthor" value="<c:out value="${resultMap.result.mngrAuthor.adminList}"/>">
|
||||
<span class="check"></span>
|
||||
<span class="control-label">관리자 리스트</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<tr>
|
||||
<td class="row-no-data" colspan="8">조회된 관리자 권한이 없습니다.</td>
|
||||
</tr>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
<button class="scroll-to-top"><span class="visually-hidden">위로가기</span></button>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user