초기소스

This commit is contained in:
jazz
2025-10-29 17:08:05 +09:00
parent e531aa9540
commit 439a379a02
7551 changed files with 1234427 additions and 3 deletions

View File

@@ -0,0 +1,92 @@
<%@ 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 : MaSopthemaListInqireR.jsp
Description : 쇼핑몰테마 목록조회 화면
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2023-12-26 리브가 최초 생성
2023-01-09 리브가 목록조회 수정
--%>
<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 id="pageUnit" name="pageUnit" title="페이지당 출력될 목록건수" onchange="fn_select_sopthema_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="spacing">
<div class="table-wrapper">
<table class="table vertical">
<caption>쇼핑몰 테마 목록</caption>
<colgroup>
<col style="width: 6%;">
<col style="width: 14%;">
<col style="width: auto;">
<col style="width: 12%;">
<col style="width: 12%;">
<col style="width: 10%">
</colgroup>
<thead>
<tr>
<th>번호</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><c:out value="${ resultMap.paginationInfo.totalRecordCount - list.rnum + 1 }" /></td>
<td class="left"><c:out value="${list.themaNm}"/></td>
<td class="left"><c:out value="${list.sopmalNm}"/></td>
<td><c:out value="${list.registDe}"/></td>
<td><c:out value="${list.updtDe}"/></td>
<td>
<div class="manage-btn-container">
<button class="btn xsm primary outline" type="button"
onclick="fn_move_dtl_uptpage(<c:out value="${list.themaInnb}"/>)">
<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_sopthema_list"/>
</div>

View File

@@ -0,0 +1,156 @@
<%@ 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 : MaSopthemaListInqireR.jsp
Description : 쇼핑몰테마 목록조회 화면
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2023-12-26 리브가 최초 생성
2023-01-09 리브가 목록조회 수정
2024-01-10 박철민 pageUnit 유지를 위한 코드 추가
--%>
<!DOCTYPE html>
<html lang="ko">
<head>
<%-- 공통 include --%>
<%@include file ="/WEB-INF/views/comm/admin/Include.jsp" %>
</head>
<script>
$(document).ready(function () {
let pageIndex = '<c:out value="${ resultMap.BOSopThemaVO.pageIndex }"/>';
let pageUnit = '<c:out value="${ resultMap.BOSopThemaVO.pageUnit }"/>';
fn_select_sopthema_list(pageIndex, pageUnit);
});
/* ********************************************************
* 목록 조회
******************************************************** */
const fn_select_sopthema_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="/admin/store/sopthema/selectSopThemaListInqire"/>",
data : dataStr,
success:function(resultHtml) {
$('#pageDiv').html(resultHtml);
$('#pageUnit').niceSelect();
}
});
}
/* ********************************************************
* 수정폼 이동
******************************************************** */
const fn_move_dtl_uptpage = function(themaInnb) {
$('#listForm').attr('action', '<c:url value="/admin/store/sopthema/selectSopThemaUpdtForm"/>');
$('#listForm').attr('method', 'post');
$('#themaInnb').val(themaInnb);
$('#listForm').submit();
}
/* ********************************************************
* 등록폼 이동
******************************************************** */
const fn_move_regpage = function() {
$('#listForm').attr('action', '<c:url value="/admin/store/sopthema/selectSopThemaRegistForm"/>');
$('#listForm').attr('method', 'post');
$('#listForm').submit();
};
history.replaceState({}, null, location.pathname);
</script>
<body>
<%@include file ="/WEB-INF/views/comm/admin/Header.jsp" %>
<main class="main">
<%@include file ="/WEB-INF/views/comm/admin/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="/admin/store/sopthema/selectSopThemaListInqireForm"/>">
<input type="hidden" id="pageIndex" name="pageIndex" value="${ resultMap.BOSopThemaVO.pageIndex}"/>
<input type="hidden" id="themaInnb" name="themaInnb"/>
<section class="content-section" id="search-section">
<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">
<input class="input-text xl" type="text" id="srchThemaNm" name="srchThemaNm" title="쇼핑몰테마명" value="<c:out value="${ resultMap.BOSopThemaVO.srchThemaNm }" />">
</div>
</td>
<th>쇼핑몰</th>
<td>
<div class="td-inner">
<div class="select-box">
<select class="md" id="srchSopmalCd" name="srchSopmalCd" title="쇼핑몰" >
<option value="">전체</option>
<c:forEach var="sopmalList" items="${ resultMap.SopmalCdNmList }" varStatus="">
<option value="${ sopmalList.sopmalCd }" ${f:setSelected(resultMap.BOSopThemaVO.srchSopmalCd, sopmalList.sopmalCd)}>${ sopmalList.sopmalNm }</option>
</c:forEach>
</select>
</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('search-section'); return false;">초기화</button>
<button class="btn primary" id="searchBtn" type="button" onclick="fn_select_sopthema_list(1); return false;">검색</button>
</div>
<div class="right"></div>
</div>
</section>
<div id="pageDiv">
</div>
</form>
<button class="scroll-to-top"><span class="visually-hidden">위로가기</span></button>
</div>
</div>
</main>
</body>
</html>

