초기소스

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,134 @@
<%@ 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="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%--
Class Name : AtmcRcpmnyDtlsOrdrInqirePopupR.jsp
Description : 자동입금내역 주문조회 화면
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2024-02-25 유재현 최초 생성
2024-05-20 임수영 수정
--%>
<div 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>
</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: 8%;">
<col style="width: 13%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 12%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: auto;">
</colgroup>
<thead>
<tr>
<th>번호</th>
<th>주문번호 (주문일시)</th>
<th>입금은행</th>
<th>계좌번호</th>
<th>입금자명</th>
<th>주문자</th>
<th>입금금액</th>
<th>입금확인 일시</th>
<th>주문상태</th>
<th>처리</th>
</tr>
</thead>
<tbody>
<c:if test="${empty resultMap.resultList }">
<tr>
<td class="row-no-data" colspan="9">조회된 데이터가 없습니다.</td>
</tr>
</c:if>
<c:forEach items="${ resultMap.resultList }" var="list" varStatus="status">
<tr>
<input type="hidden" name="sopmalCd" value="<c:out value="${ list.sopmalCd }"/> "/>
<input type="hidden" name="ordrInnb" value="<c:out value="${ list.ordrInnb }"/> "/>
<td>
<c:out value="${ resultMap.paginationInfo.totalRecordCount - list.rnum + 1 }" />
</td>
<td>
<c:out value="${ list.ordrInnb }"/>
<br>
<span class="stone-7">
<c:set var="ordrRceptDt" value="${fn:replace(list.ordrRceptDt, 'T', ' ')}" />
(<c:out value="${ ordrRceptDt }"/>)
</span>
</td>
<td>
<c:out value="${ list.bnnkNm }"/>
</td>
<td>
<c:out value="${ list.rcpmnyAcntnb }"/>
</td>
<td><c:out value="${ list.rcpmnyerNm }"/></td>
<td><c:out value="${ list.ordrrNm }"/></td>
<td>
<span class="comma"><fmt:formatNumber value="${list.setleAmt}" pattern="#,###"/></span>
</td>
<td>
<c:set var="setleDt" value="${fn:replace(list.setleDt, 'T', '<br>')}" />
<c:out value="${ setleDt }" escapeXml="false" />
</td>
<td>
<c:out value="${ list.ordrSttusCdNm }"/>
</td>
<td>
<c:choose>
<c:when test = "${ empty list.autodepositTy }">
<div class="manage-btn-container">
<button class="btn xsm primary outline"
onclick="fn_update_rcpmny_cnfirm_modal(
'<c:out value="${ list.ordrSetleInnb }"/>',
'<c:out value="${ list.ordrInnb }"/>',
'<c:out value="${ list.sopmalCd }"/>',
'<c:out value="${ resultMap.paramVO.bkid }"/>',
'<c:out value="${ resultMap.paramVO.bkdate }"/>',
'<c:out value="${ resultMap.paramVO.bktime }"/>'); return false;">
입금확인+매칭</button>
</div>
</c:when>
<c:otherwise>
다른 입금내역과 이미 매칭됨
</c:otherwise>
</c:choose>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
<div class="pagination__container">
<ui:pagination paginationInfo="${ resultMap.paginationInfo }" type="image" jsFunction="fn_select_order_inqire_modal" />
</div>

View File

@@ -0,0 +1,166 @@
<%@ 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="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%--
Class Name : AtmcRcpmnyDtlsOrdrInqirePopupRForm.jsp
Description : 자동입금내역 주문조회 화면
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2024-05-23 임수영 최초 생성
--%>
<script>
$( document ).ready(function(){
fn_set_datepicker('.datepicker');
fn_set_date('srchStartDate1','srchEndDate1');
});
// 인풋 텍스트 숫자만 입력 (콤마 X, 휴대폰번호 등)
$(".input-text.numberonly").on("input", function () {
this.value = this.value.replace(/[^0-9]/g, "");
});
</script>
<div id="order-search-pop" class="modal" style="max-width: 1260px;">
<div class="modal-header">
<h4>주문조회</h4>
</div>
<div class="modal-content" style="height: 560px;">
<form id="popupListForm" name="popupListForm" method="post" >
<input type="hidden" id="ordrInnb" name="ordrInnb"/>
<input type="hidden" id="pageIndex" name="pageIndex" value="<c:out value="${ resultMap.paramVO.pageIndex }"/>"/>
<input type="hidden" name="srchDatePick" value="${resultMap.paramVO.srchDatePick}" />
<input type="hidden" id="recordCountPerPage" name="recordCountPerPage" value="<c:out value="${ resultMap.paramVO.recordCountPerPage }"/>"/>
<input type="hidden" id="bkid" name="bkid" value="<c:out value="${ resultMap.paramVO.bkid }"/>"/>
<input type="hidden" id="sopmalCd" name="sopmalCd" value="<c:out value="${ resultMap.paramVO.sopmalCd }"/>" />
<input type="hidden" id="bkdate" name="bkdate" value="<c:out value="${ resultMap.paramVO.bkdate }"/>" />
<input type="hidden" id="bktime" name="bktime" value="<c:out value="${ resultMap.paramVO.bktime }"/>" />
<div class="content-section">
<div class="table-wrapper">
<table class="table vertical">
<caption>해당 테이블에 대한 설명</caption>
<colgroup>
<col style="width: 8%;">
<col style="width: 12%;">
<col style="width: 17%;">
<col style="width: 17%;">
<col style="width: 17%;">
<col style="width: 12%;">
<col style="width: auto;">
</colgroup>
<thead>
<tr>
<th>구분</th>
<th>입금일/주문일</th>
<th>입금은행</th>
<th>계좌번호</th>
<th>입금자명</th>
<th>입금금액</th>
<th>입금여부</th>
</tr>
</thead>
<tbody>
<tr>
<td>입금 내역</td>
<td>
<fmt:parseDate var="bkdate" value="${resultMap.paramVO.bkdate}" pattern="yyyyMMdd"/>
<fmt:formatDate value="${bkdate}" pattern="yyyy-MM-dd"/>
</td>
<td><c:out value="${ resultMap.paramVO.bkname }"/></td>
<td><c:out value="${ resultMap.paramVO.bkacctno }"/></td>
<td><c:out value="${ resultMap.paramVO.bkjukyo }"/></td>
<td>
<span class="comma"><fmt:formatNumber value="${resultMap.paramVO.bkinput}" pattern="#,###"/></span>원
</td>
<td>-</td>
</tr>
<tr>
<td>주문 내역</td>
<td>
<fmt:formatDate value="${bkdate}" pattern="yyyy-MM-dd" var="formattedDate"/>
<fmt:parseDate value="${formattedDate}" pattern="yyyy-MM-dd" var="parsedDate" />
<c:set var="onceWeekAgoMillis" value="${ parsedDate.time - (7 * 24 * 60 * 60 * 1000) }" />
<jsp:useBean id="dateUtil" class="java.util.Date" >
<jsp:setProperty name="dateUtil" property="time" value="${onceWeekAgoMillis}" />
</jsp:useBean>
<input type="text" id="srchStartDate1" name="srchStartDate" class="datepicker text-left" title="시작 날짜 선택"
autocomplete="off" value="<fmt:formatDate value="${dateUtil}" pattern="yyyy-MM-dd"/>">
<span class="tilde">~</span>
<input type="text" id="srchEndDate1" name="srchEndDate" class="datepicker text-left" title="종료 날짜 선택"
autocomplete="off" value="<fmt:formatDate value="${bkdate}" pattern="yyyy-MM-dd"/>">
</td>
<td>
<div class="input-container gap-4 mr-0">
<input class="input-text" type="text" name="srchBnnkNm" title="입금은행" placeholder="" value="<c:out value="${ resultMap.paramVO.bkname }"/>">
</div>
</td>
<td>
<div class="input-container gap-4 mr-0">
<input class="input-text numberonly" type="text" name="srchRcpmnyAcntnb" title="계좌번호" placeholder="" value="<c:out value="${ resultMap.paramVO.bkacctno }"/>">
</div>
</td>
<td>
<input class="input-text" type="text" name="srchRcpmnyerNm" title="입금자명" placeholder="" value="<c:out value="${ resultMap.paramVO.bkjukyo }"/>">
</td>
<td>
<input class="input-text full numberonly right" type="text" name="srchSetleAmt1" title="입금금액"
value="<c:out value="${ resultMap.paramVO.bkinput }"/>" placeholder="">
<span class="tilde">~</span>
<input class="input-text full numberonly right" type="text" name="srchSetleAmt2" title="입금금액"
value="<c:out value="${ resultMap.paramVO.bkinput }"/>" placeholder="">
</td>
<td>
<div class="b-checkbox-container justify-center vertical">
<label class="b-checkbox checkbox">
<input type="checkbox" value="1" name="srchOrdrSttusCd1">
<span class="check"></span>
<span class="control-label">입금미확인</span>
</label>
<label class="b-checkbox checkbox">
<input type="checkbox" value="2" name="srchOrdrSttusCd2">
<span class="check"></span>
<span class="control-label">입금확인</span>
</label>
<label class="b-checkbox checkbox">
<input type="checkbox" value="3" name="srchOrdrSttusCd3">
<span class="check"></span>
<span class="control-label">주문무효</span>
</label>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="form-control-container">
<div class="left"></div>
<div class="center">
<button class="btn primary" onclick="fn_select_order_inqire_modal('1'); return false;">
주문조회</button>
</div>
<div class="right"></div>
</div>
</div>
</form>
<!-- modal list START -->
<div id="pageBottom">
</div>
</div>
<div class="modal-footer">
<button type = "button" class="btn outline" id="modal_close" onclick="fn_close_modal('order-search-pop')" >닫기</button>
</div>
</div>

View File

@@ -0,0 +1,232 @@
<%@ 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="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%--
Class Name : AtmcRcpmnyListInqireR.jsp
Description : 자동입금 목록 화면
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2024-02-25 유재현 최초 생성
2024-05-13 임수영 수정
--%>
<style>
.table tr.checkedA {
background-color: #e3eff6;
}
.table tr.checkedM {
background-color: #f5f0f8;
}
.table tr.checkedA td {
background-color: transparent;
}
.table tr.checkedM td {
background-color: transparent;
}
</style>
<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="console.log('test'); fn_select_atmcrmy_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>
<!-- 각 열 width 설정 -->
<colgroup>
<col style="width: 7%;">
<col style="width: 8%;">
<col style="width: 10%;">
<col style="width: 8%;">
<col style="width: 10%;">
<col style="width: 8%">
<col style="width: 8%">
<col style="width: 18%">
<col style="width: auto;">
</colgroup>
<thead>
<tr>
<th colspan="5">
은행 입금내역
</th>
<th colspan="3">
좌측 입금내역에 대한 주문
</th>
<th rowspan="2">
관리 메모
</th>
</tr>
<tr>
<th>입금일</th>
<th>입금은행</th>
<th>계좌번호</th>
<th>입금자명</th>
<th>입금금액</th>
<th>처리상태</th>
<th>입금확인 일시</th>
<th>입금확인 주문</th>
</tr>
</thead>
<tbody>
<c:if test="${empty resultMap.resultList }">
<tr>
<td class="row-no-data" colspan="9">조회된 데이터가 없습니다.</td>
</tr>
</c:if>
<c:forEach items="${ resultMap.resultList }" var="list" varStatus="status">
<c:choose>
<c:when test="${list.autodepositTy eq 'A'}">
<tr class="checkedA">
</c:when>
<c:when test="${list.autodepositTy eq 'M'}">
<tr class="checkedM">
</c:when>
<c:otherwise>
<tr>
</c:otherwise>
</c:choose>
<td>
<fmt:parseDate var="bkdate" value="${list.bkdate}" pattern="yyyyMMdd"/>
<fmt:formatDate value="${bkdate}" pattern="yyyy-MM-dd"/>
</td>
<td><c:out value="${list.bkname}" /></td>
<td><c:out value="${list.bkacctno}" /></td>
<td><c:out value="${list.bkjukyo}" /></td>
<td>
<span class="comma"><fmt:formatNumber value="${list.bkinput}" pattern="#,###"/></span>원
</td>
<c:choose>
<c:when test = "${ empty list.autodepositTy }">
<td>미매칭</td>
<td></td>
<td>
<div class="manage-btn-container">
<button type="button"
class="btn xsm primary outline"
onclick="fn_open_order_inqire_modal(
'#rcpmnyDtlsMngrOrdrInqirePopupDiv',
'#order-search-pop',
'',
'<c:out value="${list.bkid}" />',
'<c:out value="${list.bkdate}" />',
'<c:out value="${list.bkname}" />',
'<c:out value="${list.bkacctno}" />',
'<c:out value="${list.bkjukyo}" />',
'<c:out value="${list.bkinput}" />',
'<c:out value="${list.bktime}" />'); return false">
주문조회</button>
</div>
</td>
</c:when>
<c:when test = "${ list.autodepositTy eq 'A' }">
<td>자동입금확인</td>
<td>
<c:set var="setleDt" value="${fn:replace(list.setleDt, 'T', ' ')}" />
<c:out value="${setleDt}"/>
</td>
<td class="text-left">
<button class="under-line blue-7"
onclick="fn_go_ordr_dtl('<c:out value="${list.ordrInnb}" />'); return false;">
<c:out value="${list.ordrInnb}" />
</button>
<p class="stone-9">
<span>
<c:out value="${list.bnnkNm}" />
<c:out value="${list.rcpmnyAcntnb}" />
예금주 : <c:out value="${list.dpstrNm}" />
</span>
</p>
<p class="fw-500">
<c:out value="${list.rcpmnyerNm}" />
<span class="comma"><fmt:formatNumber value="${list.setleAmt}" pattern="#,###"/></span>원
</p>
</td>
</c:when>
<c:when test = "${ list.autodepositTy eq 'M' }">
<td>수동입금확인</td>
<td>
<c:set var="setleDt" value="${fn:replace(list.setleDt, 'T', ' ')}" />
<c:out value="${setleDt}"/>
</td>
<td class="text-left">
<button class="under-line blue-7"
onclick="fn_go_ordr_dtl('<c:out value="${list.ordrInnb}" />'); return false;">
<c:out value="${list.ordrInnb}" />
</button>
<p class="stone-9">
<span>
<c:out value="${list.bnnkNm}" />
<c:out value="${list.rcpmnyAcntnb}" />
예금주 : <c:out value="${list.dpstrNm}" />
</span>
</p>
<p class="fw-500">
<c:out value="${list.rcpmnyerNm}" />
<span class="comma"><fmt:formatNumber value="${list.setleAmt}" pattern="#,###"/></span>원
</p>
</td>
</c:when>
</c:choose>
<c:choose>
<c:when test = "${ empty list.memoCn }">
<td>
<div class="manage-btn-container">
<button type="button" class="btn xsm gray"
onclick="fn_open_memo_modal(
'#rcpmnyDtlsMngrMemoRegistPopupDiv',
'#admin-memo-pop',
'<c:out value="${ list.sopmalCd }"/>',
'<c:out value="${ list.bkcode }"/>' ); return false;"
>메모</button>
</div>
</td>
</c:when>
<c:otherwise>
<td>
<a class="under-line blue-7"
onclick="fn_open_memo_modal(
'#rcpmnyDtlsMngrMemoRegistPopupDiv',
'#admin-memo-pop',
'<c:out value="${ list.sopmalCd }"/>',
'<c:out value="${ list.bkcode }"/>',
this); return false;"><c:out value="${list.memoCn}" /></a>
</td>
</c:otherwise>
</c:choose>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</section>
<div class="pagination__container">
<ui:pagination paginationInfo="${ resultMap.paginationInfo }" type="image" jsFunction="fn_select_atmcrmy_list" />
</div>

View File

@@ -0,0 +1,474 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%--
Class Name : AtmcRcpmnyListInqireR.jsp
Description : 자동입금 목록 화면
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2024-05-13 임수영 최초 생성
--%>
<!DOCTYPE html>
<html lang="ko">
<head>
<%-- 공통 include --%>
<%@include file ="/WEB-INF/views/comm/mngr/Include.jsp" %>
<script>
$( document ).ready(function(){
$("#sevenDays").click();
let pageIndex = '<c:out value="${ resultMap.paramVO.pageIndex }"/>';
let pageUnit = '<c:out value="${ resultMap.paramVO.pageUnit }"/>';
fn_select_atmcrmy_list(pageIndex, pageUnit);
$('#listForm').on('keydown', function(e) {
if (e.keyCode == 13) {
e.preventDefault();
$('#searchBtn').trigger("click");
}
});
$('#allDays').on('click', function() {
$('#srchStartDate, #srchEndDate').val('');
});
// fn_set_date('srchStartDate','srchEndDate','srchEndDate');
});
/**
* 자동입금내역 목록 조회
*/
const fn_select_atmcrmy_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;
}
}
$('#pageIndex').val(pageIndex);
$.ajax({
type: "post",
url : "<c:url value="/mngr/ordr/atmcrmy/selectAtmcRcpmnyDtlsListInqire"/>",
data : dataStr,
success:function(resultHtml) {
$('#pageDiv').empty();
$('#pageDiv').html(resultHtml);
$('#pageUnit').niceSelect();
}
});
}
/**************************************************************
* 자동입금내역 메모 팝업 열기
****************************************************************/
const fn_open_memo_modal = function (modalDivSltr, modalSlrt, param1, param2, param3) {
let memoCn;
if(param3 != null){
memoCn = param3.textContent;
}
$.ajax({
type: 'GET',
url: '/mngr/ordr/atmcrmy/selectRcpmnyDtlsMngrMemoRegistPopupForm',
data: {
sopmalCd : param1,
bkcode : param2,
memoCn : memoCn
},
success: function (data) {
$(modalSlrt).remove();
$(modalDivSltr).html(data);
$(modalSlrt).modal();
}
});
}
/**************************************************************
* 자동입금내역 메모 팝업 수정
****************************************************************/
const fn_update_memo_modal = function (modalDivSltr, modalSlrt, param1, param2) {
let param3 = $('#memoContent').val();
let pageIndex = $('#pageIndex').val();
$.ajax({
type: 'POST',
url: '/mngr/ordr/atmcrmy/insertRcpmnyDtlsMngrMemoRegist',
data: {
sopmalCd : param1,
bkcode : param2,
memoCn : param3
},
success: function (data) {
let result = JSON.parse(data.resBody.result);
if(result.message.response == "success"){
alert('<spring:message code="success.common.save"/>');
}else {
alert('<spring:message code="fail.common.save"/>');
}
fn_select_atmcrmy_list(pageIndex);
$('#modal_close').click();
}
});
}
/**************************************************************
* 자동입금내역 수동실행
****************************************************************/
const fn_update_rcpmny_cnfirm_execut = function() {
let sopmalCd = $("input[name=sopmalCd]").val();
if (confirm('수동 실행을 하시겠습니까?')) {
$.ajax({
type: 'POST',
url: '/mngr/ordr/atmcrmy/updateRcpmnyCnfirmExecut',
data: {
sopmalCd : sopmalCd
},
success: function (data) {
let result = JSON.parse(data.resBody.result);
if(result.response == "success"){
alert('<spring:message code="success.request.msg"/>');
fn_select_atmcrmy_list('1');
}else {
alert('<spring:message code="fail.request.msg"/>');
}
}
});
}
}
/**************************************************************
* 자동입금내역 주문조회 팝업
****************************************************************/
const fn_open_order_inqire_modal = function (modalDivSltr, modalSlrt, callback, bkid, bkdate, bkname, bkacctno, bkjukyo, bkinput, bktime) {
let sopmalCd = $("input[name=sopmalCd]").val();
$.ajax({
type: 'GET',
url: '/mngr/ordr/atmcrmy/selectAtmcRcpmnyDtlsOrdrInqirePopupForm',
data: {
sopmalCd : sopmalCd,
bkid : bkid,
bkdate : bkdate,
bkname : bkname,
bkacctno : bkacctno,
bkjukyo : bkjukyo,
bkinput : bkinput,
bktime : bktime,
},
success: function (data) {
if(!callback) {
console.log("callback 없음");
} else {
console.log("callback 있음");
}
$(modalSlrt).remove();
$(modalDivSltr).html(data);
$(modalSlrt).modal();
fn_select_order_inqire_modal();
}
});
}
/**************************************************************
* 자동입금내역 주문조회 팝업 주문조회
****************************************************************/
const fn_select_order_inqire_modal = function (pageIndex, pageUnit) {
// let srchStartDate1 = $("#srchStartDate1").val();
// if(fn_date_pattern(srchStartDate1) == false || srchStartDate1 == "") {
// alert("주문일을 다시 입력해주세요.");
// return
// }
let dataStr;
if(!pageIndex) {
$('#pageIndex').val(1);
} else {
$('#popupListForm').find('input[name="pageIndex"]').eq(0).val(pageIndex);
}
if(!pageUnit) {
dataStr = $('#popupListForm').serialize();
} else {
if($('#pageUnit').length){
$('#pageUnit').val(pageUnit);
dataStr = $('#popupListForm').serialize();
} else {
dataStr = $('#popupListForm').serialize()+'&pageUnit='+pageUnit;
}
}
$.ajax({
type: 'POST',
url: '/mngr/ordr/atmcrmy/selectAtmcRcpmnyOrdrInqire',
data: dataStr,
success: function (data) {
$('#pageBottom').empty();
$('#pageBottom').html(data);
}
});
}
/**************************************************************
* 자동입금내역 주문조회 팝업 입금확인+매칭
****************************************************************/
const fn_update_rcpmny_cnfirm_modal = function (ordrSetleInnb, ordrInnb, sopmalCd, bkid, bkdate, bktime) {
if (confirm('매칭을 하시겠습니까?')) {
$.ajax({
type: 'POST',
url: '/mngr/ordr/atmcrmy/updateRcpmnyCnfirmMtchg',
data: {
bkid : bkid,
ordrInnb : ordrInnb,
sopmalCd : sopmalCd,
ordrSetleInnb : ordrSetleInnb,
bkdate : bkdate,
bktime : bktime
},
success: function (data) {
let result = JSON.parse(data.resBody.result);
if(result.response == "success"){
alert('<spring:message code="success.request.msg"/>');
fn_close_modal('order-search-pop');
fn_select_atmcrmy_list('1');
}else {
alert('<spring:message code="fail.request.msg"/>');
}
}
});
}
}
/* 주문상세 이동 */
const fn_go_ordr_dtl = function (ordrInnb) {
let form = $("#listForm");
$(form).find('input[name="ordrInnb"]').remove();
$(form).append($('<input/>', {type:'hidden', name:'ordrInnb', id:'ordrInnb', value:ordrInnb}));
$(form).attr('target', '_self');
$(form).attr('method', 'post');
$(form).attr('action', '<c:url value="/mngr/ordr/ordrmngr/selectOrdrDtlInqire"/>');
$(form).submit();
}
// 검색 날짜 형식 체크
const fn_date_pattern = function(dateString) {
// 날짜 형식 패턴 빈 값도 true
var datePattern = /^(\d{4}-\d{2}-\d{2})?$/;
return datePattern.test(dateString);
}
/* ********************************************************
* 데이트 검색 값
******************************************************** */
const fn_set_datePick = function(_taget) {
let dateBtn = '#' + $(_taget).attr('id');
$('[name=srchDatePick]').val(dateBtn);
}
/****************************************************
* 검색 후 새로 고침 시 검색조건 리셋
*****************************************************/
history.replaceState({}, null, location.pathname);
</script>
</head>
<body>
<%@include file ="/WEB-INF/views/comm/mngr/Header.jsp" %>
<main class="main">
<%@include file ="/WEB-INF/views/comm/mngr/Left.jsp" %>
<div class="content">
<div class="content__inner">
<button class="side-nav__fold"><span class="visually-hidden">좌측메뉴 펼치기/닫기</span></button>
<div class="page-title">
<h2 class="page-title__title">자동 입금 확인 목록</h2>
<div class="page-title__btn-container">
<button type="button" class="btn primary" onclick="fn_update_rcpmny_cnfirm_execut();">수동 실행</button>
</div>
</div>
<form id="listForm" name="listForm" method="post" >
<input type="hidden" id="pageIndex" name="pageIndex" value="<c:out value="${ resultMap.paramVO.pageIndex }"/>"/>
<input type="hidden" id="recordCountPerPage" name="recordCountPerPage" value="<c:out value="${ resultMap.paramVO.recordCountPerPage }"/>"/>
<input type="hidden" name="srchDatePick" value="${resultMap.paramVO.srchDatePick}" />
<input type="hidden" id="ordrInnb" name="ordrInnb"/>
<input type="hidden" id="sopmalCd" name="sopmalCd" value="<c:out value="${ resultMap.paramVO.sopmalCd }"/>" />
<section class="content-section" id="couponSearchForm">
<p class="red-8 fs-13 mb-10">
자동입금확인은 약 30분마다 수집한 은행의 입금내역을 매시 30분마다 주문내역과 매칭함으로써 자동으로 입금확인이 이뤄집니다.
<br>
매시 30분마다 실행되는 입금내역과 주문내역의 매칭 작업은 우측의 버튼을 클릭하여 수동으로 실행하실 수도 있습니다.
</p>
<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 xl" type="text" name="searchWord" title="해당 인풋에 대한 설명" placeholder="입금자명,입금은행,금액,주문번호">
</div>
</td>
</tr>
<tr>
<th>계좌 번호</th>
<td>
<div class="td-inner">
<div class="select-box">
<select class="md" name="searchAccount" title="해당 셀렉트에 대한 설명">
<option value="all">전체계좌</option>
<c:forEach items="${ resultMap.bankAccount }" var="bankAccount" varStatus="status">
<option value="<c:out value="${ bankAccount }"/>"><c:out value="${ bankAccount }"/></option>
</c:forEach>
</select>
</div>
</div>
</td>
</tr>
<tr>
<th>입금일</th>
<td>
<div class="td-inner">
<div class="input-container">
<input type="text" name="srchStartDate" id="srchStartDate" class="datepicker" value="<c:out value="${ resultMap.paramVO.srchStartDate }"/>" title="시작 날짜 선택" autocomplete="off" pattern="yyyy-MM-dd">
<span class="tilde">~</span>
<input type="text" name="srchEndDate" id="srchEndDate" class="datepicker" value="<c:out value="${ resultMap.paramVO.srchEndDate }"/>" title="종료 날짜 선택" autocomplete="off" pattern="yyyy-MM-dd">
</div>
<div class="dateRange-btnContainer">
<button type="button" class="dateRange-btn" id="yesterday" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','1D'); fn_set_datePick(this); ">어제</button>
<button type="button" class="dateRange-btn" id="today" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','0'); fn_set_datePick(this); ">오늘</button>
<button type="button" class="dateRange-btn" id="threeDays" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','3D'); fn_set_datePick(this); ">3일간</button>
<button type="button" class="dateRange-btn" id="sevenDays" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','7D'); fn_set_datePick(this); ">일주일</button>
<button type="button" class="dateRange-btn" id="oneMonth" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','1M'); fn_set_datePick(this); ">1개월</button>
<button type="button" class="dateRange-btn" id="threeMonth" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','3M'); fn_set_datePick(this); ">3개월</button>
<button type="button" class="dateRange-btn" id="sixMonth" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','6M'); fn_set_datePick(this); ">6개월</button>
<button type="button" class="dateRange-btn" id="oneYear" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','1Y'); fn_set_datePick(this); ">1년</button>
<button type="button" class="dateRange-btn selected" id="allDays" onclick="fn_set_datePick(this);" >전체</button>
</div>
</div>
</td>
</tr>
<tr>
<th>입금 확인</th>
<td>
<div class="td-inner">
<div class="b-checkbox-container">
<label class="b-checkbox checkbox">
<input type="checkbox" value="A" name="srchStatus" >
<span class="check"></span>
<span class="control-label">자동입금확인</span>
</label>
<label class="b-checkbox checkbox">
<input type="checkbox" value="M" name="srchStatus" >
<span class="check"></span>
<span class="control-label">수동입금확인</span>
</label>
<label class="b-checkbox checkbox">
<input type="checkbox" value="N" name="srchStatus" >
<span class="check"></span>
<span class="control-label">미매칭</span>
</label>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="form-control-container">
<div class="left"></div>
<div class="center">
<button class="btn outline" id="resetBtn" type="button" onclick="fn_reset_form('couponSearchForm'); $('#sevenDays').click(); return false;">초기화</button>
<button class="btn primary" id="searchBtn" type="button" onclick="fn_select_atmcrmy_list(1); return false;">검색</button>
</div>
<div class="right"></div>
</div>
</section>
<%-- 자동입금확인 검색 영역 END --%>
<div id="pageDiv">
</div>
</form>
<%-- 하단 스크롤 완료 시 위로가기 버튼 출력 : 2023-11-30 / 박철민 추가 --%>
<button class="scroll-to-top"><span class="visually-hidden">위로가기</span></button>
</div>
</div>
</main>
<%-- 관리자 메모 등록 조회 팝업 --%>
<div id="rcpmnyDtlsMngrMemoRegistPopupDiv">
</div>
<%-- 관리자 주문조회 조회 팝업 --%>
<div id="rcpmnyDtlsMngrOrdrInqirePopupDiv">
</div>
</body>
</html>

View File

@@ -0,0 +1,38 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%--
Class Name : RcpmnyDtlsMngrMemoRegistPopupC.jsp
Description : 관리자 메모 등록 화면
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2024-02-25 유재현 최초 생성
2024-05-17 임수영 수정
--%>
<div id="admin-memo-pop" class="modal" style="max-width: 600px;">
<input type="hidden" name='sopmalCd' value=<c:out value="${ resultMap.sopmalCd }"/> />
<input type="hidden" name='bkcode' value=<c:out value="${ resultMap.bkcode }"/> />
<input type="hidden" name='memoCn' value=<c:out value="${ resultMap.memoCn }"/> />
<div class="modal-header">
<h4>관리자 메모</h4>
</div>
<div class="modal-content" style="height: 280px;">
<textarea class="textarea" id='memoContent' title="에디터 입력" cols="30" rows="10"><c:out value="${resultMap.memoCn}"/></textarea>
</div>
<div class="modal-footer">
<a href="#" rel="modal:close" class="btn outline" id="modal_close"><spring:message code="button.close"/></a>
<button class="btn primary"
onclick="fn_update_memo_modal(
'#rcpmnyDtlsMngrMemoRegistPopupDiv',
'#admin-memo-pop',
'<c:out value="${ resultMap.sopmalCd }"/>',
'<c:out value="${ resultMap.bkcode }"/>' ); return false">
<spring:message code="button.save"/></button>
</div>
</div>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,115 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ page import="java.util.Date" %>
<!DOCTYPE html>
<html>
<section class="content-section">
<h3 class="content-section__title">주문정보</h3>
<div class="table-wrapper">
<table class="table vertical">
<caption>해당 테이블에 대한 설명</caption>
<!-- 각 열 width 설정 -->
<colgroup>
<col style="width: 60px;">
<col style="width: 60px;">
<col style="width: 10%;">
<col style="width: 120px;">
<col style="width: 12%;">
<col style="width: 100px;">
<col style="width: auto;">
<col style="width: 8%;">
<col style="width: 12%;">
<col style="width: 10%;">
<col style="width: 8%;">
</colgroup>
<thead>
<tr>
<th>유입</th>
<th>마켓</th>
<th>주문일시</th>
<th>환경</th>
<th>주문번호</th>
<th>구분</th>
<th>주문자</th>
<th>수령자</th>
<th>결제수단</th>
<th>결제일시</th>
<th>주문상태</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="blue-8 fw-500" title="${ordrDtl.inflowCoursNm}">${fn:substring(ordrDtl.inflowCoursNm, 0, 1)}</span></td>
<td><span class="blue-8 fw-500" title="${ordrDtl.sopmalNm}">${fn:substring(ordrDtl.sopmalNm, 0, 1)}</span></td>
<td>${ordrDtl.ordrRceptDt}</td>
<td>${ordrDtl.sleEnvrnNm}</td>
<td>
<span>${ordrDtl.ordrInnb}</span>
<button>
<i class="icon icon_print"></i>
<span class="visually-hidden">프린트</span>
</button>
</td>
<td>${ordrDtl.ordrTyNm}</td>
<td>
<a href="javascript:void(0);" class="order-detail-text">
<i class="icon icon_word-badge09"></i>
<span class="gray-12">${ordrDtl.mbrNm}${'none' eq ordrDtl.mbrTyCd ? '(비회원)' : ''}</span>
<c:if test="${'none' ne ordrDtl.mbrTyCd}">
(<span class="fw-500 blue-7">${ordrDtl.mbrid}</span>/
<span class="fw-500 green-8">${ordrDtl.gradNm}</span>)
</c:if>
</a>
<button type="button" class="mini-info-btn" data-info="info01">?</button>
</td>
<td>${ordrDtl.recpntNm}</td>
<td>
<c:choose>
<c:when test="${'bank' eq ordrDtl.setleMthCd}">
${ordrDtl.setlerNm} ${ordrDtl.setleMthNm}
${not empty ordrDtl.bnnkNm ? '(' += ordrDtl.bnnkNm += ')' : ''}
</c:when>
<c:otherwise>
${ordrDtl.setleMthNm}
</c:otherwise>
</c:choose>
</td>
<td>${ordrDtl.setleDt}</td>
<td>
<span class="order-status-badge ordr-sttus${ordrDtl.ordrSttusCd}">${ordrDtl.ordrSttusNm}</span>
</td>
</tr>
<tr>
<td class="order-detail-status ordr-sttus${ordrDtl.ordrSttusCd}" colspan="11">
<div class="order-detail-status__inner">
<em>${ordrDtl.ordrSttusNm}</em>
<c:choose>
<c:when test="${'15' eq ordrDtl.ordrSttusCd}">
상태인 이 주문 <span class="order-detail-status__number">${ordrDtl.ordrQy}</span>개(${ordrDtl.cnt}종)는 결제가 확인되어야 합니다.
<button class="btn xxsm confirm">결제확인</button>
</c:when>
<c:when test="${'95' eq ordrDtl.ordrSttusCd || '99' eq ordrDtl.ordrSttusCd}">
상태인 이 주문 <span class="order-detail-status__number">${ordrDtl.ordrQy}</span>개(${ordrDtl.cnt}종)는 주문이 무효되었습니다.
</c:when>
<c:otherwise>
상태인 이 주문 <span class="order-detail-status__number"></span>${ordrDtl.ordrQy}개(${ordrDtl.cnt}종)는
<span class="order-detail-status__number">${ordrDtl.cnt}</span>종을 보내야
<c:if test="${'25' eq ordrDtl.ordrSttusCd || '35' eq ordrDtl.ordrSttusCd}">
<button class="btn xxsm dark">출고처리</button>
</c:if>
하며, <span class="order-detail-status__number">${ordrDtl.bfrDlvryCnt}</span>개는 보낼 준비중이며,
<span class="order-detail-status__number">${ordrDtl.shippingCnt}</span>개는 보내졌습니다.
</c:otherwise>
</c:choose>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</html>

View 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="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<%@ include file="/WEB-INF/views/comm/mngr/Include.jsp"%>
<style>
.pbreak {page-break-after: always;}
table.order_print_info tr th {
padding:3px 3px 3px 3px;
text-align:left;
font-size:11px;
color:#4d4d4d;
font-weight:normal;
}
table.order_print_info tr td {
padding:3px 3px 3px 3px;
text-align:right;
font-size:11px;
}
table.delivery_print_info {
border-collapse:collapse !important;
border:1px solid #bcbfc1;
table-layout: fixed;
}
table.delivery_print_info tr th {
padding:3px 3px 3px 3px;
font-size:11px;
color:#4d4d4d;
font-weight:normal;
}
table.delivery_print_info tr td {
padding:3px 3px 3px 3px;
font-size:11px;
}
table.delivery_goods_print_info {
border-collapse:collapse !important;
border:1px solid #bcbfc1;
table-layout: fixed
}
table.delivery_goods_print_info tr th {
padding:3px 3px 3px 3px;
font-size:11px;
color:#4d4d4d;
font-weight:normal;
border-left:1px solid #bcbfc1;
border-top:1px solid #bcbfc1;
}
table.delivery_goods_print_info tr td {
padding:3px 3px 3px 3px;
font-size:11px;
border-left:1px solid #bcbfc1;
border-top:1px solid #bcbfc1;
}
span.title_print_info {
font-size:12px;
color:#000000;
font-weight:normal;
letter-spacing:-1px;
}
table.order-sale-summary tr.total-sale-title td {
font-size:14px !important;
font-weight:normal !important;
color:#000000 !important;
}
tr.detail-sale-summary td div {
padding:0px !important;
color:#000000 !important;
}
tr.detail-sale-summary td {
color:#000000 !important;
}
tr.detail-sale-summary td span {
padding:0px !important;
color:#000000;
}
tr.total-sale-title td span {
padding:0px !important;
color:#000000;
}
tr.detail-sale-summary td:last-child {
padding:0px !important;
color:#000000 !important;
font-weight:normal !important;
}
tr.detail-sale-summary td:last-child span {
padding:0px !important;
color:#000000 !important;
font-size:14px !important;
font-weight:normal !important;
}
span.unit-money {
display:inline-block;width:10px;
}
tr {
page-break-inside:avoid;
page-break-after:auto;
}
td {
page-break-inside:avoid;
page-break-after:auto;
}
</style>
<script>
$(document).ready(function(){
window.print();
});
</script>
</head>
<body>
<div id="wrap">
<c:set var="ordrDtstmnDwlds" value="${data.ordrDtstmnDwldList}"/>
<c:forEach var="ordrDtstmnDwld" items="${ordrDtstmnDwlds}" varStatus="status">
<div class="pbreak">
<div align="center">
<table>
<tr>
<td>
<span style="text-align:center;font-size:20px;letter-spacing:-1px;font-weight:bold;padding-top:20px;">
발송(출고)내역서
</span>
</td>
</tr>
</table>
</div>
<div style="height:5px;"></div>
<table style="width:100%;">
<col style="width:48%;">
<col style="width:4%;">
<col style="width:48%;">
<tr>
<td><span class="title_print_info">주문정보</span></td>
<td></td>
<td><span class="title_print_info">결제정보</span></td>
</tr>
<tr>
<td><div style="width:100%;border-top:1px solid #545454;height:1px;"></div></td>
<td></td>
<td><div style="width:100%;border-top:1px solid #545454;height:1px;"></div></td>
</tr>
<tr>
<td>
<c:set var="ordr" value="${ordrDtstmnDwld.ordr}"/>
<c:set var="setle" value="${ordrDtstmnDwld.setle}"/>
<table class="order_print_info" style="width:100%;">
<tr>
<th>주문번호</th>
<td>${ordr.ordrInnb}</td>
</tr>
<tr>
<th>주문일자</th>
<td>${ordr.ordrRceptDt}</td>
</tr>
<tr>
<th>주문고객</th>
<td>${ordr.mbrNm}</td>
</tr>
<tr>
<th>전화</th>
<td>${ordr.ordrrTelnb}</td>
</tr>
<tr>
<th>휴대전화</th>
<td>${ordr.ordrrMbtlnb}</td>
</tr>
<tr>
<th>이메일</th>
<td>${ordr.ordrrEmailAdres}</td>
</tr>
</table>
</td>
<td></td>
<td valign="top">
<table class="order_print_info" style="width:100%;">
<tr>
<th>상품금액</th>
<td><fmt:formatNumber value="${setle.slepric}" pattern="#,###"/>원</td>
</tr>
<tr>
<th>배송비</th>
<td><fmt:formatNumber value="${setle.dlvyAmt}" pattern="#,###"/>원</td>
</tr>
<tr>
<th>할인</th>
<td><fmt:formatNumber value="${setle.dscntAmt}" pattern="#,###"/>원</td>
</tr>
<tr>
<th>총 결제금액</th>
<td>
<span style="font-size:12px;"><fmt:formatNumber value="${setle.setleAmt}" pattern="#,###"/>원</span>
</td>
</tr>
<tr>
<th>결제수단</th>
<td>${ordr.setleTyNm}</td>
</tr>
</table>
</td>
</tr>
</table>
<div style="height:10px"></div>
<div>
<table style="width:100%;">
<tr>
<td><span class="title_print_info">배송정보</span></td>
</tr>
</table>
<c:set var="shipping" value="${ordrDtstmnDwld.shipping}"/>
<c:if test="${not empty shipping}">
<c:forEach var="ship" items="${shipping}" varStatus="status">
<table class="delivery_goods_print_info" style="width:100%; ${status.count > 1 ? 'margin-top:5px;' : '' }">
<col style="width:5%;">
<col style="width:20%;">
<col style="width:20%;">
<col style="width:20%;">
<tr align="left">
<td rowspan="3">${status.count}번째</td>
<td>${ship.recpntNm}</td>
<td>${ship.recpntMbtlnb}</td>
<td>${ship.recpntTelnb}</td>
</tr>
<tr align="left">
<td colspan="3">
${not empty ship.dlvylcZip ? '(' += ship.dlvylcZip += ')' : ''}
${ship.adres}
${ship.dlvylcAdresDtl}
</td>
</tr>
<tr align="left">
<c:choose>
<c:when test="${ not empty ship.dlvyMssageCn }">
<td colspan="3">${ship.dlvyMssageCn}</td>
</c:when>
<c:otherwise>
<td colspan="3">배송지 메세지</td>
</c:otherwise>
</c:choose>
</tr>
</table>
</c:forEach>
</c:if>
<c:if test="${empty shipping}">
<table class="delivery_goods_print_info" style="width:100%; ${status.count > 1 ? 'margin-top:5px;' : '' }">
<col style="width:5%;">
<col style="width:20%;">
<col style="width:20%;">
<col style="width:20%;">
<tr><td colspan="9" style="text-align: center">조회된 데이터가 없습니다.</td></tr>
</table>
</c:if>
</div>
<div style="height:10px"></div>
<table align="center" style="width:100%;">
<tr>
<td class="left"><span class="title_print_info">발송상품</span></td>
</tr>
</table>
<hr>
<c:set var="dlivy" value="${ordrDtstmnDwld.dlivy}"/>
<table class="delivery_goods_print_info" style="width:100%; ${status.count > 1 ? 'margin-top:5px;' : '' }">
<col style="width:5%;">
<col style="width:20%;">
<col style="width:5%;">
<col style="width:20%;">
<tr align="left">
<td>출고번호</td>
<td>${ dlivy.dlivyInnb }</td>
<td>출고일자</td>
<td>${ dlivy.dlivyDt }</td>
</tr>
<tr align="left">
<td>
배송방법
</td>
<td>
${ dlivy.dlivyMthCdNm }
</td>
<td>
운송장번호
</td>
<td>
${ dlivy.hdrycpnCdNm } ${ dlivy.invcnb }
</td>
</tr>
</table>
<div style="height:3px"></div>
<c:set var="goodsList" value="${ordrDtstmnDwld.goods}"/>
<c:if test="${not empty goodsList}">
<table class="delivery_goods_print_info" align="center" style="width:100%; ${status.count > 1 ? 'margin-top:5px;' : '' }">
<colgroup>
<col style="width:auto;">
<col style="width:35px;">
<col style="width:70px;">
<col style="width:70px;">
<col style="width:70px;">
<col style="width:70px;">
<col style="width:70px;">
<col style="width:35px;">
</colgroup>
<tr>
<th>상품명</th>
<th>주문</th>
<th>판매가</th>
<th>할인</th>
<th>할인가(단가)</th>
<th>적립</th>
<th>취소</th>
<th>발송</th>
</tr>
<c:forEach var="goods" items="${goodsList}" varStatus="status">
<tr>
<td>
<table style="border:0px">
<tr>
<td style="font-size:11px;border:0px;">
${goods.goodsNm}
<div style="padding:2px 0px 0px 0px;">- ${goods.optnNm}</div>
</td>
</tr>
</table>
</td>
<td class="right"><fmt:formatNumber value="${goods.ordrQy}" pattern="#,###"/></td>
<td class="right"><fmt:formatNumber value="${goods.slepric}" pattern="#,###"/>원</td>
<td class="right"><fmt:formatNumber value="${goods.dscntAmt}" pattern="#,###"/>원</td>
<td class="right"><fmt:formatNumber value="${goods.applyDscntAmt}" pattern="#,###"/>원<br/>(<fmt:formatNumber value="${goods.oneOfSlepric}" pattern="#,###"/>원)</td>
<td class="right"><fmt:formatNumber value="${goods.mlgAmt}" pattern="#,###"/></td>
<td class="right"><fmt:formatNumber value="${goods.setleCanclQy}" pattern="#,###"/></td>
<td class="right"><fmt:formatNumber value="${goods.sndngQy}" pattern="#,###"/></td>
</tr>
</c:forEach>
</table>
</c:if>
<c:if test="${empty goodsList}">
<table class="delivery_goods_print_info" align="center" style="width:100%;">
<colgroup>
<col style="width:auto;">
<col style="width:50px;">
<col style="width:35px;">
<col style="width:70px;">
<col style="width:70px;">
<col style="width:70px;">
<col style="width:70px;">
<col style="width:70px;">
<col style="width:35px;">
</colgroup>
<tr>
<th>상품명</th>
<th>배송지</th>
<th>주문</th>
<th>판매가</th>
<th>할인</th>
<th>할인가(단가)</th>
<th>적립</th>
<th>배송</th>
<th>취소</th>
</tr>
<tr>
<td colspan="9" style="text-align: center">조회된 데이터가 없습니다.</td>
</tr>
</table>
</c:if>
<div style="height:5px;"></div>
</div>
<div style="height:50px"></div>
</div>
</c:forEach>
</body>
</html>

View File

@@ -0,0 +1,118 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ page import="java.util.Date"%>
<!DOCTYPE html>
<html>
<div id="dlivyDwldItmSetup" class="modal" style="max-width: 1060px;">
<div class="modal-header">
<h4>출고 다운로드 항목 설정</h4>
</div>
<div class="modal-content">
<form id="saveForm">
<input type="hidden" name="formDvCd" id="formDvCd" value="order"/>
<input type="hidden" name="excelDwldFormSnb" id="excelDwldFormSnb" value=""/>
<input type="hidden" name="stdrDvcd" id="stdrDvcd" value="export"/>
<input type="hidden" name="formNm" id="formNm" value=""/>
<h3 class="content-section__title">항목설정</h3>
<div class="board-setting__container">
<div class="board-setting" style="width: 1000px;">
<div class="board-setting__left">
<h5 class="board-setting__title">전체 항목</h5>
<select id="allItems" class="board-setting__select" multiple="multiple">
<option value="dlivy_nb">출고 번호</option>
<option value="dlivy_compt_de">출고 완료일</option>
<option value="hdrycpn_cd">택배사 코드</option>
<option value="invcnb">송장번호</option>
<option value="dlivy_sttus">출고 상태</option>
<option value="goods_nm">상품명</option>
<option value="dlivy_qy">출고 수량</option>
<option value="dlvy_rspnsbl">배송 책임</option>
<option value="ordrnb">주문번호</option>
<option value="ordr_de">주문 일</option>
<option value="ordrr_nm">주문자 명</option>
<option value="ordrr_id">주문자 아이디</option>
<option value="ordrr_mbtlnb">주문자 휴대폰번호</option>
<option value="ordrr_email">주문자 이메일</option>
<option value="usr_memo">사용자 메모</option>
<option value="mngr_memo">관리자 메모</option>
<option value="dlvy_compt_de">배송 완료일</option>
<option value="dlivy_de">출고 일</option>
<option value="recpt_mth">수령 방법</option>
<option value="recpnt">받는자</option>
<option value="recpnt_mbtlnb">받는자 휴대폰번호</option>
<option value="zip">우편번호</option>
<option value="all_adres_lnb">전체 주소 지번</option>
<option value="all_adres_rnm">전체 주소 도로명</option>
<option value="adres_lnb">주소 지번</option>
<option value="adres_rnm">주소 도로명</option>
<option value="dtl_adres">상세주소</option>
<option value="dlvy_amt">배송비</option>
<option value="goods_innb">상품고유번호</option>
<option value="now_invntry">현재 재고</option>
<option value="vat_at">과세 여부</option>
</select>
</div>
<div class="board-setting__center">
<button type = "button" class="board-setting__move-btn right"><span class="visually-hidden">오른쪽으로</span></button>
<button type = "button" class="board-setting__move-btn left"><span class="visually-hidden">왼쪽으로</span></button>
</div>
<div class="board-setting__right">
<h5 class="board-setting__title">다운로드 항목</h5>
<select name="selItems" id="selItems" class="board-setting__select" multiple="multiple">
</select>
<div class="board-setting__controls">
<button type="button" class="btn xsm outline top">처음</button>
<button type="button" class="btn xsm outline up">위로</button>
<button type="button" class="btn xsm outline down">아래로</button>
<button type="button" class="btn xsm outline bottom">마지막</button>
</div>
</div>
</div>
</div>
</form>
</div>
<div class="modal-footer">
<a href="#" rel="modal:close" class="btn outline">취소</a>
<button class="btn primary" id = "dwldSaveBtn" onclick = "fn_save_itmSetup()"><spring:message code="button.save"/>하기</button>
</div>
</div>
<script src="/mngr/js/script.js" defer=""></script>
</html>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,275 @@
<%@ page import="java.util.Date" %>
<%@ 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"%>
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
<%--
Class Name : DlivySttusChngU.jsp
Description : 출고 상태 변경 팝업
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2024-04-15 추지훈 최초 생성
--%>
<script>
$(document).ready(function() {
$('select').niceSelect();
})
</script>
<section class="content-section windowPop-controller">
<spring:eval expression="@environment.getProperty('mngrfo.common.fileupload.cdnurl')" var="cdnurl"/>
<div class="form-control-container">
<div class="left">
<div class="windowPop-controller-left">
<div class="b-checkbox-container">
<label class="b-checkbox checkbox is-medium sendOut-info__check-all">
<input type="checkbox" value="" id="checkAll">
<span class="check"></span>
<span class="control-label">전체</span>
</label>
</div>
</div>
</div>
<div class="center">
<button type="button" class="btn primary lg" onclick="fn_open_modal('#modalDivOrdrDlvyProcs', '#send-out-pop', '<c:url value="${ '/mngr/ordr/dlivy/selectOrdrDlivyProcsRegistForm' }"/>')">출고처리</button>
</div>
<div class="right">
</div>
</div>
</section>
<form id="insertDlivyProcsForm">
<section class="content-section">
<div class="pagination__container mb-40">
<ui:pagination paginationInfo="${resultMap.paginationInfo}" type="image" jsFunction="fn_select_dlivy_procs_list" />
</div>
<div class="table-wrapper">
<table class="table vertical">
<caption>해당 테이블에 대한 설명</caption>
<!-- 각 열 width 설정 -->
<colgroup>
<col style="width: auto;">
<col style="width: 6%;">
<col style="width: 6%;">
<col style="width: 6%;">
<col style="width: 6%;">
<col style="width: 6%;">
<col style="width: 6%;">
<col style="width: 7%;">
<col style="width: 22%;">
</colgroup>
<thead>
<tr>
<th>주문상품</th>
<th>재고</th>
<th>주문</th>
<th>취소</th>
<th>보낸수량</th>
<th>남은수량</th>
<th class="table-empty-cell"></th>
<th>보낼수량</th>
<th>받는방법</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${ not empty resultMap.allOrdrList && fn:length(resultMap.allOrdrList) > 0 }">
<c:forEach var="exList" items="${ resultMap.allOrdrList }" varStatus="status">
<tr class="sendOut-info__first dlivyCk${ status.index }">
<td colspan="6" class="text-left">
<div class="sendOut-info">
<div class="sendOut-info__num">
<div class="b-checkbox-container">
<label class="b-checkbox checkbox">
<c:if test="${ exList.remainQy gt 0 }">
<input class="dlivyCk" type="checkbox" value="<c:out value="${ exList.ordrDlvyInnb }"/>" name="dlivyUpdtVOList[${ status.index }].ordrDlvyInnb" onclick="fn_ctr_pCheckbox('#checkAll', '.dlivyCk');">
</c:if>
<span class="check"></span>
<span class="control-label"><c:out value="${ resultMap.paginationInfo.totalRecordCount - exList.rnum + 1 }"/>.</span>
</label>
</div>
<div>
<p>
<button class="red-6 fw-500 under-line" onclick="fn_go_ordr_dtl('<c:out value="${ exList.ordrInnb }"/>'); return false;"><c:out value="${ exList.ordrInnb }"/></button>
<button type="button" onclick="fn_go_ordr_dtstmn_dwld_popup('<c:out value="${ exList.ordrInnb }"/>');">
<i class="icon icon_print"></i>
<span class="visually-hidden">프린트</span>
</button>
</p>
<c:if test="${ not empty exList.smrtShopngOrdrnb }"> <!-- TODO : 스마트쇼핑 구분코드 확인하고 네이버인거 조건 넣기 -->
<p>
<button type="button" class="green-6 fw-400" href=""><c:out value="${ exList.smrtShopngOrdrnb }"/> (Npay)</button>
</p>
</c:if>
</div>
</div>
<div class="sendOut-info__info-name">
<a href="" class="blue-6 fw-500"><c:out value="${ exList.ordrrNm }"/></a>
<span style="font-size: 10px;" class="stone-7">▶</span>
<span><c:out value="${ exList.recpntNm }"/>님에게 1번째</span>
</div>
<div>
<p class="sendOut-info__info-address">(<c:out value="${ exList.dlvylcZip }"/>)
<c:choose>
<c:when test="${ exList.dlvylcAdresDvCd eq '01' }">
<c:out value="${ exList.dlvylcRnmAdres }"/>
</c:when>
<c:when test="${ exList.dlvylcAdresDvCd eq '02' }">
<c:out value="${ exList.dlvylcLnbAdres }"/>
</c:when>
</c:choose>
(<c:out value="${ exList.dlvylcAdresDtl }"/>)</p>
<p class="sendOut-info__info-number">
<span class="sendOut-info__info-numberItem"><c:out value="${ exList.ordrrMbtlnb }"/></span>
<span class="sendOut-info__info-numberItem"><c:out value="${ exList.recpntMbtlnb }"/></span>
</p>
</div>
</div>
</td>
<td class="table-empty-cell">
<button class="sendOut-info__fixNum-btn" type="button" onclick="fn_dlvy_ordr_item_view('<c:out value="${ exList.sopmalCd }"/>', '<c:out value="${ exList.ordrDlvyInnb }"/>', '<c:out value="${ exList.ordrInnb }"/>', ${ status.index }, '<c:out value="${ exList.invcnb }"/>');"></button>
</td>
<td colspan="2" class="text-right">
<c:if test="${ exList.remainQy gt 0 }">
<button type="button" class="btn sm primary" onclick="fn_open_dlvy_procs_modal('#modalDivOrdrDlvyProcs', '#send-out-pop', '<c:url value="${ '/mngr/ordr/dlivy/selectOrdrDlivyProcsRegistForm' }"/>', '<c:out value="${ exList.ordrDlvyInnb }"/>')">출고처리</button>
</c:if>
</td>
</tr>
<tr class="sendOut-info__second" id="exItemDiv${ status.index }">
<td>
<div class="order-section__product">
<img src="${cdnurl}${ exList.goodsImageUrl }" alt="상품이미지" width="56" height="56">
<div class="order-section__product-info">
<span class="order-section__product-productTitle"><c:out value="${ exList.goodsNm }"/></span>
<span class="option-text">
<c:if test="${ not empty exList.optnNm }">
<span class="option-badge">
옵션
</span>
<c:out value="${ exList.optnNm }"/>
</c:if>
</span>
<c:if test="${ not empty exList.goodsCd }">
<span class="option-text">
상품코드 : <c:out value="${ exList.goodsCd }"/>
</span>
</c:if>
</div>
</div>
</td>
<td><c:out value="${ exList.invntryQy}"/></td>
<td><c:out value="${ exList.ordrQy }"/></td>
<td><c:out value="${ exList.setleCancelQy }"/></td>
<td><c:out value="${ exList.sndngQy }"/></td>
<td><c:out value="${ exList.remainQy }"/></td>
<td class="table-empty-cell">→</td>
<td>
<input type="hidden" name="dlivyUpdtVOList[${status.index}].ordrInnb" value="${ exList.ordrInnb }">
<input class="input-text xsm number right send-num" style="width: 48px;" type="text" readonly name="dlivyUpdtVOList[${ status.index }].sndngQy"
title="해당 인풋에 대한 설명" value="<c:out value="${ exList.remainQy }"/>">
</td>
<td class="text-left">
<%--
<div class="mb-5">
<button type="button" class="fs-15 blue-6" onclick="fn_open_dlvy_modal('#modalDiv', '#delivery-change-pop', '<c:url value="/mngr/ordr/dlivy/selectDlvyGroupMthChngPopupForm"/>', '<c:out value="${ exList.ordrDlvyInnb }"/>');">택배</button>
</div>
--%>
<div>
<div class="select-box">
<select title="해당 셀렉트에 대한 설명" name="dlivyUpdtVOList[${ status.index }].hdrycpnCd">
<option value="" selected disabled>선택</option>
<c:forEach var="cdList" items="${ resultMap.hdrycpnCdList }">
<c:choose>
<c:when test="${ cdList.cd eq exList.hdrycpnCd }">
<option value="<c:out value="${ cdList.cd }"/>" selected="selected"><c:out value="${ cdList.cdNm }"/></option>
</c:when>
<c:otherwise>
<option value="<c:out value="${ cdList.cd }"/>"><c:out value="${ cdList.cdNm }"/></option>
</c:otherwise>
</c:choose>
</c:forEach>
</select>
</div>
<input class="input-text md mt-5" type="text" name="dlivyUpdtVOList[${ status.index }].invcnb" oninput="validateInputEngNumber(this)" title="송장번호" value="<c:out value="${ exList.invcnb }"/>">
</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>
</form>
<script>
// ----- 체크박크 클릭 시, tr에 클래스 추가 ----- //
var sendOutInfoCheckAll = $('.sendOut-info__check-all > input');
var sendOutInfoFirst = $('.sendOut-info__first');
var sendOutInfoSecond = $('.sendOut-info__second');
var sendOutInfoChecks = $('.sendOut-info__first').find('.checkbox >input');
sendOutInfoCheckAll.on('change', function () {
if (sendOutInfoCheckAll.is(':checked')) {
sendOutInfoFirst.find(sendOutInfoChecks).prop('checked', true);
sendOutInfoFirst.addClass('checked');
sendOutInfoSecond.addClass('checked');
return;
}
sendOutInfoFirst.find(sendOutInfoChecks).prop('checked', false);
sendOutInfoFirst.removeClass('checked');
sendOutInfoSecond.removeClass('checked');
});
sendOutInfoChecks.on('change', function () {
var currentTrFirst = $(this).closest('tr');
var currentTrSecond = currentTrFirst.next('tr');
if ($(this).is(':checked')) {
currentTrFirst.addClass('checked');
currentTrSecond.addClass('checked');
return;
}
currentTrFirst.removeClass('checked');
currentTrSecond.removeClass('checked');
});
// ----- 출고수량 수정 불가 버튼 ----- //
var sendOutInfoFixNumBtns = $('.sendOut-info__fixNum-btn');
sendOutInfoFixNumBtns.on('click', function () {
if ($(this).hasClass('closed')) {
$(this).removeClass('closed');
$(this).closest('tr').next(sendOutInfoSecond).find('.send-num').attr('disabled', false);
return;
}
$(this).addClass('closed');
$(this).closest('tr').next(sendOutInfoSecond).find('.send-num').attr('disabled', true);
})
</script>

View File

@@ -0,0 +1,320 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ page import="java.util.Date" %>
<%--
Class Name : DlivySttusChngU.jsp
Description : 출고 처리 팝업
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2024-04-15 추지훈 최초 생성
--%>
<script>
$(document).ready(function() {
let pageIndex = '<c:out value="${ resultMap.paramVO.pageIndex }"/>';
let pageUnit = '<c:out value="${ resultMap.paramVO.pageUnit }"/>';
if (!fn_is_empty($('#ordrInnbArr').val())) {
$('.windowPop-sectionClose').click();
}
$('.dateRange-btn').filter('#sevenDays').trigger('click');
fn_select_dlivy_procs_list(pageIndex, pageUnit);
$('#listForm').on('keydown', function(e) {
if (e.keyCode == 13) {
e.preventDefault();
$('#searchBtn').trigger("click");
}
});
$('#allDays').on('click', function() {
$('#srchStartDate, #srchEndDate').val('');
})
$('select').niceSelect();
fn_set_date('srchStartDate','srchEndDate','srchEndDate');
$('.dateRange-btn').filter('#sevenDays').trigger('click');
});
</script>
<form id="listForm">
<spring:eval expression="@environment.getProperty('mngrfo.common.fileupload.cdnurl')" var="cdnurl"/>
<input type="hidden" id="cdnurl" value="${ cdnurl }"/>
<input type="hidden" id="dlivyInnb" name="dlivyInnb" value=""/>
<input type="hidden" id="ordrDlvyInnb" name="ordrDlvyInnb" value=""/>
<input type="hidden" id="ordrInnb" name="ordrInnb" value=""/>
<input type="hidden" id="ordrInnbArr" name="ordrInnbArr" value="<c:out value="${ paramVO.ordrInnbs }"/>" />
<input type="hidden" id="pageIndex" name="pageIndex" value="<c:out value="${ resultMap.paramVO.pageIndex }"/>"/>
<input type="hidden" name="srchDatePick" value="${resultMap.paramVO.srchDatePick}" />
<input type="hidden" id="recordCountPerPage" name="recordCountPerPage" value="<c:out value="${ resultMap.paramVO.recordCountPerPage }"/> "/>
<input type="hidden" id="sopmalCd" name="sopmalCd" value="<c:out value="${ resultMap.paramVO.sopmalCd }"/> " />
<section class="content-section" id="srchSec">
<div class="table-wrapper windowPop-sectionContent">
<table class="table">
<caption>해당 테이블에 대한 설명</caption>
<colgroup>
<col style="width: 12%;">
<col>
</colgroup>
<tbody>
<tr>
<th>검색어</th>
<td>
<div class="td-inner">
<div class="select-box">
<select title="해당 셀렉트에 대한 설명" id="srchwrdDv" name="srchwrdDv">
<option value="ordrInnb">주문번호</option>
<option value="mbrId">아이디</option>
<option value="ordrrNm">주문자</option>
<option value="recpntNm">수령자</option>
<option value="rcpmnyerNm">입금자</option>
<option value="email">이메일</option>
<option value="TELL">연락처</option>
<option value="ordrrTelnb">휴대폰</option>
<option value="goodsNm">상품명</option>
<option value="goodsInnb">상품번호</option>
<option value="GOODSCD">상품코드</option>
<option value="naverPayOrdrInnb">N페이주문번호</option>
<option value="NG">N페이상품번호</option>
</select>
</div>
<input class="input-text xl" type="text" name="srchwrd" title="해당 인풋에 대한 설명">
</div>
</td>
</tr>
<tr>
<th>날짜</th>
<td>
<div class="td-inner">
<div class="select-box">
<select title="해당 셀렉트에 대한 설명" id="srchDateDv" name="srchDateDv">
<option value="ordrDt">주문일</option>
<option value="rcpmnyDt">입금일</option>
</select>
</div>
<div class="input-container">
<input type="text" name="srchStartDate" id="srchStartDate" class="datepicker" value="<c:out value="${ resultMap.paramVO.srchStartDate }"/>" onchange="fn_check_date('srchStartDate', 'srchEndDate')" title="시작 날짜 선택" autocomplete="off" pattern="yyyy-MM-dd">
<span class="tilde">~</span>
<input type="text" name="srchEndDate" id="srchEndDate" class="datepicker" value="<c:out value="${ resultMap.paramVO.srchEndDate }"/>" onchange="fn_check_date('juscrb')" title="종료 날짜 선택" autocomplete="off" pattern="yyyy-MM-dd">
</div>
<div class="dateRange-btnContainer">
<button type="button" class="dateRange-btn" id="yesterday" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','1D'); fn_set_datePick(this);">어제</button>
<button type="button" class="dateRange-btn" id="today" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','0'); fn_set_datePick(this); ">오늘</button>
<button type="button" class="dateRange-btn" id="threeDays" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','3D'); fn_set_datePick(this);">3일간</button>
<button type="button" class="dateRange-btn" id="sevenDays" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','7D'); fn_set_datePick(this);">일주일</button>
<button type="button" class="dateRange-btn" id="oneMonth" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','1M'); fn_set_datePick(this);">1개월</button>
<button type="button" class="dateRange-btn" id="threeMonth" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','3M'); fn_set_datePick(this);">3개월</button>
<button type="button" class="dateRange-btn" id="sixMonth" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','6M'); fn_set_datePick(this);">6개월</button>
<button type="button" class="dateRange-btn" id="oneYear" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','1Y'); fn_set_datePick(this);">1년</button>
<button type="button" class="dateRange-btn" id="allDays" onclick="fn_set_datePick(this);">전체</button>
</div>
</div>
</td>
</tr>
<tr>
<th>배송방법</th>
<td>
<div class="td-inner">
<div class="b-checkbox-container">
<c:forEach var="cdList" items="${ resultMap.dlvyMthCdList }" varStatus="status">
<label class="b-checkbox checkbox">
<input type="checkbox" name="srchDlvyMth" class="dlvyMthChkBox" value="<c:out value="${ cdList.cd }"/>" onchange="fn_ctr_pCheckbox('#dlvyMthChkBoxAll', '.dlvyMthChkBox')">
<span class="check"></span>
<span class="control-label"><c:out value="${ cdList.cdNm }"/></span>
</label>
</c:forEach>
<label class="b-checkbox checkbox check-all">
<input type="checkbox" value="" id="dlvyMthChkBoxAll">
<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 order-status-badge-container">
<c:forEach var="cdList" items="${ resultMap.ordrSttusCdList }" varStatus="status">
<c:if test="${ cdList.cd eq 25 }">
<label class="b-checkbox checkbox">
<input type="checkbox" value="<c:out value="${ cdList.cd }"/>" name="srchOrdrSttusCds" checked="checked" >
<span class="check"></span>
<span class="control-label">
<span class="order-status-badge confirm"><c:out value="${ cdList.cdNm }"/></span>
</span>
</label>
</c:if>
<c:if test="${ cdList.cd eq 35 }">
<label class="b-checkbox checkbox">
<input type="checkbox" value="<c:out value="${ cdList.cd }"/>" name="srchOrdrSttusCds">
<span class="check"></span>
<span class="control-label">
<span class="order-status-badge prep"><c:out value="${ cdList.cdNm }"/></span>
</span>
</label>
</c:if>
<c:if test="${ cdList.cd eq 60 }">
<label class="b-checkbox checkbox">
<input type="checkbox" value="<c:out value="${ cdList.cd }"/>" name="srchOrdrSttusCds">
<span class="check"></span>
<span class="control-label">
<span class="order-status-badge delivery"><c:out value="${ cdList.cdNm }"/></span>
</span>
</label>
</c:if>
<c:if test="${ cdList.cd eq 65}">
<label class="b-checkbox checkbox">
<input type="checkbox" value="<c:out value="${ cdList.cd }"/>" name="srchOrdrSttusCds">
<span class="check"></span>
<span class="control-label">
<span class="order-status-badge delivery"><c:out value="${ cdList.cdNm }"/></span>
</span>
</label>
</c:if>
<c:if test="${ cdList.cd eq 70 }">
<label class="b-checkbox checkbox">
<input type="checkbox" value="<c:out value="${ cdList.cd }"/>" name="srchOrdrSttusCds">
<span class="check"></span>
<span class="control-label">
<span class="order-status-badge complete"><c:out value="${ cdList.cdNm }"/></span>
</span>
</label>
</c:if>
</c:forEach>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="form-control-container windowPop-sectionContent">
<div class="left"></div>
<div class="center">
<button class="btn outline" type="button" onclick="fn_reset_form('srchSec');">초기화</button>
<button class="btn primary" id="searchBtn" onclick="fn_select_dlivy_procs_list(1);" type="button">검색</button>
</div>
<div class="right"></div>
</div>
<button class="windowPop-sectionClose">검색닫기</button>
</section>
<div id="pageDiv">
</div>
</form>
<!-- 배송그룹/방법 변경 모달 -->
<div id="modalDiv">
</div>
<!-- 주문 출고 처리 모달 -->
<div id="modalDivOrdrDlvyProcs">
</div>
<!-- 주문 출고 처리 결과 모달 -->
<div id="modalDivOrdrDlvyProcsResult">
</div>
<script>
// ----- 검색 닫기 ----- //
var windowPopSectionClose = $('.windowPop-sectionClose');
var windowPopSectionContent = $('.windowPop-sectionContent');
windowPopSectionClose.on('click', function (e) {
e.preventDefault();
if (windowPopSectionClose.hasClass('closed')) {
$('#ordrInnbArr').val(null);
windowPopSectionContent.show();
windowPopSectionClose.removeClass('closed');
windowPopSectionClose.text('검색닫기');
return;
}
windowPopSectionContent.hide();
windowPopSectionClose.addClass('closed');
windowPopSectionClose.text('검색열기');
});
// ----- 체크박크 클릭 시, tr에 클래스 추가 ----- //
var sendOutInfoCheckAll = $('.sendOut-info__check-all > input');
var sendOutInfoFirst = $('.sendOut-info__first');
var sendOutInfoSecond = $('.sendOut-info__second');
var sendOutInfoChecks = $('.sendOut-info__first').find('.checkbox >input');
sendOutInfoCheckAll.on('change', function () {
if (sendOutInfoCheckAll.is(':checked')) {
sendOutInfoFirst.find(sendOutInfoChecks).prop('checked', true);
sendOutInfoFirst.addClass('checked');
sendOutInfoSecond.addClass('checked');
return;
}
sendOutInfoFirst.find(sendOutInfoChecks).prop('checked', false);
sendOutInfoFirst.removeClass('checked');
sendOutInfoSecond.removeClass('checked');
});
sendOutInfoChecks.on('change', function () {
var currentTrFirst = $(this).closest('tr');
var currentTrSecond = currentTrFirst.next('tr');
if ($(this).is(':checked')) {
currentTrFirst.addClass('checked');
currentTrSecond.addClass('checked');
return;
}
currentTrFirst.removeClass('checked');
currentTrSecond.removeClass('checked');
});
// ----- 보낼수량 수정 불가 버튼 ----- //
var sendOutInfoFixNumBtns = $('.sendOut-info__fixNum-btn');
sendOutInfoFixNumBtns.on('click', function () {
if ($(this).hasClass('closed')) {
$(this).removeClass('closed');
$(this).closest('tr').next(sendOutInfoSecond).find('.send-num').attr('disabled', false);
return;
}
$(this).addClass('closed');
$(this).closest('tr').next(sendOutInfoSecond).find('.send-num').attr('disabled', true);
})
</script>
<script src="/mngr/js/script.js" defer=""></script>

View File

@@ -0,0 +1,318 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ page import="java.util.Date" %>
<%--
Class Name : DlivySttusChngU.jsp
Description : 출고 상태 변경 팝업
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2024-02-19 김혜인 최초 생성
--%>
<script>
$(document).ready(function() {
$('select').niceSelect();
});
</script>
<section class="content-section windowPop-controller">
<spring:eval expression="@environment.getProperty('mngrfo.common.fileupload.cdnurl')" var="cdnurl"/>
<div class="form-control-container" style="height: 50px;">
<div class="left">
<div class="windowPop-controller-left">
<div class="b-checkbox-container">
<label class="b-checkbox checkbox is-medium sendOut-info__check-all">
<input type="checkbox" id="checkAll" value="">
<span class="check"></span>
<span class="control-label">전체</span>
</label>
</div>
<!-- <p class="red-7 fw-700">※리셀러의심건이 1건 있습니다</p> -->
</div>
</div>
<div class="center">
<c:choose>
<c:when test="${ paramVO.srchOrdrSttus eq '55'}">
<button type="button" class="btn primary lg windowPop-controller-hoverTrigger">일괄 출고상태 변경
<span style="font-size: 11px;">▼</span>
</button>
<div class="windowPop-controller-hoverBox">
<button type="button" class="btn primary outline lg" onclick="fn_update_sttus_shipping('상품준비', '배송중', 65);">일괄 배송중 처리</button>
<button type="button" class="btn primary lg" onclick="fn_update_sttus_shipping('상품준비', '배송완료', 75)">일괄 배송완료 처리</button>
</div>
</c:when>
<c:when test="${ paramVO.srchOrdrSttus eq '65'}">
<button type="button" class="btn primary" onclick="fn_update_sttus_shipping('상품준비', '배송완료', 75)">일괄 배송완료 처리</button>
</c:when>
<c:otherwise>
<button type="hidden" ></button>
</c:otherwise>
</c:choose>
</div>
<div class="right">
<div class="windowPop-controller-right">
<button type="button" class="btn outline primary" onclick="fn_update_dlivy();" >↓아래 출고정보저장</button>
</div>
</div>
</div>
</section>
<form id="updateSttusForm">
<input type="hidden" id="updateAllDlivySttusCd" name="dlivySttusCd" value=""/>
<section class="content-section" id = "list">
<div class="pagination__container mb-40">
<ui:pagination paginationInfo="${resultMap.paginationInfo}" type="image" jsFunction="fn_select_dlivy_change_list" />
</div>
<div class="table-wrapper">
<table class="table vertical">
<caption>해당 테이블에 대한 설명</caption>
<!-- 각 열 width 설정 -->
<colgroup>
<col style="width: auto;">
<col style="width: 6%;">
<col style="width: 6%;">
<col style="width: 6%;">
<col style="width: 6%;">
<col style="width: 6%;">
<col style="width: 6%;">
<col style="width: 7%;">
<col style="width: 22%;">
</colgroup>
<thead>
<tr>
<th>주문상품</th>
<th>재고</th>
<th>주문</th>
<th>취소</th>
<th>보낸수량</th>
<th>남은수량</th>
<th class="table-empty-cell"></th>
<th>출고수량</th>
<th>받는방법</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${ not empty resultMap.allOrdrList && fn:length(resultMap.allOrdrList) > 0 }">
<c:forEach var="exList" items="${ resultMap.allOrdrList }" varStatus="status">
<tr class="sendOut-info__first dlivyCk${ status.index }">
<td colspan="6" class="text-left">
<div class="sendOut-info">
<div class="sendOut-info__num">
<div class="b-checkbox-container">
<label class="b-checkbox checkbox">
<input class="dlivyCk" type="checkbox" name="dlivyUpdtVOList[${ status.index }].dlivyInnb" value="<c:out value="${ exList.dlivyInnb }"/>" onclick="fn_ctr_pCheckbox('#checkAll', '.dlivyCk');">
<span class="check"></span>
<span class="control-label"><c:out value="${ resultMap.paginationInfo.totalRecordCount - exList.rnum + 1 }"/>.</span>
</label>
</div>
<div>
<p>
<button class="red-6 fw-500 under-line" onclick="fn_go_ordr_dtl('<c:out value="${ exList.ordrInnb }"/>'); return false;"><c:out value="${ exList.ordrInnb }"/></button>
<button type="button" onclick="fn_go_ordr_dtstmn_dwld_popup('<c:out value="${ exList.ordrInnb }"/>');">
<i class="icon icon_print"></i>
<span class="visually-hidden">프린트</span>
</button>
</p>
<p>
<button class="blue-6 fw-500 under-line" onclick="fn_go_dlivy_dtl('<c:out value="${ exList.dlivyInnb }"/>', '<c:out value="${ exList.ordrInnb }"/>'); return false;" ><c:out value="${ exList.dlivyCdNb }"/></button>
<button type="button" onclick="fn_go_dlivy_dtstmn_dwld_popup('<c:out value="${ exList.dlivyInnb }"/>', '<c:out value="${ exList.ordrInnb }"/>');">
<i class="icon icon_print"></i>
<span class="visually-hidden">프린트</span>
</button>
</p>
</div>
</div>
<div class="sendOut-info__info-name">
<a href="" class="blue-6 fw-500"><c:out value="${ exList.ordrrNm }"/></a>
<%--
<span style="font-size: 10px;" class="stone-7">▶</span>
<span><c:out value="${ exList.recpntNm }"/></span>
--%>
</div>
<div>
<p class="sendOut-info__info-address">(<c:out value="${ exList.dlvylcZip }"/>)
<c:choose>
<c:when test="${ exList.dlvylcAdresDvCd eq '01' }">
<c:out value="${ exList.dlvylcRnmAdres }"/>
</c:when>
<c:when test="${ exList.dlvylcAdresDvCd eq '02' }">
<c:out value="${ exList.dlvylclnbAdres }"/>
</c:when>
</c:choose>
(<c:out value="${ exList.dlvylcAdresDtl }"/>)</p>
<p class="sendOut-info__info-number">
<span class="sendOut-info__info-numberItem"><c:out value="${ exList.ordrrMbtlnb }"/></span>
<span class="sendOut-info__info-numberItem"><c:out value="${ exList.recpntMbtlnb }"/></span>
</p>
</div>
</div>
</td>
<td class="table-empty-cell">
<button class="sendOut-info__fixNum-btn" type="button" onclick="fn_dlivy_ex_item_view('<c:out value="${ exList.sopmalCd }"/>', '<c:out value="${ exList.dlivyInnb }"/>', '<c:out value="${ exList.ordrInnb }"/>', ${ status.index }, '<c:out value="${ exList.invcnb }"/>');"></button>
</td>
<td colspan="2" class="text-right">
<div class="windowPop-controller-container">
<c:choose>
<c:when test="${ paramVO.srchOrdrSttus eq '55'}">
<button type="button" class="btn sm primary outline windowPop-controller-hoverTrigger">출고 상태변경
<span style="font-size: 8px;">▼</span>
</button>
<div class="windowPop-controller-hoverBox">
<button type="button" class="btn primary outline" onclick="fn_dlivy_sttus_update('<c:out value="${ exList.dlivyInnb }"/>', '<c:out value="${ exList.dlivySttusCdNm }"/>', '<c:out value="${ exList.dlivySttusCd }"/>', '배송중', '65');">배송중 처리</button>
<button type="button" class="btn primary" onclick="fn_dlivy_sttus_update('<c:out value="${ exList.dlivyInnb }"/>', '<c:out value="${ exList.dlivySttusCdNm }"/>', '<c:out value="${ exList.dlivySttusCd }"/>', '배송완료', '75');">배송완료 처리</button>
</div>
</c:when>
<c:when test="${ paramVO.srchOrdrSttus eq '65'}">
<button type="button" class="btn primary" onclick="fn_dlivy_sttus_update('<c:out value="${ exList.dlivyInnb }"/>', '<c:out value="${ exList.dlivySttusCdNm }"/>', '<c:out value="${ exList.dlivySttusCd }"/>', '배송완료', '75');">배송완료 처리</button>
</c:when>
<c:otherwise>
</c:otherwise>
</c:choose>
</div>
</td>
</tr>
<tr class="sendOut-info__second" id="exItemDiv${ status.index }">
<td>
<div class="order-section__product">
<img src="${cdnurl}${ exList.goodsImageUrl }" alt="상품이미지" width="56" height="56">
<div class="order-section__product-info">
<span class="order-section__product-productTitle">
<c:out value="${ exList.goodsNm }"/>
</span>
<span class="option-text">
<c:if test="${ not empty exList.optnNm }">
<span class="option-badge">
옵션
</span>
<c:out value="${ exList.optnNm }"/>
</c:if>
</span>
<c:if test="${ not empty exList.goodsCd }">
<span class="option-text">
상품코드 : <c:out value="${ exList.goodsCd }"/>
</span>
</c:if>
</div>
</div>
</td>
<td><c:out value="${ exList.invntryQy }"/></td>
<td><c:out value="${ exList.ordrQy }"/></td>
<td><c:out value="${ exList.cancelCnt }"/></td>
<td><c:out value="${ exList.qy }"/></td>
<td><c:out value="${ exList.diff }"/></td>
<td class="table-empty-cell">→</td>
<td>
<input class="input-text xsm number right send-num" style="width: 48px;" type="text" readonly
title="해당 인풋에 대한 설명" value="<c:out value="${ exList.qy }"/>">
</td>
<td class="text-left">
<%--
<div class="mb-5">
<button type="button" class="fs-15 blue-6" onclick="fn_open_dlvy_modal('#modalDiv', '#delivery-change-pop', '<c:url value="/mngr/ordr/dlivy/selectDlvyGroupMthChngPopupForm"/>', '<c:out value="${ exList.dlivyInnb }"/>');">택배</button>
</div>
--%>
<div>
<div class="select-box">
<select title="해당 셀렉트에 대한 설명" name="dlivyUpdtVOList[${ status.index }].hdrycpnCd">
<option value="" selected disabled>선택</option>
<c:forEach var="cdList" items="${ resultMap.hdrycpnCdList }">
<c:choose>
<c:when test="${ cdList.cd eq exList.hdrycpnCd }">
<option value="<c:out value="${ cdList.cd }"/>" selected="selected"><c:out value="${ cdList.cdNm }"/></option>
</c:when>
<c:otherwise>
<option value="<c:out value="${ cdList.cd }"/>"><c:out value="${ cdList.cdNm }"/></option>
</c:otherwise>
</c:choose>
</c:forEach>
</select>
</div>
<div class="input-container gap-3 mt-5">
<%-- <input type="hidden" name="ordrDlvyInnb" value="<c:out value="${ exList.ordrDlvyInnb }"/>" /> --%>
<input class="input-text md" type="text" oninput="validateInputEngNumber(this)" title="송장 번호" name="dlivyUpdtVOList[${ status.index }].invcnb" value="<c:out value="${ exList.invcnb }"/>" />
<button type="button" class="btn xsm dark" onclick="fn_open_dlvy_sweettracker_modal('#modalDiv', '#delivery-history-pop', '<c:url value="/mngr/ordr/dlivy/selectOrdrDlvyDtlsInqire"/>', '<c:out value="${ exList.dlivyInnb }"/>')" >조회</button>
</div>
</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>
</form>
<script>
// ----- 체크박크 클릭 시, tr에 클래스 추가 ----- //
var sendOutInfoCheckAll = $('.sendOut-info__check-all > input');
var sendOutInfoFirst = $('.sendOut-info__first');
var sendOutInfoSecond = $('.sendOut-info__second');
var sendOutInfoChecks = $('.sendOut-info__first').find('.checkbox >input');
sendOutInfoCheckAll.on('change', function () {
if (sendOutInfoCheckAll.is(':checked')) {
sendOutInfoFirst.find(sendOutInfoChecks).prop('checked', true);
sendOutInfoFirst.addClass('checked');
sendOutInfoSecond.addClass('checked');
return;
}
sendOutInfoFirst.find(sendOutInfoChecks).prop('checked', false);
sendOutInfoFirst.removeClass('checked');
sendOutInfoSecond.removeClass('checked');
});
sendOutInfoChecks.on('change', function () {
var currentTrFirst = $(this).closest('tr');
var currentTrSecond = currentTrFirst.next('tr');
if ($(this).is(':checked')) {
currentTrFirst.addClass('checked');
currentTrSecond.addClass('checked');
return;
}
currentTrFirst.removeClass('checked');
currentTrSecond.removeClass('checked');
});
// ----- 출고수량 수정 불가 버튼 ----- //
var sendOutInfoFixNumBtns = $('.sendOut-info__fixNum-btn');
sendOutInfoFixNumBtns.on('click', function () {
if ($(this).hasClass('closed')) {
$(this).removeClass('closed');
$(this).closest('tr').next(sendOutInfoSecond).find('.send-num').attr('disabled', false);
return;
}
$(this).addClass('closed');
$(this).closest('tr').next(sendOutInfoSecond).find('.send-num').attr('disabled', true);
})
</script>

View File

@@ -0,0 +1,343 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ page import="java.util.Date" %>
<%--
Class Name : DlivySttusChngU.jsp
Description : 출고 상태 변경 팝업
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2024-02-19 김혜인 최초 생성
--%>
<script>
$(document).ready(function(){
let pageIndex = '<c:out value="${ resultMap.paramVO.pageIndex }"/>';
let pageUnit = '<c:out value="${ resultMap.paramVO.pageUnit }"/>';
if (!fn_is_empty($('#dlivyInnbArr').val())) {
$('.windowPop-sectionClose').click();
}
$('.dateRange-btn').filter('#sevenDays').trigger('click');
$('#srchOrdrSttus35').click();
fn_select_dlivy_change_list(pageIndex, pageUnit);
$('#listForm').on('keydown', function(e) {
if (e.keyCode == 13) {
e.preventDefault();
$('#searchBtn').trigger("click");
}
});
$('#allDays').on('click', function() {
$('#srchStartDate, #srchEndDate').val('');
})
$('select').niceSelect();
fn_set_date('srchStartDate','srchEndDate','srchEndDate');
$('.dateRange-btn').filter('#sevenDays').trigger('click');
});
/****************************************************
* 검색 후 새로 고침 시 검색조건 리셋
*****************************************************/
history.replaceState({}, null, location.pathname);
</script>
<form id="listForm">
<spring:eval expression="@environment.getProperty('mngrfo.common.fileupload.cdnurl')" var="cdnurl"/>
<input type="hidden" id="cdnurl" value="${ cdnurl }"/>
<input type="hidden" id="dlivyInnb" name="dlivyInnb" value=""/>
<input type="hidden" id="dlivyInnbArr" name="dlivyInnbArr" value="<c:out value="${ paramVO.dlivyInnbs }"/>"/>
<input type="hidden" id="pageIndex" name="pageIndex" value="<c:out value="${ resultMap.paramVO.pageIndex }"/>"/>
<input type="hidden" name="srchDatePick" value="${resultMap.paramVO.srchDatePick}" />
<input type="hidden" id="recordCountPerPage" name="recordCountPerPage" value="<c:out value="${ resultMap.paramVO.recordCountPerPage }"/>"/>
<input type="hidden" id="sopmalCd" name="sopmalCd" value="<c:out value="${ resultMap.paramVO.sopmalCd }"/>" />
<section class="content-section" id="sttusChngSrchSec">
<div class="table-wrapper windowPop-sectionContent">
<table class="table">
<caption>해당 테이블에 대한 설명</caption>
<colgroup>
<col style="width: 12%;">
<col>
</colgroup>
<tbody>
<tr>
<th>검색어</th>
<td>
<div class="td-inner">
<div class="select-box">
<select title="해당 셀렉트에 대한 설명" id="srchwrdDv" name="srchwrdDv">
<option value="ordrInnb" <c:if test="${ resultMap.paramVO.srchwrdDv eq 'ordrInnb'}">selected="selected"</c:if>>주문번호</option>
<option value="mbrId" <c:if test="${ resultMap.paramVO.srchwrdDv eq 'mbrId'}">selected="selected"</c:if>>아이디</option>
<option value="ordrrNm" <c:if test="${ resultMap.paramVO.srchwrdDv eq 'ordrrNm'}">selected="selected"</c:if>>주문자</option>
<option value="recpntNm" <c:if test="${ resultMap.paramVO.srchwrdDv eq 'recpntNm'}">selected="selected"</c:if>>수령자</option>
<option value="rcpmnyerNm" <c:if test="${ resultMap.paramVO.srchwrdDv eq 'rcpmnyerNm'}">selected="selected"</c:if>>입금자</option>
<option value="email" <c:if test="${ resultMap.paramVO.srchwrdDv eq 'email'}">selected="selected"</c:if>>이메일</option>
<option value="TELL" <c:if test="${ resultMap.paramVO.srchwrdDv eq 'TELL'}">selected="selected"</c:if>>연락처 TODO : DKAGHGHK</option>
<option value="ordrrTelnb" <c:if test="${ resultMap.paramVO.srchwrdDv eq 'ordrrTelnb'}">selected="selected"</c:if>>휴대폰</option>
<option value="goodsNm" <c:if test="${ resultMap.paramVO.srchwrdDv eq 'goodsNm'}">selected="selected"</c:if>>상품명</option>
<option value="goodsInnb" <c:if test="${ resultMap.paramVO.srchwrdDv eq 'goodsInnb'}">selected="selected"</c:if>>상품번호</option>
<option value="GOODSCD" <c:if test="${ resultMap.paramVO.srchwrdDv eq 'GOODSCD'}">selected="selected"</c:if>>상품코드 TODO</option>
<option value="naverPayOrdrInnb" <c:if test="${ resultMap.paramVO.srchwrdDv eq 'naverPayOrdrInnb'}">selected="selected"</c:if>>N페이주문번호</option>
<option value="NG" <c:if test="${ resultMap.paramVO.srchwrdDv eq 'NG'}">selected="selected"</c:if>>N페이상품번호 TODO</option>
</select>
</div>
<input class="input-text xl" type="text" name="srchwrd" title="해당 인풋에 대한 설명" value="<c:out value="${ resultMap.paramVO.srchwrd }"/>">
</div>
</td>
</tr>
<tr>
<th>날짜</th>
<td>
<div class="td-inner">
<div class="select-box">
<select title="해당 셀렉트에 대한 설명" id="srchDateDv" name="srchDateDv">
<option value="ordrDt" <c:if test="${ resultMap.paramVO.srchDateDv eq 'ordrDt'}">selected="selected"</c:if>>주문일</option>
<option value="DLIVY" <c:if test="${ resultMap.paramVO.srchDateDv eq 'DLIVY' || empty resultMap.paramVO.srchDateDv }">selected="selected"</c:if> >출고일</option>
<option value="DLIVYCOMPT" <c:if test="${ resultMap.paramVO.srchDateDv eq 'DLIVYCOMPT'}">selected="selected"</c:if>>출고완료일</option>
<option value="SHIPPCOMPT" <c:if test="${ resultMap.paramVO.srchDateDv eq 'SHIPPCOMPT'}">selected="selected"</c:if>>배송완료일</option>
<option value="PURCHSCOMPT" <c:if test="${ resultMap.paramVO.srchDateDv eq 'PURCHSCOMPT'}">selected="selected"</c:if>>구매확정일</option>
</select>
</div>
<div class="input-container">
<input type="text" name="srchStartDate" id="srchStartDate" class="datepicker" value="<c:out value="${ resultMap.paramVO.srchStartDate }"/>" onchange="fn_check_date('srchStartDate', 'srchEndDate')" title="시작 날짜 선택" autocomplete="off" pattern="yyyy-MM-dd">
<span class="tilde">~</span>
<input type="text" name="srchEndDate" id="srchEndDate" class="datepicker" value="<c:out value="${ resultMap.paramVO.srchEndDate }"/>" onchange="fn_check_date('juscrb')" title="종료 날짜 선택" autocomplete="off" pattern="yyyy-MM-dd">
</div>
<div class="dateRange-btnContainer">
<button type="button" class="dateRange-btn" id="yesterday" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','1D'); fn_set_datePick(this);">어제</button>
<button type="button" class="dateRange-btn" id="today" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','0'); fn_set_datePick(this); ">오늘</button>
<button type="button" class="dateRange-btn" id="threeDays" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','3D'); fn_set_datePick(this);">3일간</button>
<button type="button" class="dateRange-btn" id="sevenDays" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','7D'); fn_set_datePick(this);">일주일</button>
<button type="button" class="dateRange-btn" id="oneMonth" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','1M'); fn_set_datePick(this);">1개월</button>
<button type="button" class="dateRange-btn" id="threeMonth" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','3M'); fn_set_datePick(this);">3개월</button>
<button type="button" class="dateRange-btn" id="sixMonth" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','6M'); fn_set_datePick(this);">6개월</button>
<button type="button" class="dateRange-btn" id="oneYear" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','1Y'); fn_set_datePick(this);">1년</button>
<button type="button" class="dateRange-btn" id="allDays" onclick="fn_set_datePick(this);">전체</button>
</div>
</div>
</td>
</tr>
<tr>
<th>출고상태</th>
<td>
<div class="td-inner">
<div class="custom-radio-container order-status-badge-container">
<c:forEach var="cdList" items="${ resultMap.ordrSttusCdList }" varStatus="status">
<c:if test="${ cdList.cd eq 55 }">
<div class="custom-radio">
<input type="radio" value="<c:out value="${ cdList.cd }"/>" name="srchOrdrSttus" id="srchOrdrSttus35" <c:if test="${ resultMap.paramVO.srchOrdrSttus eq cdList.cd }">checked="checked"</c:if> />
<label for="srchOrdrSttus35">
<span class="control-label">
<span class="order-status-badge prep"><c:out value="${ cdList.cdNm }"/></span>
</span>
</label>
</div>
</c:if>
<c:if test="${ cdList.cd eq 65 }">
<div class="custom-radio">
<input type="radio" value="<c:out value="${ cdList.cd }"/>" name="srchOrdrSttus" id="srchOrdrSttus65" <c:if test="${ resultMap.paramVO.srchOrdrSttus eq cdList.cd }">checked="checked"</c:if> >
<label for="srchOrdrSttus65">
<span class="control-label">
<span class="order-status-badge delivery"><c:out value="${ cdList.cdNm }"/></span>
</span>
</label>
</div>
</c:if>
<c:if test="${ cdList.cd eq 75 }">
<div class="custom-radio">
<input type="radio" value="<c:out value="${ cdList.cd }"/>" name="srchOrdrSttus" id="srchOrdrSttus75" <c:if test="${ resultMap.paramVO.srchOrdrSttus eq cdList.cd }">checked="checked"</c:if> >
<label for="srchOrdrSttus75">
<span class="control-label">
<span class="order-status-badge complete"><c:out value="${ cdList.cdNm }"/></span>
</span>
</label>
</div>
</c:if>
</c:forEach>
</div>
</div>
</td>
</tr>
<tr>
<th>택배사</th>
<td>
<div class="td-inner">
<div class="select-box">
<select title="해당 셀렉트에 대한 설명" id="srchHdrycpnCd" name="srchHdrycpnCd">
<option value="">전체</option>
<c:forEach var="cdList" items="${ resultMap.hdrycpnCdList }">
<c:choose>
<c:when test="${ cdList.cd eq resultMap.paramVO.srchHdrycpnCd }">
<option value="<c:out value="${ cdList.cd }"/>" selected="selected"><c:out value="${ cdList.cdNm }"/></option>
</c:when>
<c:otherwise>
<option value="<c:out value="${ cdList.cd }"/>"><c:out value="${ cdList.cdNm }"/></option>
</c:otherwise>
</c:choose>
</c:forEach>
</select>
</div>
<input class="input-text" type="text" title="송장번호" placeholder="운송장번호" oninput="validateInputEngNumber(this)" id="srchInvcnb" name="srchInvcnb" value="<c:out value="${ resultMap.paramVO.srchInvcnb }"/>" />
</div>
</td>
</tr>
<tr>
<th>배송방법</th>
<td>
<div class="td-inner">
<div class="b-checkbox-container">
<c:forEach var="cdList" items="${ resultMap.dlvyMthCdList }" varStatus="status">
<label class="b-checkbox checkbox">
<input type="checkbox" name="srchDlvyMth" class="dlvyMthChkBox" value="<c:out value="${ cdList.cd }"/>" onchange="fn_ctr_pCheckbox('#dlvyMthChkBoxAll', '.dlvyMthChkBox')"
<c:if test="${ resultMap.paramVO.srchDlvyMth eq cdList.cd }">checked="checked"</c:if>
>
<span class="check"></span>
<span class="control-label"><c:out value="${ cdList.cdNm }"/></span>
</label>
</c:forEach>
<label class="b-checkbox checkbox check-all">
<input type="checkbox" value="" id="dlvyMthChkBoxAll">
<span class="check"></span>
<span class="control-label">전체</span>
</label>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="form-control-container windowPop-sectionContent">
<div class="left"></div>
<div class="center">
<button class="btn outline" type="button" onclick="fn_reset_form('sttusChngSrchSec');">초기화</button>
<button class="btn primary" id="searchBtn" onclick="fn_select_dlivy_change_list(1);" type="button">검색</button>
</div>
<div class="right"></div>
</div>
<button class="windowPop-sectionClose">검색닫기</button>
</section>
<div id = "pageDiv">
</div>
</form>
<!-- 배송그룹/방법 변경 모달 -->
<div id="modalDiv">
</div>
<script>
// ----- 검색 닫기 ----- //
var windowPopSectionClose = $('.windowPop-sectionClose');
var windowPopSectionContent = $('.windowPop-sectionContent');
windowPopSectionClose.on('click', function (e) {
e.preventDefault();
if (windowPopSectionClose.hasClass('closed')) {
$('#dlivyInnbArr').val(null);
windowPopSectionContent.show();
windowPopSectionClose.removeClass('closed');
windowPopSectionClose.text('검색닫기');
return;
}
windowPopSectionContent.hide();
windowPopSectionClose.addClass('closed');
windowPopSectionClose.text('검색열기');
});
// ----- 체크박크 클릭 시, tr에 클래스 추가 ----- //
var sendOutInfoCheckAll = $('.sendOut-info__check-all > input');
var sendOutInfoFirst = $('.sendOut-info__first');
var sendOutInfoSecond = $('.sendOut-info__second');
var sendOutInfoChecks = $('.sendOut-info__first').find('.checkbox >input');
sendOutInfoCheckAll.on('change', function () {
if (sendOutInfoCheckAll.is(':checked')) {
sendOutInfoFirst.find(sendOutInfoChecks).prop('checked', true);
sendOutInfoFirst.addClass('checked');
sendOutInfoSecond.addClass('checked');
return;
}
sendOutInfoFirst.find(sendOutInfoChecks).prop('checked', false);
sendOutInfoFirst.removeClass('checked');
sendOutInfoSecond.removeClass('checked');
});
sendOutInfoChecks.on('change', function () {
var currentTrFirst = $(this).closest('tr');
var currentTrSecond = currentTrFirst.next('tr');
if ($(this).is(':checked')) {
currentTrFirst.addClass('checked');
currentTrSecond.addClass('checked');
return;
}
currentTrFirst.removeClass('checked');
currentTrSecond.removeClass('checked');
});
// ----- 출고수량 수정 불가 버튼 ----- //
var sendOutInfoFixNumBtns = $('.sendOut-info__fixNum-btn');
sendOutInfoFixNumBtns.on('click', function () {
if ($(this).hasClass('closed')) {
$(this).removeClass('closed');
$(this).closest('tr').next(sendOutInfoSecond).find('.send-num').attr('disabled', false);
return;
}
$(this).addClass('closed');
$(this).closest('tr').next(sendOutInfoSecond).find('.send-num').attr('disabled', true);
})
</script>
<script src="/mngr/js/script.js" defer=""></script>

View File

@@ -0,0 +1,107 @@
<%@ page import="java.util.Date" %>
<%@ 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"%>
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
<%--
Class Name : DlivySttusChngU.jsp
Description : 출고 상태 변경 팝업
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2024-04-15 추지훈 최초 생성
--%>
<script>
$(document).ready(function() {
$('select').niceSelect();
});
</script>
<!-- 배송그룹/방법 변경 모달 -->
<div id="delivery-change-pop" class="modal" style="max-width: 440px;">
<div class="modal-header">
<h4>배송그룹/방법 변경</h4>
</div>
<div class="modal-content" style="height: 240px;">
<div class="table-wrapper">
<form id="dlvyGroupUpdtForm">
<table class="table">
<caption>해당 테이블에 대한 설명</caption>
<colgroup>
<col style="width: 20%;">
<col>
</colgroup>
<tbody>
<tr>
<th>배송그룹</th>
<td>
<input type="hidden" name="dlivyInnb" value="<c:out value="${ resultMap.paramVO.dlivyInnb }"/>"/>
<div class="select-box">
<select class="full" title="배송그룹코드" name="dlvyGroupCd">
<c:forEach var="cdList" items="${ resultMap.dlvyGroupCdList}">
<c:choose>
<c:when test="${ cdList.cd eq resultMap.result.dlvyGroupCd }">
<option value="<c:out value="${ cdList.cd }"/>" selected="selected"><c:out value="${ cdList.cdNm }"/></option>
</c:when>
<c:otherwise>
<option value="<c:out value="${ cdList.cd }"/>"><c:out value="${ cdList.cdNm }"/></option>
</c:otherwise>
</c:choose>
</c:forEach>
</select>
</div>
</td>
</tr>
<tr>
<th>배송방법</th>
<td>
<div class="select-box">
<select class="full" title="해당 셀렉트에 대한 설명" name="dlvyMthCd">
<c:forEach var="cdList" items="${ resultMap.dlvyMthCdList}">
<c:choose>
<c:when test="${ cdList.cd eq resultMap.result.dlvyMthCd }">
<option value="<c:out value="${ cdList.cd }"/>" selected="selected"><c:out value="${ cdList.cdNm }"/></option>
</c:when>
<c:otherwise>
<option value="<c:out value="${ cdList.cd }"/>"><c:out value="${ cdList.cdNm }"/></option>
</c:otherwise>
</c:choose>
</c:forEach>
</select>
</div>
</td>
</tr>
</tbody>
</table>
</form>
</div>
<!--
<p class="fyi fw-500 red-7">
배송그룹/방법은 출고 및 출고상태 변경 처리 시 일괄 저장됩니다. TODO : 삭제_ 팝업은 바로바로 적용
</p>
-->
</div>
<div class="modal-footer">
<a href="#" rel="modal:close" class="btn outline">닫기</a>
<button class="btn primary" type="button" onclick="fn_update_dlvy_group();">변경</button>
</div>
<script>
</script>
</div>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,85 @@
<%@ page import="java.util.Date" %>
<%@ 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"%>
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
<%--
Class Name : OrdrDlivyProcsPopupC.jsp
Description : 주문 출고 처리 팝업
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2024-04-15 추지훈 최초 생성
--%>
<script>
$(document).ready(function() {
// 출고일자는 오늘 이후 날짜는 입력되지 않도록 처리
// 현재 날짜 가져오기
var currentDate = new Date();
$(document).on('change', '.dlivyDate', function () {
if (!fn_check_date($('#datepicker_3').val(), currentDate)) {
alert("'출고일자'는 오늘 이전 날짜만 가능 합니다.");
$('#datepicker_3').val('');
}
});
// 출고일자는 오늘 이후 날짜는 입력되지 않도록 처리
});
</script>
<!-- 출고처리 모달 -->
<div id="send-out-pop" class="modal" style="max-width: 1100px;">
<div class="modal-header">
<h4>출고처리</h4>
</div>
<div class="modal-content" style="height: 140px;">
<div class="table-wrapper">
<table class="table">
<caption>해당 테이블에 대한 설명</caption>
<colgroup>
<col style="width: 20%;">
<col>
</colgroup>
<tbody>
<tr>
<th>출고일자</th>
<td>
<input type="text" id="datepicker_3" class="datepicker dlivyDate" title="시작 날짜 선택" value=""
autocomplete="off">
</td>
</tr>
<tr>
<th>출고처리</th>
<td>
실물 : 출고되는 모든 실물의 재고가 부족해도 → 재고 차감 → (설정 시) SMS/EMAIL 발송 → <strong>'출고완료'</strong> 로 상태 처리
<input type="hidden" id="dlivySttusCd" value="55"/>
<%--
<div class="select-box d-inline-block v-align-middle">
<select title="해당 셀렉트에 대한 설명" id="dlivySttusCd">
<option value="55">출고완료</option>
<option value="45">출고준비</option>
</select>
</div>
--%>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="modal-footer">
<a href="#" rel="modal:close" class="btn outline">닫기</a>
<button class="btn primary" type="button" onclick="fn_procs_ordr_dlivy('<c:out value="${ paramVO.ordrDlvyInnb }"/>', fn_dlivy_procs_get_date_val(), fn_dlivy_procs_get_dlivysttuscd_val() ) ">처리</button>
</div>
<script>
</script>
</div>
<script src="/admin/js/script.js" defer=""></script>

View File

@@ -0,0 +1,89 @@
<%@ page import="java.util.Date" %>
<%@ 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"%>
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
<%--
Class Name : OrdrDlivyProcsPopupC.jsp
Description : 주문 출고 처리 팝업
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2024-04-15 추지훈 최초 생성
--%>
<script>
$(document).ready(function() {
$('.dlivyResultCloseBtn').on('click', function() {
$('#dlivyChangeForm').click();
});
});
</script>
<!-- 출고처리 모달 -->
<div id="send-out-pop-result" class="modal" style="max-width: 600px;">
<div class="modal-header">
<h4>출고처리</h4>
</div>
<div class="modal-content" style="height: 140px;">
<div class="table-wrapper">
<table class="table">
<caption>해당 테이블에 대한 설명</caption>
<colgroup>
<col style="width: 20%;">
<col>
</colgroup>
<tbody>
<tr>
<th>처리결과</th>
<td>
<%--
<p>
출고준비 0건 요청 → 성공 0건, 실패 0건
</p>
--%>
<c:choose>
<c:when test="${ resultMap.status eq '0' }">
<p>
출고완료 <c:out value="${ resultMap.requestCnt }"/>건 요청 → 성공 <c:out value="${ resultMap.successCnt }"/>건, 실패 0건
</p>
</c:when>
<c:otherwise>
<p>
출고완료 <c:out value="${ resultMap.requestCnt }"/>건 요청 → 성공 0건, 실패 <c:out value="${ resultMap.requestCnt }"/>건
</p>
</c:otherwise>
</c:choose>
</td>
</tr>
</tbody>
</table>
</div>
<div class="form-control-container">
<div class="left">
</div>
<div class="center">
</div>
<div class="right"></div>
</div>
</div>
<div class="modal-footer">
<a href="#" rel="modal:close" id="closeModal" class="btn outline dlivyResultCloseBtn">닫기</a>
</div>
<script>
</script>
</div>
<script src="/admin/js/script.js" defer=""></script>

View File

@@ -0,0 +1,96 @@
<%@ page import="java.util.Date" %>
<%@ 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"%>
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
<%--
Class Name : OrdrDlvyDtlsInqireR.jsp
Description : 주문배송내역조회
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2024-04-15 추지훈 최초 생성
--%>
<!-- 주문배송내역조회 모달 -->
<div id="delivery-history-pop" class="modal" style="max-width: 700px;">
<div class="modal-header">
<h4>주문배송내역 조회</h4>
</div>
<div class="modal-content" style="height: 400px;">
<h3 class="content-section__inner-title">스마트 택배 배송조회</h3>
<div class="table-wrapper">
<table class="table">
<caption>해당 테이블에 대한 설명</caption>
<colgroup>
<col style="width: 20%;">
<col>
</colgroup>
<tbody>
<tr>
<th>운송장번호</th>
<td><c:out value="${ resultMap.result.invcnb }"/>
</td>
</tr>
<tr>
<th>받는사람</th>
<td><c:out value="${ resultMap.dlvyVO.recpntNm }"/>
</td>
</tr>
<tr>
<th>보낸사람</th>
<td><c:out value="${ resultMap.result.ordrrNm }"/>
</td>
</tr>
</tbody>
</table>
</div>
<div class="table-wrapper">
<table class="table vertical">
<caption>해당 테이블에 대한 설명</caption>
<colgroup>
<col style="width: 30%;">
<col style="width: 35%;">
<col style="width: 35%;">
</colgroup>
<thead>
<tr>
<th>시간</th>
<th>현재위치</th>
<th>배송상태</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${ not empty resultMap.resultList && fn:length(resultMap.resultList) > 0 }">
<c:forEach var="list" items="${ resultMap.resultList }" varStatus="status">
<tr>
<td><c:out value="${ list.time }"/></td>
<td><c:out value="${ list.where }"/></td>
<td><c:out value="${ list.kind }"/></td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<tr>
<td colspan="100%"><spring:message code="common.nodata"/></td>
</tr>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
</div>
<div class="modal-footer">
<a href="#" rel="modal:close" class="btn outline">닫기</a>
</div>
<script>
</script>
</div>
</div>

View File

@@ -0,0 +1,69 @@
<%@ page import="java.util.Date" %>
<%@ 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"%>
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
<%--
Class Name : PurchsDcsnProscLogDtlsPopupR.jsp
Description : 구매 확정 처리 로그
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2024-04-15 추지훈 최초 생성
--%>
<!-- 구매확정 처리로그 모달 -->
<div id="purchase-confirmation-pop" class="modal" style="max-width: 640px;">
<div class="modal-header">
<h4>구매확정 처리로그</h4>
</div>
<div class="modal-content">
<div class="table-wrapper">
<table class="table vertical tight">
<caption>해당 테이블에 대한 설명</caption>
<colgroup>
<col style="width: 28%;">
<col style="width: 18%;">
<col style="width: 18%;">
<col style="width: 18%;">
<col style="width: 18%;">
</colgroup>
<thead>
<tr>
<th>일시</th>
<th>행위자</th>
<th>구매확정수량</th>
<th>지급수량</th>
<th>소멸수량</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${ not empty resultMap.result }">
<c:forEach var="logList" items="${ resultMap.result }" varStatus="status">
<tr>
<td><c:out value="${ logList.procsDt }"/></td>
<td><c:out value="${ logList.opetrNm }"/></td>
<td><c:out value="${ logList.qy }"/>개</td>
<td>(지급수량)개</td>
<td>(소멸수량)개</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<tr>
<td colspan="100%"><spring:message code="common.nodata"/></td>
</tr>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
</div>
</div>

View File

@@ -0,0 +1,212 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ page import="java.util.Date" %>
<%--
Class Name : IndvdlSetleDtlInqirePopupR.jsp
Description : 개인 결제 보기 모달
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2024-02-19 김혜인 최초 생성
--%>
<!DOCTYPE html>
<html lang="ko">
<!-- 개인 결제 보기 모달 -->
<div id="personal-payment-pop" class="modal" style="max-width: 1000px;">
<div class="modal-header">
<h4>개인 결제 보기</h4>
</div>
<c:set var="order" value="${data.order}"/>
<div class="modal-content" style="height: 600px;">
<h3 class="content-section__title">개인결제타이틀 : <span class="stone-8 fw-400"><c:out value="${order.indvdlSetleSj}"/></span>
</h3>
<div class="table-wrapper">
<table class="table vertical">
<caption>해당 테이블에 대한 설명</caption>
<colgroup>
<col style="width: auto">
<col style="width: 10%;">
<col style="width: 12%;">
<col style="width: 12%;">
<col style="width: 12%;">
</colgroup>
<thead>
<tr>
<th>주문상품</th>
<th>수량</th>
<th>상품금액</th>
<th>할인</th>
<th>할인금액</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${not empty data.goodsList}">
<c:forEach var="goods" items="${data.goodsList}">
<tr>
<td>
<div class="order-section__product">
<spring:eval expression="@environment.getProperty('mngrfo.common.fileupload.cdnurl')" var="cdnurl"/>
<img src="<c:out value="${cdnurl}"/><c:out value="${goods.goodsImgCours}"/>" onerror="this.src='/mngr/images/image_placeholder.png'" alt="<c:out value="${goods.goodsNm}"/>" width="56" height="56">
<div class="order-section__product-info">
<span class="order-section__product-productTitle"><c:out value="${goods.goodsNm}"/></span>
<span class="option-text">
<span class="option-badge">옵션</span> <c:out value="${goods.optn}"/>
</span>
<c:if test="${not empty goods.inputOptnText}">
<span class="option-text">${goods.inputOptnText}</span>
</c:if>
</div>
</div>
</td>
<td><fmt:formatNumber value="${goods.qy}" pattern="#,###" /></td>
<td><span class="comma"><fmt:formatNumber value="${goods.subSlepric}" pattern="#,###"/></span>원</td>
<td>
<span class="stone-8">(-)</span>
<span class="comma"><fmt:formatNumber value="${goods.dscntAmt}" pattern="#,###"/></span>원
<br>
<c:if test="${0 < goods.dscntAmt}">
<span class="btn xxsm outline primary hover-box-trigger" data-hoverbox="dscnt-<c:out value="${goods.goodsOptnInnb}"/>">내역</span>
</c:if>
</td>
<td>
<span class="fw-700">
<span class="comma"><fmt:formatNumber value="${goods.dscntApplyAmt}" pattern="#,###"/></span>원
</span>
</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<tr><td colspan="100%"><spring:message code="common.nodata"/></td></tr>
</c:otherwise>
</c:choose>
<tr>
<td colspan="2">
<table class="table personal-payment transparent">
<caption>개인결제</caption>
<colgroup>
<col style="width: 120px;">
<col>
</colgroup>
<tbody>
<tr>
<th class="text-left">구매적립 혜택</th>
<td class="text-left">
구매확정 시 : 마일리지
<span class="comma fw-500 gray-10"><fmt:formatNumber value="${order.accmlMlgAmt}" pattern="#,###"/></span>원
</td>
</tr>
<tr>
<th class="text-left">결제수단</th>
<td class="text-left"><c:out value="${order.setleMnNm}"/></td>
</tr>
<tr>
<th class="text-left">에누리</th>
<td class="text-left">
<span class="comma fw-500 gray-10"><fmt:formatNumber value="${order.enuriAmt}" pattern="#,###"/></span>원
</td>
</tr>
</tbody>
</table>
</td>
<td colspan="3" class="table__violet-td">
<table class="table personal-payment fs-20 transparent">
<caption>해당 테이블에 대한 설명</caption>
<colgroup>
<col style="width: 120px;">
<col>
</colgroup>
<tbody>
<tr>
<th class="text-left">배송비</th>
<td class="text-right">
<span class="comma fw-700 gray-10"><fmt:formatNumber value="${order.dlvyAmt}" pattern="#,###"/></span> 원
</td>
</tr><tr>
<th class="text-left">결제금액</th>
<td class="text-right">
<span class="comma fw-700 gray-10">
<c:if test="${order.ordrSttusCd eq '0'}">0</c:if>
<c:if test="${order.ordrSttusCd ne '0'}"><fmt:formatNumber value="${order.setleAmt}" pattern="#,###"/></c:if>
</span> 원
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="personal-payment__bottom">
<h6 class="personal-payment__title">배송지</h6>
<p class="personal-payment__description">배송지 정보는 개인 결제시 구매자께서 직접 입력하시게 됩니다.</p>
</td>
<td colspan="3"
class="personal-payment__bottom personal-payment__border-top table__violet-td">
<h6 class="personal-payment__title">주문자</h6>
<p class="personal-payment__description"><c:out value="${order.ordrrNm}"/></p>
<p class="personal-payment__description"><c:out value="${order.ordrrMbtlnb}"/><c:out value="${not empty order.ordrrTelnb ? ' / ' += order.ordrrTelnb : ''}"/></p>
<p class="personal-payment__description"><c:out value="${order.ordrrEmailAdres}"/></p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="modal-footer">
<a href="javascript:void(0);" rel="modal:close" class="btn outline">닫기</a>
<button type="button" onclick="fn_delete_indvdl_setle_order('${order.sopmalCd}', '${order.ordrInnb}');" class="btn gray" ${'Y' == order.setleYn ? 'disabled' : ''}>삭제</button>
<button type="button" onclick="fn_go_indvdl_setle('${order.sopmalCd}', '${order.ordrInnb}');" class="btn primary outline" ${'Y' == order.setleYn ? 'disabled' : ''}>수정</button>
</div>
</div>
<c:if test="${not empty data.goodsList}">
<c:forEach var="goods" items="${data.goodsList}">
<div class="hover-box-content" id="dscnt-<c:out value="${goods.goodsOptnInnb}"/>" style="display:none; z-index:99999">
<div class="mini-info-content__header">
<h5 class="mini-info-content__title">할인 내역</h5>
</div>
<div class="table-wrapper">
<table class="table vertical" style="width: 280px;">
<caption>할인 내역</caption>
<colgroup>
<col style="width: 25%;">
<col style="width: auto;">
</colgroup>
<thead>
<tr>
<th>구분</th>
<th>할인</th>
</tr>
</thead>
<tbody>
<c:set var="total" value="0"/>
<c:forEach var="dscntDtl" items="${goods.dscntDtlList}">
<c:if test="${dscntDtl.dscntAmt > '0'}">
<tr>
<th><c:out value="${dscntDtl.dscntNm}"/></th>
<td><span class="comma"><fmt:formatNumber value="${dscntDtl.dscntAmt}" pattern="#,###"/></span>원</td>
</tr>
<c:set var="total" value="${total + fn:replace(dscntDtl.dscntAmt, ',', '')}"/>
</c:if>
</c:forEach>
</tbody>
<tfoot>
<tr>
<th>합계</th>
<td><span class="comma"><fmt:formatNumber value="${total}" pattern="#,###"/></span>원</td>
</tr>
</tfoot>
</table>
</div>
</div>
</c:forEach>
</c:if>
</html>

View File

@@ -0,0 +1,166 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ page import="java.util.Date" %>
<%--
Class Name : IndvdlSetleListInqireR.jsp
Description : 개인 결제 목록 조회
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2024-02-19 김혜인 최초 생성
--%>
<!DOCTYPE html>
<html lang="ko">
<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="${data.paginationInfo.totalRecordCount}"/></strong>건</span>
</div>
</div>
<div class="center">
</div>
<div class="right">
<div class="select-box">
<select name="pageUnit" id="pageUnit" onchange="fn_get_indvdl_setle_list(1); return false;" title="페이지당 출력될 목록건수">
<c:forEach items="${data.paginationInfo.pageUnitArr}" var="pageUnit" varStatus="pageUnitStatus">
<option value="<c:out value="${pageUnit}"/>" <c:if test="${data.paginationInfo.recordCountPerPage eq pageUnit}">selected="selected"</c:if>><c:out value="${pageUnit}"/>개씩</option>
</c:forEach>
</select>
</div>
</div>
</div>
<hr class="horizontal-line">
<div class="form-control-container">
<div class="left">
<button type="button" id="delOrder" class="btn dark sm">삭제</button>
<button type="button" id="btnSndngLink" class="btn primary outline">결제링크발송</button>
</div>
<div class="center"></div>
<div class="right"></div>
</div>
<hr class="spacing">
<div class="table-wrapper">
<table class="table vertical">
<caption>주문 정보</caption>
<!-- 각 열 width 설정 -->
<colgroup>
<col style="width: 4%;">
<col style="width: 5%;">
<col style="width: 6%;">
<col style="width: 6%;">
<col style="width: 14%;">
<col style="width: auto;">
<col style="width: 9%;">
<col style="width: 7%;">
<col style="width: 12%;">
<col style="width: 6%;">
</colgroup>
<thead>
<tr>
<th>
<label class="b-checkbox checkbox is-medium">
<input type="checkbox" id="checkAll" value="">
<span class="check"></span>
</label>
</th>
<th>번호</th>
<th>유효기간</th>
<th>등록일시</th>
<th>개인결제타이틀</th>
<th>상품</th>
<th>주문자</th>
<th>개인결제가</th>
<th>주문번호<br/>결제링크</th>
<th>관리</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${not empty data.resultList}">
<c:set var="rnum" value="${data.paginationInfo.totalRecordCount - ((data.paginationInfo.currentPageNo - 1) * data.paginationInfo.recordCountPerPage)}"/>
<c:forEach var="order" items="${data.resultList}">
<tr>
<td>
<label class="b-checkbox checkbox is-medium">
<input type="checkbox" name="ordrInnb" class="ordrInnb" value="<c:out value="${order.ordrInnb}"/>">
<span class="check"></span>
</label>
</td>
<td>
<c:out value="${rnum}"/>
<c:set var="rnum" value="${rnum - 1}"/>
</td>
<td><c:out value="${order.indvdlSetleValidDe}"/></td>
<td><c:out value="${order.registDt}"/></td>
<td class="text-left"> <c:out value="${order.indvdlSetleSj}"/></td>
<td>
<div class="order-section__product">
<spring:eval expression="@environment.getProperty('mngrfo.common.fileupload.cdnurl')" var="cdnurl"/>
<img src="<c:out value="${cdnurl}"/><c:out value="${order.goodsImageUrl}"/>" onerror="this.src='/mngr/images/image_placeholder.png'" alt="<c:out value="${order.goodsNm}"/>" width="56" height="56">
<div class="order-section__product-info">
<span class="order-section__product-productTitle"><c:out value="${order.goodsNm}"/></span>
<span class="option-text">
<span class="option-badge">옵션</span>
<c:out value="${order.goodsOptnNm}"/>
</span>
</div>
</div>
</td>
<td>
<c:choose>
<c:when test = "${not empty order.mbrDvCd}" >
<button type="button"
onclick="fn_select_crm_mini_info(this, '${order.mbrInnb}', '${order.mbrDvCd}', '#modalDiv');"
class="order-detail-text" data-info="info01">
<span class="gray-12">
<c:out value="${order.mbrNm}"/>
</span>
(
<span class="fw-500 blue-7">
<c:out value="${not empty order.mbrId ? order.mbrId += '/' : ''}"/></span>
<span class="fw-500 green-8"><c:out value="${order.gradNm}"/></span>
)
</button>
</c:when>
<c:otherwise>
<button type="button"
onclick="fn_select_crm_mini_info_nmbr(this, '${order.ordrrMbtlnb}', '${order.ordrInnb}',, '${order.mbrNm}' '#modalDiv');"
class="order-detail-text" data-info="info01">
<span class="gray-12">
<c:out value="${order.mbrNm}"/>
</span>(<c:out value="${order.gradNm}"/>)
</button>
</c:otherwise>
</c:choose>
</td>
<td><span class="comma"><c:out value="${order.setleAmt}"/></span>원<br/><c:if test="${order.ordrSttusCd eq '0'}">결제대기</c:if><c:if test="${order.ordrSttusCd ne '0'}">결제완료</c:if></td>
<td><span class="blue-6 fw-500"><c:out value="${order.ordrInnb}"/></span><br/>
<a class="under-line" href="javascript:void(0);"><c:out value="${order.indvdlSetleSmsUrl}"/></a></td>
<td>
<div class="manage-btn-container">
<button type="button" class="btn xsm outline" onclick="fn_go_indvdl_setle_dtls_popup('${order.sopmalCd}', '${order.ordrInnb}');">상세</button>
</div>
</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<td colspan="100%"><spring:message code="common.nodata"/></td>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
</section>
<div class="pagination__container mt-30">
<ui:pagination paginationInfo="${data.paginationInfo}" type="image" jsFunction="fn_get_indvdl_setle_list"/>
</div>
<div id="dtlDiv"></div>
</html>

View File

@@ -0,0 +1,422 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ page import="java.util.Date" %>
<%--
Class Name : IndvdlSetleListInqireRForm.jsp
Description : 개인결제 목록 조회
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2024-02-19 김혜인 최초 생성
--%>
<!DOCTYPE html>
<html lang="ko">
<head>
<%@ include file="/WEB-INF/views/comm/mngr/Include.jsp"%>
</head>
<script>
$(document).ready(function(){
fn_init();
fn_event();
});
/* ********************************************************
* 초기 설정
**************************************************`********/
const fn_init = function() {
fn_set_date('srchStrtRegDt', 'srchEndRegDt', 'srchEndRegDt', '7D');
fn_get_indvdl_setle_list(1);
}
/* ********************************************************
* 이벤트 설정
**********************************************************/
const fn_event = function() {
/* 검색조건 > 날짜 구간 버튼 클릭 이벤트 */
$('.dateRange-btn').on('click', function() {
const id = $(this).closest('tr').attr('id');
const date = $(this).attr('id');
if ('allDays' === date) {
$('#srchStrt' + id + ', #srchEnd' + id).val('');
return false;
}
fn_set_date('srchStrt' + id, 'srchEnd' + id, 'srchEnd' + id, date);
});
/* 검색조건 > 날짜 구간 버튼 클릭 이벤트 */
$('#btnInitCond').on('click', function() {
$('#srchDvCd option:eq(0)').prop('selected', true);
$('#srchDvCd').niceSelect('update')
$('#srchStr').val('');
$('#RegDt').find('#7D').trigger("click");
$('#ValidDt').find('#allDays').trigger("click");
});
/*
* 검색조건 > 검색어 키업 이벤트
*/
$('#srchStr').on('keydown', function(e) {
if (e.keyCode == 13) {
$('#btnSearch').trigger("click");
e.preventDefault();
}
});
/* 검색조건 > 검색 버튼 클릭 이벤트 */
$('#btnSearch').on('click', function() {
fn_get_indvdl_setle_list(1);
});
/* 목록 > 삭제 버튼 클릭 이벤트 */
$(document).on('click', '#delOrder', function() {
const sopmalCd = $('#sopmalCd').val();
const checked = $('input[name="ordrInnb"]:checked');
if (checked.length == 0) {
alert('주문을 선택해 주십시요.');
return false;
}
let ordrInnbs = new Array();
$(checked).each(function() {
ordrInnbs.push($(this).val())
});
if (!confirm('<spring:message code="confirm.common.delete"/>')) {
return false;
}
fn_delete_indvdl_setle_order(sopmalCd, ordrInnbs);
});
/* 목록 > 전체선택 선택 이벤트 */
$(document).on('click', '#checkAll', function() {
let checkbox = $(this).closest('table').find('input[name="ordrInnb"]');
$(checkbox).prop('checked', false);
$(checkbox).prop('checked', $(this).is(':checked'));
});
/* 목록 > 선택 이벤트 */
$(document).on('click', '.ordrInnb', function() {
const table = $(this).closest('table');
let checkbox = $(table).find('input[name="ordrInnb"]').length;
let checkedbox = $(table).find('input[name="ordrInnb"]:checked').length;
if (checkbox !== checkedbox) {
$(table).find('#checkAll').prop('checked', false);
}
});
/* 상세 > 할인 내역 팝업 호출 */
$(document).on({
mouseover: function () {
const index = $(this).attr('data-hoverbox');
const selectedHoverContent = $('#' + index).show();
const left = $(this).offset().left;
const top = $(this).offset().top;
const width = $(this).width();
const height = $(this).height();
selectedHoverContent.css({
left: left + width - 560,
top: top + (height / 2 - selectedHoverContent.height() / 2) - 50,
});
},
mouseleave: function () {
$('.hover-box-content').hide();
}
}, '.hover-box-trigger');
/* 개인결제 등록 버튼 클릭 이벤트 */
$('#btnRegistIndvdlSetle').on('click', function() {
fn_go_indvdl_setle($('#sopmalCd').val(), null);
});
/* 선택링크발송 버튼 클릭 이벤트 */
$(document).on('click', '#btnSndngLink', function() {
const sopmalCd = $('#sopmalCd').val();
const checked = $('input[name="ordrInnb"]:checked');
if (checked.length === 0) {
alert('주문을 선택해 주십시요.');
return false;
}
let ordrInnbs = new Array();
$(checked).each(function() {
ordrInnbs.push($(this).val())
});
if (!confirm('선택하신 결제링크를 발송 하시겠습니까?')) {
return false;
}
fn_post_setle_link(sopmalCd, ordrInnbs);
});
}
/* ********************************************************
* function
**********************************************************/
/* 개인 결제 정보 목록 조회 */
const fn_get_indvdl_setle_list = function(index) {
if (!fn_is_empty(index)) {
$('#pageIndex').val(index);
}
let data = $('#condForm').serialize();
const pageUnit = $('#pageUnit option:selected').val();
if (!fn_is_empty(pageUnit)) {
data += '&pageUnit=' + pageUnit;
}
$.ajax({
type:'post',
url:'<c:url value="/mngr/ordr/indvdlSetle/selectIndvdlSetleListInqire"/>',
data:data,
success:function(html) {
$('#pageDiv').html(html);
$('#pageUnit').niceSelect();
}
});
}
/* 개인 결제 상세 정보 팝업 호출 */
const fn_go_indvdl_setle_dtls_popup = function(sopmalCd, ordrInnb) {
$.ajax({
type:"post",
url:"<c:url value='/mngr/ordr/indvdlSetle/selectIndvdlSetleDtlInqire'/>",
data:{
'sopmalCd':sopmalCd,
'ordrInnb':ordrInnb
},
success:function(html) {
$('#dtlDiv').html(html);
const popup = $('#personal-payment-pop');
$(popup).modal();
}
});
}
/* 개인 결제 주문 삭제 */
const fn_delete_indvdl_setle_order = function(sopmalCd, ordrInnbs) {
let isPopup = false;
if (!Array.isArray(ordrInnbs)) {
ordrInnbs = [ordrInnbs];
isPopup = true;
}
$.ajax({
type:'post',
url:'<c:url value="/mngr/ordr/indvdlSetle/deleteIndvdlSetle"/>',
data:{
'sopmalCd':sopmalCd,
'ordrInnbs':ordrInnbs
},
success:function(data) {
if (data.resBody != null) {
alert('<spring:message code="success.common.delete"/>');
if (isPopup) {
fn_close_modal('personal-payment-pop');
}
fn_get_indvdl_setle_list();
}
},
error:function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
alert(message.errorMsg);
}
});
}
/* 개인 결제 링크 발송 */
const fn_post_setle_link = function(sopmalCd, ordrInnbs) {
$.ajax({
type:'post',
url:'<c:url value="/mngr/ordr/indvdlSetle/insertSetleLinkMsg"/>',
data:{
'sopmalCd': sopmalCd,
'ordrInnbs': ordrInnbs
},
success:function(data) {
if (data.resBody != null) {
const result = JSON.parse(data.resBody.result);
if (!fn_is_empty(result.message)) {
alert(result.message);
return false;
}
alert('결제링크가 정상적으로 발송되었습니다.');
fn_get_indvdl_setle_list();
}
},
error:function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
alert(message.errorMsg);
}
});
}
/* 개인 결제 등록/수정 화면 이동 */
const fn_go_indvdl_setle = function(sopmalCd, ordrInnb) {
let newForm = $('<form></form>');
newForm.attr('name','newForm');
newForm.attr('method','post');
if (fn_is_empty(ordrInnb)) {
newForm.attr('action','<c:url value="/mngr/ordr/indvdlSetle/selectIndvdlSetleRegistForm"/>');
newForm.append($('<input/>', {type:'hidden', name:'sopmalCd', value:sopmalCd}));
} else {
newForm.attr('action','<c:url value="/mngr/ordr/indvdlSetle/selectIndvdlSetleUpdateForm"/>');
newForm.append($('<input/>', {type:'hidden', name:'sopmalCd', value:sopmalCd}));
newForm.append($('<input/>', {type:'hidden', name:'ordrInnb', value:ordrInnb}));
}
newForm.appendTo('body');
newForm.submit();
}
</script>
<body>
<%@ include file="/WEB-INF/views/comm/mngr/Header.jsp"%>
<main class="main">
<%@ include file="/WEB-INF/views/comm/mngr/Left.jsp"%>
<div class="content">
<div class="content__inner">
<button class="side-nav__fold"><span class="visually-hidden">좌측메뉴 펼치기/닫기</span></button>
<div class="page-title">
<h2 class="page-title__title">개인 결제 목록</h2>
<div class="page-title__btn-container">
<%--<button class="btn primary outline">선택링크발송</button>--%>
<a href="javascript:void(0);" id="btnRegistIndvdlSetle" class="btn primary">개인결제 등록</a>
</div>
</div>
<form id="condForm">
<input type="hidden" name="sopmalCd" id="sopmalCd" value="<c:out value="${sopmalCd}"/>">
<section class="content-section">
<div class="table-wrapper">
<table class="table">
<caption>검색조건</caption>
<colgroup>
<col style="width: 12%;">
<col>
</colgroup>
<tr>
<th>검색어</th>
<td>
<div class="td-inner">
<div class="select-box">
<select title="검색어 구분" name="srchDvCd" id="srchDvCd">
<option value="ordrrNm">주문자명</option>
<option value="mbrId">아이디</option>
<option value="email">이메일</option>
<option value="ordrrMbtlnb">휴대폰('-'없이)</option>
<option value="ordrInnb">주문번호</option>
<option value="goodsNm">상품명</option>
</select>
</div>
<input type="text" name="srchStr" id="srchStr" class="input-text xl" title="검색어" placeholder="검색어를 입력해주십시요.">
</div>
</td>
</tr>
<tr id="RegDt">
<th>주문일시</th>
<td>
<div class="td-inner">
<div class="input-container">
<input type="text" id="srchStrtRegDt" class="datepicker" title="시작 날짜 선택" name="srchStrtRegDt" autocomplete="off">
<span class="tilde">~</span>
<input type="text" id="srchEndRegDt" class="datepicker" title="종료 날짜 선택" name="srchEndRegDt" autocomplete="off">
</div>
<div class="dateRange-btnContainer">
<button class="dateRange-btn" id="1D">어제</button>
<button class="dateRange-btn" id="0">오늘</button>
<button class="dateRange-btn" id="3D">3일간</button>
<button class="dateRange-btn selected" id="7D">일주일</button>
<button class="dateRange-btn" id="1M">1개월</button>
<button class="dateRange-btn" id="3M">3개월</button>
<button class="dateRange-btn" id="6M">6개월</button>
<button class="dateRange-btn" id="1Y">1년</button>
<button class="dateRange-btn" id="allDays">전체</button>
</div>
</div>
</td>
</tr>
<tr id="ValidDt">
<th>유효기간</th>
<td>
<div class="td-inner">
<div class="input-container">
<input type="text" name="srchStrtValidDt" id="srchStrtValidDt" class="datepicker" title="시작 날짜 선택" autocomplete="off">
<span class="tilde">~</span>
<input type="text" name="srchEndValidDt" id="srchEndValidDt" class="datepicker" title="종료 날짜 선택" autocomplete="off">
</div>
<div class="dateRange-btnContainer">
<button class="dateRange-btn" id="1D">어제</button>
<button class="dateRange-btn" id="0">오늘</button>
<button class="dateRange-btn" id="3D">3일간</button>
<button class="dateRange-btn" id="7D">일주일</button>
<button class="dateRange-btn" id="1M">1개월</button>
<button class="dateRange-btn" id="3M">3개월</button>
<button class="dateRange-btn" id="6M">6개월</button>
<button class="dateRange-btn" id="1Y">1년</button>
<button class="dateRange-btn selected" id="allDays">전체</button>
</div>
</div>
</td>
</tr>
</table>
</div>
<div class="form-control-container">
<div class="left"></div>
<div class="center">
<button type="button" id="btnInitCond" class="btn outline">초기화</button>
<button type="button" id="btnSearch" class="btn primary">검색</button>
</div>
<div class="right"></div>
</div>
</section>
<div id="pageDiv"></div>
<input type="hidden" name="pageIndex" id="pageIndex" value=""/>
</form>
<button class="scroll-to-top"><span class="visually-hidden">위로가기</span></button>
</div>
</div>
</main>
<div id="modalDiv"></div>
</body>
</html>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,196 @@
<%@ 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="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<%@ include file="/WEB-INF/views/comm/mngr/Include.jsp"%>
<style>
.pbreak {page-break-after: always;}
table.delivery_goods_print_info {
border-collapse:collapse !important;
border:1px solid #bcbfc1;
table-layout: fixed
}
table.delivery_goods_print_info tr th {
padding:3px 3px 3px 3px;
font-size:11px;
color:#4d4d4d;
font-weight:normal;
border-left:1px solid #bcbfc1;
border-top:1px solid #bcbfc1;
}
table.delivery_goods_print_info tr td {
padding:3px 3px 3px 3px;
font-size:11px;
border-left:1px solid #bcbfc1;
border-top:1px solid #bcbfc1;
}
span.title_print_info {
font-size:12px;
color:#000000;
font-weight:normal;
letter-spacing:-1px;
}
.text-center {
text-align: center !important;
}
.text-red {
color: red !important;
}
</style>
<script>
$(document).ready(function(){
window.print();
});
</script>
</head>
<body>
<div id="wrap">
<div class="pbreak">
<div align="center">
<table>
<tr>
<td>
<span style="text-align:center;font-size:20px;letter-spacing:-1px;font-weight:bold;padding-top:20px;">
거래명세서
</span>
</td>
</tr>
</table>
</div>
<div style="height:5px;"></div>
<c:set var="today" value="<%=new java.util.Date()%>" />
<c:set var="year"><fmt:formatDate value="${today}" pattern="yyyy" /></c:set>
<c:set var="month"><fmt:formatDate value="${today}" pattern="MM" /></c:set>
<c:set var="day"><fmt:formatDate value="${today}" pattern="dd" /></c:set>
<table style="width:100%;">
<col style="width:48%;">
<col style="width:4%;">
<col style="width:48%;">
<tr>
<td></td>
</tr>
<tr>
<td>
<c:set var="ordr" value="${data.ordr}"/>
<table class="delivery_goods_print_info" style="width:100%;">
<colgroup>
<col style="width:5%;">
<col style="width:20%;">
</colgroup>
<tr>
<th>발급 No.</th>
<td>${ordr.ordrInnb}</td>
</tr>
<tr>
<th>발행일</th>
<td>${year}년 ${month}월 ${day}일</td>
</tr>
<tr>
<th>거래처</th>
<td>${ordr.mbrNm}</td>
</tr>
</table>
</td>
<td></td>
<td valign="top">
<c:set var="company" value="${data.company}"/>
<table class="delivery_goods_print_info" style="width:100%;">
<colgroup>
<col style="width:15%;">
<col style="width:22%;">
<col style="width:22%;">
<col style="width:22%;">
</colgroup>
<tr>
<td rowspan="4">공급자</td>
<td>등록번호</td>
<td colspan="3">${company.bizrnb}</td>
</tr>
<tr>
<td>상호(법인명)</td>
<td>${company.bsnmNm}</td>
<td>성명(대표자)</td>
<td>${company.reprsntvnm}</td>
</tr>
<tr>
<td>사업장 주소</td>
<td colspan="3">
${not empty company.zip ? '(' += company.zip += ')' : ''}
${company.adres}
${company.dtlAdres}
</td>
</tr>
<tr>
<td>업태</td>
<td>${company.bizcndCn}</td>
<td>종목</td>
<td>${company.itemCn}</td>
</tr>
</table>
</td>
</tr>
</table>
<div style="height:10px"></div>
<table align="center" style="width:100%;">
<tr>
<td><span class="title_print_info">이와같이 계산합니다.</span></td>
</tr>
<tr>
<td class="text-center"><span class="title_print_info">거래명세표 상세 내역</span></td>
</tr>
</table>
<div style="height:10px"></div>
<table class="delivery_goods_print_info" align="center" style="width:100%;">
<colgroup>
<col style="width:50px;">
<col style="width:50px;">
<col style="width:auto;">
<col style="width:50px;">
<col style="width:50px;">
<col style="width:80px;">
<col style="width:80px;">
<col style="width:80px;">
<col style="width:80px;">
</colgroup>
<tr>
<th>월</th>
<th>일</th>
<th>품목</th>
<th>규격</th>
<th>수량</th>
<th>단가</th>
<th>공급가액</th>
<th>세액</th>
<th>비고</th>
</tr>
<c:set var="delngDtstmns" value="${data.delngDtstmn}"/>
<c:if test="${not empty delngDtstmns}">
<c:forEach var="delngDtstmn" items="${delngDtstmns}" varStatus="status">
<tr>
<td class="text-center">${1 == status.count ? delngDtstmn.month : ''}</td>
<td class="text-center">${1 == status.count ? delngDtstmn.day : ''}</td>
<td ${delngDtstmn.ordrQy < 0 ? 'class="text-red"' : ''}>${delngDtstmn.ordrQy > 0 ? delngDtstmn.optnNm : delngDtstmn.optnNm += ' 차감'}</td>
<td></td>
<td class="text-center">${delngDtstmn.ordrQy > 0 ? delngDtstmn.ordrQy : ''}</td>
<td ${delngDtstmn.ordrQy < 0 ? 'class="text-red"' : ''}><fmt:formatNumber value="${delngDtstmn.slepric}" pattern="#,###" /></td>
<td><fmt:formatNumber value="${delngDtstmn.splpric > 0 ? delngDtstmn.splpric : ''}" pattern="#,###" /></td>
<td><fmt:formatNumber value="${delngDtstmn.tax > 0 ? delngDtstmn.tax : ''}" pattern="#,###" /></td>
<td></td>
</tr>
</c:forEach>
</c:if>
</table>
<div style="height:3px"></div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,279 @@
<%@ 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="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<%@ include file="/WEB-INF/views/comm/mngr/Include.jsp"%>
<script>
$(document).ready(function() {
fn_init();
fn_event();
});
/* ********************************************************
* 초기 설정
**********************************************************/
const fn_init = function() {
}
/* ********************************************************
* 이벤트 설정
**********************************************************/
const fn_event = function() {
/*
* 양식 리스트 버튼 클릭 이벤트
*/
$('#list').on('click', function() {
location.href = '<c:url value="/mngr/ordr/ordrmngr/selectDwldItmSetupForm"/>';
});
/*
* 저장하기 버튼 클릭 이벤트
*/
$('#insert').on('click', function () {
const isNew = '' == $('#excelDwldFormSnb').val() ? true : false;
const message = isNew ? '<spring:message code="confirm.common.insert"/>' : '<spring:message code="confirm.common.update"/>'
if (!confirm(message)) {
return false;
}
$('#selItems option').each(function () {
$(this).prop("selected", true);
});
fn_post_dwld_form(isNew);
});
/*
* 셀 추가 버튼 클릭 이벤트
*/
$('#addOpt').on('click', function () {
let addOptNm = $('#optNm').val();
let isDup = false;
$('#selItems option').each(function () {
if ($(this).val() == ('(추가) ' + addOptNm)) {
isDup = true;
}
});
if (isDup || '' == addOptNm) {
return false;
}
$('#selItems').append('<option value="(추가) ' + addOptNm + '" style="color:red">(추가) ' + addOptNm + '</option>');
});
/*
* 추가 셀 삭제 버튼 클릭 이벤트
*/
$('#removeOpt').on('click', function () {
$('#selItems option:selected').each(function () {
var patt = /(추가)/;
if (patt.test($(this).val())) {
$(this).remove();
return false;
} else {
alert("해당 항목은 추가셀이 아닙니다.");
}
});
});
}
/* ********************************************************
* function
**********************************************************/
/* 등록/수정 */
const fn_post_dwld_form = function(isNew) {
$.ajax({
type : 'post',
url : isNew ? '<c:url value="/mngr/ordr/ordrmngr/insertDwldFormRegist"/>'
: '<c:url value="/mngr/ordr/ordrmngr/updateDwldFormUpdt"/>',
data : $('#registForm').serialize(),
success : function(data) {
if (data.resBody != null) {
const result = JSON.parse(data.resBody.result);
alert(isNew ? '<spring:message code="success.common.insert"/>' : '<spring:message code="success.common.update"/>');
fn_go_dwld_item_form(result.form.excelDwldFormSnb);
}
},
error: function(data) {
$("#overlay").fadeOut();
if (!data.responseJSON.resBody.message) {
alert('<spring:message code="error.internal-server"/>');
} else {
if (fn_check_json(data.responseJSON.resBody.message)) {
const errorObject = JSON.parse(data.responseJSON.resBody.message);
if (!errorObject) {
alert('<spring:message code="error.internal-server"/>');
} else {
if (!errorObject.errorMsg) {
alert('<spring:message code="error.internal-server"/>');
} else {
alert(errorObject.errorMsg);
let isMtched = false;
$('.main').eq(0).find('input,select,textarea').each(function () {
for (let idx = 0; idx < errorObject.errorFields.length; idx++) {
if (errorObject.errorFields[idx].indexOf($(this).prop('name')) >= 0) {
isMtched = true;
break;
}
}
if (isMtched) {
$(this).focus();
return false;
}
});
}
}
} else {
if (data.responseJSON.resBody.message) {
alert(data.responseJSON.resBody.message);
} else {
alert('<spring:message code="error.internal-server"/>');
}
}
}
}
});
}
/* 엑샐 다운로드 항목 수정 화면 이동 */
const fn_go_dwld_item_form = function(excelDwldFormSnb) {
let newForm = $('<form></form>');
newForm.attr('name','newForm');
newForm.attr('method','post');
newForm.attr('action','<c:url value="/mngr/ordr/ordrmngr/selectDwldForm"/>');
newForm.append($('<input/>', {type:'hidden', name:'excelDwldFormSnb', value:excelDwldFormSnb}));
newForm.appendTo('body');
newForm.submit();
}
</script>
</head>
<body>
<%@ include file="/WEB-INF/views/comm/mngr/Header.jsp"%>
<main class="main">
<%@ include file="/WEB-INF/views/comm/mngr/Left.jsp"%>
<div class="content">
<div class="content__inner">
<button class="side-nav__fold"><span class="visually-hidden">좌측메뉴 펼치기/닫기</span></button>
<div class="page-title">
<h2 class="page-title__title">다운로드 항목설정 등록</h2>
<div class="page-title__btn-container">
<a href="javascript:void(0);" class="btn outline" id="list"><spring:message code="button.list"/></a>
<a href="javascript:void(0);" class="btn primary" id="insert"><spring:message code="button.save"/></a>
</div>
</div>
<section class="content-section">
<form id="registForm">
<input type="hidden" name="sopmalCd" id="sopmalCd" value="${data.sopmalCd}"/>
<input type="hidden" name="excelFormDvCd" id="excelFormDvCd" value="order"/>
<input type="hidden" name="excelDwldFormSnb" id="excelDwldFormSnb" value="${data.form.excelDwldFormSnb}"/>
<h3 class="content-section__title">이름 및 종류</h3>
<div class="table-wrapper">
<table class="table">
<caption>양식 입력 테이블</caption>
<colgroup>
<col style="width: 12%;">
<col>
<col style="width: 12%;">
<col>
</colgroup>
<tr>
<th>이름</th>
<td colspan="3">
<div class="td-inner">
<input class="input-text xl" type="text" name="formNm" value="${data.form.formNm}" title="양식 명">
</div>
</td>
</tr>
<tr>
<th>선택</th>
<td colspan="3">
<div class="td-inner">
<div class="custom-radio-container">
<c:forEach items="${data.cgo065List}" var="cgo065" varStatus="status">
<div class="custom-radio">
<input type="radio" id="stdrDvCd${status.index}" name="stdrDvCd" value="${cgo065.cd}"
<c:out value="${('0' == status.index && null == data.form.stdrDvCd) || cgo065.cd == data.form.stdrDvCd ? 'checked' : ''}"/>
/>
<label for="stdrDvCd${status.index}">${cgo065.cdNm}</label>
</div>
</c:forEach>
</div>
</div>
</td>
</tr>
</table>
</div>
<h3 class="content-section__title">항목설정</h3>
<div class="board-setting__container">
<div class="board-setting" style="width: 1160px;">
<div class="board-setting__left">
<h5 class="board-setting__title">전체 항목</h5>
<select id="allItems" class="board-setting__select" multiple="multiple">
<c:forEach items="${data.allItems}" var="item" varStatus="status">
<option value="${item.cd}">${item.nm}</option>
</c:forEach>
</select>
</div>
<div class="board-setting__center">
<button class="board-setting__move-btn right"><span class="visually-hidden">오른쪽으로</span></button>
<button class="board-setting__move-btn left"><span class="visually-hidden">왼쪽으로</span></button>
</div>
<div class="board-setting__right">
<h5 class="board-setting__title">다운로드 항목</h5>
<select name="selItems" id="selItems" class="board-setting__select" multiple="multiple">
<c:forEach items="${data.selItems}" var="item" varStatus="status">
<c:choose>
<c:when test="${fn:contains(item.cd, '추가')}">
<option value="${item.cd}" style="color: red;">${item.nm}</option>
</c:when>
<c:otherwise>
<option value="${item.cd}">${item.nm}</option>
</c:otherwise>
</c:choose>
</c:forEach>
</select>
<div class="board-setting__controls">
<button type="button" class="btn xsm outline top">처음</button>
<button type="button" class="btn xsm outline up">위로</button>
<button type="button" class="btn xsm outline down">아래로</button>
<button type="button" class="btn xsm outline bottom">마지막</button>
<button type="button" class="btn xsm dark" id="removeOpt">추가 셀 삭제</button>
</div>
<div class="board-setting__controls">
<input class="input-text md" type="text" title="추가 셀 명" id="optNm">
<button type="button" class=" btn xsm primary" id="addOpt">↑ 셀 추가</button>
</div>
</div>
</div>
</div>
</form>
</section>
<button class="scroll-to-top"><span class="visually-hidden">위로가기</span></button>
</div>
</div>
</main>
</body>
</html>

View File

@@ -0,0 +1,165 @@
<%@ 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="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<%@ include file="/WEB-INF/views/comm/mngr/Include.jsp"%>
<script>
$(document).ready(function(){
fn_init();
fn_event();
});
/* ********************************************************
* 초기 설정
**********************************************************/
const fn_init = function() {
fn_get_dwld_item_list();
}
/* ********************************************************
* 이벤트 설정
**********************************************************/
const fn_event = function() {
/*
* 전체주문조회 버튼 클릭 이벤트
*/
$('#allOrdrList').on('click', function() {
location.href = '<c:url value="/mngr/ordr/ordrmngr/selectAllOrdrListInqire"/>';
});
/*
* 양식추가 버튼 클릭 이벤트
*/
$('#regist').on('click', function() {
fn_go_dwld_item_form();
});
/*
* 주문조회 팝업 버튼 클릭 이벤트
*/
$('#orderPopup').on('click', function() {
fn_open_popup_center('<c:url value="/mngr/ordr/ordrmngr/selectOrdrDtlInqirePoputForm"/>', 'ordr_inqire_popup','1400','840' )
});
}
/* ********************************************************
* function
**********************************************************/
/* 엑샐 다운로드 항목 목록 조회 */
const fn_get_dwld_item_list = function() {
$.ajax({
type:'post',
url:'<c:url value="/mngr/ordr/ordrmngr/selectDwldItmSetupFormList"/>',
data:{
'sopmalCd':$('#sopmalCd').val()
},
success:function(html) {
$('#pageDiv').html(html);
}
});
}
/* 엑샐 다운로드 항목 삭제 */
const fn_post_dwld_item = function(sopmalCd, excelDwldFormSnb) {
if (!confirm('<spring:message code="confirm.common.delete"/>')) {
return false;
}
$.ajax({
type:'post',
url:'<c:url value="/mngr/ordr/ordrmngr/deleteDwldItmDel"/>',
data:{
'sopmalCd':sopmalCd,
'excelDwldFormSnb':excelDwldFormSnb
},
success:function(data) {
if (data.resBody != null) {
alert('<spring:message code="success.common.delete"/>');
fn_get_dwld_item_list();
}
},
error:function(request, status, error) {
let message = JSON.parse(JSON.parse(request.responseText).resBody.message);
alert(message.errorMsg);
}
});
}
/* 엑샐 다운로드 항목 등록/수정 화면 이동 */
const fn_go_dwld_item_form = function(excelDwldFormSnb) {
let newForm = $('<form></form>');
newForm.attr('name','newForm');
newForm.attr('method','post');
if (fn_is_empty(excelDwldFormSnb)) {
newForm.attr('action','<c:url value="/mngr/ordr/ordrmngr/selectDwldFormRegistForm"/>');
} else {
newForm.attr('action','<c:url value="/mngr/ordr/ordrmngr/selectDwldForm"/>');
newForm.append($('<input/>', {type:'hidden', name:'excelDwldFormSnb', value:excelDwldFormSnb}));
}
newForm.append($('<input/>', {type:'hidden', name:'sopmalCd', value:$('#sopmalCd').val()}));
newForm.appendTo('body');
newForm.submit();
}
/* 팝업 화면중앙 열기 */
const fn_open_popup_center = function(url, title, w, h) {
const dualScreenLeft = window.screenLeft != undefined ? window.screenLeft : screen.left;
const dualScreenTop = window.screenTop != undefined ? window.screenTop : screen.top;
width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width;
height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height;
const left = ((width / 2) - (w / 2)) + dualScreenLeft;
const top = ((height / 2) - (h / 2)) + dualScreenTop;
const newWindow = window.open(url, title, 'scrollbars=yes, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left);
if (window.focus) {
newWindow.focus();
}
}
/* 주문 조회 팝업 피드백 */
const fn_fdbck_ordr_inqire_popup = function (ordrInnb, mbrid) {
alert(ordrInnb + ' :: ' + mbrid)
}
</script>
</head>
<body>
<%@ include file="/WEB-INF/views/comm/mngr/Header.jsp"%>
<main class="main">
<%@ include file="/WEB-INF/views/comm/mngr/Left.jsp"%>
<div class="content">
<div class="content__inner">
<button class="side-nav__fold"><span class="visually-hidden">좌측메뉴 펼치기/닫기</span></button>
<div class="page-title">
<h2 class="page-title__title">다운로드 항목설정 목록</h2>
<div class="page-title__btn-container">
<!-- <a href="javascript:void(0);" class="btn primary" id="orderPopup">주문조회 팝업</a>
<a href="javascript:void(0);" class="btn outline" id="allOrdrList">전체 주문 목록</a> -->
<a href="javascript:void(0);" class="btn primary" id="regist">다운로드 항목설정 등록</a>
</div>
</div>
<input type="hidden" id="sopmalCd" value="<c:out value="${sopmalCd}"/>">
<div id="pageDiv"></div>
<button class="scroll-to-top"><span class="visually-hidden">위로가기</span></button>
</div>
</div>
</main>
</body>
</html>

View File

@@ -0,0 +1,67 @@
<%@ 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="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script>
</script>
</head>
<body>
<section class="content-section">
<%--<h3 class="content-section__title">다운로드 항목</h3>--%>
<div class="table-wrapper">
<table class="table vertical">
<colgroup>
<col style="width: auto;">
<col style="width: 10%;">
<col style="width: 14%;">
<col style="width: 14%;">
<col style="width: 14%;">
</colgroup>
<thead>
<tr>
<th>파일종류</th>
<th>항목수</th>
<th>생성일</th>
<th>수정일</th>
<th>관리</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${fn:length(data.dwldItmSetupFormList) > 0}">
<c:forEach items="${data.dwldItmSetupFormList}" var="dwldItm" varStatus="status">
<tr>
<td>${dwldItm.formNm}</td>
<td> ${dwldItm.itemCnt}</td>
<td>${dwldItm.registDt}</td>
<td>${dwldItm.updtDt}</td>
<td>
<div class="manage-btn-container">
<button type="button" onclick="fn_post_dwld_item('${dwldItm.sopmalCd}', '${dwldItm.excelDwldFormSnb}');" class="btn xsm dark">삭제</button>
<a href="javascript:void(0);" onclick="fn_go_dwld_item_form('${dwldItm.excelDwldFormSnb}');" class="btn xsm primary outline">수정</a>
</div>
</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<tr>
<td colspan="5"><spring:message code="common.nodata"/></td>
</tr>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
</section>
</body>
</html>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,210 @@
<%@ 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="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
<script>
$(document).ready(function() {
});
</script>
<section class="content-section">
<h3 class="content-section__title">주문<span class="gray-6 fw-400">(${ordrInnb})</span>의
출고 내역
<span class="orderShipping-description">
- 본 주문의 출고내역을 <a href="<c:url value="/mngr/ordr/dlivy/selectDlivyListInqireForm"/>">출고리스트</a>에서 한눈에 보기
</span>
</h3>
<div class="table-wrapper">
<table class="table vertical">
<caption>출고 내역</caption>
<!-- 각 열 width 설정 -->
<colgroup>
<col style="width: 9%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: auto;">
<col style="width: 120px;">
<col style="width: 8%;">
<col style="width: 8%;">
<col style="width: 8%;">
<col style="width: 9%;">
</colgroup>
<thead>
<tr>
<th>출고일</th>
<th>출고번호</th>
<th>출고상품금액</th>
<th>출고정보</th>
<th>출고수량</th>
<th>출고완료일시</th>
<th>배송완료일시</th>
<th>출고상태</th>
<th>마일리지 지급</th>
</tr>
</thead>
<tbody>
<c:set var="goodsExportList" value="${data.goodsExportList}"/>
<c:set var="rePreDlvyInnb" value="0"/>
<c:set var="reDlvyCnt" value="1"/>
<c:set var="dlivyInnb" value="${ dlivyInnb}"/>
<c:choose>
<c:when test="${not empty goodsExportList}">
<c:forEach var="goodsExport" items="${goodsExportList}" varStatus="status">
<tr>
<td>${goodsExport.dlivyDt}</td>
<td>
<c:if test="${not empty goodsExport.dlivyInnb}">
<a class="blue-6 fw-500" href="javascript:void(0);" onclick="fn_go_dlivy_dtl('${goodsExport.sopmalCd}', '${goodsExport.ordrInnb}', '${goodsExport.dlivyInnb}');">${goodsExport.dlivyInnb}</a>
<button type="button" onclick="fn_go_dlivy_dtstmn_dwld_popup('${goodsExport.dlivyInnb}', '${goodsExport.ordrInnb}')">
<i class="icon icon_print"></i>
<span class="visually-hidden">프린트</span>
</button>
</c:if>
</td>
<td><span class="comma"><fmt:formatNumber value="${goodsExport.dlivyGoodsPric}" pattern="#,###"/></span></td>
<c:set var="reRowspanCnt" value="0"/>
<c:forEach var="tmpGoods" items="${ data.goodsExportList }">
<c:set var="reRowspanCnt" value="${ goodsExport.dlivyInnb == tmpGoods.dlivyInnb ? reRowspanCnt + 1 : reRowspanCnt }"/>
</c:forEach>
<c:if test="${ rePreDlvyInnb != goodsExport.dlivyInnb }">
<td class="text-left" rowspan="${ reRowspanCnt }">
<c:choose>
<c:when test="${ goodsExport.dlivyInnb == dlivyInnb }">
<form id="exportUpdtForm">
<input type="hidden" name="dlivyInnb" value="${ goodsExport.dlivyInnb }"/>
<div class="input-container w-full gap-4">
<div class="select-box">
<select title="택배사" name="hdrycpnCd">
<option value="" selected disabled>선택</option>
<option value="code0" <c:if test="${goodsExport.hdrycpnCd eq 'code0' }">selected="selected"</c:if>>CJ대한통운</option>
<option value="code1" <c:if test="${goodsExport.hdrycpnCd eq 'code1' }">selected="selected"</c:if>>DHL코리아</option>
<option value="code10" <c:if test="${goodsExport.hdrycpnCd eq 'code10' }">selected="selected"</c:if>>롯데택배</option>
<option value="code11" <c:if test="${goodsExport.hdrycpnCd eq 'code11' }">selected="selected"</c:if>>동원택배</option>
<option value="code12" <c:if test="${goodsExport.hdrycpnCd eq 'code12' }">selected="selected"</c:if>>대신택배</option>
<option value="code13" <c:if test="${goodsExport.hdrycpnCd eq 'code13' }">selected="selected"</c:if>>세덱스</option>
<option value="code14" <c:if test="${goodsExport.hdrycpnCd eq 'code14' }">selected="selected"</c:if>>동부익스프레스</option>
<option value="code15" <c:if test="${goodsExport.hdrycpnCd eq 'code15' }">selected="selected"</c:if>>천일택배</option>
<option value="code16" <c:if test="${goodsExport.hdrycpnCd eq 'code16' }">selected="selected"</c:if>>사가와택배</option>
<option value="code17" <c:if test="${goodsExport.hdrycpnCd eq 'code17' }">selected="selected"</c:if>>일양택배</option>
<option value="code18" <c:if test="${goodsExport.hdrycpnCd eq 'code18' }">selected="selected"</c:if>>이노지스</option>
<option value="code19" <c:if test="${goodsExport.hdrycpnCd eq 'code19' }">selected="selected"</c:if>>편의점택배</option>
<option value="code2" <c:if test="${goodsExport.hdrycpnCd eq 'code2' }">selected="selected"</c:if>>KGB택배</option>
<option value="code20" <c:if test="${goodsExport.hdrycpnCd eq 'code20' }">selected="selected"</c:if>>건영택배</option>
<option value="code21" <c:if test="${goodsExport.hdrycpnCd eq 'code21' }">selected="selected"</c:if>>옐로우캡</option>
<option value="code22" <c:if test="${goodsExport.hdrycpnCd eq 'code22' }">selected="selected"</c:if>>ACI</option>
<option value="code23" <c:if test="${goodsExport.hdrycpnCd eq 'code23' }">selected="selected"</c:if>>EMS</option>
<option value="code24" <c:if test="${goodsExport.hdrycpnCd eq 'code24' }">selected="selected"</c:if>>FEDEX</option>
<option value="code25" <c:if test="${goodsExport.hdrycpnCd eq 'code25' }">selected="selected"</c:if>>합동택배</option>
<option value="code26" <c:if test="${goodsExport.hdrycpnCd eq 'code26' }">selected="selected"</c:if>>호남택배</option>
<option value="code27" <c:if test="${goodsExport.hdrycpnCd eq 'code27' }">selected="selected"</c:if>>우체국EMS</option>
<option value="code28" <c:if test="${goodsExport.hdrycpnCd eq 'code28' }">selected="selected"</c:if>>HPL(한의사랑)</option>
<option value="code29" <c:if test="${goodsExport.hdrycpnCd eq 'code29' }">selected="selected"</c:if>>용마로지스</option>
<option value="code3" <c:if test="${goodsExport.hdrycpnCd eq 'code3' }">selected="selected"</c:if>>경동택배</option>
<option value="code30" <c:if test="${goodsExport.hdrycpnCd eq 'code30' }">selected="selected"</c:if>>대운통운택배</option>
<option value="code31" <c:if test="${goodsExport.hdrycpnCd eq 'code31' }">selected="selected"</c:if>>FEDEX</option>
<option value="code32" <c:if test="${goodsExport.hdrycpnCd eq 'code32' }">selected="selected"</c:if>>고려택배</option>
<option value="code33" <c:if test="${goodsExport.hdrycpnCd eq 'code33' }">selected="selected"</c:if>>GTX로지스</option>
<option value="code34" <c:if test="${goodsExport.hdrycpnCd eq 'code34' }">selected="selected"</c:if>>KG로지스</option>
<option value="code35" <c:if test="${goodsExport.hdrycpnCd eq 'code35' }">selected="selected"</c:if>>판토logistics</option>
<option value="code36" <c:if test="${goodsExport.hdrycpnCd eq 'code36' }">selected="selected"</c:if>>CR로지텍</option>
<option value="code37" <c:if test="${goodsExport.hdrycpnCd eq 'code37' }">selected="selected"</c:if>>GSMNtoN</option>
<option value="code4" <c:if test="${goodsExport.hdrycpnCd eq 'code4' }">selected="selected"</c:if>>대한통운</option>
<option value="code5" <c:if test="${goodsExport.hdrycpnCd eq 'code5' }">selected="selected"</c:if>>kg로지스(구 동부택배)</option>
<option value="code6" <c:if test="${goodsExport.hdrycpnCd eq 'code6' }">selected="selected"</c:if>>로젠택배</option>
<option value="code7" <c:if test="${goodsExport.hdrycpnCd eq 'code7' }">selected="selected"</c:if>>우체국택배</option>
<option value="code8" <c:if test="${goodsExport.hdrycpnCd eq 'code8' }">selected="selected"</c:if>>하나로택배</option>
<option value="code9" <c:if test="${goodsExport.hdrycpnCd eq 'code9' }">selected="selected"</c:if>>한진택배</option>
<option value="code97" <c:if test="${goodsExport.hdrycpnCd eq 'code97' }">selected="selected"</c:if>>롯데택배 업무자동화</option>
<option value="code98" <c:if test="${goodsExport.hdrycpnCd eq 'code98' }">selected="selected"</c:if>>굿스플로 업무자동화</option>
<option value="code99" <c:if test="${goodsExport.hdrycpnCd eq 'code99' }">selected="selected"</c:if>>우체국택배 업무자동화</option>
</select>
</div>
<input type="text" name="invcnb" value="${goodsExport.invcnb}" oninput="validateInputEngNumber(this)" class="input-text md" title="송장번호">
<a href="javascript:void(0);" onclick="fn_open_dlvy_sweettracker_modal('${goodsExport.dlivyInnb}'); return false;" class="btn sm outline primary">조회</a>
</div>
</form>
</c:when>
<c:otherwise>
<div class="input-container w-full gap-4">
<div class="select-box">
<select title="택배사" name="hdrycpnCd" disabled>
<option value="" selected disabled>선택</option>
<option value="code0" <c:if test="${goodsExport.hdrycpnCd eq 'code0' }">selected="selected"</c:if>>CJ대한통운</option>
<option value="code1" <c:if test="${goodsExport.hdrycpnCd eq 'code1' }">selected="selected"</c:if>>DHL코리아</option>
<option value="code10" <c:if test="${goodsExport.hdrycpnCd eq 'code10' }">selected="selected"</c:if>>롯데택배</option>
<option value="code11" <c:if test="${goodsExport.hdrycpnCd eq 'code11' }">selected="selected"</c:if>>동원택배</option>
<option value="code12" <c:if test="${goodsExport.hdrycpnCd eq 'code12' }">selected="selected"</c:if>>대신택배</option>
<option value="code13" <c:if test="${goodsExport.hdrycpnCd eq 'code13' }">selected="selected"</c:if>>세덱스</option>
<option value="code14" <c:if test="${goodsExport.hdrycpnCd eq 'code14' }">selected="selected"</c:if>>동부익스프레스</option>
<option value="code15" <c:if test="${goodsExport.hdrycpnCd eq 'code15' }">selected="selected"</c:if>>천일택배</option>
<option value="code16" <c:if test="${goodsExport.hdrycpnCd eq 'code16' }">selected="selected"</c:if>>사가와택배</option>
<option value="code17" <c:if test="${goodsExport.hdrycpnCd eq 'code17' }">selected="selected"</c:if>>일양택배</option>
<option value="code18" <c:if test="${goodsExport.hdrycpnCd eq 'code18' }">selected="selected"</c:if>>이노지스</option>
<option value="code19" <c:if test="${goodsExport.hdrycpnCd eq 'code19' }">selected="selected"</c:if>>편의점택배</option>
<option value="code2" <c:if test="${goodsExport.hdrycpnCd eq 'code2' }">selected="selected"</c:if>>KGB택배</option>
<option value="code20" <c:if test="${goodsExport.hdrycpnCd eq 'code20' }">selected="selected"</c:if>>건영택배</option>
<option value="code21" <c:if test="${goodsExport.hdrycpnCd eq 'code21' }">selected="selected"</c:if>>옐로우캡</option>
<option value="code22" <c:if test="${goodsExport.hdrycpnCd eq 'code22' }">selected="selected"</c:if>>ACI</option>
<option value="code23" <c:if test="${goodsExport.hdrycpnCd eq 'code23' }">selected="selected"</c:if>>EMS</option>
<option value="code24" <c:if test="${goodsExport.hdrycpnCd eq 'code24' }">selected="selected"</c:if>>FEDEX</option>
<option value="code25" <c:if test="${goodsExport.hdrycpnCd eq 'code25' }">selected="selected"</c:if>>합동택배</option>
<option value="code26" <c:if test="${goodsExport.hdrycpnCd eq 'code26' }">selected="selected"</c:if>>호남택배</option>
<option value="code27" <c:if test="${goodsExport.hdrycpnCd eq 'code27' }">selected="selected"</c:if>>우체국EMS</option>
<option value="code28" <c:if test="${goodsExport.hdrycpnCd eq 'code28' }">selected="selected"</c:if>>HPL(한의사랑)</option>
<option value="code29" <c:if test="${goodsExport.hdrycpnCd eq 'code29' }">selected="selected"</c:if>>용마로지스</option>
<option value="code3" <c:if test="${goodsExport.hdrycpnCd eq 'code3' }">selected="selected"</c:if>>경동택배</option>
<option value="code30" <c:if test="${goodsExport.hdrycpnCd eq 'code30' }">selected="selected"</c:if>>대운통운택배</option>
<option value="code31" <c:if test="${goodsExport.hdrycpnCd eq 'code31' }">selected="selected"</c:if>>FEDEX</option>
<option value="code32" <c:if test="${goodsExport.hdrycpnCd eq 'code32' }">selected="selected"</c:if>>고려택배</option>
<option value="code33" <c:if test="${goodsExport.hdrycpnCd eq 'code33' }">selected="selected"</c:if>>GTX로지스</option>
<option value="code34" <c:if test="${goodsExport.hdrycpnCd eq 'code34' }">selected="selected"</c:if>>KG로지스</option>
<option value="code35" <c:if test="${goodsExport.hdrycpnCd eq 'code35' }">selected="selected"</c:if>>판토logistics</option>
<option value="code36" <c:if test="${goodsExport.hdrycpnCd eq 'code36' }">selected="selected"</c:if>>CR로지텍</option>
<option value="code37" <c:if test="${goodsExport.hdrycpnCd eq 'code37' }">selected="selected"</c:if>>GSMNtoN</option>
<option value="code4" <c:if test="${goodsExport.hdrycpnCd eq 'code4' }">selected="selected"</c:if>>대한통운</option>
<option value="code5" <c:if test="${goodsExport.hdrycpnCd eq 'code5' }">selected="selected"</c:if>>kg로지스(구 동부택배)</option>
<option value="code6" <c:if test="${goodsExport.hdrycpnCd eq 'code6' }">selected="selected"</c:if>>로젠택배</option>
<option value="code7" <c:if test="${goodsExport.hdrycpnCd eq 'code7' }">selected="selected"</c:if>>우체국택배</option>
<option value="code8" <c:if test="${goodsExport.hdrycpnCd eq 'code8' }">selected="selected"</c:if>>하나로택배</option>
<option value="code9" <c:if test="${goodsExport.hdrycpnCd eq 'code9' }">selected="selected"</c:if>>한진택배</option>
<option value="code97" <c:if test="${goodsExport.hdrycpnCd eq 'code97' }">selected="selected"</c:if>>롯데택배 업무자동화</option>
<option value="code98" <c:if test="${goodsExport.hdrycpnCd eq 'code98' }">selected="selected"</c:if>>굿스플로 업무자동화</option>
<option value="code99" <c:if test="${goodsExport.hdrycpnCd eq 'code99' }">selected="selected"</c:if>>우체국택배 업무자동화</option>
</select>
</div>
<input type="text" name="invcnb" value="${goodsExport.invcnb}" oninput="validateInputEngNumber(this)" class="input-text md" title="송장번호" readonly>
<a href="javascript:void(0);" onclick="fn_open_dlvy_sweettracker_modal('${goodsExport.dlivyInnb}'); return false;" class="btn sm outline primary">조회</a>
</div>
</c:otherwise>
</c:choose>
</td>
<c:set var="rePreDlvyInnb" value="${ goodsExport.dlivyInnb }"/>
<c:set var="reDlvyCnt" value="${ reDlvyCnt + 1 }"/>
</c:if>
<td>${goodsExport.dlivyQy}</td>
<td>${goodsExport.dlivyComptDt}</td>
<td>${goodsExport.dlvyComptDt}</td>
<td>${goodsExport.dlivySttusNm}</td>
<td>
<span class="mileage-word">
<i class="icon icon_word-badge-mileage"></i>
<span class="comma"><fmt:formatNumber value="${goodsExport.mlgAmt}" pattern="#,###"/></span>
</span>
</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<tr class="row-no-data">
<td colspan="10" class="text-center">조회된 데이터가 없습니다.</td>
</tr>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
<div id="modalDiv"></div>
</section>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,155 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
<!DOCTYPE html>
<html lang="ko">
<head>
</head>
<body>
<div class="table-wrapper">
<table class="table vertical">
<caption>해당 테이블에 대한 설명</caption>
<!-- 각 열 width 설정 -->
<colgroup>
<col>
</colgroup>
<thead>
<tr>
<th>관리메모</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="table-wrapper">
<table class="table vertical tight">
<colgroup>
<col style="width: 6%;">
<col style="width: 12%;">
<col style="width: 12%;">
<col style="width: auto;">
<col style="width: 10%;">
</colgroup>
<thead>
<tr>
<th>번호</th>
<th>작성일자</th>
<th>작성자</th>
<th>내용</th>
<th>관리</th>
</tr>
</thead>
<tbody>
<c:set var="mngMemoList" value="${data.mngMemoList}"/>
<c:choose>
<c:when test="${not empty mngMemoList}">
<c:forEach var="mngMemo" items="${mngMemoList}" varStatus="status">
<tr>
<td>${status.count}</td>
<td>${mngMemo.registDt}</td>
<td>${mngMemo.regusrNm}</td>
<td class="updateMngMenoCn">${mngMemo.memoCn}</td>
<td>
<div class="manage-btn-container">
<input type="hidden" name="memoSnb" value="${mngMemo.memoSnb}"/>
<input type="hidden" name="memoDvCd" value="${mngMemo.memoDvCd}"/>
<button class="btn xsm outline btn-memo-update" type="button"><spring:message code="button.update"/> </button>
<button class="btn xsm light-gray btn-memo-delete" type="button"><spring:message code="button.delete"/></button>
</div>
</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<tr class="row-no-data">
<td colspan="5" class="text-center">조회된 데이터가 없습니다.</td>
</tr>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
<div class="table-wrapper">
<table class="table">
<caption>관리자 메모</caption>
<!-- 각 열 width 설정 -->
<colgroup>
<col style="width: 14%;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th>관리자 메모</th>
<td class="text-left">
<textarea name="memoCn" class="textarea memoCn" title="관리자 메모" cols="30" rows="4"></textarea>
<div class="form-control-container mt-5">
<div class="left"></div>
<div class="center"></div>
<div class="right">
<button type="button" id="CGN01601" class="btn sm primary btn-memo-regist">등록</button>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="table-wrapper">
<table class="table vertical">
<caption>해당 테이블에 대한 설명</caption>
<!-- 각 열 width 설정 -->
<colgroup>
<col>
</colgroup>
<thead>
<tr>
<th>물류담당자 메모</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="table-wrapper">
<table class="table">
<caption>물류담당자 메모</caption>
<!-- 각 열 width 설정 -->
<colgroup>
<col style="width: 14%;">
<col style="width: auto;">
</colgroup>
<tbody>
<c:set var="lgistMemo" value="${data.lgistMemo}"/>
<tr>
<th>물류담당자 메모</th>
<td class="text-left">
<textarea class="textarea memoCn" title="물류담당자 메모" cols="30" rows="4">${lgistMemo.memoCn}</textarea>
<input type="hidden" name="memoSnb" value="${lgistMemo.memoSnb}">
<div class="form-control-container mt-5">
<div class="left"></div>
<div class="center"></div>
<div class="right">
<button type="button" id="CGN01602" class="btn sm primary btn-memo-regist">등록</button>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>

View File

@@ -0,0 +1,48 @@
<%@ 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="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
<!DOCTYPE html>
<html lang="ko">
<head>
</head>
<body>
<div class="custom-radio-container mt-10 mb-10">
<div class="custom-radio">
<input type="radio" name="procsDtlsDvCd" id="procs" value="" <c:out value="${empty data.procsDtlsDvCd ? 'checked' : ''}"/>>
<label for="procs">주문처리</label>
</div>
<div class="custom-radio">
<input type="radio" name="procsDtlsDvCd" id="fail" value="fail" <c:out value="${'fail' eq data.procsDtlsDvCd ? 'checked' : ''}"/>>
<label for="fail">출고실패</label>
</div>
<div class="custom-radio">
<input type="radio" name="procsDtlsDvCd" id="npay" value="npay" <c:out value="${'npay' eq data.procsDtlsDvCd ? 'checked' : ''}"/>>
<label for="npay">Npay API 통신내역</label>
</div>
</div>
<div class="order-detail-log">
<c:set var="ordrProcsDtlsList" value="${data.ordrProcsDtlsList}"/>
<c:if test="${not empty ordrProcsDtlsList}">
<c:forEach var="ordrProcsDtls" items="${ordrProcsDtlsList}" varStatus="status">
<p class="order-detail-log__list">
<span class="order-detail-log__date">${ordrProcsDtls.procsDt}</span>
<span class="order-detail-log__description">
${ordrProcsDtls.cn}
<c:if test="${'npay' eq data.procsDtlsDvCd || 'kakaopay' eq data.procsDtlsDvCd}">
<br/>└ ${ordrProcsDtls.logDtlCn}
</c:if>
<c:if test="${'fail' eq data.procsDtlsDvCd}">
<br/>${ordrProcsDtls.logDtlCn}
</c:if>
</span>
</p>
</c:forEach>
</c:if>
</div>
</body>
</html>

View File

@@ -0,0 +1,87 @@
<%@ 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="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
<!DOCTYPE html>
<html lang="ko">
<head>
</head>
<body>
<section class="content-section">
<h3 class="content-section__title">주문<span class="gray-6 fw-400">(${ordrInnb})</span>의 무효/취소/반품 내역</h3>
<div class="table-wrapper">
<table class="table vertical">
<caption>무효/취소/반품 내역</caption>
<!-- 각 열 width 설정 -->
<colgroup>
<col style="width: 12.5%;">
<col style="width: 12.5%;">
<col style="width: 12.5%;">
<col style="width: 12.5%;">
<col style="width: 12.5%;">
<col style="width: 12.5%;">
<col style="width: 12.5%;">
<col style="width: 12.5%;">
</colgroup>
<thead>
<tr>
<th colspan="2">무료/취소/반품</th>
<th>처리 금액</th>
<th>처리 수량</th>
<th>처리 상태</th>
<th>접수일</th>
<th>완료일</th>
<th>처리 완료자</th>
</tr>
</thead>
<tbody>
<c:set var="orderRefundList" value="${data.orderRefundList}"/>
<c:choose>
<c:when test="${not empty orderRefundList}">
<c:forEach var="orderRefund" items="${orderRefundList}" varStatus="status">
<tr>
<td>${orderRefund.refundTyNm}</td>
<td>
<c:choose>
<c:when test="${orderRefund.useAt eq 'N'}">
<a class="gray-6 fw-500" type="button">${orderRefund.orderRefundInnb}</a>
</c:when>
<c:otherwise>
<a class="blue-6 fw-500" href="javascript:void(0);" onclick="fn_go_rtngud_refnd_dtl('${orderRefund.sopmalCd}', '${orderRefund.ordrInnb}', '${orderRefund.orderRefundInnb}');">${orderRefund.orderRefundInnb}</a>
</c:otherwise>
</c:choose>
</td>
<td><fmt:formatNumber value="${orderRefund.refundAmt}" pattern="#,###"/></td>
<td>${orderRefund.refundQy}</td>
<td>
<c:choose>
<c:when test="${orderRefund.useAt eq 'N'}">
반품철회
</c:when>
<c:otherwise>
${orderRefund.refundProcsSttusNm}
</c:otherwise>
</c:choose>
</td>
<td>${orderRefund.refundReqstDt}</td>
<td>${orderRefund.refundComptDt}</td>
<td>${orderRefund.mngrNm}</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<tr class="row-no-data">
<td colspan="8" class="text-center">조회된 데이터가 없습니다.</td>
</tr>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
</section>
</body>
</html>

View File

@@ -0,0 +1,283 @@
<%@ 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="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<style>
.table.transparent th, .table.transparent td {
height: 30px;
}
</style>
</head>
<body>
<c:set var="orderSetleList" value="${data.orderSetleList}"/>
<c:if test="${not empty orderSetleList}">
<c:forEach var="orderSetle" items="${orderSetleList}" varStatus="status">
<div class="table-wrapper">
<table class="table transparent">
<caption>결제정보</caption>
<colgroup>
<col style="width: 17%;">
<col style="width: 83%;">
</colgroup>
<tbody>
<tr>
<th class="text-right">결제수단</th>
<td>
<div class="td-inner">
<span class="badge-word">
<c:if test="${not empty orderSetle.pgCmpnyNm}">
<c:if test="${not empty orderSetle.setleTyCd && orderSetle.setleTyCd ne '02'}">
<c:choose>
<c:when test="${'npay' eq orderSetle.pgCmpnyNm}">
<i class="icon icon_word-badge_naver"></i>
</c:when>
<c:when test="${'kcp' eq orderSetle.pgCmpnyNm}">
<i class="icon icon_word-badge_kcp"></i>
</c:when>
<c:when test="${'pos' eq orderSetle.pgCmpnyNm}">
<i class="icon icon_word-badge_pos"></i>
</c:when>
<c:when test="${'payco' eq orderSetle.pgCmpnyNm}">
<i class="icon icon_word-badge_payco"></i>
</c:when>
<c:when test="${'tosspay' eq orderSetle.pgCmpnyNm}">
<i class="icon icon_word-badge_toss"></i>
</c:when>
<c:when test="${'toss' eq orderSetle.pgCmpnyNm}">
<i class="icon icon_word-badge_toss"></i>
</c:when>
<c:when test="${'gcpay' eq orderSetle.pgCmpnyNm}">
<i class="icon icon_word-badge_gcpay"></i>
</c:when>
<c:otherwise>
<span class="stone-8 fw-500">${orderSetle.pgCmpnyNm}</span>
</c:otherwise>
</c:choose>
</c:if>
</c:if>
<c:if test="${not empty orderSetle.setleTyCd}">
<c:choose>
<c:when test="${'05' eq orderSetle.setleTyCd}">
<i class="icon icon_word-badge06"></i>
<i class="icon icon_word-badge07"></i>
</c:when>
<c:when test="${'06' eq orderSetle.setleTyCd}">
<i class="icon icon_word-badge07"></i>
</c:when>
</c:choose>
</c:if>
<c:if test="${not empty orderSetle.memorSetle}">
${orderSetle.memorSetle}
</c:if>
${orderSetle.setleTyNm}
</span>
</div>
</td>
</tr>
<%-- <c:if test="${not empty orderSetle.rcpmnyAcntnb}"> --%>
<c:if test="${'02' eq orderSetle.setleTyCd}">
<tr>
<th class="text-right">입금계좌</th>
<td>
<div class="td-inner">
<div class="select-box">
<select name="acntnb" id="acntnb" title="계좌번호" <c:out value="${'15' ne ordrSttusCd ? 'disabled' : ''}"/>>
<c:if test="${not empty data.antnbList}">
<c:forEach var="dpst" items="${data.antnbList}" varStatus="status">
<c:set var="rcpmnyAcntnb" value="${dpst.bankNm += ' ' += dpst.acntnb += ' ' += dpst.dpstrNm}"/>
<option value="${rcpmnyAcntnb}" bnnk-nm="${dpst.bankNm}" dpstr-nm="${dpst.dpstrNm}" ${orderSetle.rcpmnyAcntnb == rcpmnyAcntnb ? 'selected' : ''}>${rcpmnyAcntnb}</option>
</c:forEach>
</c:if>
</select>
</div>
</div>
</td>
</tr>
<tr>
<th class="text-right">입금자명</th>
<td>
<div class="td-inner">
<input type="text" name="rcpmnyerNm" id="rcpmnyerNm" class="input-text left" value="${orderSetle.rcpmnyerNm}" title="입금자명" <c:out value="${'15' ne ordrSttusCd ? 'disabled' : ''}"/>>
<input type="hidden" name="ordrSetleInnb" id="ordrSetleInnb" value="${orderSetle.ordrSetleInnb}"/>
</div>
</td>
</tr>
<tr>
<th class="text-right">현금영수증</th>
<td>
<div class="td-inner">
<span class="gray-7">${orderSetle.issuSttusNm} (${orderSetle.crtnb})</span>
<c:if test="${'02' eq orderSetle.issuSttusCd}">
<button type="button" onclick="fn_go_csh_rcipt_popup('${orderSetle.selngPrufInnb}', '${orderSetle.sopmalCd}');" class="btn xsm outline">조회</button>
</c:if>
<c:if test="${empty orderSetle.issuSttusCd || '03' eq orderSetle.issuSttusCd || '04' eq orderSetle.issuSttusCd}">
<button type="button" onclick="fn_go_csh_rcipt_regist_popup('${orderSetle.selngPrufInnb}', '${orderSetle.sopmalCd}', 'regist');"class="btn xsm primary">신청</button>
</c:if>
</div>
</td>
</tr>
</c:if>
<c:if test="${'02' ne orderSetle.setleTyCd}">
<c:if test="${not empty orderSetle.pgCmpnyNm}">
<tr>
<th class="text-right">PG사</th>
<td>
<div class="td-inner">
${orderSetle.pgCmpnyNm} ${not empty orderSetle.setleDt ? '(' += orderSetle.setleDt += ')': ''}
</div>
</td>
</tr>
</c:if>
<c:if test="${not empty orderSetle.delngNb}">
<tr>
<th class="text-right">거래번호</th>
<td>
<div class="td-inner">
${orderSetle.delngNb}
</div>
</td>
</tr>
</c:if>
<c:if test="${not empty orderSetle.delngAmt}">
<tr>
<th class="text-right">거래금액</th>
<td>
<div class="td-inner">
<span class="gray-9 fw-700 comma">${orderSetle.delngAmt}</span>
<c:set var="delngAmt" value="${fn:replace(orderSetle.delngAmt, ',', '')}"/>
<c:set var="refndAmt" value="${fn:replace(orderSetle.refndAmt, ',', '')}"/>
<c:if test="${0 < refndAmt}">
<span class="red-7">(취소금액 : ${orderSetle.refndAmt})</span>
</c:if>
</div>
</td>
</tr>
</c:if>
<c:if test="${not empty orderSetle.confmDt}">
<tr>
<th class="text-right">승인시간</th>
<td>
<div class="td-inner">${orderSetle.confmDt}</div>
</td>
</tr>
</c:if>
<c:if test="${not empty orderSetle.bnnkNm}">
<tr>
<th class="text-right">은행</th>
<td>
<div class="td-inner">${orderSetle.bnnkNm}</div>
</td>
</tr>
</c:if>
<c:if test="${not empty orderSetle.dpstrNm}">
<tr>
<th class="text-right">예금주</th>
<td>
<div class="td-inner">${orderSetle.dpstrNm}</div>
</td>
</tr>
</c:if>
<c:if test="${not empty orderSetle.acntnb}">
<tr>
<th class="text-right">계좌</th>
<td>
<div class="td-inner">${orderSetle.acntnb}</div>
</td>
</tr>
</c:if>
<c:if test="${not empty orderSetle.apvlnb}">
<tr>
<th class="text-right">승인번호</th>
<td>
<div class="td-inner">${orderSetle.apvlnb}</div>
</td>
</tr>
</c:if>
<c:if test="${not empty orderSetle.cardCmpnyNm}">
<tr>
<th class="text-right">카드사</th>
<td>
<div class="td-inner">${orderSetle.cardCmpnyNm}</div>
</td>
</tr>
</c:if>
<c:if test="${not empty orderSetle.nintrAt}">
<tr>
<th class="text-right">무이자</th>
<td>
<div class="td-inner">${orderSetle.nintrAt}</div>
</td>
</tr>
</c:if>
<c:if test="${not empty orderSetle.instlmtMtCnt}">
<tr>
<th class="text-right">할부</th>
<td>
<div class="td-inner">${orderSetle.instlmtMtCnt}</div>
</td>
</tr>
</c:if>
<c:if test="${not empty orderSetle.escwAt}">
<tr>
<th class="text-right">에스크로</th>
<td>
<div class="td-inner">${orderSetle.escwAt}</div>
</td>
</tr>
</c:if>
<c:if test="${not empty orderSetle.rsltCd}">
<tr>
<th class="text-right">결과메세지</th>
<td>
<div class="td-inner">${not empty orderSetle.rsltCd ? '[' += orderSetle.rsltCd += ']' : ''} ${orderSetle.rsltMssageCn}</div>
</td>
</tr>
</c:if>
</c:if>
<c:if test="${not empty orderSetle.cashAt && orderSetle.cashAt eq 'Y'}">
<tr>
<th class="text-right">GC 머니</th>
<td>
<div class="td-inner">
<span class="gray-9 fw-700 comma">${orderSetle.cashSetleAmt}</span>
</div>
</td>
</tr>
</c:if>
</tbody>
</table>
</div>
<c:if test="${not empty orderSetle.reqstDvCd || not empty orderSetle.setleMthCd}">
<div class="manage-btn-container mb-20">
<c:if test="${'01' eq orderSetle.setleTyCd}">
<button type="button" onclick="fn_go_selng_pruf_list('${orderSetle.sopmalCd}', '${orderSetle.ordrInnb}');" class="btn sm outline">신용카드전표</button>
</c:if>
<c:if test="${'01' ne orderSetle.setleTyCd}">
<button type="button" onclick="fn_go_selng_pruf_list('${orderSetle.sopmalCd}', '${orderSetle.ordrInnb}');" class="btn sm outline">매출증빙</button>
</c:if>
<c:if test="${'01' eq orderSetle.reqstDvCd}">
<button type="button" onclick="fn_go_selng_pruf_list('${orderSetle.sopmalCd}', '${orderSetle.ordrInnb}');" class="btn sm outline">세금계산서</button>
</c:if>
<c:if test="${'02' eq orderSetle.reqstDvCd}">
<button type="button" onclick="fn_go_selng_pruf_list('${orderSetle.sopmalCd}', '${orderSetle.ordrInnb}');" class="btn sm outline">현금영수증</button>
</c:if>
<button type="button" id="delngDtstmn" onclick="fn_go_delng_dtstmn_popup('${orderSetle.ordrInnb}');" class="btn sm outline">거래명세서</button>
</div>
</c:if>
</c:forEach>
</c:if>
</body>
</html>

View File

@@ -0,0 +1,301 @@
<%@ 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="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
<!DOCTYPE html>
<html lang="ko">
<head>
</head>
<body>
<c:set var="orderShippingList" value="${data.orderShippingList}"/>
<c:if test="${not empty orderShippingList}">
<c:forEach var="orderShipping" items="${orderShippingList}" varStatus="status">
<section class="content-section">
<form id="adres${orderShipping.ordrDlvyInnb}">
<input type="hidden" name="sopmalCd" id="sopmalCd" value="${orderShipping.sopmalCd}"/>
<input type="hidden" name="ordrInnb" id="ordrInnb" value="${orderShipping.ordrInnb}">
<h3 class="content-section__title">배송지 정보</h3>
<div class="form-control-container mb-10">
<div class="left">
<h3 class="delivery-info__title">
<%-- <span class="blue-6 fw-700">${orderShipping.recpntNm}</span>님의 ${status.count}번째 배송지 정보--%>
<span class="blue-6 fw-700">${orderShipping.recpntNm}</span>님의 배송지 정보
</h3>
</div>
<div class="center"></div>
<div class="right">
<%-- <c:if test="${fn:length(orderShippingList) > 1}"> TODO : 여러곳배송 개발때 --%>
<%-- <div class="input-container">--%>
<%-- <span class="mr-5 fw-500">희망 배송일</span>--%>
<%-- <input type="text" name="resveSndngDe" id="resveSndngDe${orderShipping.ordrDlvyInnb}" value="${orderShipping.resveSndngDe}" class="datepicker resve-sndng-de" title="희망배송일자 선택" autocomplete="off">--%>
<%-- </div>--%>
<%-- </c:if>--%>
<button type="button" class="btn sm primary outline btn-charge-adres">변경</button>
</div>
</div>
<div class="table-wrapper">
<input type="hidden" name="ordrDlvyInnb" value="${orderShipping.ordrDlvyInnb}">
<table class="table">
<caption>배송지 정보</caption>
<colgroup>
<col style="width: 10%;">
<col style="width: 40%">
<col style="width: 10%;">
<col style="width: 40%">
</colgroup>
<tbody>
<tr>
<th>전화번호</th>
<td colspan="3">
<div class="td-inner">
<div class="table-wrapper">
<table class="table transparent">
<caption>전화번호 정보</caption>
<colgroup>
<col style="width: auto;">
<col style="width: auto;">
<col style="width: auto;">
<col style="width: auto;">
<col style="width: auto;">
<col style="width: auto;">
<col style="width: 40%;">
</colgroup>
<tbody>
<tr>
<th class="text-right">이름</th>
<td>
<div class="td-inner">
<input type="text" name="recpntNm" id="recpntNm" value="${orderShipping.recpntNm}" class="input-text" title="이름">
</div>
</td>
<th class="text-right">휴대폰</th>
<td>
<div class="td-inner">
<div class="phone-container">
<%-- <input type="text" value="${fn:substring(orderShipping.recpntMbtlnb, 0, 3)}" oninput="fn_set_event(this, 'keyup', fn_fmt_telno)" maxlength="3" class="input-text xsm recpnt-mbtlnb" title="핸드폰번호1"> --%>
<!-- <span class="mx-3 fs-16">-</span> -->
<%-- <input type="text" value="${fn:substring(orderShipping.recpntMbtlnb, 4, 8)}" oninput="fn_set_event(this, 'keyup', fn_fmt_telno)" maxlength="4" class="input-text xsm recpnt-mbtlnb" title="핸드폰번호2"> --%>
<!-- <span class="mx-3 fs-16">-</span> -->
<%-- <input type="text" value="${fn:substring(orderShipping.recpntMbtlnb, 9, 13)}" oninput="fn_set_event(this, 'keyup', fn_fmt_telno)" maxlength="4" class="input-text xsm recpnt-mbtlnb" title="핸드폰번호3"> --%>
<%-- <input type="hidden" name="recpntMbtlnb" id="recpntMbtlnb" value="${orderShipping.recpntMbtlnb}"> --%>
<input type="text" class="input-text" name="recpntMbtlnb" id="recpntMbtlnb" value="${orderShipping.recpntMbtlnb}" oninput="fn_set_event(this, 'keyup', fn_fmt_telno)" />
<button type="button" onclick="fn_go_send_sms('', '${orderShipping.sopmalCd}', '${orderShipping.recpntMbtlnb}');" class="btn xsm gray ml-10">보내기</button>
</div>
</div>
</td>
<th class="text-right">일반전화</th>
<td>
<div class="td-inner">
<div class="phone-container">
<%-- <input type="text" value="${fn:substring(orderShipping.recpntTelnb, 0, 3)}" oninput="fn_set_event(this, 'keyup', fn_fmt_telno)" maxlength="3" class="input-text xsm recpnt-telnb" title="전화번호1"> --%>
<!-- <span class="mx-3 fs-16">-</span> -->
<%-- <input type="text" value="${fn:substring(orderShipping.recpntTelnb, 4, 8)}" oninput="fn_set_event(this, 'keyup', fn_fmt_telno)" maxlength="4" class="input-text xsm recpnt-telnb" title="전화번호2"> --%>
<!-- <span class="mx-3 fs-16">-</span> -->
<%-- <input type="text" value="${fn:substring(orderShipping.recpntTelnb, 9, 13)}" oninput="fn_set_event(this, 'keyup', fn_fmt_telno)" maxlength="4" class="input-text xsm recpnt-telnb" title="전화번호3"> --%>
<%-- <input type="hidden" name="recpntTelnb" id="recpntTelnb" value="${orderShipping.recpntTelnb}"> --%>
<input type="text" class="input-text" name="recpntTelnb" id="recpntTelnb" value="${orderShipping.recpntTelnb}" oninput="fn_set_event(this, 'keyup', fn_fmt_telno)" />
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</td>
</tr>
<tr>
<th>주소</th>
<td colspan="3">
<div class="td-inner">
<div class="table-wrapper">
<table class="table transparent">
<caption>주소 정보</caption>
<colgroup>
<col style="width: 70px;">
<col style="width: 180px;">
<col style="width: auto;">
<col style="width: 70px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th class="text-right">우편번호</th>
<td>
<div class="td-inner">
<input type="text" name="dlvylcZip" id="dlvylcZip" value="${orderShipping.dlvylcZip}" class="input-text xsm" title="우편번호" readonly>
<input type="hidden" name="dlvylcAdresDvCd" id="dlvylcAdresDvCd" value="${orderShipping.dlvylcAdresDvCd}"/>
<button type="button" class="address-line__find-btn ordr-dtl-adress-popup">주소찾기</button>
</div>
</td>
<td>
<table style="width: 100%;">
<colgroup>
<col style="width: 100px;">
<col style="width: auto;">
</colgroup>
<tr>
<th class="text-right">도로명 주소</th>
<td>
<div class="td-inner">
<input type="text" name="dlvylcRnmAdres" id="dlvylcRnmAdres" value="${orderShipping.dlvylcRnmAdres}" class="input-text lg" title="도로명 주소" readonly>
</div>
</td>
</tr>
<tr>
<th class="text-right">지번주소</th>
<td>
<div class="td-inner">
<input type="text" name="dlvylcLnbAdres" id="dlvylcLnbAdres" value="${orderShipping.dlvylcLnbAdres}" class="input-text lg" title="지번주소" readonly>
</div>
</td>
</tr>
</table>
</td>
<th class="text-right">공통상세</th>
<td>
<div class="td-inner">
<input type="text" name="dlvylcAdresDtl" id="dlvylcAdresDtl" value="${orderShipping.dlvylcAdresDtl}" class="input-text lg" title="공통상세">
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</td>
</tr>
<tr>
<th>배송메모</th>
<td colspan="3">
<div class="td-inner">
<textarea name="dlvyMssageCn" class="textarea" title="배송메모" cols="30" rows="2">${orderShipping.dlvyMssageCn}</textarea>
</div>
</td>
</tr>
<c:if test="${ not empty orderShipping.giftSttusCd }">
<tr>
<th>선물정보</th>
<td colspan="3">
<div class="td-inner">
<div class="table-wrapper">
<table class="table transparent">
<caption>선물하기 정보</caption>
<colgroup>
<col style="width: auto;">
<col style="width: auto;">
<col style="width: 7%;">
<col style="width: auto;">
<col style="width: 63%;">
</colgroup>
<tbody>
<tr>
<th class="text-right">선물상태</th>
<td>
<div class="td-inner">
<input type="text" value="${orderShipping.giftSttusCdNm}" class="input-text" title="선물상태" readonly>
</div>
</td>
<th class="text-right">선물 메시지</th>
<td>
<div class="td-inner">
<input type="text" name="giftMssageCn" value="${orderShipping.giftMssageCn}" class="input-text lg" title="선물 메시지">
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</td>
</tr>
</c:if>
<c:if test="${fn:length(orderShippingList) > 1}">
<c:set var="orderShippingGoodsList" value="${orderShipping.orderShippingGoodsList}"/>
<spring:eval expression="@environment.getProperty('mngrfo.common.fileupload.cdnurl')" var="cdnurl"/>
<c:if test="${not empty orderShippingGoodsList}">
<tr>
<th>상품정보</th>
<td colspan="3">
<div class="td-inner">
<table class="table vertical">
<caption>상품 정보</caption>
<colgroup>
<col style="width: auto">
<col style="width: 8%;">
<col style="width: 8%;">
<col style="width: 8%;">
<col style="width: 8%;">
<%--<col style="width: 8%;">--%>
<col style="width: 8%;">
<col style="width: 8%;">
</colgroup>
<thead>
<tr>
<th>주문상품</th>
<th>상품금액</th>
<th>할인금액</th>
<th>할인적용금액</th>
<th>예상마일리지</th>
<%--<th>주문상품 수량</th>--%>
<th>배송지 별 수량</th>
<th>상품 상태</th>
</tr>
</thead>
<tbody>
<c:forEach var="orderShippingGoods" items="${orderShippingGoodsList}" varStatus="status">
<tr>
<td>
<div class="order-section__product">
<img src="${ cdnurl }${orderShippingGoods.goodsImgCours}" onerror="this.src='<c:url value="/mngr/images/image_placeholder.png"/>'" alt="${orderShippingGoods.goodsNm}" width="56" height="56">
<div class="order-section__product-info">
<span class="order-section__product-productTitle">${orderShippingGoods.goodsNm}</span>
<span class="option-text">
<span class="option-badge">옵션</span> ${orderShippingGoods.optnNm}
</span>
</div>
</div>
</td>
<td><span class="comma"><fmt:formatNumber value="${orderShippingGoods.slepric}" pattern="#,###"/></span></td>
<td>
<span class="stone-8">(-)</span>
<span class="comma"><fmt:formatNumber value="${orderShippingGoods.dscntAmt}" pattern="#,###"/></span>
</td>
<td>
<span class="fw-700 comma"><fmt:formatNumber value="${orderShippingGoods.applyDscntAmt}" pattern="#,###"/></span>
</td>
<td>
<span class="comma"><fmt:formatNumber value="${orderShippingGoods.mlgAmt}" pattern="#,###"/></span>
</td>
<%--
<td>
<span class="blue-6"><fmt:formatNumber value="${orderShippingGoods.ordrQy}" pattern="#,###"/></span>
</td>
--%>
<td>
<span class="blue-6"><fmt:formatNumber value="${orderShippingGoods.ordrQy}" pattern="#,###"/></span>
</td>
<td>${orderShippingGoods.ordrSttusNm}</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</td>
</tr>
</c:if>
</c:if>
</tbody>
</table>
</div>
</form>
</section>
</c:forEach>
</c:if>
</body>
</html>

View File

@@ -0,0 +1,412 @@
<%@ 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="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<%@ include file="/WEB-INF/views/comm/mngr/Include.jsp"%>
<style>
.pbreak {page-break-after: always;}
table.order_print_info tr th {
padding:3px 3px 3px 3px;
text-align:left;
font-size:11px;
color:#4d4d4d;
font-weight:normal;
}
table.order_print_info tr td {
padding:3px 3px 3px 3px;
text-align:right;
font-size:11px;
}
table.delivery_print_info {
border-collapse:collapse !important;
border:1px solid #bcbfc1;
table-layout: fixed;
}
table.delivery_print_info tr th {
padding:3px 3px 3px 3px;
font-size:11px;
color:#4d4d4d;
font-weight:normal;
}
table.delivery_print_info tr td {
padding:3px 3px 3px 3px;
font-size:11px;
}
table.delivery_goods_print_info {
border-collapse:collapse !important;
border:1px solid #bcbfc1;
table-layout: fixed
}
table.delivery_goods_print_info tr th {
padding:3px 3px 3px 3px;
font-size:11px;
color:#4d4d4d;
font-weight:normal;
border-left:1px solid #bcbfc1;
border-top:1px solid #bcbfc1;
}
table.delivery_goods_print_info tr td {
padding:3px 3px 3px 3px;
font-size:11px;
border-left:1px solid #bcbfc1;
border-top:1px solid #bcbfc1;
}
span.title_print_info {
font-size:12px;
color:#000000;
font-weight:normal;
letter-spacing:-1px;
}
table.order-sale-summary tr.total-sale-title td {
font-size:14px !important;
font-weight:normal !important;
color:#000000 !important;
}
tr.detail-sale-summary td div {
padding:0px !important;
color:#000000 !important;
}
tr.detail-sale-summary td {
color:#000000 !important;
}
tr.detail-sale-summary td span {
padding:0px !important;
color:#000000;
}
tr.total-sale-title td span {
padding:0px !important;
color:#000000;
}
tr.detail-sale-summary td:last-child {
padding:0px !important;
color:#000000 !important;
font-weight:normal !important;
}
tr.detail-sale-summary td:last-child span {
padding:0px !important;
color:#000000 !important;
font-size:14px !important;
font-weight:normal !important;
}
span.unit-money {
display:inline-block;width:10px;
}
tr {
page-break-inside:avoid;
page-break-after:auto;
}
td {
page-break-inside:avoid;
page-break-after:auto;
}
</style>
<script>
$(document).ready(function(){
window.print();
});
</script>
</head>
<body>
<div id="wrap">
<c:set var="ordrDtstmnDwlds" value="${data.ordrDtstmnDwldList}"/>
<c:forEach var="ordrDtstmnDwld" items="${ordrDtstmnDwlds}" varStatus="status">
<div class="pbreak">
<div align="center">
<table>
<tr>
<td>
<span style="text-align:center;font-size:20px;letter-spacing:-1px;font-weight:bold;padding-top:20px;">
주문내역서
</span>
</td>
</tr>
</table>
</div>
<div style="height:5px;"></div>
<table style="width:100%;">
<col style="width:48%;">
<col style="width:4%;">
<col style="width:48%;">
<tr>
<td><span class="title_print_info">주문정보</span></td>
<td></td>
<td><span class="title_print_info">결제정보</span></td>
</tr>
<tr>
<td><div style="width:100%;border-top:1px solid #545454;height:1px;"></div></td>
<td></td>
<td><div style="width:100%;border-top:1px solid #545454;height:1px;"></div></td>
</tr>
<tr>
<td>
<c:set var="ordr" value="${ordrDtstmnDwld.ordr}"/>
<c:set var="setle" value="${ordrDtstmnDwld.setle}"/>
<table class="order_print_info" style="width:100%;">
<tr>
<th>주문번호</th>
<td>${ordr.ordrInnb}</td>
</tr>
<tr>
<th>주문일자</th>
<td>${ordr.ordrRceptDt}</td>
</tr>
<tr>
<th>주문고객</th>
<td>${ordr.mbrNm}</td>
</tr>
<tr>
<th>전화</th>
<td>${ordr.ordrrTelnb}</td>
</tr>
<tr>
<th>휴대전화</th>
<td>${ordr.ordrrMbtlnb}</td>
</tr>
<tr>
<th>이메일</th>
<td>${ordr.ordrrEmailAdres}</td>
</tr>
</table>
</td>
<td></td>
<td valign="top">
<table class="order_print_info" style="width:100%;">
<tr>
<th>상품금액</th>
<td><fmt:formatNumber value="${setle.slepric}" pattern="#,###"/>원</td>
</tr>
<tr>
<th>배송비</th>
<td><fmt:formatNumber value="${setle.dlvyAmt}" pattern="#,###"/>원</td>
</tr>
<tr>
<th>할인</th>
<td><fmt:formatNumber value="${setle.dscntAmt}" pattern="#,###"/>원</td>
</tr>
<tr>
<th>총 결제금액</th>
<td>
<span style="font-size:12px;"><fmt:formatNumber value="${setle.setleAmt}" pattern="#,###"/>원</span>
</td>
</tr>
<tr>
<th>결제수단</th>
<td>${ordr.setleTyNm}</td>
</tr>
</table>
</td>
</tr>
</table>
<div style="height:10px"></div>
<div>
<table style="width:100%;">
<tr>
<td><span class="title_print_info">배송정보</span></td>
</tr>
</table>
<c:set var="shipping" value="${ordrDtstmnDwld.shipping}"/>
<c:if test="${not empty shipping}">
<c:forEach var="ship" items="${shipping}" varStatus="status">
<table class="delivery_goods_print_info" style="width:100%; ${status.count > 1 ? 'margin-top:5px;' : '' }">
<col style="width:5%;">
<col style="width:20%;">
<col style="width:20%;">
<col style="width:20%;">
<tr align="left">
<td rowspan="3">${status.count}번째</td>
<td>${ship.recpntNm}</td>
<td>${ship.recpntMbtlnb}</td>
<td>${ship.recpntTelnb}</td>
</tr>
<tr align="left">
<td colspan="3">
${not empty ship.dlvylcZip ? '(' += ship.dlvylcZip += ')' : ''}
${ship.adres}
${ship.dlvylcAdresDtl}
</td>
</tr>
<tr align="left">
<td colspan="3">${ship.dlvyMssageCn}</td>
</tr>
</table>
</c:forEach>
</c:if>
<c:if test="${empty shipping}">
<table class="delivery_goods_print_info" style="width:100%; ${status.count > 1 ? 'margin-top:5px;' : '' }">
<col style="width:5%;">
<col style="width:20%;">
<col style="width:20%;">
<col style="width:20%;">
<tr><td colspan="9" style="text-align: center">조회된 데이터가 없습니다.</td></tr>
</table>
</c:if>
</div>
<div style="height:10px"></div>
<table align="center" style="width:100%;">
<tr>
<td class="left"><span class="title_print_info">주문상품 (${ordr.itemCnt}종 - 총 ${ordr.orderCnt}개)</span></td>
</tr>
</table>
<div style="height:3px"></div>
<c:set var="goodsList" value="${ordrDtstmnDwld.goods}"/>
<c:if test="${not empty goodsList}">
<c:forEach var="goods" items="${goodsList}" varStatus="status">
<table class="delivery_goods_print_info" align="center" style="width:100%; ${status.count > 1 ? 'margin-top:5px;' : '' }">
<colgroup>
<col style="width:auto;">
<col style="width:50px;">
<col style="width:35px;">
<col style="width:70px;">
<col style="width:70px;">
<col style="width:70px;">
<col style="width:70px;">
<col style="width:70px;">
<col style="width:35px;">
</colgroup>
<tr>
<th>상품명</th>
<th>배송지</th>
<th>주문</th>
<th>판매가</th>
<th>할인</th>
<th>할인가(단가)</th>
<th>적립</th>
<th>배송</th>
<th>취소</th>
</tr>
<tr>
<td>
<table style="border:0px">
<tr>
<td style="font-size:11px;border:0px;">
${goods.goodsNm}
<c:if test="${not empty goods.optnNm}">
<div style="padding:2px 0px 0px 0px;">- ${goods.optnNm}</div>
</c:if>
</td>
</tr>
</table>
</td>
<td class="right">
<c:forEach var="ship" items="${shipping}" varStatus="status">
<c:if test="${ship.ordrDlvyInnb == goods.ordrDlvyInnb}">
${status.count}번째
</c:if>
</c:forEach>
</td>
<td class="right"><fmt:formatNumber value="${goods.ordrQy}" pattern="#,###"/></td>
<td class="right"><fmt:formatNumber value="${goods.slepric}" pattern="#,###"/>원</td>
<td class="right"><fmt:formatNumber value="${goods.dscntAmt}" pattern="#,###"/>원</td>
<td class="right"><fmt:formatNumber value="${goods.applyDscntAmt}" pattern="#,###"/>원<br/>(<fmt:formatNumber value="${goods.slepric}" pattern="#,###"/>원)</td>
<td class="right"><fmt:formatNumber value="${goods.mlgAmt}" pattern="#,###"/></td>
<td rowspan="4" class="right">
<div><span>${goods.dlvyMthNm}</span></div>
<div><span class="bold"><fmt:formatNumber value="${goods.dlvyAmt}" pattern="#,###"/></span></div>
</td>
<td class="right"><fmt:formatNumber value="${goods.setleCanclQy}" pattern="#,###"/></td>
</tr>
</table>
</c:forEach>
</c:if>
<c:if test="${empty goodsList}">
<table class="delivery_goods_print_info" align="center" style="width:100%;">
<colgroup>
<col style="width:auto;">
<col style="width:50px;">
<col style="width:35px;">
<col style="width:70px;">
<col style="width:70px;">
<col style="width:70px;">
<col style="width:70px;">
<col style="width:70px;">
<col style="width:35px;">
</colgroup>
<tr>
<th>상품명</th>
<th>배송지</th>
<th>주문</th>
<th>판매가</th>
<th>할인</th>
<th>할인가(단가)</th>
<th>적립</th>
<th>배송</th>
<th>취소</th>
</tr>
<tr>
<td colspan="9" style="text-align: center">조회된 데이터가 없습니다.</td>
</tr>
</table>
</c:if>
<div style="height:5px;"></div>
<table align="center" style="width:696px;">
<colgroup>
<col style="width:20%;">
<col>
<col style="width:20%;">
<col>
<col style="width:20%;">
<col>
<col style="width:20%;">
</colgroup>
<tbody>
<tr>
<td style="text-align:right;font-size:12px;">
<span>총 상품금액</span>
</td>
<td style="text-align:center;font-size:12px;"><span>+</span></td>
<td style="text-align:right;font-size:12px;">
<span>배송비</span>
</td>
<td style="text-align:center;font-size:12px;"><span>-</span></td>
<td style="text-align:right;font-size:12px;">
<span>할인<span> <fmt:formatNumber value="${setle.dscntAmt}" pattern="#,###"/>원</span></span>
</td>
<td style="text-align:center;font-size:12px;"><span>=</span></td>
<td style="text-align:right;font-size:12px;">
<span>총 결제금액</span>
</td>
</tr>
<tr>
<td style="text-align:right;font-size:11px;">
<span><fmt:formatNumber value="${setle.slepric}" pattern="#,###"/>원</span>
</td>
<td></td>
<td style="text-align:right;font-size:11px;">
<div>
<span><fmt:formatNumber value="${setle.dlvyAmt}" pattern="#,###"/>원</span>
</div>
</td>
<td></td>
<td style="text-align:right;font-size:11px;">
<c:set var="dscnts" value="${ordrDtstmnDwld.dscnt}"/>
<c:if test="${not empty dscnts}">
<c:forEach var="dscnt" items="${dscnts}" varStatus="status">
<div>${dscnt.dscntDvNm}:<span><fmt:formatNumber value="${dscnt.dscntAmt}" pattern="#,###"/>원</span></div>
</c:forEach>
</c:if>
<c:if test="${empty dscnts}">
<div><span>0원</span></div>
</c:if>
</td>
<td></td>
<td style="text-align:right;font-size:12px;">
<span><fmt:formatNumber value="${setle.setleAmt}" pattern="#,###"/>원</span>
</td>
</tr>
</tbody>
</table>
</div>
<div style="height:50px"></div>
</div>
</c:forEach>
</body>
</html>

View File

@@ -0,0 +1,588 @@
<%@ 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="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<%@ include file="/WEB-INF/views/comm/mngr/Include.jsp"%>
<script>
$(document).ready(function(){
fn_init();
fn_event();
});
/* ********************************************************
* 초기 설정
**********************************************************/
const fn_init = function() {
$('#sevenDays').trigger('click'); // 날짜 설정
fn_get_ordr_list(1);
}
/* ********************************************************
* 이벤트 설정
**********************************************************/
const fn_event = function() {
/*
* 검색조건 > 검색닫기/열기 버튼 클릭 이벤트
*/
$('.windowPop-sectionClose').on('click', function (e) {
e.preventDefault();
var content = $('.windowPop-sectionContent');
if ($(this).hasClass('closed')) {
content.show();
$(this).removeClass('closed');
$(this).text('검색닫기');
return;
}
content.hide();
$(this).addClass('closed');
$(this).text('검색열기');
});
/*
* 검색조건 > 주문상태 전체 체크박스 클릭 이벤트
*/
$('.check_all_item').on('change', function() {
let checkbox = $(this).closest('td').find('input[name="srchOrdrSttusCds"]');
$(checkbox).prop('checked', false);
$(checkbox).prop('checked', $(this).is(':checked'));
});
/*
* 검색조건 > 매장 셀렉트박스 체인지 이벤트
*/
$('#srchStrInnb').on('change', function() {
$('#srchStrInnbTxt').val($(this).val());
});
/*
* 검색조건 > 배송예정 셀렉트박스 체인지 이벤트
*/
$('#srchResveSndngDvCd').on('change', function() {
if ('' == $(this).val()) {
$('#srchHopDlvyStartDate, #srchHopDlvyEndDate').val('');
}
});
/*
* 검색조건 > 날짜 전체 버튼 클릭 이벤트
*/
$('#allDays').on('click', function() {
$('#srchStartDate, #srchEndDate').val('');
});
/*
* 검색조건 > 검색어 키업 이벤트
*/
$('#srchwrd').on('keydown', function(e) {
if (e.keyCode == 13) {
$('#btnSearch').trigger("click");
e.preventDefault();
}
});
/*
* 검색조건 > 검색 버튼 클릭 이벤트
*/
$('#btnSearch').on('click', function() {
fn_get_ordr_list(1);
});
/*
* 검색조건 > 초기화 버튼 클릭 이벤트
*/
$('#btnResetForm').on('click', function(){
fn_reset_form('search-section');
$('#sevenDays').trigger("click"); // 날짜 설정
$('#srchwrdDv option:eq(0)').prop('selected', true);
$('#srchwrdDv').niceSelect('update');
$('#srchStrInnb option:eq(0)').prop('selected', true);
$('#srchStrInnb').niceSelect('update');
$('#srchStrInnb option:eq(0)').prop('selected', true);
$('#srchStrInnb').niceSelect('update');
$('#srchDateDv option:eq(0)').prop('selected', true);
$('#srchDateDv').niceSelect('update');
$('#srchResveSndngDvCd option:eq(0)').prop('selected', true);
$('#srchResveSndngDvCd').niceSelect('update');
$('input[name="srchOrdrSttusCds"][value="15"]').prop('checked', true);
$('input[name="srchOrdrSttusCds"][value="25"]').prop('checked', true);
});
}
/* ********************************************************
* function
**********************************************************/
/* 전체주문 목록 조회 */
const fn_get_ordr_list = function(pageIndex) {
$('#pageIndex').val(pageIndex);
$.ajax({
type:'post',
url:'<c:url value="/mngr/ordr/ordrmngr/selectOrdrDtlInqirePoputFormList"/>',
data:$('#condForm').serialize(),
success : function(html) {
$('#pageDiv').html(html);
}
});
}
/* 주문 선택 */
const fn_select = function(ordrInnb, mbrid) {
$(opener.location).attr('href', 'javascript:fn_fdbck_ordr_inqire_popup(\'' +ordrInnb + '\', \'' + mbrid + '\' );');
window.open('','_self').close();
}
</script>
</head>
<body>
<div class="windowPop-wrapper">
<!-- 검색 시작 -->
<section class="content-section" id="search-section">
<form id="condForm">
<input type="hidden" id="totalRecordCount" name="totalRecordCount" value=""/>
<input type="hidden" id="totalPageCount" name="totalPageCount" value=""/>
<input type="hidden" id="currentPageNo" name="currentPageNo" value=""/>
<input type="hidden" id="pageIndex" name="pageIndex" value=""/>
<div class="table-wrapper windowPop-sectionContent">
<table class="table">
<caption>해당 테이블에 대한 설명</caption>
<colgroup>
<col style="width: 12%;">
<col style="width: auto;">
<col style="width: 12%;">
<col style="width: 12%;">
<col style="width: 23%;">
</colgroup>
<tbody>
<tr>
<th>검색어</th>
<td colspan="4">
<div class="td-inner">
<div class="select-box">
<select title="검색어 구분" name="srchwrdDv" id="srchwrdDv">
<option value="ordrInnb">주문번호</option>
<option value="ordrrTelnb">주문자휴대전화</option>
<option value="naverPayOrdrInnb">네이버페이주문번호</option>
<option value="kakaoPayOrdrInnb">카카오페이주문번호</option>
<option value="ordrrNm">주문자명</option>
<option value="rcpmnyerNm">입금자명</option>
<option value="recpntNm">받는자명</option>
<option value="recpntMbtlnb">받는자휴대전화번호</option>
<option value="goodsNm">상품명</option>
<option value="goodsInnb">상품번호</option>
</select>
</div>
<input class="input-text xl" type="text" name="srchwrd" id="srchwrd" title="검색어" placeholder="검색어를 입력해 주십시요.">
</div>
</td>
</tr>
<tr class="search-hide">
<th>매장</th>
<td colspan="4">
<div class="td-inner">
<div class="select-box">
<select title="매장" name="srchStrInnb" id="srchStrInnb">
<option value="">전체</option>
<c:forEach items="${cond.storeList}" var="store" varStatus="status">
<option value="${store.strInnb}">${store.tentcpnNm}</option>
</c:forEach>
</select>
</div>
<input disabled class="input-text" type="text" name="srchStrInnbTxt" id="srchStrInnbTxt" title="선택 매장" value="">
</div>
</td>
</tr>
<tr class="search-hide">
<th>날짜</th>
<td colspan="2">
<div class="td-inner">
<div class="select-box">
<select name="srchDateDv" id="srchDateDv" title="일자구분" class="init">
<option value="ordrDt" selected>주문일</option>
<option value="rcpmnyDt">입금일</option>
</select>
</div>
<div class="input-container">
<input type="text" name="srchStartDate" id="srchStartDate" class="datepicker" title="시작 날짜 선택" autocomplete="off">
<span class="tilde">~</span>
<input type="text" name="srchEndDate" id="srchEndDate" class="datepicker" title="종료 날짜 선택" autocomplete="off" pattern="yyyy-MM-dd">
</div>
<div class="dateRange-btnContainer">
<button class="dateRange-btn" id="yesterday" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','1D')">어제</button>
<button class="dateRange-btn" id="today" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','0')">오늘</button>
<button class="dateRange-btn" id="threeDays" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','3D')">3일간</button>
<button class="dateRange-btn" id="sevenDays" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','7D')">일주일</button>
<button class="dateRange-btn" id="oneMonth" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','1M')">1개월</button>
<button class="dateRange-btn" id="threeMonth" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','3M')">3개월</button>
<button class="dateRange-btn" id="sixMonth" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','6M')">6개월</button>
<button class="dateRange-btn" id="oneYear" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','1Y')">1년</button>
<button class="dateRange-btn" id="allDays">전체</button>
</div>
</div>
</td>
</tr>
<tr class="search-hide">
<th>주문상태 (출고전)</th>
<td colspan="2">
<div class="td-inner">
<div class="b-checkbox-container order-status-badge-container">
<c:forEach items="${cond.cgo014List}" var="cgo014" varStatus="status">
<c:if test="${(cgo014.cd > 14 && cgo014.cd < 36) || (cgo014.cd > 84 && cgo014.cd < 100)}">
<label class="b-checkbox checkbox">
<input type="checkbox" name="srchOrdrSttusCds" value="${cgo014.cd}" <c:out value="${'15' == cgo014.cd || '25' == cgo014.cd ? 'checked' : ''}"/>/>
<span class="check"></span>
<span class="control-label">
<c:choose>
<c:when test="${cgo014.cd eq 15 }">
<span class="order-status-badge recept">${cgo014.cdNm}</span>
</c:when>
<c:when test="${cgo014.cd eq 25 }">
<span class="order-status-badge confirm">${cgo014.cdNm}</span>
</c:when>
<c:when test="${cgo014.cd eq 35 }">
<span class="order-status-badge prep">${cgo014.cdNm}</span>
</c:when>
<c:otherwise>
<span class="order-status-badge gray">${cgo014.cdNm}</span>
</c:otherwise>
</c:choose>
</span>
</label>
</c:if>
</c:forEach>
<label class="b-checkbox checkbox">
<input type="checkbox" class="check_all_item">
<span class="check"></span>
<span class="control-label">전체</span>
</label>
</div>
</div>
</td>
</tr>
<tr class="search-hide">
<th>주문상태 (출고후)</th>
<td colspan="4">
<div class="td-inner">
<div class="b-checkbox-container order-status-badge-container">
<c:forEach items="${cond.cgo014List}" var="cgo014" varStatus="status">
<c:if test="${cgo014.cd > 59 && cgo014.cd < 76}">
<label class="b-checkbox checkbox">
<input type="checkbox" name="srchOrdrSttusCds" value="${cgo014.cd}"/>
<span class="check"></span>
<span class="control-label">
<c:choose>
<c:when test="${cgo014.cd eq 60 || cgo014.cd eq 65}">
<span class="order-status-badge delivery">${cgo014.cdNm}</span>
</c:when>
<c:when test="${cgo014.cd eq 70 || cgo014.cd eq 75}">
<span class="order-status-badge complete">${cgo014.cdNm}</span>
</c:when>
</c:choose>
</span>
</label>
</c:if>
</c:forEach>
<label class="b-checkbox checkbox">
<input type="checkbox" class="check_all_item">
<span class="check"></span>
<span class="control-label">전체</span>
</label>
</div>
</div>
</td>
</tr>
<tr class="search-hide">
<th>주문환경</th>
<td colspan="4">
<div class="td-inner">
<div class="b-checkbox-container">
<c:forEach items="${cond.cgo012List}" var="cgo012" varStatus="status">
<label class="b-checkbox checkbox">
<input type="checkbox" name="srchOrdrEnvrnCds" value="${cgo012.cd}">
<span class="check"></span>
<span class="control-label">${cgo012.cdNm}</span>
</label>
</c:forEach>
</div>
</div>
</td>
</tr>
<tr class="search-hide">
<th>배송예정</th>
<td colspan="4">
<div class="td-inner">
<div class="select-box">
<select name="srchResveSndngDvCd" id="srchResveSndngDvCd" title="배송예정">
<option value="">선택</option>
<c:forEach items="${cond.cgn051List}" var="cgn051" varStatus="status">
<option value="${cgn051.cd}">${cgn051.cdNm}</option>
</c:forEach>
</select>
</div>
<div class="input-container">
<input type="text" name="srchHopDlvyStartDate" id="srchHopDlvyStartDate" class="datepicker" title="시작 날짜 선택" autocomplete="off">
<span class="tilde">~</span>
<input type="text" name="srchHopDlvyEndDate" id="srchHopDlvyEndDate" class="datepicker" title="종료 날짜 선택" autocomplete="off">
</div>
</div>
</td>
</tr>
<tr class="search-hide">
<th>배송방법</th>
<td colspan="1">
<div class="td-inner">
<div class="b-checkbox-container">
<c:forEach items="${cond.cgo134List}" var="cgo134" varStatus="status">
<label class="b-checkbox checkbox">
<input type="checkbox" name="srchDlvyMthCds" value="${cgo134.cd}">
<span class="check"></span>
<span class="control-label">${cgo134.cdNm}</span>
</label>
</c:forEach>
</div>
</div>
</td>
<th>주문유형</th>
<td colspan="2">
<div class="td-inner">
<div class="b-checkbox-container">
<c:forEach items="${cond.cgo135List}" var="cgo135" varStatus="status">
<label class="b-checkbox checkbox">
<input type="checkbox" name="srchOrdrTyCds" value="${cgo135.cd}" />
<span class="check"></span>
<c:choose>
<c:when test="${cgo135.cd eq 'admin'}">
<span class="control-label">
<i class="icon icon_word-badge01"></i>${cgo135.cdNm}
</span>
</c:when>
<c:when test="${cgo135.cd eq 'personal'}">
<span class="control-label">
<i class="icon icon_word-badge02"></i>${cgo135.cdNm}
</span>
</c:when>
<c:when test="${cgo135.cd eq 'gift'}">
<span class="control-label">
<i class="icon icon_gift-badge"></i>${cgo135.cdNm}
</span>
</c:when>
<c:otherwise>
<span class="control-label">${cgo135.cdNm}</span>
</c:otherwise>
</c:choose>
</label>
</c:forEach>
</div>
</div>
</td>
</tr>
<tr class="search-hide">
<th>주문결제</th>
<td colspan="1">
<div class="td-inner">
<div class="b-checkbox-container vertical mr-15">
<label class="b-checkbox checkbox">
<input type="checkbox" value="">
<span class="check"></span>
<span class="control-label">무통장</span>
</label>
<label class="b-checkbox checkbox">
<input type="checkbox" value="">
<span class="check"></span>
<span class="control-label">매장결제</span>
</label>
<label class="b-checkbox checkbox">
<input type="checkbox" value="">
<span class="check"></span>
<span class="control-label">수기결제</span>
</label>
</div>
<div class="multi-select mr-2">
<div class="multi-select__title">
<div class="b-checkbox-container">
<label class="b-checkbox checkbox check-all">
<input type="checkbox" value="">
<span class="check"></span>
<span class="control-label">모든 결제사</span>
</label>
</div>
</div>
<div class="multi-select__inner">
<div class="b-checkbox-container vertical">
<label class="b-checkbox checkbox">
<input type="checkbox" value="">
<span class="check"></span>
<span class="control-label">일반PG사</span>
</label>
<label class="b-checkbox checkbox">
<input type="checkbox" value="">
<span class="check"></span>
<span class="control-label">카카오페이</span>
</label>
<label class="b-checkbox checkbox">
<input type="checkbox" value="">
<span class="check"></span>
<span class="control-label">톡체크아웃</span>
</label>
<label class="b-checkbox checkbox">
<input type="checkbox" value="">
<span class="check"></span>
<span class="control-label">페이코</span>
</label>
<label class="b-checkbox checkbox">
<input type="checkbox" value="">
<span class="check"></span>
<span class="control-label">네이버페이 주문형</span>
</label>
<label class="b-checkbox checkbox">
<input type="checkbox" value="">
<span class="check"></span>
<span class="control-label">네이버페이 결제형</span>
</label>
<label class="b-checkbox checkbox">
<input type="checkbox" value="">
<span class="check"></span>
<span class="control-label">페이팔</span>
</label>
<label class="b-checkbox checkbox">
<input type="checkbox" value="">
<span class="check"></span>
<span class="control-label">엑심베이</span>
</label>
</div>
</div>
</div>
<div class="multi-select">
<div class="multi-select__title">
<div class="b-checkbox-container">
<label class="b-checkbox checkbox check-all">
<input type="checkbox" value="">
<span class="check"></span>
<span class="control-label">모든 결제수단</span>
</label>
</div>
</div>
<div class="multi-select__inner">
<div class="b-checkbox-container vertical">
<label class="b-checkbox checkbox">
<input type="checkbox" value="">
<span class="check"></span>
<span class="control-label">신용카드</span>
</label>
<label class="b-checkbox checkbox">
<input type="checkbox" value="">
<span class="check"></span>
<span class="control-label">휴대폰</span>
</label>
<label class="b-checkbox checkbox">
<input type="checkbox" value="">
<span class="check"></span>
<span class="control-label">계좌이체</span>
</label>
<label class="b-checkbox checkbox">
<input type="checkbox" value="">
<span class="check"></span>
<span class="control-label">에스크로계좌이체</span>
</label>
<label class="b-checkbox checkbox">
<input type="checkbox" value="">
<span class="check"></span>
<span class="control-label">포인트</span>
</label>
<label class="b-checkbox checkbox">
<input type="checkbox" value="">
<span class="check"></span>
<span class="control-label">후불결제</span>
</label>
</div>
</div>
</div>
</div>
</td>
<th>주문유입</th>
<td colspan="2">
<div class="td-inner">
<div class="multi-select">
<div class="multi-select__title">
<div class="b-checkbox-container">
<label class="b-checkbox checkbox check-all">
<input type="checkbox" value="">
<span class="check"></span>
<span class="control-label">모든 유입경로</span>
</label>
</div>
</div>
<div class="multi-select__inner">
<div class="b-checkbox-container vertical">
<label class="b-checkbox checkbox">
<input type="checkbox" value="">
<span class="check"></span>
<span class="control-label">인스타그램</span>
</label>
<label class="b-checkbox checkbox">
<input type="checkbox" value="">
<span class="check"></span>
<span class="control-label">직접입력</span>
</label>
<label class="b-checkbox checkbox">
<input type="checkbox" value="">
<span class="check"></span>
<span class="control-label">구글검색</span>
</label>
<label class="b-checkbox checkbox">
<input type="checkbox" value="">
<span class="check"></span>
<span class="control-label">네이버검색</span>
</label>
</div>
</div>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="form-control-container">
<div class="left"></div>
<div class="center">
<button type="button" class="btn outline" id="btnResetForm">초기화</button>
<button type="button" class="btn primary" id="btnSearch">검색</button>
</div>
<div class="right">
<button class="btn outline search-detail">상세검색</button>
</div>
</div>
<button class="windowPop-sectionClose">검색닫기</button>
</form>
</section>
<div id="pageDiv"></div>
</div>
</body>
</html>

View File

@@ -0,0 +1,202 @@
<%@ 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="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<script>
</script>
</head>
<body>
<div class="windowPop-wrapper">
<section class="content-section">
<div class="table-wrapper">
<table class="table vertical">
<caption>해당 테이블에 대한 설명</caption>
<!-- 각 열 width 설정 -->
<colgroup>
<col style="width: 6%;">
<col style="width: 5%">
<col style="width: 6%;">
<col style="width: 12%;">
<col style="width: auto">
<col style="width: 6%;">
<col style="width: 6%;">
<col style="width: 10%;">
<col style="width: 10%;">
<col style="width: 6%;">
<col style="width: 6%;">
</colgroup>
<thead>
<tr>
<th>선택</th>
<th>번호</th>
<th>주문일시</th>
<th>주문번호</th>
<th>주문상품</th>
<th>수(종)</th>
<th>출고</th>
<th>받는분/주문자</th>
<th>결제수단/일시</th>
<th>결제금액</th>
<th>처리상태</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${not empty data.allOrdrList}">
<c:forEach items="${data.allOrdrList}" var="ordr" varStatus="status">
<tr>
<td>
<div class="manage-btn-container">
<a href="javascript:void(0);" onclick="fn_select('${ordr.ordrInnb}', '${ordr.mbrid}');" class="btn xsm gray">선택</a>
</div>
</td>
<td>${data.paginationInfo.totalRecordCount - ordr.rnum + 1}</td>
<td>${ordr.ordrRceptDt}</td>
<td><a class="under-line blue-7" href="javascript:void(0);">${ordr.ordrInnb}</a></td>
<td>
<div class="order-section__product">
<c:if test="${not empty ordr.goodsNm}">
<img src="https://nutricore.co.kr/${ordr.goodsImgCours}" onerror="this.src='<c:url value="/mngr/images/image_placeholder.png"/>'" alt="${ordr.goodsNm}" width="56" height="56">
</c:if>
<div class="order-section__product-info">
<span class="order-section__product-productTitle">${ordr.goodsNm}</span>
<c:if test="${not empty ordr.optns}">
<c:forEach items="${fn:split(ordr.optns, '|')}" var="optn">
<span class="option-text">
<span class="option-badge">옵션</span> ${optn}<br/>
</span>
</c:forEach>
</c:if>
</div>
</div>
</td>
<td>${ordr.orderCnt}${'(' += ordr.itemCnt += ')'}</td>
<td>${ordr.ordrSttusCd > 35 ? '출고' : ''}</td>
<td>
<a href="" class="order-detail-text">
<c:if test="${not empty ordr.recpntNm}">
<span class="gray-12">${ordr.recpntNm}</span><br/>
</c:if>
<span class="gray-12">${ordr.mbrNm}${'none' eq ordr.mbrTyCd ? '(비회원)' : ''}</span>
<c:if test="${'none' ne ordr.mbrTyCd}">
(<span class="fw-500 blue-7">${ordr.mbrid}</span>/
<span class="fw-500 green-8">${ordr.gradNm}</span>)
</c:if>
</a>
<button class="mini-info-btn" data-info="info01">?</button>
</td>
<td class="text-right">
<span class="order-detail-text">
<c:if test="${not empty ordr.setlerNm}">
<span class="<c:out value="${ordr.mbrNm eq ordr.setlerNm ? 'stone-8' : 'blue-7'}"/>">${ordr.setlerNm}</span>
</c:if>
<c:if test="${not empty ordr.pgCmpnyNm}">
<c:if test="${not empty ordr.setleMthCd && ordr.setleMthCd ne '02'}">
<c:choose>
<c:when test="${'npay' eq ordr.pgCmpnyNm}">
<i class="icon icon_word-badge_naver"></i>
</c:when>
<c:when test="${'kcp' eq ordr.pgCmpnyNm}">
<i class="icon icon_word-badge_kcp"></i>
</c:when>
<c:when test="${'pos' eq ordr.pgCmpnyNm}">
<i class="icon icon_word-badge_pos"></i>
</c:when>
<c:when test="${'payco' eq ordr.pgCmpnyNm}">
<i class="icon icon_word-badge_payco"></i>
</c:when>
<c:when test="${'tosspay' eq ordr.pgCmpnyNm}">
<i class="icon icon_word-badge_tosspay"></i>
</c:when>
<c:when test="${'gcpay' eq ordr.pgCmpnyNm}">
<i class="icon icon_word-badge_gcpay"></i>
</c:when>
<c:otherwise>
<span class="stone-8 fw-500">${ordr.pgCmpnyNm}</span>
</c:otherwise>
</c:choose>
</c:if>
</c:if>
<c:if test="${not empty ordr.setleMthCd}">
<c:choose>
<c:when test="${'01' eq ordr.setleMthCd}"><!-- 카드 -->
<i class="icon icon_word-badge04"></i>
</c:when>
<c:when test="${'02' eq ordr.setleMthCd}"><!-- 무통장 -->
<i class="icon icon_word-badge03"></i>
</c:when>
<c:when test="${'03' eq ordr.setleMthCd}"><!-- 계좌 -->
<i class="icon icon_word-badge13"></i>
</c:when>
<c:when test="${'04' eq ordr.setleMthCd}"><!-- 가상계좌 -->
<i class="icon icon_word-badge06"></i>
</c:when>
<c:when test="${'05' eq ordr.setleMthCd}"><!-- 가상계좌 에스크로 -->
<i class="icon icon_word-badge07"></i>
</c:when>
<c:when test="${'06' eq ordr.setleMthCd}"><!-- 가상계좌에스크로 -->
<i class="icon icon_word-badge07"></i>
</c:when>
<c:when test="${'07' eq ordr.setleMthCd}"><!-- 핸드폰 -->
<i class="icon icon_word-badge05"></i>
</c:when>
<c:when test="${'08' eq ordr.setleMthCd}"><!-- 마일리지 -->
<i class="icon icon_word-badge12"></i>
</c:when>
<c:when test="${'09' eq ordr.setleMthCd}"><!-- 포스 -->
<i class="icon icon_word-badge_pos"></i>
</c:when>
<c:when test="${'10' eq ordr.setleMthCd}"><!-- 페이코 -->
<i class="icon icon_word-badge_payco"></i>
</c:when>
<c:when test="${'11' eq ordr.setleMthCd}"><!-- 복합 -->
<i class="icon icon_word-badge14"></i>
</c:when>
<c:when test="${'12' eq ordr.setleMthCd}"><!-- 충전식마일리지 -->
<i class="icon icon_word-badge16"></i>
</c:when>
</c:choose>
</c:if>
<c:if test="${not empty ordr.bnnkNm}">
<span class="stone-8 fw-500">${ordr.bnnkNm}</span>
</c:if>
<c:if test="${not empty ordr.setleDt}">
<br/><span class="gray-12">${ordr.setleDt}</span>
</c:if>
</span>
</td>
<td><span class="comma fw-500">${ordr.setleAmt}</span></td>
<td>${ordr.ordrSttusNm}</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="${data.paginationInfo}" type="image" jsFunction="fn_get_ordr_list"/>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,171 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%--
Class Name : OrdrListAjaxR.jsp
Description :주문 목록 조회 jsp
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
since : 2023.12.13 김혜인 최초 생성
--%>
<%-- 전체 엑셀 다운로드 영역 --%>
<c:if test="${not empty ordrList.resultList25}">
<c:forEach var = "ordrList" items="${ordrList.resultList25}">
<tr>
<td colspan="15">
<div class="form-control-container">
<div class="left">
</div>
<div class="center">
</div>
<div class="right">
<div class="select-box">
<select title="해당 셀렉트에 대한 설명">
<option value="">타입선택</option>
<option value="">선택 다운로드</option>
<option value="">검색 다운로드</option>
</select>
</div>
<div class="select-box">
<select title="해당 셀렉트에 대한 설명">
<option value="">양식선택</option>
</select>
</div>
<button class="btn outline sm">
<i class="icon icon_excel"></i>
전체다운로드
</button>
</div>
</div>
</td>
</tr>
<%-- 주문 상태 영역 --%>
<tr class="order-section__header confirm">
<td colspan="15">
<div class="form-control-container">
<div class="left">
<button class="btn outline xsm fs-13 order-open-all">모두열기</button>
</div>
<div class="center">
<div class="order-step confirm">
<span>
(출고 전)
<em>{주문상태}</em>
</span>
</div>
</div>
<div class="right">
</div>
</div>
</td>
</tr>
<tr>
<td>
<label class="b-checkbox checkbox is-medium tr-color-check">
<input type="checkbox" value="{각 주문건 고유번호}">
<span class="check"></span>
</label>
</td>
<td>
<label class="star-checkbox">
<input type="checkbox" value="{해당 주문 건 중요주문 선택(ajax로 중요주문update해야함)}Y">
<span class="visually-hidden">중요선택</span>
</label>
</td>
<td>1</td>
<td><span class="blue-8 fw-500" title="유입경로">직</span></td>
<td><span class="blue-8 fw-500" title="브랜드명">뉴</span></td>
<td>22-02-25 18:30(주문일시)</td>
<td>PC(주문환경)</td>
<td class="left">
<div class="order-number">
<span class="order-number__category">{주문타입}</span>
<div class="order-number__content confirm">
<span class="fs-13">
20231126205{주문번호}
</span>
<div class="order-number__btn-container">
<button>
<i class="icon icon_print"></i>
<%-- 프린트 버튼 클릭시 새창으로 주문명세서 오픈 --%>
<span class="visually-hidden">프린트</span>
</button>
<button>
<%-- 해당 주문 상세보기 새창으로 화면 이동 --%>
<i class="icon icon_window"></i>
<span class="visually-hidden">정보보기(새창)</span>
</button>
<%-- 클릭시 주문 상품 보임 --%>
<button class="order-section__detail-trigger">
<i class="icon icon_unfold"></i>
<span class="visually-hidden">상세보기</span>
</button>
</div>
</div>
</div>
</td>
<td class="left">
{초임계 식물성 알티지 오메가3주문상품명}
</td>
<td>{주문상품갯수}({주문상품종류수}종)</td>
<td>{출고 수}</td>
<td>
<a href="" class="order-detail-text">
<i class="icon icon_word-badge09"></i>
<%-- 받는자명과 주문자명이 같을 시 받는자명은 생략한다 --%>
<span class="gray-12">
{받는자명}
</span>
<%-- 회원일 시 아이디 기재, 비회원일 시 주문자명과 (비회원)으로 기재--%>
(
<span class="fw-500 blue-7">{아이디}</span>
/
<span class="fw-500 green-8">일반</span>
)
</a>
<%-- 공통임 --%>
<button class="mini-info-btn" data-info="info01">?</button>
</td>
<td>
<span class="order-detail-text">
<%-- 결제 수단, 결제 수단 이미지, 결제 일시 --%>
<%-- 무통장 혹은 가상 계좌 일시 입금자명도 같이 기재 --%>
<span class="blue-7">
{결제자명}
</span>
<%-- 결제수단 뱃지 --%>
<i class="icon icon_word-badge03"></i>
<span class="stone-8 fw-500">{결제은행}</span>
</span>
</td>
<%-- 결제 금액 --%>
<td><span class="fw-500">{결제금액}</span></td>
<%-- 주문 상태 --%>
<td>{주문상태}</td>
</tr>
<%-- 버튼 클릭시 주문 상세 Ajax 호출 --%>
<div id = "ordrDetailSection">
</div>
<tr class="order-section__footer">
<td colspan="15">
<div class="form-control-container">
<div class="left">
</div>
<div class="center">
</div>
<div class="right">
<span class="text-order-confirm fw-700 mr-5">주문접수</span>
<span class="fw-500 stone-10">합계</span>
<span class="fw-700 stone-10 mr-5">1건</span>
<span class="text-order-confirm fw-500">₩</span>
<span class="text-order-confirm fw-700">41,750원</span>
</div>
</div>
</td>
</tr>
</c:forEach>
</c:if>

View File

@@ -0,0 +1,185 @@
<tr class="order-section__detail">
<td colspan="15">
<div class="order-section__detail-inner">
<h5 class="order-section__detail-title">주문상품</h5>
<div class="table-wrapper">
<table class="table">
<caption>해당 테이블에 대한 설명</caption>
<colgroup>
<col style="width: auto">
<col style="width: 6%;">
<col style="width: 6%;">
<col style="width: 6%;">
<col style="width: 6%;">
<col style="width: 6%;">
<col style="width: 6%;">
<col style="width: 6%;">
<col style="width: 8%;">
<col style="width: 6%;">
</colgroup>
<thead>
<tr>
<th>주문상품</th>
<th>유입경로</th>
<th>수량</th>
<th>상품금액</th>
<th>할인금액<br><span class="gray-6 fs-13">(정산차감)</span>
</th>
<th>할인적용금액<br><span class="gray-6 fs-13">(단가)</span>
</th>
<th>예상<br>마일리지</th>
<th>재고/가용</th>
<th>상품상태</th>
<th>배송</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="order-section__product">
<img src="../resources/images/상품이미지01.png"
alt="상품이미지" width="56" height="56">
<div class="order-section__product-info">
<span
class="order-section__product-productTitle">초임계
식물성 알티지 오메가3</span>
<a class="btn xxsm outline" href=""><i
class="icon icon_stats"></i>통계</a>
<span class="option-text">
<span class="option-badge">옵션</span>
식물성알티지오메가3 1박스
</span>
</div>
</div>
</td>
<td><span class="blue-6">내</span></td>
<td><span class="blue-6">1</span></td>
<td>14,800<br><span class="gray-6 fs-13">(14,800)</span>
</td>
<td>
<span class="discount-list">
<span class="gray-8">0</span><br>
<span class=" gray-6 fs-13">(0)</span>
</span>
</td>
<td><span class="gray-8">14,800</span><br>
<span class="gray-6 fs-13">(14,800)</span>
</td>
<td>
<span class="expect-mileage">
<span class="gray-8">0</span><br>
<span class="gray-6 fs-13">(0)</span>
</span>
</td>
<td>
<span>
<span class="blue-6">23/33</span>
</span>
<br>
<button>
<i class="icon icon_window"></i>
<span class="visually-hidden">정보보기(새창)</span>
</button>
</td>
<td>
<span class="fw-500 stone-9">
<span>배송중(1)</span>
<br>
<span>상품준비중(1)</span>
</span>
</td>
<td class="right">
<span class="fs-13 fw-400">
삼신유통
</span>
<br>
<span class="fs-13 fw-400">
택배
</span>
<br>
<span class="fw-700 fs-13">무료</span>
</td>
</tr>
</tbody>
<tfoot>
<tr class="order-section__detail-sum">
<td class="right"><span
class="fw-700 gray-8 mr-5">소계</span>
</td>
<td><span class="blue-6"></span></td>
<td><span class="blue-6">1</span></td>
<td>14,800<br><span class="gray-6 fs-13"></span>
</td>
<td>
<span class="discount-list">
<span class="gray-8">0</span><br>
<span class=" gray-6 fs-13">(0)</span>
</span>
</td>
<td><span class="gray-8">14,800</span><br>
<span class="gray-6 fs-13">(14,800)</span>
</td>
<td>
<span class="expect-mileage">
<span class="gray-8">0</span><br>
<span class="gray-6 fs-13">(0)</span>
</span>
</td>
<td>
-
</td>
<td>
-
</td>
<td>
-
</td>
</tr>
</tfoot>
</table>
</div>
<div class="sum-area">
<div class="sum-area__item">
<div class="sum-area__title">총 상품금액 64,000KRW</div>
</div>
<span class="sum-area__sign">+</span>
<div class="sum-area__item">
<div class="sum-area__title"><button>배송비
0KRW</button></div>
<div class="sum-area__content">
<div class="sum-area__list-wrapper">
<span class="sum-area__list-title">
주문 시 결제 0KRW
</span>
<ul class="sum-area__list">
<li>기본 배송비 : 0KRW</li>
<li>추가 배송비 : 0KRW</li>
<li>희망 배송비 : 0KRW</li>
</ul>
</div>
</div>
</div>
<span class="sum-area__sign">-</span>
<div class="sum-area__item">
<div class="sum-area__title"><button>할인금액 0KRW</button></div>
<div class="sum-area__content">
<div class="sum-area__list-wrapper">
<ul class="sum-area__list">
<li>이벤트 : 0KRW</li>
<li>복수구매 : 0KRW</li>
<li>쿠폰 : 0KRW</li>
<li>배송비쿠폰 : 0KRW</li>
<li>에누리 : 0KRW</li>
<li>마일리지 : 0KRW</li>
</ul>
</div>
</div>
</div>
<span class="sum-area__sign">=</span>
<div class="sum-area__item">
<div class="sum-area__title red-7">총 결제금액 64,000KRW</div>
</div>
</div>
</div>
</td>
</tr>

View File

@@ -0,0 +1,101 @@
<%@ 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="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<script>
$(document).ready(function(){
});
</script>
</head>
<body>
<div id="ordrShippingPopupR" class="modal" style="max-width: 500px; max-height: 500px">
<div class="modal-header">
<h4>스마트 택배 배송조회</h4>
</div>
<div class="modal-content">
<div class="table-wrapper">
<div class="form-control-container mb-5">
<div class="left">
<h3 class="content-section__inner-title mb-0">스마트 택배 배송조회</h3>
</div>
<div class="center">
</div>
<div class="right">
</div>
</div>
<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 colspan="4">
<div class="td-inner">
${data.ordrShipping.invcnb}
</div>
</td>
</tr>
<tr>
<th>받는사람</th>
<td colspan="4">
<div class="td-inner">
${data.ordrShipping.recpntNm}
</div>
</td>
</tr>
<tr>
<th>보낸사람</th>
<td colspan="4">
<div class="td-inner">
${data.ordrShipping.ordrrNm}
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="product-search-box">
<div class="table-wrapper">
<table class="table">
<caption>해당 테이블에 대한 설명</caption>
<colgroup>
<col>
</colgroup>
<thead>
<tr>
<th>시간</th>
<th>현재위치</th>
<th>배송상태</th>
</tr>
</thead>
<tbody>
<tr id="product1">
<td><span>2024-01-29 13:45:03</span></td>
<td><span>경기안성공도</span></td>
<td><span>집화처리</span></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="modal-footer">
<a href="#" rel="modal:close" class="btn outline">취소</a>
<button class="btn primary">확인</button>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,609 @@
<%@ page import="java.util.Date" %>
<%@ 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"%>
<%--
Class Name : RtngudRegistPopupC.jsp
Description : 반품 신청 모달 popup jsp
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
since : 2023.12.14 추지훈 최초 생성
--%>
<script>
$(document).ready(function() {
$('select').niceSelect();
// TODO : 팝업에서 공통 메서드 안됌 해결후 주석 해제
// $('#returnMtcDiv').hide();
$('.checkAll').on('change', function() {
calculateTotal();
});
$('.goodsCheck').on('change', function() {
calculateTotal();
});
fn_ctrl_retrun_mth();
fn_ctrl_return_dlvy_mth();
$('#returnResnCd').on('change', function() {
fn_cancel_type_ctrl();
});
});
</script>
<!-- 반품 신청 모달 -->
<div id="setleCanclRefndRegistPopupC" class="modal" style="max-width: 1000px;">
<div class="modal-header">
<h4>반품/환불 신청</h4>
</div>
<c:set var="order" value="${data.order}"/>
<spring:eval expression="@environment.getProperty('mngrfo.common.fileupload.cdnurl')" var="cdnurl"/>
<div class="modal-content" style="height: 700px;">
<p class="stone-7 mb-10">주문번호 : ${order.ordrInnb}</p>
<h3 class="content-section__title">주문상품 중 반품 가능 상품
<br>
<span class="fyi fw-400 fs-14 gray-7">반품 상품과 수량을 선택하세요!</span>
</h3>
<div class="table-wrapper">
<input type="hidden" id="sopmalCd" value="${order.sopmalCd}"/>
<input type="hidden" id="ordrInnb" value="${order.ordrInnb}"/>
<input type="hidden" id="ordrTyCd" value="${order.ordrTyCd}"/>
<input type="hidden" id="ordrSttusCd" value="${order.ordrSttusCd}"/>
<input type="hidden" id="refundProcsSttusCd" value="02"/> <!-- 관리자가 신청했을 경우 환불처리중 상태로 바로 넘어감 -->
<input type="hidden" id="returnProcsSttusCd" value="01"/> <!-- 관리자가 신청했을 경우 반품신청 상태로 바로 넘어감 -->
<input type="hidden" id="isBank" value="${not empty order.bnnkNm ? 'Y' : 'N'}"/>
<input type="hidden" id="setleTyCd" value="${order.setleTyCd}"/> <!-- 결제유형 -->
<input type="hidden" id="refundMthCd"
<c:choose>
<%-- <c:when test="${order.setleDt < '2024-11-21 20:00:00' }">--%>
<c:when test="${ ( ( order.sopmalCd eq 'AF' || order.sopmalCd eq 'JM' ) && order.setleDt < '2024-11-21 20:00:00' ) || ( ( order.sopmalCd eq 'BD' || order.sopmalCd eq 'DL' || order.sopmalCd eq 'LF' ) && order.setleDt < '2025-02-12 00:00:00' ) }">
value="13"
</c:when>
<c:otherwise>
value=""
</c:otherwise>
</c:choose>
/> <!-- 반품코드 -->
<input type="hidden" id="totalRlDlvyAmt" value=""/>
<input type="hidden" id="dlvyDwldCouponInnbArr" value=""/>
<c:forEach var="shipping" items="${data.shippingList}" varStatus="status">
<c:if test="${ status.first }">
<c:set var="defaultReturnAdress" value="${ shipping }"/>
</c:if>
</c:forEach>
<c:set var="totalRlDlvyAmt" value="0" />
<c:choose>
<c:when test="${'04' == order.ordrTyCd || '05' == order.ordrTyCd}">
<c:choose>
<c:when test="${not empty data.shippingList}">
<c:forEach var="shipping" items="${data.shippingList}" varStatus="status">
<div class="infoDescription-box">
<span class="fw-500"><c:out value="${status.count}"/>. 배송지 : </span>
<c:out value="${shipping.recpntNm}"/> <c:out value="${not empty shipping.dlvylcZip ? '(' += shipping.dlvylcZip += ')' : ''}"/>
<c:out value="${shipping.adres}"/>
<c:out value="${shipping.dlvylcAdresDtl}"/>
<c:set var="shippingIndex" value="${status.index}"/>
<c:set var="totalRlDlvyAmt" value="${totalRlDlvyAmt + shipping.rlDlvyAmt}" />
<input type="hidden" name="rlDlvyAmt${shippingIndex}" value="${shipping.rlDlvyAmt}"/>
<input type="hidden" name="dlvyDwldCouponInnb${shippingIndex}" value="${ shipping.dlvyDwldCouponInnb }"/>
<%--<input type="text" name="rlDlvyAmt" value="${ totalRlDlvyAmt }"/>--%>
</div>
<div class="cartOrder__list">
<div class="table-wrapper">
<table class="table vertical orderRefundPop__table">
<caption>결제취소/환불정보</caption>
<colgroup>
<col style="width: 8%;">
<col style="width: auto">
<col style="width: 12%;">
<col style="width: 12%;">
<col style="width: 12%;">
<col style="width: 12%;">
</colgroup>
<thead>
<tr>
<th>
<label class="b-checkbox checkbox is-medium check-all">
<input type="checkbox" class="checkAll" id="checkAll${shippingIndex}" data-index="${shippingIndex}">
<span class="check"></span>
</label>
</th>
<th>주문상품</th>
<th>주문수량</th>
<th>취소가능수량</th>
<th>결제취소수량</th>
<th>처리상태</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${not empty shipping.goodsList}">
<c:forEach var="goods" items="${shipping.goodsList}" varStatus="innerStatus">
<tr class="cancl-goods">
<td>
<label class="b-checkbox checkbox">
<input type="checkbox" name="goodsCheck" class="checkbox${shippingIndex} goodsCheck${shippingIndex}" value="" onclick="fn_ctr_pCheckbox('#checkAll${shippingIndex}', '.checkbox${shippingIndex}'); calculateTotal();">
<span class="check"></span>
<span class="control-label"></span>
</label>
</td>
<td>
<div class="order-section__product">
<img src="${ cdnurl }${goods.goodsImgCours}" onerror="this.src='<c:url value="/mngr/images/image_placeholder.png"/>'" alt="${goods.goodsNm}" width="56" height="56">
<div class="order-section__product-info">
<span class="order-section__product-productTitle">${goods.goodsNm}</span>
<span class="option-text">
<span class="option-badge">옵션</span> <c:out value="${goods.optnNm}"/></span>
</div>
</div>
</td>
<td><c:out value="${goods.ordrQy}"/></td>
<td><c:out value="${goods.ordrQy - goods.setleCanclQy}"/></td>
<td>
<input type="hidden" class="goodsDwldCouponInnb" value="${ goods.goodsDwldCouponInnb }"/>
<input type="hidden" class="sopmalCd" value="${goods.sopmalCd}"/>
<input type="hidden" class="ordrInnb" value="${goods.ordrInnb}"/>
<input type="hidden" class="ordrDlvyInnb" value="${shipping.ordrDlvyInnb}"/>
<input type="hidden" class="ordrGoodsInnb" value="${goods.ordrGoodsInnb}"/>
<input type="hidden" class="ordrGoodsOptnInnb" value="${goods.ordrGoodsOptnInnb}"/>
<input type="hidden" class="setleCanclQy" value="${goods.setleCanclQy}"/>
<input type="hidden" class="ordrQy" value="${goods.ordrQy}"/>
<input type="hidden" class="subscrptWthdrawPosblAt" value="${goods.subscrptWthdrawPosblAt}"/>
<input type="hidden" class="indvdlzCanclPosblAt" value="${goods.indvdlzCanclPosblAt}"/>
<input type="hidden" class="indvdlzReturnExchngPosblAt" value="${goods.indvdlzReturnExchngPosblAt}"/>
<div class="select-box">
<select class="canclQy" title="취소 수량">
<option value="" selected>선택</option>
<c:forEach var="item" begin="1" end="${goods.ordrQy - goods.setleCanclQy}" step="1" varStatus="status">
<option value="<c:out value="${status.count}"/>"><c:out value="${status.count}"/></option>
</c:forEach>
</select>
</div>
</td>
<td>
<span class="orderList__status"><c:out value="${goods.ordrSttusNm}"/></span>
</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<tr><td colspan="100%" ><spring:message code="common.nodata"/></td></tr>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
</div>
</c:forEach>
</c:when>
<c:otherwise>
</c:otherwise>
</c:choose>
</c:when>
<c:otherwise>
<table id="checkActivateInput" class="table vertical">
<caption>결제취소/환불정보</caption>
<colgroup>
<col style="width: 8%;">
<col style="width: auto">
<col style="width: 12%;">
<col style="width: 12%;">
<col style="width: 12%;">
<col style="width: 12%;">
</colgroup>
<thead>
<tr>
<th>
<label class="b-checkbox checkbox is-medium check-all">
<input type="checkbox" class="checkAll" id="checkAll" >
<span class="check"></span>
</label>
</th>
<th>주문상품</th>
<th>주문수량</th>
<th>취소가능수량</th>
<th>결제취소수량</th>
<th>처리상태</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${not empty data.goodsList}">
<c:forEach var="goods" items="${data.goodsList}" varStatus="status">
<tr class="cancl-goods">
<td>
<c:if test="${ status.index eq 0 }">
<input type="hidden" id="singleReDlvyAmt" value="${ goods.rlDlvyAmt }"/>
<input type="hidden" id="dlvyDwldCouponInnb" value="${ goods.dlvyDwldCouponInnb }"/>
</c:if>
<label class="b-checkbox checkbox">
<input type="checkbox" name="goodsCheck" class="checkbox0 goodsCheck0" value="" onclick="fn_ctr_pCheckbox('#checkAll', '.checkbox'); fn_set_dlvyamt();">
<span class="check"></span>
<span class="control-label"></span>
</label>
</td>
<td>
<div class="order-section__product">
<img src="${ cdnurl }${goods.goodsImgCours}" onerror="this.src='<c:url value="/mngr/images/image_placeholder.png"/>'" alt="${goods.goodsNm}" width="56" height="56">
<div class="order-section__product-info">
<span class="order-section__product-productTitle">${goods.goodsNm}</span>
<span class="option-text">
<span class="option-badge">옵션</span> <c:out value="${goods.optnNm}"/>
</span>
</div>
</div>
</td>
<td><c:out value="${goods.ordrQy}"/></td>
<td><c:out value="${goods.ordrQy - goods.setleCanclQy}"/></td>
<td>
<input type="hidden" class="goodsDwldCouponInnb" value="${ goods.goodsDwldCouponInnb }"/>
<input type="hidden" class="sopmalCd" value="${goods.sopmalCd}"/>
<input type="hidden" class="ordrInnb" value="${goods.ordrInnb}"/>
<input type="hidden" class="ordrDlvyInnb" value="${shipping.ordrDlvyInnb}"/>
<input type="hidden" class="ordrGoodsInnb" value="${goods.ordrGoodsInnb}"/>
<input type="hidden" class="ordrGoodsOptnInnb" value="${goods.ordrGoodsOptnInnb}"/>
<input type="hidden" class="setleCanclQy" value="${goods.setleCanclQy}"/>
<input type="hidden" class="ordrQy" value="${goods.ordrQy}"/>
<input type="hidden" class="subscrptWthdrawPosblAt" value="${goods.subscrptWthdrawPosblAt}"/>
<input type="hidden" class="indvdlzCanclPosblAt" value="${goods.indvdlzCanclPosblAt}"/>
<input type="hidden" class="indvdlzReturnExchngPosblAt" value="${goods.indvdlzReturnExchngPosblAt}"/>
<div class="select-box">
<select class="canclQy" title="취소 수량">
<option value="" selected>선택</option>
<c:forEach var="item" begin="1" end="${goods.ordrQy - goods.setleCanclQy}" step="1" varStatus="status">
<option value="<c:out value="${status.count}"/>"><c:out value="${status.count}"/></option>
</c:forEach>
</select>
</div>
</td>
<td>
<span class="orderList__status"><c:out value="${goods.ordrSttusNm}"/></span>
</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>
</c:otherwise>
</c:choose>
</div>
<h3 class="content-section__title">사유 선택</h3>
<div class="form-control-container mb-20">
<div class="left">
<div class="select-box">
<select class="lg" title="반품사유" name="returnResnCd" id="returnResnCd" >
<option value="" selected>취소사유를 선택해 주세요.</option>
<c:forEach var="returnResn" items="${data.returnResnList}">
<option value="<c:out value="${returnResn.cd}"/>" data-cddv="<c:out value="${ returnResn.cdDv }"/>" ><c:out value="${returnResn.cdNm}"/></option>
</c:forEach>
</select>
</div>
</div>
<div class="center">
</div>
<div class="right">
</div>
</div>
<h3 class="content-section__title">상세 사유</h3>
<textarea name="returnResnCn" id="returnResnCn" class="textarea mb-20" title="에디터 입력" cols="30" rows="4"></textarea>
<h3 class="content-section__title">연락처</h3>
<div class="table-wrapper">
<table class="table vertical tight">
<caption>해당 테이블에 대한 설명</caption>
<!-- 각 열 width 설정 -->
<colgroup>
<col style="width: 50%;">
<col style="width: 50%;">
</colgroup>
<thead>
<tr>
<th>구매자</th>
<th>휴대폰
<c:set var="firstPart" value="${ fn:substring(order.ordrrMbtlnb, 0, 3)}" />
<c:set var="middlePart" value="${ fn:substring(order.ordrrMbtlnb, 4, 8)}" />
<c:set var="lastPart" value="${ fn:substring(order.ordrrMbtlnb, 9, 13)}" />
</th>
<%--
<th>연락처 ${order.ordrrTelnb}
<c:set var="firstPartTel" value="${ fn:substring(order.ordrrTelnb, 0, 2)}" />
<c:set var="middlePartTel" value="${ fn:substring(order.ordrrTelnb, 3, 7)}" />
<c:set var="lastPartTel" value="${ fn:substring(order.ordrrTelnb, 7, 11)}" />
</th>
--%>
</tr>
</thead>
<tbody>
<tr>
<td>
${order.mbrNm}
<input type="hidden" name="" value="${ order.mbrNm }"/>
</td>
<td>
<div class="phone-container">
<div class="select-box">
<select class="short2" title="해당 셀렉트에 대한 설명" name="returnCstmrMbtlnb">
<option value="010" <c:if test="${firstPart eq '010'}">selected</c:if>>010</option>
<option value="011" <c:if test="${firstPart eq '011'}">selected</c:if>>011</option>
</select>
</div>
<span class="mx-3 fs-16">-</span>
<input type="text" class="input-text xsm" value="${middlePart}" title="해당 인풋에 대한 설명" name="returnCstmrMbtlnb" maxlength="4">
<span class="mx-3 fs-16">-</span>
<input type="text" class="input-text xsm" value="${lastPart}" title="해당 인풋에 대한 설명" name="returnCstmrMbtlnb" maxlength="4">
</div>
</td>
<%--
<td>
<div class="phone-container">
<div class="select-box">
<select class="short2" title="해당 셀렉트에 대한 설명">
<option value="02" <c:if test="${firstPartTel eq '02'}">selected</c:if>>서울 02</option>
<option value="031" <c:if test="${firstPartTel eq '031'}">selected</c:if>>경기도 031</option>
</select>
</div>
<span class="mx-3 fs-16">-</span>
<input type="text" class="input-text xsm" value="${middlePartTel}" title="해당 인풋에 대한 설명">
<span class="mx-3 fs-16">-</span>
<input type="text" class="input-text xsm" value="${lastPartTel}" title="해당 인풋에 대한 설명">
</div>
</td>
--%>
</tr>
</tbody>
</table>
</div>
<h3 class="content-section__title">반품 방법 (반송주소 : <c:out value="${ data.returnAddress }"/>)</h3>
<div class="custom-radio-container vertical mb-10">
<c:forEach var="cdList" items="${ data.returnMthCdList }" varStatus="status">
<div class="custom-radio">
<input type="radio" id="${ cdList.cdNm }${cdList.cd}" name="returnMthCd" value="${ cdList.cd }" <c:if test="${ cdList.cd eq '02' }">checked="checked"</c:if> onclick="fn_ctrl_retrun_mth();">
<label for="${ cdList.cdNm }${cdList.cd}">${ cdList.cdNm }</label>
</div>
</c:forEach>
</div>
<div class="table-wrapper senderAdresDiv addressSelectDiv" style="width: 540px;">
<table class="table transparent">
<caption>해당 테이블에 대한 설명</caption>
<colgroup>
<col style="width: 17%;">
<col style="width: 83%;">
</colgroup>
<tbody>
<tr>
<th class="text-right">우편번호</th>
<td>
<div class="td-inner">
<input type="text" class="input-text xsm" value="" id="senderZip" name="senderZip" title="우편번호" readonly>
<input type="hidden" id="senderAdresDvCd" name="senderAdresDvCd" value=""/>
<button type="button" class="address-line__find-btn" onclick="fn_select_postcode(fn_set_postcode_popup); return false;">주소찾기</button>
</div>
</td>
</tr>
<tr>
<th class="text-right">도로명 주소</th>
<td>
<div class="td-inner">
<input type="text" id="senderRnmAdres" class="input-text lg" value="" name="senderRnmAdres" title="해당 인풋에 대한 설명" readonly>
</div>
</td>
</tr>
<tr>
<th class="text-right">지번주소</th>
<td>
<div class="td-inner">
<input type="text" id="senderLnbAdres" class="input-text lg" value="" name="senderLnbAdres" title="해당 인풋에 대한 설명" readonly>
</div>
</td>
</tr>
<tr>
<th class="text-right">공통상세</th>
<td>
<div class="td-inner">
<input type="text" id="senderAdresDtl" name="senderAdresDtl" class="input-text md" value="" title="해당 인풋에 대한 설명" maxlength="35">
</div>
</td>
</tr>
</tbody>
</table>
</div>
<c:if test="${not empty order.setleTyCd && ( order.setleTyCd eq '02' || order.setleTyCd eq '04' || order.setleTyCd eq '05' )}">
<h3 class="content-section__title">환불 방법</h3>
<div class="table-wrapper">
<table class="table">
<caption>환불 방법</caption>
<colgroup>
<col style="width: 12%;">
<col style="width: 21%">
<col style="width: 12%;">
<col style="width: 21%">
<col style="width: 12%;">
<col style="width: 21%">
</colgroup>
<tbody>
<tr>
<th>은행</th>
<td>
<div class="select-box">
<select class="short2" title="해당 셀렉트에 대한 설명" name="refundAcntBnnkNm" id="refundAcntBnnkNm">
<c:forEach var="cdList" items="${ data.bankCdList }" varStatus="status">
<option value="<c:out value="${ cdList.cd }"/>,<c:out value="${ cdList.cdNm }"/>" ><c:out value="${ cdList.cdNm }"/></option>
</c:forEach>
</select>
</div>
<%--<input type="text" name="refundAcntBnnkNm" id="refundAcntBnnkNm" maxlength="20" class="input-text" title="은행">--%>
</td>
<th>예금주</th>
<td><input type="text" name="refundAcntDpstrNm" id="refundAcntDpstrNm" maxlength="20" class="input-text" title="예금주"></td>
<th>계좌번호</th>
<td><input type="text" name="refundAcntnb" id="refundAcntnb" maxlength="20" class="input-text" title="계좌번호"></td>
</tr>
</tbody>
</table>
</div>
<div class="infoDescription-box">
<p class="fyi">환불방법은 복합결제(마일리지, 쿠폰 사용 등) 및 최초 배송비 계산 등의 이유로 쇼핑몰 관리자와 협의 후 결정됩니다.</p>
<p class="fyi">환불 금액을 입력할 환불 계좌 정보입니다. 결제 수단이 무통장, 가상 계좌인 경우 결제 금액은 관리자가 수동으로 입금해주세요.</p>
</div>
</c:if>
<h3 class="content-section__title dlvyPymntTyArea">배송비 결제방법</h3>
<div class="form-control-container mb-20 dlvyPymntTyArea">
<div class="left">
<div class="select-box">
<select class="lg" title="반품사유" id="returnDlvyPymntTyCd" name="returnDlvyPymntTyCd" onchange="fn_ctrl_return_dlvy_mth();">
<option value="" disabled selected>반품 배송비 결제방법을 선택해 주세요.</option>
<c:forEach var="cdList" items="${data.returnMtcCdList}">
<option value="<c:out value="${cdList.cd}"/>" ><c:out value="${cdList.cdNm}"/></option>
</c:forEach>
</select>
</div>
</div>
<div class="center">
</div>
<div class="right">
</div>
</div>
<div class="table-wrapper" id="returnMtcDiv">
<table class="table vertical tight">
<caption>해당 테이블에 대한 설명</caption>
<!-- 각 열 width 설정 -->
<colgroup>
<col style="width: 50%;">
<col style="width: auto;">
</colgroup>
<thead>
<tr>
<th>은행</th>
<th>입금자명${ data.acntnbList }
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="select-box">
<select class="full" title="해당 셀렉트에 대한 설명" name="returnAcntBnnkNm" id="returnAcntBnnkNm">
<option value="" selected disabled>선택</option>
<c:forEach items="${ data.bankAccount }" var="bankAccount" varStatus="status">
<option value="<c:out value="${ bankAccount.acntnb }"/>"><c:out value="${ bankAccount.dpstrNm }"/> <c:out value="${ bankAccount.acntnb }"/></option>
</c:forEach>
</select>
</div>
</td>
<td>
<input type="text" class="input-text full" value="" name="returnAcntDpstrNm" id="returnAcntDpstrNm" title="예금주">
</td>
</tr>
</tbody>
</table>
<p class="fyi fs-13 mt-5 gray-7">환불 금액을 입력할 환불 계좌 정보입니다. 결제 수단이 무통장, 가상 계좌인 경우 결제 금액은 관리자가 수동으로 입금해주세요.
</p>
</div>
<h3 class="content-section__title">배송비 안내</h3>
<div class="table-wrapper">
<table class="table vertical keep-all">
<caption>해당 테이블에 대한 설명</caption>
<!-- 각 열 width 설정 -->
<colgroup>
<col style="width: 12%;">
<col style="width: 44%;">
<col style="width: 44%;">
</colgroup>
<thead>
<tr>
<th>구분</th>
<th>구매자 부담 = 반품 배송비 + 최초 배송비</th>
<th>판매자 부담 = 반품 배송비 + 최초 배송비</th>
</tr>
</thead>
<tbody>
<tr>
<th>
반품 → 환불
</th>
<td>
반품 시 배송비는 반품의 원인을 제공한 자가 부담합니다.
<br>
구매자의 변심으로 반품을 원할 경우에는 구매자가 배송비를 지불
</td>
<td>
반품 시 배송비는 반품의 원인을 제공한 자가 부담합니다.
<br>
상품 하자나 제품 불일치로 인한 반품의 경우에는 판매자가 배송비를 지불
</td>
</tr>
<tr>
<th>
반품 → 교환
</th>
<td>
상품 교환 시 배송비는 교환의 원인을 제공한 자가 부담합니다.
<br>
구매자의 변심으로 반품을 원할 경우에는 구매자가 배송비를 지불
</td>
<td>
상품 교환 시 배송비는 교환의 원인을 제공한 자가 부담합니다.
<br>
상품 하자나 제품 불일치로 인한 반품의 경우에는 판매자가 배송비를 지불
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="modal-footer">
<a href="#" rel="modal:close" class="btn outline">닫기</a>
<button class="btn primary" type="button" id="btnRefundRegist" >확인</button>
</div>
</div>
<script src="/mngr/js/script.js" defer=""></script>
<script>
let dlvylcZip = '${ defaultReturnAdress.dlvylcZip }';
let dlvylcAdresDvCd = '${ defaultReturnAdress.dlvylcAdresDvCd }';
let dlvylcRnmAdres = '${ defaultReturnAdress.dlvylcRnmAdres }';
let dlvylcLnbAdres = '${ defaultReturnAdress.dlvylcLnbAdres }';
let dlvylcAdresDtl = '${ defaultReturnAdress.dlvylcAdresDtl }';
$(document).ready(function() {
$('input[name="senderZip"]').val(dlvylcZip);
$('input[name="senderAdresDvCd"]').val(dlvylcAdresDvCd);
$('input[name="senderRnmAdres"]').val(dlvylcRnmAdres);
$('input[name="senderLnbAdres"]').val(dlvylcLnbAdres);
$('input[name="senderAdresDtl"]').val(dlvylcAdresDtl);
});
</script>

View File

@@ -0,0 +1,331 @@
<%@ 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="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
<!DOCTYPE html>
<html lang="ko">
<head>
</head>
<body>
<!-- 결제취소/환불 신청 모달 -->
<div id="setleCanclRefndRegistPopupC" class="modal" style="max-width: 1000px;">
<div class="modal-header">
<h4>결제취소/환불 신청
<span class="modal-header__sub-text"> - 결제취소 상품이 있을 때 사용하세요!</span>
</h4>
</div>
<c:set var="order" value="${data.order}"/>
<spring:eval expression="@environment.getProperty('mngrfo.common.fileupload.cdnurl')" var="cdnurl"/>
<div class="modal-content" style="height: 600px;">
<form id="canclForm">
<p class="stone-7 mb-10">주문번호 : ${order.ordrInnb}</p>
<h3 class="content-section__title">주문상품 중 결제취소 가능 상품
<br>
<span class="fyi fw-400 fs-14 gray-8">주문상품 중 결제취소 가능 상품 : 결제취소 상품과 수량을 선택하세요!(*결제확인 상태에서는 전체 취소만 가능합니다.)</span>
</h3>
<div class="table-wrapper">
<input type="hidden" id="sopmalCd" value="${order.sopmalCd}"/>
<input type="hidden" id="ordrInnb" value="${order.ordrInnb}"/>
<input type="hidden" id="ordrTyCd" value="${order.ordrTyCd}"/>
<input type="hidden" id="ordrSttusCd" value="${order.ordrSttusCd}"/>
<input type="hidden" id="isBank" value="${not empty order.bnnkNm ? 'Y' : 'N'}"/>
<input type="hidden" id="setleTyCd" value="${order.setleTyCd}"/>
<input type="hidden" id="refundMthCd"
<c:choose>
<%-- <c:when test="${order.setleDt < '2024-11-21 20:00:00' }">--%>
<c:when test="${ ( ( order.sopmalCd eq 'AF' || order.sopmalCd eq 'JM' ) && order.setleDt < '2024-11-21 20:00:00' ) || ( ( order.sopmalCd eq 'BD' || order.sopmalCd eq 'DL' || order.sopmalCd eq 'LF' ) && order.setleDt < '2025-02-12 00:00:00' ) }">
value="13"
</c:when>
<c:otherwise>
value=""
</c:otherwise>
</c:choose>
/> <!-- 반품코드 -->
<c:choose>
<c:when test="${'04' == order.ordrTyCd || '05' == order.ordrTyCd}">
<c:choose>
<c:when test="${not empty data.shippingList}">
<c:forEach var="shipping" items="${data.shippingList}" varStatus="status">
<div class="infoDescription-box">
<span class="fw-500"><c:out value="${status.count}"/>. 배송지 : </span>
<c:out value="${shipping.recpntNm}"/> <c:out value="${not empty shipping.dlvylcZip ? '(' += shipping.dlvylcZip += ')' : ''}"/>
<c:out value="${shipping.adres}"/>
<c:out value="${shipping.dlvylcAdresDtl}"/>
</div>
<div class="cartOrder__list">
<div class="table-wrapper">
<table class="table vertical orderRefundPop__table">
<caption>결제취소/환불정보</caption>
<colgroup>
<col style="width: 8%;">
<col style="width: auto">
<col style="width: 12%;">
<col style="width: 12%;">
<col style="width: 12%;">
<col style="width: 12%;">
</colgroup>
<thead>
<tr>
<th>
<label class="b-checkbox checkbox is-medium check-all">
<input type="checkbox" id="" checked onclick="return false;">
<span class="check"></span>
</label>
</th>
<th>주문상품</th>
<th>주문수량</th>
<th>취소가능수량</th>
<th>결제취소수량</th>
<th>처리상태</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${not empty shipping.goodsList}">
<c:forEach var="goods" items="${shipping.goodsList}" varStatus="status">
<tr class="cancl-goods">
<td>
<label class="b-checkbox checkbox">
<input type="checkbox" name="goodsCheck" value="" checked onclick="return false;">
<span class="check"></span>
<span class="control-label"></span>
</label>
</td>
<td>
<div class="order-section__product">
<img src="${ cdnurl }${goods.goodsImgCours}" onerror="this.src='<c:url value="/mngr/images/image_placeholder.png"/>'" alt="${goods.goodsNm}" width="56" height="56">
<div class="order-section__product-info">
<span class="order-section__product-productTitle">${goods.goodsNm}</span>
<span class="option-text">
<span class="option-badge">옵션</span> <c:out value="${goods.optnNm}"/></span>
</div>
</div>
</td>
<td><c:out value="${goods.ordrQy}"/></td>
<td><c:out value="${goods.ordrQy - goods.setleCanclQy}"/></td>
<td>
<input type="hidden" class="sopmalCd" value="${goods.sopmalCd}"/>
<input type="hidden" class="ordrInnb" value="${goods.ordrInnb}"/>
<input type="hidden" class="ordrDlvyInnb" value="${shipping.ordrDlvyInnb}"/>
<input type="hidden" class="ordrGoodsInnb" value="${goods.ordrGoodsInnb}"/>
<input type="hidden" class="ordrGoodsOptnInnb" value="${goods.ordrGoodsOptnInnb}"/>
<input type="hidden" class="setleCanclQy" value="${goods.setleCanclQy}"/>
<input type="hidden" class="ordrQy" value="${goods.ordrQy}"/>
<input type="hidden" class="subscrptWthdrawPosblAt" value="${goods.subscrptWthdrawPosblAt}"/>
<input type="hidden" class="indvdlzCanclPosblAt" value="${goods.indvdlzCanclPosblAt}"/>
<div class="select-box">
<select class="canclQy" title="취소 수량" disabled>
<c:forEach var="item" begin="1" end="${goods.ordrQy - goods.setleCanclQy}" step="1" varStatus="status">
<option value="${status.count}" <c:if test="${status.last}">selected</c:if>>
${status.count}
</option>
</c:forEach>
</select>
</div>
</td>
<td>
<span class="orderList__status"><c:out value="${goods.ordrSttusNm}"/></span>
</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<tr><td colspan="100%" ><spring:message code="common.nodata"/></td></tr>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
</div>
</c:forEach>
</c:when>
<c:otherwise>
</c:otherwise>
</c:choose>
</c:when>
<c:otherwise>
<table id="checkActivateInput" class="table vertical">
<caption>결제취소/환불정보</caption>
<colgroup>
<col style="width: 8%;">
<col style="width: auto">
<col style="width: 12%;">
<col style="width: 12%;">
<col style="width: 12%;">
<col style="width: 12%;">
</colgroup>
<thead>
<tr>
<th>
<label class="b-checkbox checkbox is-medium check-all">
<input type="checkbox" id="" checked onclick="return false;">
<span class="check"></span>
</label>
</th>
<th>주문상품</th>
<th>주문수량</th>
<th>취소가능수량</th>
<th>결제취소수량</th>
<th>처리상태</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${not empty data.goodsList}">
<c:forEach var="goods" items="${data.goodsList}">
<tr class="cancl-goods">
<td>
<label class="b-checkbox checkbox">
<input type="checkbox" name="goodsCheck" value="" checked onclick="return false;">
<span class="check"></span>
<span class="control-label"></span>
</label>
</td>
<td>
<div class="order-section__product">
<img src="${ cdnurl }${goods.goodsImgCours}" onerror="this.src='<c:url value="/mngr/images/image_placeholder.png"/>'" alt="${goods.goodsNm}" width="56" height="56">
<div class="order-section__product-info">
<span class="order-section__product-productTitle">${goods.goodsNm}</span>
<span class="option-text">
<span class="option-badge">옵션</span> <c:out value="${goods.optnNm}"/>
</span>
</div>
</div>
</td>
<td><c:out value="${goods.ordrQy}"/></td>
<td><c:out value="${goods.ordrQy - goods.setleCanclQy}"/></td>
<td>
<input type="hidden" class="sopmalCd" value="${goods.sopmalCd}"/>
<input type="hidden" class="ordrInnb" value="${goods.ordrInnb}"/>
<input type="hidden" class="ordrDlvyInnb" value="${shipping.ordrDlvyInnb}"/>
<input type="hidden" class="ordrGoodsInnb" value="${goods.ordrGoodsInnb}"/>
<input type="hidden" class="ordrGoodsOptnInnb" value="${goods.ordrGoodsOptnInnb}"/>
<input type="hidden" class="setleCanclQy" value="${goods.setleCanclQy}"/>
<input type="hidden" class="ordrQy" value="${goods.ordrQy}"/>
<input type="hidden" class="subscrptWthdrawPosblAt" value="${goods.subscrptWthdrawPosblAt}"/>
<input type="hidden" class="indvdlzCanclPosblAt" value="${goods.indvdlzCanclPosblAt}"/>
<div class="select-box">
<select class="canclQy" title="취소 수량" disabled>
<c:forEach var="item" begin="1" end="${goods.ordrQy - goods.setleCanclQy}" step="1" varStatus="status">
<option value="${status.count}" <c:if test="${status.last}">selected</c:if>>
${status.count}
</option>
</c:forEach>
</select>
</div>
</td>
<td>
<span class="orderList__status"><c:out value="${goods.ordrSttusNm}"/></span>
</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>
</c:otherwise>
</c:choose>
</div>
<h3 class="content-section__title">취소 사유</h3>
<div class="table-wrapper">
<table class="table">
<caption>취소 방법</caption>
<colgroup>
<col style="width: 20%;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th>취소사유</th>
<td>
<div class="select-box">
<select name="returnResnCd" id="returnResnCd" class="lg" title="취소사유">
<option value="" selected>취소사유를 선택해 주세요.</option>
<c:forEach var="returnResn" items="${data.returnResnList}">
<option value="<c:out value="${returnResn.cd}"/>"><c:out value="${returnResn.cdNm}"/></option>
</c:forEach>
</select>
</div>
</td>
</tr>
<tr>
<th>상세사유</th>
<td><textarea name="returnResnCn" id="returnResnCn" class="textarea" rows="6" title="상세사유" placeholder="최소 10자 이상으로 입력해 주세요."></textarea></td>
</tr>
</tbody>
</table>
</div>
<c:if test="${not empty order.setleTyCd && ( order.setleTyCd eq '02' || order.setleTyCd eq '04' || order.setleTyCd eq '05' )}">
<h3 class="content-section__title">환불 방법</h3>
<div class="table-wrapper">
<table class="table">
<caption>환불 방법</caption>
<colgroup>
<col style="width: 12%;">
<col style="width: 21%">
<col style="width: 12%;">
<col style="width: 21%">
<col style="width: 12%;">
<col style="width: 21%">
</colgroup>
<tbody>
<tr>
<th>은행</th>
<td>
<div class="select-box">
<select class="short2" title="해당 셀렉트에 대한 설명" name="refundAcntBnnkNm" id="refundAcntBnnkNm">
<c:forEach var="cdList" items="${ data.bankCdList }" varStatus="status">
<option value="<c:out value="${ cdList.cd }"/>,<c:out value="${ cdList.cdNm }"/>" ><c:out value="${ cdList.cdNm }"/></option>
</c:forEach>
</select>
</div>
<%--<input type="text" name="refundAcntBnnkNm" id="refundAcntBnnkNm" maxlength="20" class="input-text" title="은행">--%>
</td>
<th>예금주</th>
<td><input type="text" name="refundAcntDpstrNm" id="refundAcntDpstrNm" maxlength="20" class="input-text" title="예금주"></td>
<th>계좌번호</th>
<td><input type="text" name="refundAcntnb" id="refundAcntnb" maxlength="20" class="input-text number" title="계좌번호"></td>
</tr>
</tbody>
</table>
</div>
<div class="infoDescription-box">
<p class="fyi">환불방법은 복합결제(마일리지, 쿠폰 사용 등) 및 최초 배송비 계산 등의 이유로 쇼핑몰 관리자와 협의 후 결정됩니다.</p>
<p class="fyi">환불 금액을 입력할 환불 계좌 정보입니다. 결제 수단이 무통장, 가상 계좌인 경우 결제 금액은 관리자가 수동으로 입금해주세요.</p>
</div>
</c:if>
<h3 class="content-section__title">최초 배송비</h3>
<div class="infoDescription-box">
<p class="fyi">부분 결제 취소 시 추가 배송비가 발생할 수 있으며, 이 때, 추가 배송비를 결제해 주셔야만 결제취소 처리완료가 가능합니다.</p>
<p class="fw-500">[추가 배송비가 발생하는 경우]</p>
<ul>
<li>① ‘묶음 배송비’ 상품의 배송비 무료(금액별 차등) 조건을 충족하여 배송비 무료</li>
<li>② 부분 결제취소로 배송비 무료 조건을 불충족하는 경우 추가 배송비 부과</li>
<li>③ 추가 배송비는 카드 또는 마일리지으로 결제 가능</li>
</ul>
</div>
<h3 class="content-section__title">유의사항</h3>
<div class="infoDescription-box">
<p class="fyi">결제확인 상태에서는 전체 취소만 가능합니다.</p>
</div>
</form>
</div>
<div class="modal-footer">
<a href="javascript:void(0);" id="btnClose" rel="modal:close" class="btn outline">닫기</a>
<button type="button" id="btnConfirm" class="btn primary">확인</button>
</div>
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,215 @@
<%@ page import="java.util.Date" %>
<%@ 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"%>
<%--
Class Name : .jsp
Description : 반품/환불 목록조회 화면
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2024-01-30 추지훈 최초 생성
--%>
<script>
$(document).ready(function() {
$('select').niceSelect();
});
</script>
<section class="content-section">
<div class="form-control-container">
<div class="left">
<div class="search-number">
<span class="search-number__text">총 <strong><c:out value="${ resultMap.paginationInfo.totalRecordCount }"/></strong>건</span>
</div>
</div>
<div class="center">
</div>
<div class="right">
<div class="select-box">
<select title="페이지당 출력될 목록건수" name = "pageUnit" id ="pageUnit" onchange = "fn_select_list(1);return false;">
<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 order-section vertical">
<caption>해당 테이블에 대한 설명</caption>
<!-- 각 열 width 설정 -->
<colgroup>
<col style="width: 6%;">
<col style="width: 12%;">
<col style="width: 12%;">
<col style="width: auto;">
<col style="width: 5%;">
<col style="width: 5%;">
<col style="width: 7%;">
<col style="width: 7%;">
<col style="width: 7%;">
<col style="width: 12%;">
<col style="width: 6%;">
<col style="width: 6%;">
</colgroup>
<thead>
<tr>
<th rowspan="2">번호</th>
<th>접수일시</th>
<th rowspan="2">주문번호</th>
<th rowspan="2">주문자</th>
<th rowspan="2">결제</th>
<th rowspan="2">종류</th>
<th rowspan="2">회수수량<br>/주문수량</th>
<th rowspan="2">환불방법</th>
<th rowspan="2">환불금액</th>
<th>반품처리완료일시</th>
<th colspan="2">처리상태</th>
</tr>
<tr>
<th>반품/환불번호</th>
<th>환불처리완료일시</th>
<th>반품</th>
<th>환불</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test = "${not empty resultMap.resultList}">
<c:forEach var = "refund" items = "${resultMap.resultList}" varStatus="status">
<tr>
<td><c:out value="${resultMap.paginationInfo.totalRecordCount - refund.rnum+1 }" /></td>
<td>
<span><c:out value = "${refund.refundReqstDt}"/></span>
<br>
<button type="button" onclick="fn_move_dtlupdt('<c:out value = "${ refund.orderRefundInnb }"/>', '<c:out value="${ refund.ordrInnb }"/>');" class="blue-6 fw-500" href=""><c:out value = "${ refund.refundCd }"/></button>
</td>
<td>
<button type="button" class="blue-6 fw-500" onclick="fn_go_ordr_dtl('<c:out value="${ refund.ordrInnb }"/>');" ><c:out value = "${refund.ordrInnb}"/></button>
<br/>
<c:if test="${ not empty refund.smrtShopngOrdrnb && refund.smrtShopngOrdrnb > 0 }">
<button type="button" class="green-6 fw-400" href=""><c:out value="${ refund.smrtShopngOrdrnb }"/> (Npay)</button>
</c:if>
</td>
<td>
<c:choose>
<c:when test = "${not empty refund.mbrDvCd}">
<button class="order-detail-text" data-info="info01" type="button"
onclick="fn_select_crm_mini_info(this, '<c:out value="${ refund.mbrInnb }"/>', '<c:out value="${ refund.mbrDvCd }"/>', '#modalDiv'); return false;">
<span class="gray-12">
<c:out value = "${refund.ordrrNm}"/>
</span>
<c:if test = "${not empty refund.mbrInnb}">
(
<span class="fw-500 blue-7"><c:out value = "${refund.mbrId}"/></span>
/
<span class="fw-500 green-8"><c:out value = "${refund.mbrGradNm}"/></span>
)
</c:if>
</button>
</c:when>
<c:otherwise>
<button class="order-detail-text" data-info="info01" type="button"
onclick="fn_select_crm_mini_info_nmbr(this, '<c:out value="${ refund.ordrrMbtlnb}"/>', '<c:out value="${ refund.ordrInnb}"/>','<c:out value="${ refund.ordrrNm}"/>', '#modalDiv'); return false;">
<span class="gray-12">
<c:out value = "${refund.ordrrNm}"/>
</span>
<c:if test = "${not empty refund.mbrInnb}">
(
<span class="fw-500 blue-7"><c:out value = "${refund.mbrId}"/></span>
/
<span class="fw-500 green-8"><c:out value = "${refund.mbrGradNm}"/></span>
)
</c:if>
</button>
</c:otherwise>
</c:choose>
</td>
<td>
<c:choose>
<c:when test="${ refund.setleDyCd eq '05' }">
<i class="icon icon_word-badge07" ></i><!-- 에스크로 -->
<i class="icon icon_word-badge06" ></i><!-- 가상계좌 -->
</c:when>
<c:when test="${ refund.setleDyCd eq '06' }">
<i class="icon icon_word-badge07" ></i><!-- 에스크로 -->
<i class="icon icon_word-badge13" ></i><!-- 계좌 -->
</c:when>
<c:when test="${ refund.setleDyCd eq '01' }">
<i class="icon icon_word-badge04" ></i><!-- 카드 -->
</c:when>
<c:when test="${ refund.setleDyCd eq '02' }">
<i class="icon icon_word-badge03" ></i><!-- 무통장 -->
</c:when>
<c:when test="${ refund.setleDyCd eq '03' }">
<i class="icon icon_word-badge13" ></i><!-- 계좌 -->
</c:when>
<c:when test="${ refund.setleDyCd eq '04' }">
<i class="icon icon_word-badge06" ></i><!-- 가상계좌 -->
</c:when>
<c:when test="${ refund.setleDyCd eq '07' }">
<i class="icon icon_word-badge05" ></i><!-- 핸드폰 -->
</c:when>
<c:when test="${ refund.setleDyCd eq '08' }">
<i class="icon icon_word-badge12" ></i><!-- 마일리지 -->
</c:when>
<c:when test="${ refund.setleDyCd eq '09' }">
<i class="icon icon_word-badge_pos" ></i><!-- 포스 -->
</c:when>
<c:when test="${ refund.setleDyCd eq '10' }">
<i class="icon icon_word-badge_payco" ></i><!-- 페이코 -->
</c:when>
<c:when test="${ refund.setleDyCd eq '11' }">
<i class="icon icon_word-badge14" ></i><!-- 복합 -->
</c:when>
<c:when test="${ refund.setleDyCd eq '12' }">
<i class="icon icon_word-badge16" ></i><!-- 충전식마일리지 -->
</c:when>
</c:choose>
</td>
<td><c:out value = "${refund.refundTyCdNm}"/></td>
<td><c:out value = "${ refund.refundQy }"/>/<c:out value = "${ refund.orderQy }"/>(<c:out value = "${ refund.orderGoodsCnt }"/>종)</td>
<td>
<c:out value = "${ refund.refundMthCdNm }"/>
</td>
<td>
<span class="comma">
<c:out value="${ refund.refundAmt }"/>
</span>
</td>
<td>
<c:out value = "${ refund.refundComptDt }"/>
<br>
<c:out value = "${ refund.returnComptDt }"/>
</td>
<td><c:out value = "${ refund.returnProcsSttusCdNm }"/></td>
<td><c:out value = "${ refund.refundProcsSttusCdNm }"/></td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<tr>
<td colspan="100%"><spring:message code="common.nodata"/></td>
</tr>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
</section>
<div class="pagination__container">
<ui:pagination paginationInfo="${resultMap.paginationInfo}" type="image" jsFunction="fn_select_list" />
</div>

View File

@@ -0,0 +1,354 @@
<%@ page import="java.util.Date" %>
<%@ 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"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<%@ include file="/WEB-INF/views/comm/mngr/Include.jsp"%>
</head>
<script>
$(document).ready(function(){
// $('.dateRange-btn').filter('#sevenDays').trigger('click');
var tempSrchStartDate = $('#tempSrchStartDate').val();
var tempSrchEndDate = $('#tempSrchEndDate').val();
if(tempSrchEndDate == null || tempSrchEndDate == undefined || tempSrchEndDate == "") {
$('.dateRange-btn').filter('#sevenDays').trigger('click');
}else if(tempSrchEndDate == "1") {
$('#srchStartDate').val("");
$('#srchEndDate').val("");
}else {
$('#srchStartDate').val(tempSrchStartDate);
$('#srchEndDate').val(tempSrchEndDate);
}
fn_display_start();
if(tempSrchEndDate == null || tempSrchEndDate == undefined || tempSrchEndDate == "") {
$('.dateRange-btn').filter('#sevenDays').trigger('click');
}else if(tempSrchEndDate == "1") {
$('#srchStartDate').val("");
$('#srchEndDate').val("");
}else {
$('#srchStartDate').val(tempSrchStartDate);
$('#srchEndDate').val(tempSrchEndDate);
}
});
/********************************************************
* 시작 화면 제어 함수
* ******************************************************/
const fn_display_start = function() {
fn_set_date('srchStartDate','srchEndDate','srchEndDate');
$('#listForm').on('keydown', function(e) {
if (e.keyCode == 13) {
e.preventDefault();
$('#searchBtn').trigger("click");
}
});
$('#allDays').on('click', function() {
$('#srchStartDate, #srchEndDate').val('');
});
fn_set_dateRange_function("#dateRange","srchStrtDt","srchEndDt","srchEndDt");
//페이징 정보 있는 반품 환불
let pageIndex = '<c:out value="${ resultMap.paramVO.pageIndex }"/>';
let pageUnit = '<c:out value="${ resultMap.paramVO.pageUnit }"/>';
fn_select_list(pageIndex, pageUnit);
//검색어 구분 change 이벤트
<%--
$("#srchKyword").on("input", function () {
let dvVal = $("#srchDv").val();
let input = $(this).val();
if(dvVal == 'hp'){
$(this).val(input.replace(/[^0-9]/g, ""));
}
});
--%>
}
/********************************************************
* 반품 환불 목록 조회
* ******************************************************/
const fn_select_list = function (pageIndex, pageUnit) {
let dataStr;
if(!pageIndex) {
$('#pageIndex').val(1);
} else {
$('#pageIndex').val(pageIndex);
}
if(!pageUnit) {
dataStr = $('#listForm').serialize();
} else {
if($('#pageUnit').length){
$('#pageUnit').val(pageUnit);
dataStr = $('#listForm').serialize();
} else {
dataStr = $('#listForm').serialize()+'&pageUnit='+pageUnit;
}
}
$('#pageIndex').val(pageIndex);
$.ajax({
type: "post",
url : "<c:url value='/mngr/ordr/refnd/selectRtngudRefndListInqire'/>",
data : dataStr,
success:function(resultHtml) {
$('#pageDiv').html(resultHtml);
$('#pageUnit').niceSelect();
}
});
}
/****************************************************
* 반품환불 상세 수정폼 이동
*****************************************************/
const fn_move_dtlupdt = function(orderReInnb, ordrInnb) {
$('#listForm').attr('action', '<c:url value="/mngr/ordr/refnd/selectRtngudRefndDtlInqire"/>');
$('#listForm').attr('method', 'post');
$('#orderReInnb').val(orderReInnb);
$('#ordrInnb').val(ordrInnb);
$('#listForm').submit();
}
/****************************************************
* 검색 후 새로 고침 시 검색조건 리셋
*****************************************************/
history.replaceState({}, null, location.pathname);
/* 주문상세 이동 */
const fn_go_ordr_dtl = function(ordrInnb) {
var form = $('#listForm')
$(form).find('input[name="ordrInnb"]').remove();
$(form).append($('<input/>', {type:'hidden', name:'ordrInnb', id:'ordrInnb', value:ordrInnb}));
$(form).attr('target', '');
$(form).attr('method', 'post');
$(form).attr('action', '<c:url value="/mngr/ordr/ordrmngr/selectOrdrDtlInqire"/>');
$(form).submit();
}
</script>
<body>
<%@ include file="/WEB-INF/views/comm/mngr/Header.jsp"%>
<main class="main">
<%@ include file="/WEB-INF/views/comm/mngr/Left.jsp"%>
<div class="content">
<div class="content__inner">
<button class="side-nav__fold"><span class="visually-hidden">좌측메뉴 펼치기/닫기</span></button>
<div class="page-title">
<h2 class="page-title__title">반품/환불 조회</h2>
<div class="page-title__btn-container">
</div>
</div>
<form id="listForm">
<input type="hidden" id="orderReInnb" name="orderReInnb" value=""/>
<input type="hidden" id="ordrInnb" name="ordrInnb" value=""/>
<input type="hidden" id="pageIndex" name="pageIndex" value="<c:out value="${ resultMap.paramVO.pageIndex }"/>"/>
<input type="hidden" name="srchDatePick" value="${resultMap.paramVO.srchDatePick}" />
<input type="hidden" id="recordCountPerPage" name="recordCountPerPage" value="<c:out value="${ resultMap.paramVO.recordCountPerPage }"/> "/>
<input type="hidden" id="sopmalCd" name="sopmalCd" value="${ resultMap.paramVO.sopmalCd }"/>
<section class="content-section" id = "content-section">
<div class="table-wrapper">
<table class="table">
<caption>해당 테이블에 대한 설명</caption>
<colgroup>
<col style="width: 12%;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th>검색어</th>
<td>
<div class="td-inner">
<div class="select-box">
<select title="해당 셀렉트에 대한 설명" id = "srchDv" name="srchDv">
<option value="ORDERINNB" <c:if test="${ 'ORDERINNB' eq resultMap.paramVO.srchDv }">selected </c:if> >주문번호</option>
<option value="ORDRNM" <c:if test="${ 'ORDRNM' eq resultMap.paramVO.srchDv }">selected </c:if> >주문자명</option>
<option value="RCPNMTERNM" <c:if test="${ 'RCPNMTERNM' eq resultMap.paramVO.srchDv }">selected </c:if> >입금자명</option>
<option value="MBRID" <c:if test="${ 'MBRID' eq resultMap.paramVO.srchDv }">selected </c:if> >아이디</option>
<option value="REINNB" <c:if test="${ 'REINNB' eq resultMap.paramVO.srchDv }">selected </c:if> >반품/환불번호</option>
</select>
</div>
<input class="input-text xl" type="text" title="해당 인풋에 대한 설명" id = "srchStr" name="srchStr"
placeholder="검색어를 입력해 주십시요."
value='<c:out value="${ resultMap.paramVO.srchStr }" />'>
</div>
</td>
</tr>
<tr>
<th>날짜</th>
<td>
<div class="td-inner">
<div class="select-box">
<select id="srchDtDv" name="srchDtDv" title="해당 셀렉트에 대한 설명">
<option value="refundReqestDt" <c:if test="${ 'refundReqestDt' eq resultMap.paramVO.srchDtDv }">selected </c:if> >환불신청일</option>
<option value="refundComptDt" <c:if test="${ 'refundComptDt' eq resultMap.paramVO.srchDtDv }">selected </c:if> >환불완료일</option>
<option value="returnReqestDt" <c:if test="${ 'returnReqestDt' eq resultMap.paramVO.srchDtDv }">selected </c:if> >반품신청일</option>
<option value="returnComptDt" <c:if test="${ 'returnComptDt' eq resultMap.paramVO.srchDtDv }">selected </c:if> >반품완료일</option>
</select>
</div>
<div class="input-container">
<input type="hidden" id="tempSrchStartDate" value="<c:out value="${ resultMap.paramVO.srchStartDate }" />" />
<input type="hidden" id="tempSrchEndDate" value="<c:out value="${ resultMap.paramVO.srchEndDate }" />" />
<input type="text" name="srchStartDate" id="srchStartDate" class="datepicker" title="시작 날짜 선택" autocomplete="off" pattern="yyyy-MM-dd"
value='<c:out value="${ resultMap.paramVO.srchStartDate }" />'>
<span class="tilde">~</span>
<input type="text" name="srchEndDate" id="srchEndDate" class="datepicker" title="종료 날짜 선택" autocomplete="off" pattern="yyyy-MM-dd"
value='<c:out value="${ resultMap.paramVO.srchEndDate }" />'>
</div>
<div class="dateRange-btnContainer">
<button type="button" class="dateRange-btn" id="yesterday" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','1D')">어제</button>
<button type="button" class="dateRange-btn" id="today" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','0')">오늘</button>
<button type="button" class="dateRange-btn" id="threeDays" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','3D')">3일간</button>
<button type="button" class="dateRange-btn" id="sevenDays" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','7D')">일주일</button>
<button type="button" class="dateRange-btn" id="oneMonth" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','1M')">1개월</button>
<button type="button" class="dateRange-btn" id="threeMonth" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','3M')">3개월</button>
<button type="button" class="dateRange-btn" id="sixMonth" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','6M')">6개월</button>
<button type="button" class="dateRange-btn" id="oneYear" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','1Y')">1년</button>
<button type="button" class="dateRange-btn selected" id="allDays">전체</button>
</div>
</div>
</td>
</tr>
<tr>
<th>반품처리상태</th>
<td>
<div class="td-inner">
<div class="b-checkbox-container">
<label class="b-checkbox checkbox check-all">
<input type="checkbox" id="returnProcsSttusAll" value="">
<span class="check"></span>
<span class="control-label">전체</span>
</label>
<c:forEach var = "rtngud" items = "${resultMap.rtngudProcsSttus}">
<label class="b-checkbox checkbox">
<input class="returnProcsSttus" type="checkbox" name="srchReturnProcsStuusCd" value="${rtngud.cd}" onclick="fn_ctr_pCheckbox('#returnProcsSttusAll', '.returnProcsSttus')"
<c:if test="${ fn:contains(resultMap.paramVO.srchReturnProcsStuusCd, rtngud.cd) }">checked="checked"</c:if>>
<span class="check"></span>
<span class="control-label">${rtngud.cdNm}</span>
</label>
</c:forEach>
</div>
</div>
</td>
</tr>
<tr>
<th>환불처리상태</th>
<td>
<div class="td-inner">
<div class="b-checkbox-container">
<label class="b-checkbox checkbox check-all">
<input type="checkbox" id="refundProcsSttusAll" value="">
<span class="check"></span>
<span class="control-label">전체</span>
</label>
<c:forEach var = "refund" items = "${resultMap.refndProcsSttus}">
<label class="b-checkbox checkbox">
<input class="refundProcsSttus" type="checkbox" name="srchRefundProcsSttusCd" value="${refund.cd}" onclick="fn_ctr_pCheckbox('#refundProcsSttusAll', '.refundProcsSttus');"
<c:if test="${ fn:contains(resultMap.paramVO.srchRefundProcsSttusCd, refund.cd) }">checked="checked"</c:if>>
<span class="check"></span>
<span class="control-label">${refund.cdNm}</span>
</label>
</c:forEach>
</div>
</div>
</td>
</tr>
<tr class="search-hide">
<th>회수방법(반품)</th>
<td>
<div class="td-inner">
<div class="select-box">
<select title="해당 셀렉트에 대한 설명" name="srchReturnMthCd">
<option value="">전체</option>
<c:forEach var="cdList" items="${ resultMap.returnMtcCdList }" varStatus="status">
<c:choose>
<c:when test="${ cdList.cd eq resultMap.paramVO.srchReturnMthCd}">
<option value="<c:out value="${ cdList.cd }"/>" selected="selected" <c:if test="${ cdList.cd eq resultMap.paramVO.srchDv }">selected </c:if> ><c:out value="${ cdList.cdNm }"/></option>
</c:when>
<c:otherwise>
<option value="<c:out value="${ cdList.cd }"/>" <c:if test="${ cdList.cd eq resultMap.paramVO.srchDv }">selected </c:if> ><c:out value="${ cdList.cdNm }"/></option>
</c:otherwise>
</c:choose>
</c:forEach>
</select>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="form-control-container">
<div class="left"></div>
<div class="center">
<button type = "button" class="btn outline" onclick = "fn_reset_form('content-section'); $('#sevenDays').click(); ">초기화</button>
<button class="btn primary" type="button" id="searchBtn" onclick="fn_select_list(1); return false;">검색</button>
</div>
<div class="right">
<button class="btn outline search-detail">상세검색</button>
</div>
</div>
</section>
<!-- // 검색 끝 -->
<div id = "pageDiv">
</div>
</form>
<button class="scroll-to-top"><span class="visually-hidden">위로가기</span></button>
</div>
</div>
</main>
<div id="modalDiv">
</div>
</body>
</html>

View File

@@ -0,0 +1,137 @@
<%@ page import="java.util.Date" %>
<%@ 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"%>
<%--
Class Name : CshRciptInqirePopupR.jsp
Description : 현금영수증신청 보기 팝업
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2024-06-20 임수영 수정
--%>
<script>
$(document).ready(function() {
});
</script>
<div id="cash-receipt-inquire-pop" class="modal" style="max-width: 520px;">
<input type="hidden" name="sopmalCd" value="${ resultMap.result.sopmalCd }" />
<div class="modal-header">
<h4>현금영수증
<span class="modal-header__sub-text">-신청내역 상세정보입니다.</span>
</h4>
</div>
<div class="modal-content" style="height: 500px;">
<div class="table-wrapper">
<table class="table">
<caption>해당 테이블에 대한 설명</caption>
<colgroup>
<col style="width: 24%;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr><!-- TODO : 추후에 적용. -->
<th>발급상태</th>
<td>
<div class="td-inner">
<c:out value="${ resultMap.result.issuSttusCdNm }" />
</div>
</td>
</tr>
<tr>
<th>거래일시</th>
<td>
<div class="td-inner">
<c:set var="registDt" value="${fn:replace(resultMap.result.registDt, 'T', ' ')}" />
<c:out value="${ registDt }" />
</div>
</td>
</tr>
<tr>
<th>주문번호</th>
<td>
<div class="td-inner">
<c:out value="${ resultMap.result.ordrInnb }" />
</div>
</td>
</tr>
<tr>
<th>발행용도</th>
<td>
<div class="td-inner">
<c:out value="${ resultMap.result.issuTrgetDvCdNm }" />
</div>
</td>
</tr>
<tr>
<th>인증번호</th>
<td>
<div class="td-inner">
<c:out value="${ resultMap.result.crtnb }" />
</div>
</td>
</tr>
<tr>
<th>주문자명</th>
<td>
<div class="td-inner">
<c:out value="${ resultMap.result.ordrrNm }" />
</div>
</td>
</tr>
<tr>
<th>이메일</th>
<td>
<div class="td-inner">
<c:out value="${ resultMap.result.ordrrEmail }" />
</div>
</td>
</tr>
<tr>
<th>상품명</th>
<td>
<div class="td-inner">
<c:out value="${ resultMap.result.goodsNm }" />
</div>
</td>
</tr>
<tr>
<th>금액</th>
<td>
<div class="td-inner vertical">
<div class="input-container">
<span class="mr-10">합계 : </span>
<fmt:formatNumber value="${resultMap.result.amt}" pattern="#,###"/>
<span class="input-unit-text mr-8">원</span>
</div>
<div class="input-container">
<span class="mr-10">공급가액 : </span>
<fmt:formatNumber value="${resultMap.result.splpric}" pattern="#,###"/>
<span class="input-unit-text mr-8">원</span>
</div>
<div class="input-container">
<span class="mr-10">부 가 세 : </span>
<fmt:formatNumber value="${resultMap.result.vatAmt}" pattern="#,###"/>
<span class="input-unit-text mr-8">원</span>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>

View File

@@ -0,0 +1,206 @@
<%@ page import="java.util.Date" %>
<%@ 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"%>
<%--
Class Name : CshRciptRegistPopup.jsp
Description : (수동)현금영수증신청 팝업
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2024-02-24 이운산 최초 생성
2024-02-28 이운산 퍼블리싱 적용
2024-06-17 임수영 수정
--%>
<script>
$(document).ready(function() {
});
// 개인 소득공제용, 사업자지출 증빙용 라디오 버튼 클릭 시 아래 인증번호 텍스트 바뀜.
$('input[name="issuTrgetDvCd"]').on('click', function() {
if(this.value == '01') {
$('#crtnbText').text('주민(휴대폰)번호');
}else {
$('#crtnbText').text('사업자번호');
}
})
</script>
<div id="cash-receipt-register-pop" class="modal" style="max-width: 520px;">
<form id="cash-receipt-register-pop-form">
<input type="hidden" name="sopmalCd" value="<c:out value="${ resultMap.result.sopmalCd }"/>" />
<input type="hidden" name="ordrSetleInnb" value="<c:out value="${ resultMap.result.ordrSetleInnb }"/>" />
<input type="hidden" name="selngPrufInnb" value="<c:out value="${ resultMap.result.selngPrufInnb }"/>" />
<div class="modal-header">
<h4>현금영수증 수동발급
<span class="modal-header__sub-text">-현금영수증을 수동발급합니다.</span>
</h4>
</div>
<div class="modal-content" style="height: 500px;">
<div class="table-wrapper">
<table class="table">
<caption>해당 테이블에 대한 설명</caption>
<colgroup>
<col style="width: 24%;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th>주문번호</th>
<td>
<div class="td-inner">
<span class="stone-7"><c:out value="${ resultMap.result.ordrInnb }"/></span>
<input type="hidden" name=ordrInnb value="<c:out value="${ resultMap.result.ordrInnb }"/>" />
</div>
</td>
</tr>
<tr>
<th>발행용도</th>
<td>
<div class="td-inner">
<div class="custom-radio-container">
<c:choose>
<c:when test="${ resultMap.result.issuTrgetDvCd eq '01' }">
<div class="custom-radio">
<input type="radio" id="r-1" name="issuTrgetDvCd" checked="" value="01">
<label for="r-1">개인 소득공제용</label>
</div>
<div class="custom-radio">
<input type="radio" id="r-2" name="issuTrgetDvCd" value="02">
<label for="r-2">사업자지출 증빙용</label>
</div>
</c:when>
<c:when test="${ resultMap.result.issuTrgetDvCd eq '02' }">
<div class="custom-radio">
<input type="radio" id="r-1" name="issuTrgetDvCd" value="01">
<label for="r-1">개인 소득공제용</label>
</div>
<div class="custom-radio">
<input type="radio" id="r-2" name="issuTrgetDvCd" checked="" value="02">
<label for="r-2">사업자지출 증빙용</label>
</div>
</c:when>
</c:choose>
</div>
</div>
</td>
</tr>
<tr>
<th>인증번호</th>
<td>
<div class="td-inner">
<c:choose>
<c:when test="${ resultMap.result.issuTrgetDvCd eq '01' }">
<span class="stone-9" id="crtnbText">주민(휴대폰)번호</span>
</c:when>
<c:when test="${ resultMap.result.issuTrgetDvCd eq '02' }">
<span class="stone-9" id="crtnbText">사업자번호</span>
</c:when>
</c:choose>
<input class="input-text" type="text" name="crtnb" title="해당 인풋에 대한 설명" placeholder="'-'없이 입력" value="<c:out value="${ resultMap.result.crtnb }"/>">
</div>
</td>
</tr>
<tr>
<th>주문자명</th>
<td>
<div class="td-inner">
<input class="input-text" type="text" name="ordrrNm" title="해당 인풋에 대한 설명" placeholder="" value="<c:out value="${ resultMap.result.ordrrNm }"/>">
</div>
</td>
</tr>
<tr>
<th>이메일</th>
<td>
<div class="td-inner">
<input class="input-text" type="text" name="ordrrEmail" title="해당 인풋에 대한 설명" placeholder="" value="<c:out value="${ resultMap.result.ordrrEmail }"/>">
</div>
</td>
</tr>
<tr>
<th>상품명</th>
<td>
<div class="td-inner">
<input class="input-text lg" type="text" name="goodsNm" title="해당 인풋에 대한 설명" placeholder="" value="<c:out value="${ resultMap.result.goodsNm }"/>">
</div>
</td>
</tr>
<tr>
<th>발행액</th>
<td>
<div class="td-inner vertical">
<div class="input-container">
<span class="mr-10">발행액</span>
<input type="text" class="input-text sm right number" value="<fmt:formatNumber value="${resultMap.result.amt}" pattern="#,###"/>"
title="해당 인풋에 대한 설명" readonly>
<input type="hidden" value="<fmt:parseNumber integerOnly="true" value="${ resultMap.result.amt }"/> " name="amt" />
<span class="input-unit-text mr-8">원</span>
</div>
<div class="input-container">
<span class="mr-10">공급액</span>
<input type="text" class="input-text sm right number" value="<fmt:formatNumber value="${resultMap.result.splpric}" pattern="#,###"/>"
title="해당 인풋에 대한 설명" readonly>
<input type="hidden" value="<fmt:parseNumber integerOnly="true" value="${ resultMap.result.splpric }"/> " name="splpric" />
<span class="input-unit-text mr-8">원</span>
</div>
<div class="input-container">
<span class="mr-10">부가세</span>
<input type="text" class="input-text sm right number" value="<fmt:formatNumber value="${resultMap.result.vatAmt}" pattern="#,###"/>"
title="해당 인풋에 대한 설명" readonly>
<input type="hidden" value="<fmt:parseNumber integerOnly="true" value="${ resultMap.result.vatAmt }"/> " name="vatAmt" />
<span class="input-unit-text mr-8">원</span>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="modal-footer">
<a href="#" rel="modal:close" class="btn outline" id="cshRciptRegistPopupCloseBtn"><spring:message code="button.close"/></a>
<c:choose>
<c:when test="${ flag eq 'update'}">
<button class="btn primary"
onclick="fn_regist_update_csh_rcipt_regist_modal(
'<c:url value="/mngr/ordr/selngpruf/updateCshRcipt"/>',
'update');
return false;">
정보<spring:message code="button.update"/></button>
</c:when>
<c:when test="${ flag eq 'regist'}">
<button class="btn primary"
onclick="fn_regist_update_csh_rcipt_regist_modal(
'<c:url value="/mngr/ordr/selngpruf/insertCshRciptRegist"/>',
'regist')
; return false;">
발급</button>
</c:when>
<c:when test="${ flag eq 'updateRegist'}">
<button class="btn primary"
onclick="fn_regist_update_csh_rcipt_regist_modal(
'<c:url value="/mngr/ordr/selngpruf/updateCashReceiptRegist"/>',
'updateRegist')
; return false;">
수정발급</button>
</c:when>
</c:choose>
</div>
</form>
</div>

View File

@@ -0,0 +1,471 @@
<%@ 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="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%--
Class Name : SelngPrufListInqire.jsp
Description : 자동입금 목록 화면
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2024-05-29 임수영 최초 생성
--%>
<script>
$(document).ready(function() {
// $('select').niceSelect();
});
</script>
<section class="content-section">
<div class="form-control-container">
<div class="left">
<div class="search-number">
<span class="search-number__text">총 <strong><c:out value="${ 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="console.log('test'); fn_select_selng_pruf_list('1');">
<c:forEach items="${ resultMap.paginationInfo.pageUnitArr }" var="pageUnit" varStatus="pageUnitStatus">
<option value="<c:out value="${ pageUnit }"/>" <c:if test="${ resultMap.paginationInfo.recordCountPerPage eq pageUnit}">selected="selected"</c:if>><c:out value="${ pageUnit }"/>개씩</option>
</c:forEach>
</select>
</div>
</div>
</div>
<hr class="horizontal-line">
<div class="form-control-container">
<div class="center">
</div>
<div class="right">
<button class="btn outline sm" onclick="fn_download_excel(1); return false;">
<i class="icon icon_excel"></i>
일괄다운로드(선택)
</button>
<button class="btn outline sm" onclick="fn_download_excel(); return false;">
<i class="icon icon_excel"></i>
일괄다운로드(전체)
</button>
</div>
</div>
<hr class="spacing">
<div class="table-wrapper">
<table class="table vertical">
<caption>해당 테이블에 대한 설명</caption>
<!-- 각 열 width 설정 -->
<colgroup>
<col style="width: 4%;">
<col style="width: auto;">
<col style="width: 6%;">
<col style="width: 6%;">
<col style="width: 6%;">
<col style="width: 6%;">
<col style="width: 6%;">
<col style="width: 6%;">
<col style="width: 10%">
<col style="width: 6%">
<col style="width: 8%">
<col style="width: 6%">
<col style="width: 6%">
<col style="width: 6%">
<col style="width: 6%">
</colgroup>
<thead>
<tr>
<th rowspan="3" class="border-right">
<label class="b-checkbox checkbox is-medium check-all" >
<input type="checkbox" value="" id="listChkA">
<span class="check"></span>
</label>
</th>
<th rowspan="2" colspan="4" class="border-right">주문</th>
<th colspan="8">매출증빙</th>
<th rowspan="2">환불</th>
<th rowspan="3">메모</th>
</tr>
<tr>
<th colspan="4">1. 신청</th>
<th colspan="2">2. 처리</th>
<th colspan="2">3. 결과</th>
</tr>
<tr>
<th>
주문번호
<br>
주문일
</th>
<th>
주문자
</th>
<th>
결제금액
</th>
<th>
결제
</th>
<th>
신청일
</th>
<th>
신청정보
</th>
<th>
증빙자료
</th>
<th>
증빙금액
</th>
<th>
처리확정일
</th>
<th>
처리방법
</th>
<th>
전송로그
</th>
<th>
처리상태
</th>
<th>
환불번호
</th>
</tr>
</thead>
<tbody>
<c:if test="${empty resultMap.resultList }">
<tr>
<td class="row-no-data" colspan="15">조회된 데이터가 없습니다.</td>
</tr>
</c:if>
<input type="hidden" id="selngPrufInnbArr" name="selngPrufInnbArr[]" value="" />
<c:forEach items="${ resultMap.resultList }" var="list" varStatus="status">
<tr>
<td>
<label class="b-checkbox checkbox is-medium">
<input type="checkbox" value="${ list.selngPrufInnb }" name="selectedBbscttRow" class='bbscttChk'>
<span class="check"></span>
</label>
</td>
<td><!-- 주문번호 주문일 -->
<button class="under-line blue-7"
onclick="fn_go_ordr_dtl('<c:out value="${list.ordrInnb}" />'); return false;">
<c:out value="${list.ordrInnb}" />
</button>
<br>
<span>
<c:set var="ordrRceptDt" value="${fn:replace(list.ordrRceptDt, 'T', ' ')}" />
<c:out value="${ordrRceptDt}"/>
</span>
</td>
<td><!-- 주문자 -->
<c:choose>
<c:when test = "${ list.ordrrNm != null }">
<c:out value="${list.ordrrNm}" />
<br>
<c:if test="${ not empty list.mbrId }" >
(<c:out value="${list.mbrId}" />)
</c:if>
</c:when>
<c:when test = "${ list.ordrrNm == null }">
비회원
</c:when>
</c:choose>
</td>
<td><!-- 결제금액 -->
<span class="badge-word">
<c:choose>
<c:when test="${ list.setleTyCd eq '05' }">
<i class="icon icon_word-badge07" ></i><!-- 에스크로 -->
<i class="icon icon_word-badge06" ></i><!-- 가상계좌 -->
</c:when>
<c:when test="${ list.setleTyCd eq '06' }">
<i class="icon icon_word-badge07" ></i><!-- 에스크로 -->
<i class="icon icon_word-badge13" ></i><!-- 계좌 -->
</c:when>
<c:when test="${ list.setleTyCd eq '01' }">
<i class="icon icon_word-badge04" ></i><!-- 카드 -->
</c:when>
<c:when test="${ list.setleTyCd eq '02' }">
<i class="icon icon_word-badge03" ></i><!-- 무통장 -->
</c:when>
<c:when test="${ list.setleTyCd eq '03' }">
<i class="icon icon_word-badge13" ></i><!-- 계좌 -->
</c:when>
<c:when test="${ list.setleTyCd eq '04' }">
<i class="icon icon_word-badge06" ></i><!-- 가상계좌 -->
</c:when>
<c:when test="${ list.setleTyCd eq '07' }">
<i class="icon icon_word-badge05" ></i><!-- 핸드폰 -->
</c:when>
<c:when test="${ list.setleTyCd eq '08' }">
<i class="icon icon_word-badge12" ></i><!-- 마일리지 -->
</c:when>
<c:when test="${ list.setleTyCd eq '09' }">
<i class="icon icon_word-badge_pos" ></i><!-- 포스 -->
</c:when>
<c:when test="${ list.setleTyCd eq '10' }">
<i class="icon icon_word-badge_payco" ></i><!-- 페이코 -->
</c:when>
<c:when test="${ list.setleTyCd eq '11' }">
<i class="icon icon_word-badge14" ></i><!-- 복합 -->
</c:when>
<c:when test="${ list.setleTyCd eq '12' }">
<i class="icon icon_word-badge16" ></i><!-- 충전식마일리지 -->
</c:when>
</c:choose>
<span class="comma"><fmt:formatNumber value="${list.setleAmt}" pattern="#,###"/></span>
</span>
</td>
<td>
<c:out value="${ list.ordrSttusCdNm }"/>
</td>
<td><!-- 신청일 -->
<c:set var="registDt" value="${fn:replace(list.registDt, 'T', ' ')}" />
<fmt:parseDate var="registDt" value="${registDt}" pattern="yyyy-MM-dd HH:mm:ss"/>
<fmt:formatDate value="${registDt}" pattern="yyyy-MM-dd"/>
</td>
<td><!-- 신청정보 -->
<c:choose>
<c:when test="${ list.reqstDvCd eq '02' || list.reqstDvCd eq '03' }"><%-- 02:현금영수증, 03:삭제된 현금영수증 --%>
<c:choose>
<%-- 주문접수일때는 정보수정 --%>
<c:when test="${ list.ordrSttusCd eq '15' }">
<button class="btn xsm gray"
onclick="fn_open_csh_rcipt_regist_modal(
'#cshRciptRegistPopupDiv',
'#cash-receipt-register-pop',
'<c:out value="${ list.sopmalCd }" />',
'<c:out value="${ list.selngPrufInnb }" />',
'update'); return false;">
수정</button>
</c:when>
<%-- 주문 25~75, 발급신청/발급실패 일때는 발급 --%>
<c:when test="${ (list.ordrSttusCd > 15 && list.ordrSttusCd <= 75) && (list.issuSttusCd eq '01' || list.issuSttusCd eq '04') }">
<button class="btn xsm gray"
onclick="fn_open_csh_rcipt_regist_modal(
'#cshRciptRegistPopupDiv',
'#cash-receipt-register-pop',
'<c:out value="${ list.sopmalCd }" />',
'<c:out value="${ list.selngPrufInnb }" />',
'regist'); return false;">
신청</button>
</c:when>
<%-- 주문 25~75, 발급승인 일때는 수정발급 --%>
<c:when test="${ (list.ordrSttusCd > 15 && list.ordrSttusCd <= 75) && list.issuSttusCd eq '02' }">
<button class="btn xsm gray"
onclick="fn_open_csh_rcipt_regist_modal(
'#cshRciptRegistPopupDiv',
'#cash-receipt-register-pop',
'<c:out value="${ list.sopmalCd }" />',
'<c:out value="${ list.selngPrufInnb }" />',
'updateRegist'); return false;">
재신청</button>
</c:when>
<c:otherwise>
<button class="btn xsm gray"
onclick="fn_open_csh_rcipt_inqire_modal(
'#cshRciptInqirePopupDiv',
'#cash-receipt-inquire-pop',
'<c:out value="${ list.sopmalCd }" />',
'<c:out value="${ list.selngPrufInnb }" />'); return false;">
보기</button>
</c:otherwise>
</c:choose>
<c:if test="${ list.crtnb eq '0100001234' }">
<br>자진발급
</c:if>
</c:when>
</c:choose>
</td>
<td>
<c:choose>
<c:when test="${ (list.reqstDvCd eq '02' || list.reqstDvCd eq '03') }">
<c:choose>
<c:when test="${ !empty list.cshRciptDelngNb }">
<%-- 현:현금영수증 --%>
<button onclick="fn_open_selng_pruf_inqire_modal(
'<c:out value="${ list.sopmalCd }" />'
,'<c:out value="${ list.pgInnb }" />'
,'<c:out value="${ list.pgCmpnyNm }" />'
,'<c:out value="${ list.cshRciptDelngNb }" />'
,'<c:out value="${ list.reqstDvCd }" />'
,'<c:out value="${ list.setleTyCd }" />'
,'<c:out value="${ list.ordrSetleInnb }" />'
,'<c:out value="${ list.ordrInnb }" />'
,'<c:out value="${ list.amt }"/>'); return false;">
<i class="icon icon_word-badge10"></i>
</button>
</c:when>
<c:otherwise>
<i class="icon icon_word-badge15"></i>
</c:otherwise>
</c:choose>
<c:if test="${ !empty list.cshRciptDelngNb && list.setleTyCd != '02'}">
<%-- 매:가상,계좌이체 --%>
<button onclick="fn_open_selng_pruf_inqire_card_modal(
'<c:out value="${ list.sopmalCd }" />'
,'<c:out value="${ list.pgInnb }" />'
,'<c:out value="${ list.pgCmpnyNm }" />'
,'<c:out value="${ list.cshRciptDelngNb }" />'
,'<c:out value="${ list.reqstDvCd }" />'
,'<c:out value="${ list.setleTyCd }" />'
,'<c:out value="${ list.ordrSetleInnb }" />'
,'<c:out value="${ list.ordrInnb }" />'
,'<c:out value="${ list.amt }"/>'); return false;">
<i class="icon icon_word-badge11"></i>
</button>
</c:if>
</c:when>
<c:when test="${ list.reqstDvCd eq '04' }"><%-- 매:카드 --%>
<button onclick="fn_open_selng_pruf_inqire_card_modal(
'<c:out value="${ list.sopmalCd }" />'
,'<c:out value="${ list.pgInnb }" />'
,'<c:out value="${ list.pgCmpnyNm }" />'
,'<c:out value="${ list.cshRciptDelngNb }" />'
,'<c:out value="${ list.reqstDvCd }" />'
,'<c:out value="${ list.setleTyCd }" />'
,'<c:out value="${ list.ordrSetleInnb }" />'
,'<c:out value="${ list.ordrInnb }" />'
,'<c:out value="${ list.amt }"/>'); return false;">
<i class="icon icon_word-badge11"></i>
</button>
</c:when>
</c:choose>
</td>
<td><!-- 증빙금액 -->
<table class="table td-nested transparent">
<caption>해당 테이블에 대한 설명</caption>
<colgroup>
<col style="width: 50px;">
<col>
</colgroup>
<c:choose>
<c:when test = "${ list.reqstDvCd ne '01'}">
<tr>
<th class="text-right">공급가:</th>
<td class="text-right">
<span class="comma"><fmt:formatNumber value="${list.splpric}" pattern="#,###"/></span>원
</td>
</tr>
<tr>
<th class="text-right">부가세:</th>
<td class="text-right">
<span class="comma"><fmt:formatNumber value="${list.vatAmt}" pattern="#,###"/></span>원
</td>
</tr>
<tr>
<th class="text-right">합계:</th>
<td class="text-right">
<span class="comma"><fmt:formatNumber value="${list.amt}" pattern="#,###"/></span>원
</td>
</tr>
<c:if test = "${ list.canclAmt > 0 }">
<tr>
<th class="text-right">취소금액:</th>
<td class="text-right">
<span class="comma"><fmt:formatNumber value="${list.canclAmt}" pattern="#,###"/></span>원
</td>
</tr>
</c:if>
</c:when>
</c:choose>
</table>
</td>
<td>
<c:set var="updtDt" value="${fn:replace(list.updtDt, 'T', ' ')}" />
<fmt:parseDate var="updtDt" value="${updtDt}" pattern="yyyy-MM-dd HH:mm:ss"/>
<fmt:formatDate value="${updtDt}" pattern="yyyy-MM-dd"/>
</td>
<td><!-- 처리방법 -->
<div class="manage-btn-container">
<c:choose>
<c:when test="${ list.reqstDvCd eq '02' || list.reqstDvCd eq '03' }">
<c:choose>
<c:when test="${ list.issuSttusCd eq '02' || list.issuSttusCd eq '04'|| list.issuSttusCd eq '05' }">
연동처리
</c:when>
</c:choose>
</c:when>
<c:when test="${ list.reqstDvCd eq '04' }">
자동
</c:when>
</c:choose>
</div>
</td>
<td>
<c:choose>
<c:when test="${ (list.reqstDvCd eq '02' || list.reqstDvCd eq '03') && list.ordrSttusCd ne '15' }">
<button type="button" class="under-line blue-7"
onclick="fn_open_receipt_log_modal(
'#selngPrufTrnsmisLogPopupDiv',
'#receipt-log-pop',
'<c:out value="${ list.selngPrufInnb }"/>',
'<c:out value="${ list.sopmalCd }"/>'); return false;">보기</button>
</c:when>
<c:when test="${ list.reqstDvCd eq '04' }">
<span style="color:#ccc">보기</span>
</c:when>
</c:choose>
</td>
<td><!-- 처리상태 -->
<c:out value="${ list.issuSttusCdNm }" />
<c:choose>
<c:when test="${ list.reqstDvCd eq '02' }">
<c:if test="${ list.issuSttusCd eq '04' }">
<br>
<a href="#failure-notice-pop" rel="modal:open" class="blue-7 under-line">안내</a>
</c:if>
</c:when>
</c:choose>
</td>
<td>
<c:if test="${ list.orderRefundInnb != null }">
<c:forEach items="${ fn:split(list.orderRefundInnb, ',') }" var="orderRefundInnb">
<button class="under-line blue-7"
onclick="fn_go_ordr_refund_dtl('<c:out value="${orderRefundInnb}" />'); return false;">
<c:out value="${orderRefundInnb}" />
</button>
</c:forEach>
</c:if>
</td>
<td>
<div class="manage-btn-container">
<button type="button" class="btn xsm primary"
onclick="fn_open_memo_modal(
'#selngPrufMngrMemoRegistPopupDiv',
'#admin-memo-pop',
'<c:out value="${ list.selngPrufInnb }" />',
'<c:out value="${ list.sopmalCd }"/>'); return false;"
>등록</button>
</div>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</section>
<div class="pagination__container">
<ui:pagination paginationInfo="${ resultMap.paginationInfo }" type="image" jsFunction="fn_select_selng_pruf_list" />
</div>

View File

@@ -0,0 +1,746 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%--
Class Name : SelngPrufListInqireForm.jsp
Description : 매출 증빙 조회 jsp
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
since : 2024.05.28 임수영 최초 생성
--%>
<!DOCTYPE html>
<html lang="ko">
<head>
<%-- 공통 include --%>
<%@include file ="/WEB-INF/views/comm/mngr/Include.jsp" %>
</head>
<script>
$( document ).ready(function(){
$("#sevenDays").click();
let pageIndex = '<c:out value="${ resultMap.paramVO.pageIndex }"/>';
let pageUnit = '<c:out value="${ resultMap.paramVO.pageUnit }"/>';
fn_select_selng_pruf_list(pageIndex, pageUnit);
$('#allDays').on('click', function() {
$('#srchStartDate, #srchEndDate').val('');
});
$('#listForm').on('keydown', function(e) {
if (e.keyCode == 13) {
e.preventDefault();
$('#searchBtn').trigger("click");
}
});
// $('select').niceSelect();
});
/**
* 매출증빙 목록 조회
*/
const fn_select_selng_pruf_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;
}
}
$('#pageIndex').val(pageIndex);
$.ajax({
type: "post",
url : "<c:url value="/mngr/ordr/selngpruf/selectSelngPrufListInqire"/>",
data : dataStr,
success:function(resultHtml) {
$('#pageDiv').empty();
$('#pageDiv').html(resultHtml);
$('#pageUnit').niceSelect();
}
});
}
/**************************************************************
* 매출증빙조회 메모 팝업 열기
****************************************************************/
const fn_open_memo_modal = function (modalDivSltr, modalSlrt, selngPrufInnb, sopmalCd) {
$.ajax({
type: 'GET',
url: '/mngr/ordr/selngpruf/selectSelngPrufMngrMemoRegistPopupForm',
data: {
selngPrufInnb : selngPrufInnb,
sopmalCd : sopmalCd
},
success: function (data) {
$(modalSlrt).remove();
$(modalDivSltr).html(data);
$(modalSlrt).modal();
}
});
}
/**************************************************************
* 매출증빙조회 메모 팝업 등록, 수정
****************************************************************/
const fn_update_memo_modal = function (modalDivSltr, modalSlrt, selngPrufInnb, sopmalCd) {
let mngrMemoCn = $('#mngrMemoCn').val();
if (confirm('<spring:message code="confirm.common.save"/>')) {
$.ajax({
type: 'POST',
url: '/mngr/ordr/selngpruf/updateSelngPrufMngrMemoUpdt',
data: {
selngPrufInnb : selngPrufInnb,
sopmalCd : sopmalCd,
mngrMemoCn : mngrMemoCn
},
success: function (data) {
let result = JSON.parse(data.resBody.result);
if(result.response == "success"){
alert('<spring:message code="success.common.save"/>');
}else {
alert('<spring:message code="fail.common.save"/>');
}
$('#meme_modal_close').click();
}
});
}
}
/**************************************************************
* 매출증빙조회 전송로그 조회
****************************************************************/
const fn_open_receipt_log_modal = function (modalDivSltr, modalSlrt, selngPrufInnb, sopmalCd) {
$.ajax({
type: 'POST',
url: '/mngr/ordr/selngpruf/selectSelngPrufTrnsmisLogPopupForm',
data: {
selngPrufInnb : selngPrufInnb,
sopmalCd : sopmalCd
},
success: function (data) {
$(modalSlrt).remove();
$(modalDivSltr).html(data);
$(modalSlrt).modal();
}
});
}
/**************************************************************
* 현금영수증 보기 팝업
****************************************************************/
const fn_open_csh_rcipt_inqire_modal = function (modalDivSltr, modalSlrt, sopmalCd, selngPrufInnb) {
$.ajax({
type: 'GET',
url: '/mngr/ordr/selngpruf/selectCshRcipt',
data: {
sopmalCd : sopmalCd,
selngPrufInnb : selngPrufInnb
},
success: function (data) {
$(modalSlrt).remove();
$(modalDivSltr).html(data);
$(modalSlrt).modal();
}
});
}
/**************************************************************
* 현금영수증 정보수정, 등록, 수정발급 팝업
****************************************************************/
const fn_open_csh_rcipt_regist_modal = function (modalDivSltr, modalSlrt, sopmalCd, selngPrufInnb, flag) {
$.ajax({
type: 'GET',
url: '/mngr/ordr/selngpruf/selectCshRciptRegistPopupForm',
data: {
sopmalCd : sopmalCd,
selngPrufInnb : selngPrufInnb,
flag : flag
},
success: function (data) {
$(modalSlrt).remove();
$(modalDivSltr).html(data);
$(modalSlrt).modal();
}
});
}
/**************************************************************
* 현금영수증 등록, 수정
****************************************************************/
const fn_regist_update_csh_rcipt_regist_modal = function (url, flag) {
let pageIndex = $("#pageIndex").val();
let dataStr = $('#cash-receipt-register-pop-form').serialize();
if (confirm('<spring:message code="confirm.common.save"/>')) {
$.ajax({
type: "POST",
url: url,
data: dataStr,
success: function (data) {
let result = JSON.parse(data.resBody.result);
if(flag == "update") {
if(result.response == "success"){
alert('<spring:message code="success.common.save"/>');
}else {
alert('<spring:message code="fail.common.save"/>');
}
}else if(flag == "regist" || flag == "updateRegist") {
alert(result.response)
}
$("#cshRciptRegistPopupCloseBtn").click();
fn_select_selng_pruf_list(pageIndex)
}
});
}
}
/**************************************************************
* 증빙자료 팝업
* sopmalCd : 쇼핑몰코드
* pgInnb : pg고유번호
* pgCmpnyNm : pg회사명
* cshRciptDelngNb : 현금영수증거래번호
* reqstDvCd : 신청구분코드(현금영수증, 카드..)
* setleTyCd : 결제유형코드(카드, 계좌, 가상계좌..)
****************************************************************/
const fn_open_selng_pruf_inqire_modal = function (sopmalCd, pgInnb, pgCmpnyNm, cshRciptDelngNb, reqstDvCd, setleTyCd, ordrSetleInnb, ordrInnb, tAmt) {
let url = "";
let status = "width=450, height=800, scrollbars=yes";
const amt = parseInt(tAmt);
let cashOrdrInnb = ordrInnb;
let orderDate = (typeof ordrInnb === 'string' && ordrInnb.length > 10)
? parseInt(ordrInnb.substring(0, 10), 10)
: parseInt(ordrInnb, 10) || 0;
if(sopmalCd === 'AF' || sopmalCd ==='JM'){
if(orderDate>=2024112201 && orderDate<2025031217)
cashOrdrInnb = ordrSetleInnb;
}else{
if(orderDate>=2025021201 && orderDate<2025031217)
cashOrdrInnb = ordrSetleInnb;
}
/* kcp url
* tno : 거래고유번호
* order_no : order_idxx 값
* trade_money : amount 값
* cash_no : cash_no 값
* pgInnb : PG 거래번호
*/
const kcpCashUrl = "http://admin8.kcp.co.kr/assist/bill.BillActionNew.do?cmd=cash_bill&cash_no="+cshRciptDelngNb+"&order_no="+cashOrdrInnb+"&trade_mony="+amt; // 현금영수증
/* toss url
* transactionId : PG 거래번호
*/
let tossCashUrl = "" // 현금
const tossCardUrl = "https://dashboard.tosspayments.com/receipt/redirection?transactionId="+pgInnb+"&ref=PX"; //카드 / 간편결제(01)
$.ajax({
type: "GET",
url: "/mngr/ordr/selngpruf/selectSopmalSetleSetup",
data: {
sopmalCd : sopmalCd,
ordrInnb : ordrInnb
},
success: function (data) {
let result = JSON.parse(data.resBody.result);
let mid = result.mid; // toss MID
// toss url
tossCashUrl = "https://dashboard.tosspayments.com/receipt/mids/" + mid + "/orders/" + cashOrdrInnb + "/cash-receipt?ref=email" // 현금
if (pgCmpnyNm == 'toss') {
url = tossCashUrl;
} else if (pgCmpnyNm == "kcp") {
url = kcpCashUrl;
} else { // tosspay, gcpay, kakaopay, naverpay 추가
url = tossCardUrl; // 카드
}
window.open(url, "", status);
}
});
}
const fn_open_selng_pruf_inqire_card_modal = function (sopmalCd, pgInnb, pgCmpnyNm, cshRciptDelngNb, reqstDvCd, setleTyCd, ordrSetleInnb, ordrInnb, tAmt) {
let url = "";
let status = "width=450, height=800, scrollbars=yes";
const amt = parseInt(tAmt);
let cashOrdrInnb = ordrInnb;
let orderDate = (typeof ordrInnb === 'string' && ordrInnb.length > 10)
? parseInt(ordrInnb.substring(0, 10), 10)
: parseInt(ordrInnb, 10) || 0;
if(sopmalCd === 'AF' || sopmalCd ==='JM'){
if(orderDate>=2024112201 && orderDate<2025031217)
cashOrdrInnb = ordrSetleInnb;
}else{
if(orderDate>=2025021201 && orderDate<2025031217)
cashOrdrInnb = ordrSetleInnb;
}
/* kcp url
* tno : 거래고유번호
* order_no : order_idxx 값
* trade_money : amount 값
* cash_no : cash_no 값
* pgInnb : PG 거래번호
*/
const kcpCashUrl = "http://admin8.kcp.co.kr/assist/bill.BillActionNew.do?cmd=cash_bill&cash_no="+cshRciptDelngNb+"&order_no="+cashOrdrInnb+"&trade_mony="+amt; // 현금영수증
const kcpCardUrl = "https://admin8.kcp.co.kr/assist/bill.BillActionNew.do?cmd=card_bill&tno="+pgInnb+"&order_no="+ordrInnb+"&trade_mony="+amt;// 신용카드
const kcpAcntUrl = "https://admin8.kcp.co.kr/assist/bill.BillActionNew.do?cmd=acnt_bill&tno="+pgInnb+"&order_no="+ordrInnb+"&trade_mony="+amt;// 계좌이체
const kcpVirtUrl = "https://admin8.kcp.co.kr/assist/bill.BillActionNew.do?cmd=vcnt_bill&tno="+pgInnb+"&order_no="+ordrInnb+"&trade_mony="+amt;// 가상계좌
const kcpMobiUrl = "https://admin8.kcp.co.kr/assist/bill.BillActionNew.do?cmd=mcash_bill&tno="+pgInnb+"&order_no="+ordrInnb+"&trade_mony="+amt;// 핸드폰
/* toss url
* transactionId : PG 거래번호
*/
const tossCardUrl = "https://dashboard.tosspayments.com/receipt/redirection?transactionId="+pgInnb+"&ref=PX"; //카드 / 간편결제(01)
const tossAcntUrl = "https://dashboard.tosspayments.com/receipt/payment-detail/bank-transfer?transactionId="+pgInnb+"&ref=PX"; //계좌이체(03), 가상계좌(04,05)
let tossCashUrl = "" // 현금
let paycoUrl = "https://bill.payco.com/seller/receipt/GB_UZRSXP/"+ordrInnb+"/"+pgInnb+"" //페이코(as_is)
$.ajax({
type: "GET",
url: "/mngr/ordr/selngpruf/selectSopmalSetleSetup",
data: {
sopmalCd : sopmalCd,
ordrInnb : ordrInnb
},
success: function (data) {
let result = JSON.parse(data.resBody.result);
let mid = result.mid; // toss MID
// toss url
tossCashUrl = "https://dashboard.tosspayments.com/receipt/mids/" + mid + "/orders/" + cashOrdrInnb + "/cash-receipt?ref=email" // 현금
if (pgCmpnyNm == 'toss') {
if (reqstDvCd == '02' || reqstDvCd == "03") { // 현금영수증
if (setleTyCd == '03' || setleTyCd == '04' || setleTyCd == '05') { // 계좌이체, 가상계좌
url = tossAcntUrl;
}/* else if (setleTyCd == '02') { // 은행(무통장)
url = tossCashUrl;
}*/
} else if (reqstDvCd == '04') { // 카드
url = tossCardUrl;
}
} else if (pgCmpnyNm == "kcp") {
if (reqstDvCd == '02' || reqstDvCd == "03") { // 현금영수증
if (setleTyCd == '03') { // 계좌이체
url = kcpAcntUrl;
} else if (setleTyCd == '04' || setleTyCd == '05') { // 가상계좌
url = kcpVirtUrl;
} /*else if (setleTyCd == '02') { // 은행(무통장)
url = kcpCashUrl;
}*/
}else if (reqstDvCd == '04') { // 카드
url = kcpCardUrl;
}
} else { // tosspay, gcpay, kakaopay, naverpay 추가
url = tossCardUrl; // 카드
}
window.open(url, "", status);
}
});
}
/**********************************************
* 체크박스 이벤트 제어
***********************************************/
$(document).on("click", ".bbscttChk", function () {
fn_ctr_pCheckbox("#listChkA", ".bbscttChk");
});
/**********************************************
* 기능 엑셀 다운로드
***********************************************/
const fn_download_excel = function(flag) {
// 엑셀 선택 값 초기화
$("#selngPrufInnbArr").val("")
// 선택 다운로드
if(flag) {
let arr = [];
$('input:checkbox[name=selectedBbscttRow]').each(function () {
if($(this).is(":checked") == true) {
arr.push($(this).val());
}
});
if(arr == "") {
alert("선택값이 없습니다.");
return;
}
$("#selngPrufInnbArr").val(arr);
}
$('#listForm').attr('action', '<c:url value="/mngr/ordr/selngpruf/excelFileDownload"/>');
$('#listForm').attr('method', 'post');
$('#listForm').submit();
};
/* 주문상세 이동 */
const fn_go_ordr_dtl = function (ordrInnb) {
let form = $("#listForm");
$(form).find('input[name="ordrInnb"]').remove();
$(form).append($('<input/>', {type:'hidden', name:'ordrInnb', id:'ordrInnb', value:ordrInnb}));
$(form).attr('target', '_self');
$(form).attr('method', 'post');
$(form).attr('action', '<c:url value="/mngr/ordr/ordrmngr/selectOrdrDtlInqire"/>');
$(form).submit();
}
/* 환불상세 이동 */
const fn_go_ordr_refund_dtl = function (orderReInnb) {
let form = $("#listForm");
$(form).find('input[name="orderReInnb"]').remove();
$(form).append($('<input/>', {type:'hidden', name:'orderReInnb', id:'orderReInnb', value:orderReInnb}));
$(form).attr('target', '_self');
$(form).attr('method', 'post');
$(form).attr('action', '<c:url value="/mngr/ordr/refnd/selectRtngudRefndDtlInqire"/>');
$(form).submit();
}
/* ********************************************************
* 데이트 검색 값
******************************************************** */
const fn_set_datePick = function(_taget) {
let dateBtn = '#' + $(_taget).attr('id');
$('[name=srchDatePick]').val(dateBtn);
}
/****************************************************
* 검색 후 새로 고침 시 검색조건 리셋
*****************************************************/
history.replaceState({}, null, location.pathname);
</script>
<body>
<%@include file ="/WEB-INF/views/comm/mngr/Header.jsp" %>
<main class="main">
<%@include file ="/WEB-INF/views/comm/mngr/Left.jsp" %>
<div class="content">
<div class="content__inner">
<button class="side-nav__fold"><span class="visually-hidden">좌측메뉴 펼치기/닫기</span></button>
<div class="page-title">
<h2 class="page-title__title">매출 증빙 조회 목록</h2>
<div class="page-title__btn-container">
</div>
</div>
<form id="listForm">
<input type="hidden" id="pageIndex" name="pageIndex" value="<c:out value="${ resultMap.paramVO.pageIndex }"/>"/>
<input type="hidden" id="recordCountPerPage" name="recordCountPerPage" value="<c:out value="${ resultMap.paramVO.recordCountPerPage }"/>"/>
<input type="hidden" name="srchDatePick" value="${resultMap.paramVO.srchDatePick}" />
<input type="hidden" name="sopmalCd" value="${resultMap.paramVO.sopmalCd}" />
<section class="content-section" id="searchForm">
<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 colspan="3">
<div class="td-inner">
<input class="input-text xl" type="text" title="해당 인풋에 대한 설명"
placeholder="주문자, 주문번호" name="srchWord">
</div>
</td>
</tr>
<tr class="search-hide">
<th>날짜</th>
<td colspan="3">
<div class="td-inner">
<div class="select-box">
<select title="해당 셀렉트에 대한 설명" name="srchDate">
<option value="1">주문일</option>
<option value="2">신청일</option>
<option value="3">처리확정일</option>
</select>
</div>
<div class="input-container">
<input type="text" name="srchStartDate" id="srchStartDate" class="datepicker" value="<c:out value="${ resultMap.paramVO.srchStartDate }"/>"
title="시작 날짜 선택" autocomplete="off" pattern="yyyy-MM-dd">
<span class="tilde">~</span>
<input type="text" name="srchEndDate" id="srchEndDate" class="datepicker" value="<c:out value="${ resultMap.paramVO.srchEndDate }"/>"
title="종료 날짜 선택" autocomplete="off" pattern="yyyy-MM-dd">
</div>
<div class="dateRange-btnContainer">
<button type="button" class="dateRange-btn" id="yesterday" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','1D'); fn_set_datePick(this); ">어제</button>
<button type="button" class="dateRange-btn" id="today" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','0'); fn_set_datePick(this); ">오늘</button>
<button type="button" class="dateRange-btn" id="threeDays" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','3D'); fn_set_datePick(this); ">3일간</button>
<button type="button" class="dateRange-btn" id="sevenDays" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','7D'); fn_set_datePick(this); ">일주일</button>
<button type="button" class="dateRange-btn" id="oneMonth" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','1M'); fn_set_datePick(this); ">1개월</button>
<button type="button" class="dateRange-btn" id="threeMonth" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','3M'); fn_set_datePick(this); ">3개월</button>
<button type="button" class="dateRange-btn" id="sixMonth" onclick="fn_set_date('srchStartDate','srchEndDate','srchEndDate','6M'); fn_set_datePick(this); ">6개월</button>
<button type="button" class="dateRange-btn selected" id="allDays" onclick="fn_set_datePick(this);" >전체</button>
</div>
</div>
</td>
</tr>
<tr class="search-hide">
<th>증빙서류</th>
<td>
<div class="td-inner">
<div class="b-checkbox-container">
<c:forEach var="codeList" items="${ resultMap.reqstDvList }" varStatus="">
<c:choose>
<c:when test="${ codeList.cd eq '02' }">
<label class="b-checkbox checkbox">
<input type="checkbox" value="${ codeList.cd }" name="srchReqst">
<span class="check"></span>
<span class="control-label">${ codeList.cdNm }</span>
</label>
</c:when>
<c:when test="${ codeList.cd eq '04' }">
<label class="b-checkbox checkbox">
<input type="checkbox" value="${ codeList.cd }" name="srchReqst">
<span class="check"></span>
<span class="control-label">매출전표</span>
</label>
</c:when>
</c:choose>
</c:forEach>
</div>
</div>
</td>
</tr>
<tr class="search-hide">
<th>결제여부</th>
<td>
<div class="td-inner">
<div class="b-checkbox-container">
<label class="b-checkbox checkbox">
<input type="checkbox" value="y" name="srchRcpmny1">
<span class="check"></span>
<span class="control-label">입금</span>
</label>
<label class="b-checkbox checkbox">
<input type="checkbox" value="n" name="srchRcpmny2">
<span class="check"></span>
<span class="control-label">미입금</span>
</label>
</div>
</div>
</td>
<th>환불유무</th>
<td>
<div class="td-inner">
<div class="b-checkbox-container">
<label class="b-checkbox checkbox">
<input type="checkbox" value="y" name="srchRefund1">
<span class="check"></span>
<span class="control-label">있음</span>
</label>
<label class="b-checkbox checkbox">
<input type="checkbox" value="n" name="srchRefund2">
<span class="check"></span>
<span class="control-label">없음</span>
</label>
</div>
</div>
</td>
</tr>
<tr class="search-hide">
<th>상태</th>
<td colspan="3">
<div class="td-inner">
<div class="b-checkbox-container">
<c:forEach var="codeList" items="${ resultMap.issuSttusList }" varStatus="">
<c:choose>
<c:when test="${ codeList.cd eq '01' }">
<label class="b-checkbox checkbox">
<input type="checkbox" value="${ codeList.cd }" name="srchStatus">
<span class="check"></span>
<span class="control-label">${ codeList.cdNm }
<span class="mini-info-btn" data-tooltip="고객이나 관리자가 매출 증빙 자료 신청을 한 상태입니다. 아직 발급전입니다.">?</span>
</span>
</label>
</c:when>
<c:when test="${ codeList.cd eq '02' }">
<label class="b-checkbox checkbox">
<input type="checkbox" value="${ codeList.cd }" name="srchStatus">
<span class="check"></span>
<span class="control-label">${ codeList.cdNm }
<span class="mini-info-btn" data-tooltip="신청을 한 매출 증빙 자료가 연동한 PG 나 하이웍스를통해 정상적으로 발행 완료된 상태입니다.">?</span>
</span>
</label>
</c:when>
<c:when test="${ codeList.cd eq '03' }">
<label class="b-checkbox checkbox">
<input type="checkbox" value="${ codeList.cd }" name="srchStatus">
<span class="check"></span>
<span class="control-label">${ codeList.cdNm }
<span class="mini-info-btn" data-tooltip="매출 증빙 자료 신청을 취소한 상태입니다.">?</span>
</span>
</label>
</c:when>
<c:when test="${ codeList.cd eq '04' }">
<label class="b-checkbox checkbox">
<input type="checkbox" value="${ codeList.cd }" name="srchStatus">
<span class="check"></span>
<span class="control-label">${ codeList.cdNm }
<span class="mini-info-btn" data-tooltip="연동처리 하였으나 연동이 실패하였습니다.">?</span>
</span>
</label>
</c:when>
<c:when test="${ codeList.cd eq '05' }">
<label class="b-checkbox checkbox">
<input type="checkbox" value="${ codeList.cd }" name="srchStatus">
<span class="check"></span>
<span class="control-label">${ codeList.cdNm }
<span class="mini-info-btn" data-tooltip="매출 증빙 자료 신청을 부분취소한 상태입니다.">?</span>
</span>
</label>
</c:when>
</c:choose>
</c:forEach>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<div class="search-hide fs-13 red-8 mt-5">
<p class="fyi">PG사로 전송되어 발행된 현금영수증에 대하여 구매자에게 돈을 되돌려주게 되는 경우(결제취소,반품/환불)가
발생하면
현금영수증
취소(전체 또는 부분) 처리는 PG사 관리자페이지에서 하십시오.</p>
<p class="fyi">하이윅스로 전송된 전자세금계산서에 대하여 구매자에게 돈을 되돌려주게 되는 경우(결제취소,반품/환불)가 발생하면
마이너스(-)
전자세금계산서 처리는 하이윅스 관리자페이지에서 하십시오.
</p>
</div>
</div>
<div class="form-control-container">
<div class="left"></div>
<div class="center">
<button class="btn outline" onclick="fn_reset_form('searchForm'); $('#sevenDays').click(); return false;">초기화</button>
<button class="btn primary load" id="searchBtn" onclick="fn_select_selng_pruf_list(1); return false;">검색</button>
</div>
<div class="right">
<button class="btn outline search-detail">상세검색</button>
</div>
</div>
</section>
<div id="pageDiv">
</div>
</form>
<button class="scroll-to-top"><span class="visually-hidden">위로가기</span></button>
</div>
</div>
</main>
<%-- 현금 영수증 등록 팝업 DIV --%>
<div id="cshRciptRegistPopupDiv">
</div>
<%-- 현금 영수증 조회 팝업 DIV --%>
<div id="cshRciptInqirePopupDiv">
</div>
<%-- 전송로그 조회 팝업 DIV --%>
<div id="selngPrufTrnsmisLogPopupDiv">
</div>
<%-- 관리자 메모 등록 팝업 DIV --%>
<div id="selngPrufMngrMemoRegistPopupDiv">
</div>
<%-- 관리자 메모 조회 팝업 DIV --%>
<div id="selngPrufMngrMemoInqirePopupDiv">
</div>
<!-- 연동처리 실패건 안내 모달 -->
<div id="failure-notice-pop" class="modal" style="max-width: 560px;">
<div class="modal-header">
<h4>연동처리 실패건 안내</h4>
</div>
<div class="modal-content" style="height: 140px;">
<p>1. 수동으로 매출증빙을 처리하십시오.</p>
<!-- <p class="fs-13 gray-7 ml-15">※페이지 우측 상단에 수동 신청 버튼이 있습니다.</p> -->
<p>2. 해당 매출증빙 신청건(연동처리 실패)에는 메모(수동처리 등)을 남겨 관리하십시오.</p>
</div>
<div class="modal-footer">
<a href="#" rel="modal:close" class="btn outline">닫기</a>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,95 @@
<%@ page import="java.util.Date" %>
<%@ 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"%>
<%--
Class Name : SelngPrufMngrMemoRegistPopup.jsp
Description : 매출증빙 관리자 메모 등록 팝업
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2024-02-24 이운산 최초 생성
2024-02-28 이운산 퍼블리싱 적용
2024-06-14 임수영 수정
--%>
<script>
$(document).ready(function() {
});
</script>
<div id="admin-memo-pop" class="modal" style="max-width: 600px;">
<div class="modal-header">
<h4>관리자 메모</h4>
</div>
<div class="modal-content" style="height: 400px;">
<div class="table-wrapper">
<table class="table">
<caption>해당 테이블에 대한 설명</caption>
<colgroup>
<col style="width: 24%;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th>주문번호</th>
<td>
<div class="td-inner">
<span class="fw-500 blue-7"><c:out value="${resultMap.result.ordrInnb}"/></span>
</div>
</td>
</tr>
<tr>
<th>관리자 메모</th>
<td>
<div class="td-inner">
<textarea class="textarea" title="에디터 입력" cols="30" rows="12" id="mngrMemoCn"><c:out value="${resultMap.result.mngrMemoCn}"/></textarea>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="modal-footer">
<a href="#" rel="modal:close" class="btn outline" id="meme_modal_close"><spring:message code="button.close"/></a>
<button class="btn primary"
onclick="fn_update_memo_modal(
'#selngPrufMngrMemoRegistPopupDiv',
'#admin-memo-pop',
'<c:out value="${ resultMap.result.selngPrufInnb }"/>',
'<c:out value="${ resultMap.result.sopmalCd }"/>'); return false;">
<spring:message code="button.save"/></button>
<%-- <c:choose> --%>
<%-- <c:when test="${ resultMap.result.mngrMemoCn eq '' || resultMap.result.mngrMemoCn eq null }"> --%>
<!-- <button class="btn primary" -->
<%-- onclick="fn_update_memo_modal( --%>
<!-- '#selngPrufMngrMemoRegistPopupDiv', -->
<!-- '#admin-memo-pop', -->
<%-- '<c:out value="${ resultMap.result.selngPrufInnb }"/>', --%>
<%-- '<c:out value="${ resultMap.result.sopmalCd }"/>'); return false;"> --%>
<%-- <spring:message code="button.save"/></button> --%>
<%-- </c:when> --%>
<%-- <c:otherwise> --%>
<!-- <button class="btn primary" -->
<%-- onclick="fn_update_memo_modal( --%>
<!-- '#selngPrufMngrMemoRegistPopupDiv', -->
<!-- '#admin-memo-pop', -->
<%-- '<c:out value="${ resultMap.result.selngPrufInnb }"/>', --%>
<%-- '<c:out value="${ resultMap.result.sopmalCd }"/>'); return false;"> --%>
<%-- <spring:message code="button.save"/></button> --%>
<%-- </c:otherwise> --%>
<%-- </c:choose> --%>
</div>
</div>

View File

@@ -0,0 +1,48 @@
<%@ page import="java.util.Date" %>
<%@ 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"%>
<%--
Class Name : SelngPrufTrnsmisLogPopupR.jsp
Description : 전송로그 조회 팝업
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2024-02-24 이운산 최초 생성
2024-02-28 이운산 퍼블리싱 적용
2024-06-17 임수영 수정
--%>
<script>
$(document).ready(function() {
});
</script>
<div id="receipt-log-pop" class="modal" style="max-width: 560px;">
<div class="modal-header">
<h4>전송로그</h4>
</div>
<div class="modal-content" style="height: 340px;">
<div class="order-detail-log" style="height: 300px;">
<c:forEach items="${ resultMap.resultList }" var="list" varStatus="status">
<p class="order-detail-log__list">
<c:set var="registDt" value="${fn:replace(list.registDt, 'T', ' ')}" />
<span class="order-detail-log__date"><c:out value="${ registDt }" /></span>
<span class="order-detail-log__description"><c:out value="${ list.logMsg }" /></span>
</p>
</c:forEach>
</div>
</div>
<div class="modal-footer">
<a href="#" rel="modal:close" class="btn outline"><spring:message code="button.close"/></a>
</div>
</div>