328 lines
13 KiB
Plaintext
328 lines
13 KiB
Plaintext
<%@ 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" %>
|
|
<spring:eval expression="@environment.getProperty('spring.profiles.active')" var="profiles"/>
|
|
<% response.setHeader("Cache-Control","no-cache");
|
|
response.setHeader("Pragma","no-cache");
|
|
response.setDateHeader("Expires",0);
|
|
if (request.getProtocol().equals("HTTP/1.1")) response.setHeader("Cache-Control", "no-cache");
|
|
%>
|
|
|
|
<!-- CK editor -->
|
|
<script src='/ckeditor/ckeditor.js' data-cke-editor="editor"></script>
|
|
<script src='/ckeditor/uploadAdapter.js' data-cke-editor="editor"></script>
|
|
<link rel="stylesheet" href="/ckeditor/content.css">
|
|
<%-- CK editor 적용 시 width 설정 --%>
|
|
|
|
<%--파비콘, 메타, 타이틀--%>
|
|
<title>
|
|
<c:choose>
|
|
<c:when test="${profiles eq 'local'}">(로컬) </c:when>
|
|
<c:when test="${profiles eq 'dev'}">(개발) </c:when>
|
|
<c:otherwise></c:otherwise>
|
|
</c:choose>
|
|
일반 관리자
|
|
</title>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<link rel="icon" type="image/png" href="\assets\favicon\gcone.ico">
|
|
<meta name="robots" content="noindex,nofollow">
|
|
|
|
<%--mixed Contents 대응--%>
|
|
<c:if test="${profiles eq 'stage'}">
|
|
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
|
|
</c:if>
|
|
|
|
<!-- CSS -->
|
|
<link rel="stylesheet" href="/mngr/css/style.css">
|
|
<link rel="stylesheet" href="/mngr/vendor/jquery-nice-select/nice-select.css">
|
|
<link rel="stylesheet" href="/mngr/vendor/jquery-ui/jquery-ui.min.css">
|
|
<link rel="stylesheet" href="/mngr/vendor/jquery-ui/jquery-ui.structure.css">
|
|
<link rel="stylesheet" href="/mngr/vendor/jquery-modal/jquery.modal.min.css">
|
|
<link rel="stylesheet" href="<c:url value='/mngr/vendor/time-picker/timepicker.css'/>">
|
|
<link rel="stylesheet" href="<c:url value='/mngr/vendor/dropzone/dropzone.min.css'/>">
|
|
<link rel="stylesheet" href="<c:url value='/mngr/vendor/jstree/themes/default/style.min.css'/>">
|
|
<!-- JChartFX -->
|
|
<link rel="stylesheet" href="/jchartfx/styles/Attributes/jchartfx.attributes.css" />
|
|
<link rel="stylesheet" href="/jchartfx/styles/Palettes/jchartfx.paletteTemp.css" />
|
|
|
|
<!-- JS -->
|
|
<script src="/mngr/vendor/jquery-3.7.1.min.js"></script>
|
|
<script src="/mngr/vendor/jquery-nice-select/jquery.nice-select.min.js"></script>
|
|
<script src="/mngr/vendor/jquery-ui/jquery-ui.min.js"></script>
|
|
<script src="/mngr/vendor/jquery-modal/jquery.modal.min.js"></script>
|
|
<script src="//t1.daumcdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js"></script>
|
|
<script src="<c:url value='/mngr/vendor/tablednd/jquery.tablednd.1.0.5.min.js'/>"></script>
|
|
<script src="<c:url value='/mngr/vendor/time-picker/timepicker.min.js'/>"></script>
|
|
<script src="<c:url value='/mngr/vendor/tablednd/jquery.tablednd.1.0.5.min.js'/>"></script>
|
|
<script src="<c:url value='/mngr/vendor/dropzone/dropzone.min.js'/>"></script>
|
|
<script src="<c:url value='/mngr/vendor/jstree/jstree.min.js'/>"></script>
|
|
<script src="<c:url value='/mngr/vendor/chart.js/chart.umd.min.js'/>"></script>
|
|
<script src="<c:url value='/mngr/vendor/emoji-mart/browser.js'/>"></script>
|
|
<script src="<c:url value='/jchartfx/js/jchartfx.system.js'/>"></script>
|
|
<script src="<c:url value='/jchartfx/js/jchartfx.coreVector.js'/>"></script>
|
|
|
|
|
|
<script src="<c:url value='/mngr/js/script.js'/>" defer></script> <!-- MNGR 스크립트 함수 -->
|
|
<script src="<c:url value='/js/mngr/gcone.js'/>"></script> <!-- 공통 스크립트 함수 -->
|
|
<script src="<c:url value='/js/alarmCount.js'/>"></script> <!-- 알림 카운트 js -->
|
|
|
|
<script type="text/javascript">
|
|
$.ajaxSetup({
|
|
beforeSend: function (jqXhr, settins) {
|
|
jqXhr.setRequestHeader('AJAX', true);
|
|
$("#overlay").fadeIn();
|
|
loding(true);
|
|
},
|
|
complete: function () {
|
|
//동시에 여러개의 AJAX가 수행될 경우를 대비하여 delay를 설정
|
|
setTimeout(function () {
|
|
$("#overlay").fadeOut();
|
|
loding(false);
|
|
}, 500);
|
|
},
|
|
error: function (data) {
|
|
$("#overlay").fadeOut();
|
|
loding(false);
|
|
|
|
console.log("data");
|
|
console.log(data);
|
|
if (data?.responseJSON?.resBody?.result != null) {
|
|
|
|
if (!data.responseJSON.resBody.result) {
|
|
alert('<spring:message code="error.internal-server"/>');
|
|
} else {
|
|
if (fn_check_json(data.responseJSON.resBody.result)) {
|
|
const errorObject = JSON.parse(data.responseJSON.resBody.result);
|
|
if (!errorObject) {
|
|
alert('<spring:message code="error.internal-server"/>');
|
|
} else {
|
|
if (!errorObject.errorMsg) {
|
|
alert('<spring:message code="error.internal-server"/>');
|
|
} else {
|
|
alert(errorObject.errorMsg); //vo 에러메시지 띄움
|
|
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).attr('name')) >= 0) {
|
|
isMtched = true;
|
|
break;
|
|
}
|
|
}
|
|
if (isMtched) {
|
|
$(this).focus();
|
|
return false;
|
|
}
|
|
});
|
|
}
|
|
}
|
|
} else {
|
|
console.log("here 1");
|
|
if (data.responseJSON.resBody.result) {
|
|
alert(data.responseJSON.resBody.result);
|
|
} else {
|
|
alert('<spring:message code="error.ajax"/>');
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
console.log("here 2");
|
|
alert('<spring:message code="error.ajax"/>');
|
|
}
|
|
}
|
|
});
|
|
|
|
/**********************************************************************
|
|
* 회원 crm정보 모달 호출(공통)
|
|
* 파라미터 설명 {
|
|
* obj : 호출버튼 객체
|
|
* mbrInnb : 회원 고유번호
|
|
* mbrDvCd : 회원 구분코드
|
|
* modalDiv : 모달 selector
|
|
* }
|
|
**********************************************************************/
|
|
const fn_select_crm_mini_info = function(obj, mbrInnb, mbrDvCd, modalDiv){
|
|
const element = $(obj); // 클릭된 요소
|
|
let offset = element.offset();
|
|
const info = $(obj).attr("data-info");
|
|
$.ajax({
|
|
type : 'POST',
|
|
url : "<c:url value='/crm/mbr/selectMbrCrmInfoPopupForm'/>",
|
|
data: {
|
|
mbrDvCd : mbrDvCd,
|
|
mbrInnb : mbrInnb
|
|
},
|
|
success : function(html) {
|
|
fn_close_modal(info);
|
|
$(modalDiv).html(html);
|
|
const target = $("#" + info);
|
|
let top;
|
|
let left;
|
|
let width = $("#" + info).width() + 50;
|
|
let zIndex = 9998
|
|
if (fn_is_empty($("#board-list-detail"))) {
|
|
top = offset.top + element.outerHeight(); // 첫 번째 모달의 아래로 설정
|
|
left = offset.left - 150;
|
|
} else { //게시글 상세에서는 위로 위치
|
|
top = offset.top + (element.outerHeight() / 2) - (target.outerHeight() / 2);
|
|
left = offset.left + element.outerWidth() + 10; // 오른쪽으로 10px 띄움
|
|
}
|
|
|
|
target.css({
|
|
top: top,
|
|
left: left,
|
|
width: width,
|
|
zIndex: zIndex
|
|
});
|
|
|
|
target.show();
|
|
}
|
|
});
|
|
};
|
|
/**********************************************************************
|
|
* 비회원 crm정보 모달 호출(공통)
|
|
* 파라미터 설명 {
|
|
* obj : 호출버튼 객체
|
|
* mbtlnb : 주문자번호
|
|
* modalDiv : 모달 selector
|
|
* }
|
|
**********************************************************************/
|
|
const fn_select_crm_mini_info_nmbr = function(obj, mbtlnb,ordrInnb,mbrNm,modalDiv){
|
|
const element = $(obj); // 클릭된 요소
|
|
let offset = element.offset();
|
|
const info = $(obj).attr("data-info");
|
|
$.ajax({
|
|
type : 'POST',
|
|
url : "<c:url value='/crm/mbr/selectNmbrCrmInfoPopupForm'/>",
|
|
data: {
|
|
mbtlnb : mbtlnb,
|
|
ordrInnb : ordrInnb,
|
|
mbrNm : mbrNm
|
|
},
|
|
success : function(html) {
|
|
fn_close_modal(info);
|
|
$(modalDiv).html(html);
|
|
|
|
const target = $("#" + info);
|
|
let top;
|
|
let left;
|
|
let width = $("#" + info).width() + 50;
|
|
let zIndex = 9998
|
|
if (fn_is_empty($("#board-list-detail"))) {
|
|
top = offset.top + element.outerHeight(); // 첫 번째 모달의 아래로 설정
|
|
left = offset.left - 150;
|
|
} else { //게시글 상세에서는 위로 위치
|
|
top = offset.top + (element.outerHeight() / 2) - (target.outerHeight() / 2);
|
|
left = offset.left + element.outerWidth() + 10; // 오른쪽으로 10px 띄움
|
|
}
|
|
|
|
target.css({
|
|
top: top,
|
|
left: left,
|
|
width: width,
|
|
zIndex: zIndex
|
|
});
|
|
|
|
}
|
|
});
|
|
};
|
|
|
|
/**********************************************************************
|
|
* CMR 레이어 팝업 닫기 버튼 클릭 이벤트
|
|
**********************************************************************/
|
|
$(document).on('click', '.mini-info-content__close', function(e) {
|
|
e.preventDefault();
|
|
$(this).closest(".mini-info-content").hide();
|
|
});
|
|
|
|
|
|
/*****************************************************************
|
|
* 회원 crm정보 모달 : 상담 등록 이동
|
|
****************************************************************/
|
|
const fn_move_crm_cnslt = function(mbrInnb, mbrDvCd) {
|
|
console.log("param 확인 : ", mbrInnb, mbrDvCd);
|
|
|
|
let form = $('<form></form>');
|
|
|
|
$(form).append($('<input/>', {type:'hidden', name:'mbrInnb', value:mbrInnb}));
|
|
$(form).append($('<input/>', {type:'hidden', name:'mbrDvCd', value:mbrDvCd}));
|
|
|
|
$(form).attr('method', 'post');
|
|
$(form).attr('action', '<c:url value="/crm/cnslt/selectCnsltDtlsForm"/>');
|
|
|
|
$(form).appendTo('body');
|
|
|
|
$(form).submit();
|
|
$(form).remove();
|
|
};
|
|
|
|
/*****************************************************************
|
|
* 비회원 주문 목록 이동
|
|
****************************************************************/
|
|
const fn_move_crm_cnslt_nmbr = function(mbtlnb, ordrInnb,mbrNm) {
|
|
let form = $('<form></form>');
|
|
|
|
$(form).append($('<input/>', {type:'hidden', name:'mbtlnb', value:mbtlnb}));
|
|
$(form).append($('<input/>', {type:'hidden', name:'ordrInnb', value:ordrInnb}));
|
|
$(form).append($('<input/>', {type:'hidden', name:'mbrNm', value:mbrNm}));
|
|
|
|
$(form).attr('method', 'post');
|
|
$(form).attr('action', '<c:url value="/crm/cnslt/selectCnsltDtlsForm"/>');
|
|
|
|
$(form).appendTo('body');
|
|
|
|
$(form).submit();
|
|
$(form).remove();
|
|
};
|
|
|
|
/*****************************************************************
|
|
* 로딩이미지
|
|
****************************************************************/
|
|
const loding = function(isShow) {
|
|
if(isShow){
|
|
$('.loadingImg').show();
|
|
}else{
|
|
$('.loadingImg').hide();
|
|
}
|
|
};
|
|
|
|
</script>
|
|
|
|
<style>
|
|
.top_menu_req_cnt {
|
|
width: 15px ;
|
|
height: 15px ;
|
|
border-radius: 10px ;
|
|
background-color: red ;
|
|
color: white ;
|
|
font-size: 10px ;
|
|
line-height: 15px ;
|
|
text-align: center ;
|
|
float: right ;
|
|
margin-top: -45px ;
|
|
padding-right: 2px;
|
|
|
|
}
|
|
|
|
.top_menu_req_cnt2 {
|
|
width: 15px ;
|
|
height: 15px ;
|
|
border-radius: 10px ;
|
|
background-color: yellow ;
|
|
color: black ;
|
|
font-size: 10px ;
|
|
line-height: 15px ;
|
|
text-align: center ;
|
|
float: right ;
|
|
margin-top: -45px ;
|
|
margin-right: 20px;
|
|
padding-right: 2px;
|
|
|
|
}
|
|
</style>
|
|
|
|
<!--로딩영역-->
|
|
<div class="loadingImg" style="display:none; position: relative; z-index: 1010;">
|
|
<div class="loding_popup_wrap"><img src="/mngr/images/loding.gif" alt="loading"></div>
|
|
</div> |