View File

@@ -0,0 +1,143 @@
<%@ 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" %>
<%--
Class Name : MaSopthemaRegistC.jsp
Description : 쇼핑몰테마 등록
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2023-12-26 리브가 최초 생성
--%>
<!DOCTYPE html>
<html lang="ko">
<head>
<%-- 공통 include --%>
<%@include file ="/WEB-INF/views/comm/admin/Include.jsp" %>
</head>
<script>
$( document ).ready(function() {
});
/* ********************************************************
* 등록 AJAX
******************************************************** */
const fn_regist = function() {
const url = '<c:url value="/admin/store/sopthema/insertSopThemaRegist"/>';
const data = $('#listForm').serialize();
if(confirm('쇼핑몰 테마를 <spring:message code="confirm.common.insert"/>')) {
$.ajax({
type: 'post',
url: url,
data: data,
success: function (data) {
let str = JSON.parse(data.resBody.result);
if(str.result=='success'){
alert('<spring:message code="success.common.insert"/>');
//등록 후 수정화면으로 이동
fn_move_dtl_uptpage(data.resBody.result.replace(/[^0-9]/g, ""));
} else {
alert('<spring:message code="fail.common.insert"/>');
}
}
});
}
};
/* ********************************************************
* 수정폼 이동
******************************************************** */
const fn_move_dtl_uptpage = function(themaInnb) {
const url = '<c:url value="/admin/store/sopthema/selectSopThemaUpdtForm"/>';
$('#listForm').attr('action', url);
$('#listForm').attr('method', 'get');
$('#pageIndex').val(1);
$('#themaInnb').val(themaInnb);
$('#listForm').submit();
}
/* ********************************************************
* 목록 조회
******************************************************** */
const fn_select_list = function() {
const url = '<c:url value="/admin/store/sopthema/selectSopThemaListInqireForm"/>';
$('#listForm').attr('action', url);
$('#listForm').attr('method', 'post');
$('#listForm').submit();
};
</script>
<body>
<%@include file ="/WEB-INF/views/comm/admin/Header.jsp" %>
<main class="main">
<%@include file ="/WEB-INF/views/comm/admin/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_select_list()" onkeypress="this.onclick" class="btn outline"><spring:message code="button.catalog"/></button>
<button class="btn primary" onclick="fn_regist();" ><spring:message code="button.insert"/></button>
</div>
</div>
<section class="content-section">
<form id="listForm" method="post" action="<c:url value="/admin/store/sopthema/insertSopThemaRegist"/>">
<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>테마 명<span class="red-7">*</span></th>
<td>
<div class="td-inner">
<input class="input-text lg" type="text" id="themaNm" name="themaNm" title="테마 명" maxlength="20">
</div>
</td>
<th>스타일 시트 경로<span class="red-7">*</span></th>
<td>
<div class="td-inner">
<input class="input-text lg" type="text" id="cssCours" name="cssCours" title="CSS 경로" maxlength="30">
</div>
</td>
</tr>
<tr>
<th>설명</th>
<td colspan="3">
<textarea class="textarea" id="dcCn" name="dcCn" title="설명" rows="8"></textarea>
</td>
</tr>
</tbody>
</table>
</div>
<!--검색 조건 , 페이징 조건 -->
<input type="hidden" id="themaInnb" name="themaInnb" value=""/>
<input type="hidden" id="srchThemaNm" name="srchThemaNm" title="검색_쇼핑몰테마명" value="<c:out value="${ resultMap.BOSopThemaVO.srchThemaNm }"/>">
<input type="hidden" id="srchSopmalCd" name="srchSopmalCd" title="검색_쇼핑몰" value="<c:out value="${ resultMap.BOSopThemaVO.srchSopmalCd }"/>">
<input type="hidden" id="pageIndex" name="pageIndex" value="<c:out value="${ resultMap.BOSopThemaVO.pageIndex }"/>"/>
<input type="hidden" id="pageUnit" name="pageUnit" value="<c:out value="${ resultMap.BOSopThemaVO.pageUnit }"/>"/>
</form>
</section>
</div>
</div>
</main>
</body>
</html>

View File

