집합교육 1차본

main
thkim 2024-10-24 07:55:33 +09:00
parent f35652a5da
commit 7953208b04
6 changed files with 198 additions and 103 deletions

View File

@ -24,3 +24,4 @@ src\main\webapp\com\fonts\NotoSansKr\NotoSansKR-Bold.woff2
src\main\webapp\com\fonts\NotoSansKr\NotoSansKR-Bold.woff src\main\webapp\com\fonts\NotoSansKr\NotoSansKR-Bold.woff
src\main\webapp\com\fonts\NotoSansKr\NotoSansKR-Bold.otf src\main\webapp\com\fonts\NotoSansKr\NotoSansKR-Bold.otf
src\main\resources\egovframework\sqlmap\mapper\main\Login_SQL.xml src\main\resources\egovframework\sqlmap\mapper\main\Login_SQL.xml
src\main\resources\egovframework\spring\context-mybatis.xml

View File

@ -1,8 +1,8 @@
<%@ page language="java" contentType="text/html; charset=utf-8" %> <%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page language="java" import="Kisinfo.Check.IPINClient" %> <%@ page language="java" import="Kisinfo.Check.IPINClient"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<script type="text/javascript" > <script type="text/javascript">
let xhr; let xhr;
if(window.XMLHttpRequest) { if(window.XMLHttpRequest) {
@ -39,6 +39,11 @@
myEle.style.display = display; myEle.style.display = display;
} }
} }
function closePopup(e) {
location.reload(true);
}
function onClickOpenPopupLink(e) { function onClickOpenPopupLink(e) {
let dataSeq = e.getAttribute('data-seq'); let dataSeq = e.getAttribute('data-seq');
if( dataSeq ) { if( dataSeq ) {
@ -135,7 +140,7 @@
homeVisitListHTML = homeVisitListHTML =
` `
<tr> <tr>
<td calspan='6'>등록된 집합교육이 없습니다.</td> <td colspan='6'>등록된 집합교육이 없습니다.</td>
</tr> </tr>
`; `;
} }
@ -146,8 +151,8 @@
closeOnBgClick: false, closeOnBgClick: false,
preloader: false, preloader: false,
fixedContentPos: false, fixedContentPos: false,
closeBtnInside: true, closeBtnInside: false,
showCloseBtn: true, showCloseBtn: false,
items: { items: {
src: '#input-data' src: '#input-data'
}, },
@ -164,11 +169,12 @@
}, },
close: function () { close: function () {
if (!isMobile) { if (!isMobile) {
$('body').removeClass('overflow-hidden login-popup-wrapper'); $('body').removeClass('overflow-hidden');
document.onmousewheel = ScrollStart; document.onmousewheel = ScrollStart;
} else { } else {
$('body, html').unbind('touchmove'); $('body, html').unbind('touchmove');
} }
return false;
} }
} }
}); });
@ -183,11 +189,9 @@
} }
document.addEventListener('DOMContentLoaded', function () { function init() {
debugger; const rows = document.querySelectorAll('#Table_contents tbody tr td:nth-child(7)');
const rows = document.querySelectorAll('#Table_contents tbody tr td:nth-child(7)');
rows.forEach(function (cell) { rows.forEach(function (cell) {
const text = cell.textContent; const text = cell.textContent;
@ -249,9 +253,6 @@
jsonData.push(jsonItem); jsonData.push(jsonItem);
} }
console.log('%o', jsonData);
xhr.open('POST', 'training/home/attend.do', true); xhr.open('POST', 'training/home/attend.do', true);
xhr.setRequestHeader('Content-type', 'application/json'); xhr.setRequestHeader('Content-type', 'application/json');
@ -259,13 +260,15 @@
xhr.onreadystatechange = function() { xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) { if (xhr.readyState === 4 && xhr.status === 200) {
// 요청 성공 시 처리 // 요청 성공 시 처리
console.log(xhr.responseText);
const obj = JSON.parse(xhr.responseText); const obj = JSON.parse(xhr.responseText);
updateList(); updateList();
alert(obj.message); alert(obj.message);
if( obj.resultCode === 401 ) { if( obj.resultCode === 401 ) {
window.location.href="./"; window.location.href="./";
} }
if( obj.resultCode === 100 ) {
closePopup();
}
} else if (xhr.readyState === 4) { } else if (xhr.readyState === 4) {
// 요청 실패 시 처리 // 요청 실패 시 처리
console.error('요청 실패:', xhr.status); console.error('요청 실패:', xhr.status);
@ -323,9 +326,6 @@
jsonData.push(jsonItem); jsonData.push(jsonItem);
} }
console.log('%o', jsonData);
xhr.open('POST', 'training/home/update.do', true); xhr.open('POST', 'training/home/update.do', true);
xhr.setRequestHeader('Content-type', 'application/json'); xhr.setRequestHeader('Content-type', 'application/json');
@ -333,13 +333,15 @@
xhr.onreadystatechange = function() { xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) { if (xhr.readyState === 4 && xhr.status === 200) {
// 요청 성공 시 처리 // 요청 성공 시 처리
console.log(xhr.responseText);
const obj = JSON.parse(xhr.responseText); const obj = JSON.parse(xhr.responseText);
updateList(); updateList();
alert(obj.message); alert(obj.message);
if( obj.resultCode === 401 ) { if( obj.resultCode === 401 ) {
window.location.href="./"; window.location.href="./";
} }
if( obj.resultCode === 100 ) {
closePopup();
}
} else if (xhr.readyState === 4) { } else if (xhr.readyState === 4) {
// 요청 실패 시 처리 // 요청 실패 시 처리
console.error('요청 실패:', xhr.status); console.error('요청 실패:', xhr.status);
@ -364,8 +366,6 @@
} }
jsonData.push(jsonItem); jsonData.push(jsonItem);
} }
console.log('%o', jsonData);
@ -375,13 +375,15 @@
xhr.onreadystatechange = function() { xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) { if (xhr.readyState === 4 && xhr.status === 200) {
// 요청 성공 시 처리 // 요청 성공 시 처리
console.log(xhr.responseText);
const obj = JSON.parse(xhr.responseText); const obj = JSON.parse(xhr.responseText);
updateList(); updateList();
alert(obj.message); alert(obj.message);
if( obj.resultCode === 401 ) { if( obj.resultCode === 401 ) {
window.location.href="./"; window.location.href="./";
} }
if( obj.resultCode === 100 ) {
closePopup();
}
} else if (xhr.readyState === 4) { } else if (xhr.readyState === 4) {
// 요청 실패 시 처리 // 요청 실패 시 처리
console.error('요청 실패:', xhr.status); console.error('요청 실패:', xhr.status);
@ -395,37 +397,42 @@
updateList(); updateList();
}
document.addEventListener('DOMContentLoaded', function () {
init();
}); });
</script> </script>
<form name="jusangdoForm" method="post"> <form name="jusangdoForm" method="post">
<!-- 그리드 시작 --> <!-- 그리드 시작 -->
<div class="contents-row home-education-application-inquiry"> <div class="contents-row home-education-application-inquiry">
<div class="" style="width: 1020px; position: relative;"> <div class="" style="width: 1020px; position: relative;">
<table class="Table_Main" id="Table_contents"> <table class="Table_Main" id="Table_contents">
<colgroup> <colgroup>
<col style="width:40px;"> <col style="width: 40px;">
<col style="width:255px;"> <col style="width: 255px;">
<col style="width:150px;"> <col style="width: 150px;">
<col style="width:215px;"> <col style="width: 215px;">
<col style="width:280px;"> <col style="width: 280px;">
<col style="width:70px;"> <col style="width: 70px;">
</colgroup> </colgroup>
<thead class="Table_List"> <thead class="Table_List">
<tr> <tr>
<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> </tr>
</thead> </thead>
<tbody id="home-visit-list"> <tbody id="home-visit-list">
</tbody> </tbody>
<!-- <!--
<tr> <tr>
<td>3</td> <td>3</td>
@ -452,9 +459,9 @@
<td><button type="button" class="deadline-button" disabled="disabled">마감</button></td> <td><button type="button" class="deadline-button" disabled="disabled">마감</button></td>
</tr> </tr>
--> -->
</table> </table>
</div> </div>
<!-- <!--
<div> <div>
<table> <table>
<tr> <tr>
@ -486,54 +493,65 @@
</table> </table>
</div> </div>
--> -->
</div> </div>
<!-- 그리드 끝 --> <!-- 그리드 끝 -->
<!-- 입력 및 수정 modal 시작 --> <!-- 입력 및 수정 modal 시작 -->
<div id="input-data" class="input-data-modal mfp-hide"> <div id="input-data" class="input-data-modal mfp-hide">
<button id="mfp-close" class="mfp-close">X</button> <button id="mfp-close-button" class="mfp-close-button" onClick="closePopup(this)"></button>
<div class="input-data-modal-content"> <div class="input-data-modal-content">
<div class="input-data-modal-title" >집합교육 신청 내용 작성</div> <div class="input-data-modal-title">집합교육 신청 내용 작성</div>
<div class="input-data-modal-body"> <div class="input-data-modal-body">
<table class="input-data-modal-table" id="input-data-modal-table"> <table class="input-data-modal-table" id="input-data-modal-table">
<colgroup> <colgroup>
<col style="width:100px;"> <col style="width: 100px;">
<col style="width:150px;"> <col style="width: 150px;">
<col style="width:180px;"> <col style="width: 180px;">
<col style="width:155px;"> <col style="width: 155px;">
<col style="width:150px;"> <col style="width: 150px;">
<col style="width:200px;"> <col style="width: 200px;">
</colgroup> </colgroup>
<thead class="input-data-modal-thead"> <thead class="input-data-modal-thead">
<tr> <tr>
<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> </tr>
</thead> </thead>
<tbody class="input-data-modal-tbody" id="input-data-modal-tbody"> <tbody class="input-data-modal-tbody" id="input-data-modal-tbody">
<tr> <tr>
<td><input type="hidden" id="wht-reg-id" name="wht-reg-id" class="wht-reg-id" alt="집합교육 일련번호" /><input type="hidden" id="mode" name="mode" class="mode" alt="data-mode 신청 or 수정" /><input type="text" id="req-name" name="req-name" class="req-name" value="${username}" alt="성명"/></td> <td><input type="hidden" id="wht-reg-id" name="wht-reg-id"
<td><input type="text" id="company-name" name="company-name" class="company-name" value="${companyname}" alt="기관명"/></td> class="wht-reg-id" alt="집합교육 일련번호" /><input type="hidden"
<td><input type="text" id="req-dept" name="req-dept" class="req-dept" value="${partname}" alt="부서명" /></td> id="mode" name="mode" class="mode" alt="data-mode 신청 or 수정" /><input
<td><input type="text" id="req-position" name="req-position" class="req-position" value="" alt="직급" /></td> type="text" id="req-name" name="req-name" class="req-name"
<td><input type="text" id="req-tel" name="req-tel" class="req-tel" value="${phone}" alt="연락처"/></td> value="${username}" alt="성명" /></td>
<td><input type="text" id="req-email" name="req-email" class="req-email" value="${email}" alt="이메일" /></td> <td><input type="text" id="company-name" name="company-name"
</tr> class="company-name" value="${companyname}" alt="기관명" /></td>
</tbody> <td><input type="text" id="req-dept" name="req-dept"
</table> class="req-dept" value="${partname}" alt="부서명" /></td>
<td><input type="text" id="req-position" name="req-position"
class="req-position" value="" alt="직급" /></td>
<td><input type="text" id="req-tel" name="req-tel"
class="req-tel" value="${phone}" alt="연락처" /></td>
<td><input type="text" id="req-email" name="req-email"
class="req-email" value="${email}" alt="이메일" /></td>
</tr>
</tbody>
</table>
</div> </div>
<div class="input-data-modal-tail"> <div class="input-data-modal-tail">
<div class="buttons"> <div class="buttons">
<button type="button" class="apply-button" id="apply-button">신청하기</button> <button type="button" class="apply-button" id="apply-button">신청하기</button>
&nbsp; &nbsp; &nbsp; &nbsp;
<button type="button" class="modification-button" id="modification-button">수정하기</button> <button type="button" class="modification-button"
id="modification-button">수정하기</button>
&nbsp; &nbsp; &nbsp; &nbsp;
<button type="button" class="apply-cancel-button" id="apply-cancel-button">신청 취소하기</button> <button type="button" class="apply-cancel-button"
id="apply-cancel-button">신청 취소하기</button>
</div> </div>
</div> </div>
</div> </div>

View File

@ -3,20 +3,8 @@
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<script type="text/javascript" > <script type="text/javascript" >
function doSave(){ alert('방문교육 서비스 준비중입니다.');
var name = document.jusangdoForm.name.value; window.location.href="./";
var data = document.jusangdoForm.data.value;
if(confirm('주상도를 만드시겠습니까?')) {
var jusangdo = window.open("/ClipReport4/export/exportForPDF_Jusangdo_Server.jsp?name=" +name + "&data=" +data, "jusangdo", "directories=no,toolbar=no");
}
}
function doSave2(){
var name = document.jusangdoForm.name.value;
var data = document.jusangdoForm.data.value;
if(confirm('주상도를 만드시겠습니까?')) {
var jusangdo = window.open("/ClipReport4/export/exportForPDF_Jusangdo_Server2.jsp?name=" +name + "&data=" +data, "jusangdo", "directories=no,toolbar=no");
}
}
</script> </script>
<form name="jusangdoForm" method="post"> <form name="jusangdoForm" method="post">
<!-- 그리드 시작 --> <!-- 그리드 시작 -->

View File

@ -3852,6 +3852,47 @@ ul.faq-q > li textarea {
border: 1px solid #000000; border: 1px solid #000000;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
} }
.input-data-modal-content .input-data-modal button.mfp-close-button {
position: absolute;
right: 0px;
top: 0px;
width: 60px;
height: 60px;
background-color: #000;
color: #333333;
}
.input-data-modal-content .input-data-modal button.mfp-close-button::after {
background: #fff;
left: 9px;
top: 28px;
content: "";
display: block;
background: #fff;
height: 2px;
width: 40px;
position: absolute;
transform: rotate(45deg);
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
-o-transform: rotate(45deg);
}
.input-data-modal-content .input-data-modal button.mfp-close-button::before {
background: #fff;
left: 9px;
top: 28px;
content: "";
display: block;
background: #fff;
height: 2px;
width: 40px;
position: absolute;
transform: rotate(-45deg);
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
-o-transform: rotate(-45deg);
}
.input-data-modal-content .input-data-modal .input-data-modal-content .input-data-modal-title { .input-data-modal-content .input-data-modal .input-data-modal-content .input-data-modal-title {
font-size: 34px; font-size: 34px;
margin-bottom: 45px; margin-bottom: 45px;

File diff suppressed because one or more lines are too long

View File

@ -3520,6 +3520,53 @@ ul.faq-q > li textarea {
background-color: #fff; background-color: #fff;
border: 1px solid #000000; border: 1px solid #000000;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
button.mfp-close-button {
position: absolute;
right: 0px;
top: 0px;
width: 60px;
height: 60px;
background-color: #000;
color: #333333;
&::after {
background: #fff;
left: 9px;
top: 28px;
content: "";
display: block;
background: #fff;
height: 2px;
width: 40px;
position: absolute;
transform: rotate(45deg);
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
-o-transform: rotate(45deg);
}
&::before {
background: #fff;
left: 9px;
top: 28px;
content: "";
display: block;
background: #fff;
height: 2px;
width: 40px;
position: absolute;
transform: rotate(-45deg);
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
-o-transform: rotate(-45deg);
}
}
.input-data-modal-content { .input-data-modal-content {
.input-data-modal-title { .input-data-modal-title {
font-size: 34px; font-size: 34px;