대시보드 샘플 기능 보충.

강석 최 2022-10-18 11:46:46 +09:00
parent 3ca5daeff7
commit 4256cda7aa
20 changed files with 361 additions and 291 deletions

View File

@ -1,3 +1,5 @@
let files = [];
function contentFade(action){ function contentFade(action){
if(action === "in"){ if(action === "in"){
$("#fadeDiv").show() $("#fadeDiv").show()

View File

@ -1,4 +1,3 @@
let files = [];
$(document).on('click', '#addPartInfo', function (){ $(document).on('click', '#addPartInfo', function (){
$.ajax({ $.ajax({

View File

@ -1,4 +1,3 @@
let files = [];
$(document).on('click', '#addPartWork', function (){ $(document).on('click', '#addPartWork', function (){
$.ajax({ $.ajax({

View File

@ -1,4 +1,3 @@
let files = [];
$(document).ready(function(){ $(document).ready(function(){
$(".table_id").each(function(){ $(".table_id").each(function(){

View File

@ -1,4 +1,3 @@
let files = [];
$(function(){ $(function(){
$("#dateSelectorDiv").datepicker({ $("#dateSelectorDiv").datepicker({
@ -18,8 +17,11 @@ $(document).on('click', '#commitTab', function (){
$(document).on('click', '.affairTr', function (event){ $(document).on('click', '.affairTr', function (event){
const target = event.target; const target = event.target;
if(!(target.className === "apprvTd" || $(target).parents(".apprvTd").length>0)){ if(!(target.className === "apprvTd" || $(target).parents(".apprvTd").length>0)){
const chkBox = $(this).find(".rowChkBox");
if(chkBox.length>0){
$(".trChkBox").prop("checked", false); $(".trChkBox").prop("checked", false);
$(this).find(".trChkBox").prop("checked", true); chkBox[0].checked = !chkBox[0].checked;
}
getAffairViewModal(Number($(this).find(".affairKey").val())); getAffairViewModal(Number($(this).find(".affairKey").val()));
} }
}) })

View File

@ -1,4 +1,3 @@
let files = [];
$(function(){ $(function(){
$("#dateSelectorDiv").datepicker({ $("#dateSelectorDiv").datepicker({
@ -56,8 +55,11 @@ $(document).on('click', '#saveTempBtn', function (){
}) })
$(document).on('click', '.planTr', function (){ $(document).on('click', '.planTr', function (){
const chkBox = $(this).find(".rowChkBox");
if(chkBox.length>0){
$(".trChkBox").prop("checked", false); $(".trChkBox").prop("checked", false);
$(this).find(".trChkBox").prop("checked", true); chkBox[0].checked = !chkBox[0].checked;
}
getPlanViewModal(Number($(this).find(".planKey").val())); getPlanViewModal(Number($(this).find(".planKey").val()));
}) })

View File

@ -1,4 +1,3 @@
let files = [];
$(function(){ $(function(){
$("#dateSelectorDiv").datepicker({ $("#dateSelectorDiv").datepicker({
@ -66,10 +65,6 @@ $(document).on('click', '#affairModalBtn', function (){
}); });
} }
}) })
$(document).on('click', '.affairTr', function (){
const chkBox = $(this).find(".rowChkBox");
chkBox[0].checked = !chkBox[0].checked;
})
$(document).on('click', '#getAffairBtn', function (){ $(document).on('click', '#getAffairBtn', function (){
let affairListTbody = ""; let affairListTbody = "";
$.each($(".rowChkBox:checked"), function (idx, chkBox){ $.each($(".rowChkBox:checked"), function (idx, chkBox){
@ -153,8 +148,11 @@ $(document).on('click', '#saveTempBtn', function (){
}) })
$(document).on('click', '.resultTr', function (){ $(document).on('click', '.resultTr', function (){
const chkBox = $(this).find(".rowChkBox");
if(chkBox.length>0){
$(".trChkBox").prop("checked", false); $(".trChkBox").prop("checked", false);
$(this).find(".trChkBox").prop("checked", true); chkBox[0].checked = !chkBox[0].checked;
}
getResultViewModal(Number($(this).find(".resultKey").val())); getResultViewModal(Number($(this).find(".resultKey").val()));
}) })

View File

@ -1,4 +1,3 @@
let files = [];
$(document).on('click', '#addBoardBtn', function (){ $(document).on('click', '#addBoardBtn', function (){
getEditModal(null, "PLB002") getEditModal(null, "PLB002")

View File

@ -1,4 +1,3 @@
let files = [];
$(function(){ $(function(){
$("#dateSelectorDiv").datepicker({ $("#dateSelectorDiv").datepicker({
@ -11,10 +10,10 @@ $(document).on('click', '#addNoticeBtn', function (){
getEditModal(null, "PLB001") getEditModal(null, "PLB001")
}) })
$(document).on('click', '.planTr', function (){ $(document).on('click', '.noticeTr', function (){
$(".trChkBox").prop("checked", false); $(".trChkBox").prop("checked", false);
$(this).find(".trChkBox").prop("checked", true); $(this).find(".trChkBox").prop("checked", true);
getViewModal(Number($(this).find(".planKey").val()), "PLB001"); getViewModal(Number($(this).find(".publicKey").val()), "PLB001");
}) })
$(document).on('click', '#saveBtn', function (){ $(document).on('click', '#saveBtn', function (){

View File

@ -1,4 +1,3 @@
let files = [];
$(function(){ $(function(){
$("#dateSelectorDiv").datepicker({ $("#dateSelectorDiv").datepicker({

View File

@ -1,4 +1,3 @@
let files = [];
$(document).on('click', '#addReferenceBtn', function (){ $(document).on('click', '#addReferenceBtn', function (){
getEditModal(null, "PLB003") getEditModal(null, "PLB003")

View File

@ -1,5 +1,7 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="ko" xmlns:th="http://www.thymeleaf.org"> <html lang="ko" xmlns:th="http://www.thymeleaf.org">
<script type="text/javascript" th:src="@{/js/igActivities/fpiMgt/affair/affairMgt.js}"></script>
<div class="card">
<div class="card-header bg-white"> <div class="card-header bg-white">
<div class="row justify-content-between"> <div class="row justify-content-between">
<div class="col-auto">외사경찰 견문관리</div> <div class="col-auto">외사경찰 견문관리</div>
@ -16,10 +18,19 @@
</thead> </thead>
<tbody> <tbody>
<tr class="affairTr" th:each="affair:${affairList}"> <tr class="affairTr" th:each="affair:${affairList}">
<input type="hidden" class="affairKey" th:value="${affair.affairKey}">
<td th:text="${affair.title}"></td> <td th:text="${affair.title}"></td>
<td th:text="${#temporals.format(affair.wrtDt, 'yyyy-MM-dd HH:mm')}"></td> <td th:text="${#temporals.format(affair.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
</div> </div>
</div>
<div class="modal fade" id="affairViewModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="affairViewModalLabel" aria-hidden="true">
<div class="modal-dialog modal-xl modal-dialog-scrollable">
<div class="modal-content" id="affairViewBody">
</div>
</div>
</div>
</html> </html>

View File

@ -1,5 +1,7 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="ko" xmlns:th="http://www.thymeleaf.org"> <html lang="ko" xmlns:th="http://www.thymeleaf.org">
<script type="text/javascript" th:src="@{/js/igActivities/fpiMgt/plan/planMgt.js}"></script>
<div class="card">
<div class="card-header bg-white"> <div class="card-header bg-white">
<div class="row justify-content-between"> <div class="row justify-content-between">
<div class="col-auto">월간계획</div> <div class="col-auto">월간계획</div>
@ -16,10 +18,19 @@
</thead> </thead>
<tbody> <tbody>
<tr class="planTr" th:each="plan:${planList}"> <tr class="planTr" th:each="plan:${planList}">
<input type="hidden" class="planKey" th:value="${plan.planKey}">
<td th:text="${plan.contentTitle}"></td> <td th:text="${plan.contentTitle}"></td>
<td th:text="${#temporals.format(plan.wrtDt, 'yyyy-MM-dd HH:mm')}"></td> <td th:text="${#temporals.format(plan.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
</div> </div>
</div>
<div class="modal fade" id="planViewModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="planViewModalLabel" aria-hidden="true">
<div class="modal-dialog modal-xl modal-dialog-scrollable">
<div class="modal-content" id="planViewBody">
</div>
</div>
</div>
</html> </html>

View File

@ -1,5 +1,7 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="ko" xmlns:th="http://www.thymeleaf.org"> <html lang="ko" xmlns:th="http://www.thymeleaf.org">
<script type="text/javascript" th:src="@{/js/igActivities/fpiMgt/result/resultMgt.js}"></script>
<div class="card">
<div class="card-header bg-white"> <div class="card-header bg-white">
<div class="row justify-content-between"> <div class="row justify-content-between">
<div class="col-auto">청산보고서</div> <div class="col-auto">청산보고서</div>
@ -16,10 +18,19 @@
</thead> </thead>
<tbody> <tbody>
<tr class="resultTr" th:each="result:${resultList}"> <tr class="resultTr" th:each="result:${resultList}">
<input type="hidden" class="resultKey" th:value="${result.resultKey}">
<td th:text="${result.resultTitle}"></td> <td th:text="${result.resultTitle}"></td>
<td th:text="${#temporals.format(result.wrtDt, 'yyyy-MM-dd HH:mm')}"></td> <td th:text="${#temporals.format(result.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
</div> </div>
</div>
<div class="modal fade" id="resultViewModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="resultViewModalLabel" aria-hidden="true">
<div class="modal-dialog modal-xl modal-dialog-scrollable">
<div class="modal-content" id="resultViewBody">
</div>
</div>
</div>
</html> </html>

View File

@ -60,5 +60,6 @@
<div id="fadeDiv" style="display: none;"> <div id="fadeDiv" style="display: none;">
<div class="p-5 rounded"><h1>저장중입니다.</h1></div> <div class="p-5 rounded"><h1>저장중입니다.</h1></div>
</div> </div>
<th:block layout:fragment="modal"></th:block>
</body> </body>
</html> </html>

View File

@ -12,30 +12,12 @@
<div class="col-12 card"> <div class="col-12 card">
<div class="card-body"> <div class="card-body">
<div class="row"> <div class="row">
<div class="col-4 py-1"> <div class="col-4 py-1" id="subPage0"></div>
<div class="card" id="subPage0"> <div class="col-4 py-1" id="subPage1"></div>
</div> <div class="col-4 py-1" id="subPage2"></div>
</div> <div class="col-4 py-1" id="subPage3"></div>
<div class="col-4 py-1"> <div class="col-4 py-1" id="subPage4"></div>
<div class="card" id="subPage1"> <div class="col-4 py-1" id="subPage5"></div>
</div>
</div>
<div class="col-4 py-1">
<div class="card" id="subPage2">
</div>
</div>
<div class="col-4 py-1">
<div class="card" id="subPage3">
</div>
</div>
<div class="col-4 py-1">
<div class="card" id="subPage4">
</div>
</div>
<div class="col-4 py-1">
<div class="card" id="subPage5">
</div>
</div>
</div> </div>
</div> </div>
</div> </div>

View File

@ -70,8 +70,8 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr class="planTr" th:each="notice:${noticeList}"> <tr class="noticeTr" th:each="notice:${noticeList}">
<input type="hidden" class="planKey" th:value="${notice.publicKey}"> <input type="hidden" class="publicKey" th:value="${notice.publicKey}">
<td><input type="checkbox" class="trChkBox"></td> <td><input type="checkbox" class="trChkBox"></td>
<td th:text="${notice.title}"></td> <td th:text="${notice.title}"></td>
<th:block th:each="commonCode:${session.commonCode.get('OG')}"> <th:block th:each="commonCode:${session.commonCode.get('OG')}">

View File

@ -1,5 +1,8 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="ko" xmlns:th="http://www.thymeleaf.org"> <html lang="ko" xmlns:th="http://www.thymeleaf.org">
<script type="text/javascript" th:src="@{/js/publicBoard/publicBoard.js}"></script>
<script type="text/javascript" th:src="@{/js/publicBoard/notice.js}"></script>
<div class="card">
<div class="card-header bg-white"> <div class="card-header bg-white">
<div class="row justify-content-between"> <div class="row justify-content-between">
<div class="col-auto">공지사항</div> <div class="col-auto">공지사항</div>
@ -16,7 +19,8 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr class="planTr" th:each="notice:${noticeList}"> <tr class="noticeTr" th:each="notice:${noticeList}">
<input type="hidden" class="publicKey" th:value="${notice.publicKey}">
<td th:text="${notice.title}"></td> <td th:text="${notice.title}"></td>
<td th:text="${notice.wrtUserNm}"></td> <td th:text="${notice.wrtUserNm}"></td>
<td th:text="${#temporals.format(notice.wrtDt, 'yyyy-MM-dd HH:mm')}"></td> <td th:text="${#temporals.format(notice.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
@ -24,4 +28,12 @@
</tbody> </tbody>
</table> </table>
</div> </div>
</div>
<div class="modal fade" id="viewModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="viewModalLabel" aria-hidden="true">
<div class="modal-dialog modal-xl modal-dialog-scrollable">
<div class="modal-content" id="viewContent">
</div>
</div>
</div>
</html> </html>

View File

@ -112,10 +112,8 @@
</thead> </thead>
<tbody> <tbody>
<tr class="userInfoTr" data-bs-toggle="dropdown" aria-expanded="false" th:each="trInfo:${translatorList}"> <tr class="userInfoTr" data-bs-toggle="dropdown" aria-expanded="false" th:each="trInfo:${translatorList}">
<th:block>
<input type="hidden" class="trKey" th:value="${trInfo.translatorKey}"> <input type="hidden" class="trKey" th:value="${trInfo.translatorKey}">
<input type="hidden" class="verNo" th:value="${trInfo.versionNo}"> <input type="hidden" class="verNo" th:value="${trInfo.versionNo}">
</th:block>
<td> <td>
<p class="m-0" th:text="${trInfo.translatorKey}"></p> <p class="m-0" th:text="${trInfo.translatorKey}"></p>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
@ -303,8 +301,6 @@
</div> </div>
</div> </div>
</div> </div>
<div class="modal fade" id="translatorEditModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="authEditModalLabel" aria-hidden="true"> <div class="modal fade" id="translatorEditModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="authEditModalLabel" aria-hidden="true">
<div class="modal-dialog modal-xl modal-dialog-scrollable"> <div class="modal-dialog modal-xl modal-dialog-scrollable">
<div class="modal-content" id="authEditModalContent"> <div class="modal-content" id="authEditModalContent">
@ -329,8 +325,6 @@
</div> </div>
</div> </div>
</div> </div>
<div class="modal fade" id="translatorCareerModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="authEditModalLabel" aria-hidden="true"> <div class="modal fade" id="translatorCareerModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="authEditModalLabel" aria-hidden="true">
<div class="modal-dialog modal-xl modal-dialog-scrollable"> <div class="modal-dialog modal-xl modal-dialog-scrollable">
<div class="modal-content" id="authEditModalContent"> <div class="modal-content" id="authEditModalContent">
@ -345,7 +339,5 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</html> </html>

View File

@ -1,5 +1,7 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="ko" xmlns:th="http://www.thymeleaf.org"> <html lang="ko" xmlns:th="http://www.thymeleaf.org">
<script type="text/javascript" th:src="@{/js/translator/translator.js}"></script>
<div class="card">
<div class="card-header bg-white"> <div class="card-header bg-white">
<div class="row justify-content-between"> <div class="row justify-content-between">
<div class="col-auto">민간통역인현황</div> <div class="col-auto">민간통역인현황</div>
@ -7,6 +9,8 @@
</div> </div>
</div> </div>
<div class="card-body"> <div class="card-body">
<input type="hidden" id="selectedKey">
<input type="hidden" id="selectedVerNo">
<table class="table table-striped"> <table class="table table-striped">
<thead> <thead>
<tr> <tr>
@ -18,8 +22,16 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr class="userInfoTr" th:each="trInfo:${translatorList}"> <tr class="userInfoTr" data-bs-toggle="dropdown" aria-expanded="false" th:each="trInfo:${translatorList}">
<td th:text="${trInfo.ogdp1}"></td> <input type="hidden" class="trKey" th:value="${trInfo.translatorKey}">
<input type="hidden" class="verNo" th:value="${trInfo.versionNo}">
<td>
<p class="m-0" th:text="${trInfo.ogdp1}"></p>
<ul class="dropdown-menu">
<li><a class="dropdown-item careerInfo" href="#">경력관리</a></li>
<li><a class="dropdown-item translatorInfo" href="#">인적사항</a></li>
</ul>
</td>
<td th:text="${trInfo.trLang}"></td> <td th:text="${trInfo.trLang}"></td>
<td th:text="${trInfo.trName}"></td> <td th:text="${trInfo.trName}"></td>
<td th:text="${trInfo.aptDt}"></td> <td th:text="${trInfo.aptDt}"></td>
@ -28,4 +40,45 @@
</tbody> </tbody>
</table> </table>
</div> </div>
</div>
<div class="modal fade" id="translatorEditModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="authEditModalLabel" aria-hidden="true">
<div class="modal-dialog modal-xl modal-dialog-scrollable">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="menuEditModalLabel">통역인 정보</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div id="KeyValue">
</div>
<div class="modal-body">
<ul class="nav nav-tabs" id="userTab" role="tablist">
<li class="nav-item" role="presentation">
<button class="nav-link active" id="accessTab" data-bs-toggle="tab" data-bs-target="#accessTabPanel" type="button" role="tab" aria-controls="accessTabPanel" aria-selected="true">인적사항</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="approvalTab" data-bs-toggle="tab" data-bs-target="#approvalTabPanel" type="button" role="tab" aria-controls="approvalTabPanel" aria-selected="false">수정이력</button>
</li>
</ul>
<div class="tab-content border border-top-0" id="configInfo">
</div>
</div>
</div>
</div>
</div>
<div class="modal fade" id="translatorCareerModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="authEditModalLabel" aria-hidden="true">
<div class="modal-dialog modal-xl modal-dialog-scrollable">
<div class="modal-content">
<div class="modal-header">
<h5>경력현황</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<div class="tab-content border border-top-0" id="careerView">
</div>
</div>
</div>
</div>
</div>
</html> </html>