@@ -0,0 +1,184 @@
<%@ page import="java.util.Date" %>
<%@ page import="java.util.Arrays" %>
<%@ page import="java.util.List" %>
<%@ 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" %>
<%--
Class Name : MaSopthemaUpdtU.jsp
Description : 쇼핑몰테마 수정
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2023-12-26 리브가 최초 생성
2024-01-10 리브가 검색조건, 페이징정보 유지되도록 수정
--%>
<!DOCTYPE html>
<html lang="ko">
<head>
<%-- 공통 include --%>
<%@include file ="/WEB-INF/views/comm/admin/Include.jsp" %>
</head>
<script>
$(document).ready(function () {
});
/* ********************************************************
* 수정 AJAX
******************************************************** */
const fn_update = function() {
const url = '<c:url value="/admin/store/sopthema/updateSopThemaUpdt"/>';
const data = $('#listForm').serialize();
if(confirm('쇼핑몰 테마를 <spring:message code="confirm.common.update"/>')) {
$.ajax({
type: 'post',
url: url,
data: data,
success: function (data) {
let str = JSON.parse(data.resBody.result);
if(str.result=='success'){
alert('<spring:message code="success.common.update"/>');
// 수정 후 수정화면 유지
fn_move_dtl_uptpage();
} else {
alert('<spring:message code="fail.common.update"/>');
}
}
});
}
};
/* ********************************************************
* 삭제 AJAX
******************************************************** */
const fn_delete = function() {
const url = '<c:url value="/admin/store/sopthema/deleteSopThemaDel"/>';
const data = $('#listForm').serialize();
if(confirm('쇼핑몰 테마를 <spring:message code="confirm.common.delete"/>')) {
$.ajax({
type: 'post',
url: url,
data: data,
success: function (data) {
let str = JSON.parse(data.resBody.result);
if(str.result=='success'){
alert('<spring:message code="success.common.delete"/>');
// 삭제 후 목록 화면으로 이동
fn_select_sopthema_list(1);
} else {
alert(str.result);
}
}
});
}
};
/* ********************************************************
* 목록 조회
******************************************************** */
const fn_select_sopthema_list = function(pageIndex) {
$('#listForm').attr('action', '<c:url value="/admin/store/sopthema/selectSopThemaListInqireForm"/>');
$('#listForm').attr('method', 'post');
if(pageIndex) {
$('#pageIndex').val(pageIndex);
}
$('#listForm').submit();
};
/* ********************************************************
* 수정폼 이동
******************************************************** */
const fn_move_dtl_uptpage = function() {
$('#listForm').attr('action', '<c:url value="/admin/store/sopthema/selectSopThemaUpdtForm"/>');
$('#listForm').attr('method', 'get');
$('#pageIndex').val(1);
$('#listForm').submit();
}
</script>
<body>
<%@include file ="/WEB-INF/views/comm/admin/Header.jsp" %>
<main class="main">
<%@include file ="/WEB-INF/views/comm/admin/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_select_sopthema_list();" class="btn outline"><spring:message code="button.catalog"/></button>
<button class="btn dark" onclick="fn_delete();"><spring:message code="button.delete"/></button>
<button class="btn primary outline" onclick="fn_update(); return false;"><spring:message code="button.update"/></button>
</div>
</div>
<section class="content-section">
<form id="listForm" method="post" action="/admin/store/sopthema/selectSopThemaUpdt">
<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>
<c:choose>
<c:when test="${ not empty resultMap.list }">
<c:forEach items="${ resultMap.list }" var="list" varStatus="status">
<input type="hidden" id="themaInnb" name="themaInnb" value="${list.themaInnb}"/>
<tr>
<th>테마 명<span class="red-7">*</span></th>
<td>
<div class="td-inner">
<input class="input-text lg" type="text" id="themaNm" name="themaNm" value="<c:out value="${list.themaNm}"/>" title="테마 명" maxlength="20">
</div>
</td>
<th>스타일 시트 경로<span class="red-7">*</span></th>
<td>
<div class="td-inner">
<input class="input-text lg" type="text" id="cssCours" name="cssCours" value="<c:out value="${list.cssCours}"/>" title="CSS 경로" maxlength="30">
</div>
</td>
</tr>
<tr>
<th>설명</th>
<td colspan="3">
<textarea class="textarea" id="dcCn" name="dcCn" title="설명" rows="8"><c:out value="${list.dcCn}"/></textarea>
</td>
</tr>
<tr>
<th>적용 쇼핑몰</th>
<td colspan="3">
<div class="td-inner">
<c:out value="${list.sopmalNm}"/>
</div>
</td>
</tr>
</c:forEach>
</c:when>
</c:choose>
</tbody>
</table>
</div>
<!--검색 조건 , 페이징 조건 -->
<input type="hidden" id="srchThemaNm" name="srchThemaNm" title="검색_쇼핑몰테마명" value="<c:out value="${ resultMap.BOSopThemaVO.srchThemaNm }"/>">
<input type="hidden" id="srchSopmalCd" name="srchSopmalCd" title="검색_쇼핑몰" value="<c:out value="${ resultMap.BOSopThemaVO.srchSopmalCd }"/>">
<input type="hidden" id="pageIndex" name="pageIndex" value="<c:out value="${ resultMap.BOSopThemaVO.pageIndex }"/>"/>
<input type="hidden" id="pageUnit" name="pageUnit" value="<c:out value="${ resultMap.BOSopThemaVO.pageUnit }"/>"/>
</form>
</section>
</div>
</div>
</main>
</body>
</html>