대시보드 샘플 기능 보충.

강석 최 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)){
$(".trChkBox").prop("checked", false); const chkBox = $(this).find(".rowChkBox");
$(this).find(".trChkBox").prop("checked", true); if(chkBox.length>0){
$(".trChkBox").prop("checked", false);
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 (){
$(".trChkBox").prop("checked", false); const chkBox = $(this).find(".rowChkBox");
$(this).find(".trChkBox").prop("checked", true); if(chkBox.length>0){
$(".trChkBox").prop("checked", false);
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 (){
$(".trChkBox").prop("checked", false); const chkBox = $(this).find(".rowChkBox");
$(this).find(".trChkBox").prop("checked", true); if(chkBox.length>0){
$(".trChkBox").prop("checked", false);
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,25 +1,36 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="ko" xmlns:th="http://www.thymeleaf.org"> <html lang="ko" xmlns:th="http://www.thymeleaf.org">
<div class="card-header bg-white"> <script type="text/javascript" th:src="@{/js/igActivities/fpiMgt/affair/affairMgt.js}"></script>
<div class="row justify-content-between"> <div class="card">
<div class="col-auto">외사경찰 견문관리</div> <div class="card-header bg-white">
<div class="col-auto"><a href="/affair/affairMgt" class="link-dark"><i class="bi bi-list"></i></a></div> <div class="row justify-content-between">
<div class="col-auto">외사경찰 견문관리</div>
<div class="col-auto"><a href="/affair/affairMgt" class="link-dark"><i class="bi bi-list"></i></a></div>
</div>
</div>
<div class="card-body">
<table class="table table-hover">
<thead>
<tr>
<th>제목</th>
<th>작성일시</th>
</tr>
</thead>
<tbody>
<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="${#temporals.format(affair.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
</tr>
</tbody>
</table>
</div> </div>
</div> </div>
<div class="card-body"> <div class="modal fade" id="affairViewModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="affairViewModalLabel" aria-hidden="true">
<table class="table table-hover"> <div class="modal-dialog modal-xl modal-dialog-scrollable">
<thead> <div class="modal-content" id="affairViewBody">
<tr>
<th>제목</th> </div>
<th>작성일시</th> </div>
</tr>
</thead>
<tbody>
<tr class="affairTr" th:each="affair:${affairList}">
<td th:text="${affair.title}"></td>
<td th:text="${#temporals.format(affair.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
</tr>
</tbody>
</table>
</div> </div>
</html> </html>

View File

@ -1,25 +1,36 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="ko" xmlns:th="http://www.thymeleaf.org"> <html lang="ko" xmlns:th="http://www.thymeleaf.org">
<div class="card-header bg-white"> <script type="text/javascript" th:src="@{/js/igActivities/fpiMgt/plan/planMgt.js}"></script>
<div class="row justify-content-between"> <div class="card">
<div class="col-auto">월간계획</div> <div class="card-header bg-white">
<div class="col-auto"><a href="/affairPlan/planMgt" class="link-dark"><i class="bi bi-list"></i></a></div> <div class="row justify-content-between">
<div class="col-auto">월간계획</div>
<div class="col-auto"><a href="/affairPlan/planMgt" class="link-dark"><i class="bi bi-list"></i></a></div>
</div>
</div>
<div class="card-body">
<table class="table table-hover">
<thead>
<tr>
<th>제목</th>
<th>작성일시</th>
</tr>
</thead>
<tbody>
<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="${#temporals.format(plan.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
</tr>
</tbody>
</table>
</div> </div>
</div> </div>
<div class="card-body"> <div class="modal fade" id="planViewModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="planViewModalLabel" aria-hidden="true">
<table class="table table-hover"> <div class="modal-dialog modal-xl modal-dialog-scrollable">
<thead> <div class="modal-content" id="planViewBody">
<tr>
<th>제목</th> </div>
<th>작성일시</th> </div>
</tr>
</thead>
<tbody>
<tr class="planTr" th:each="plan:${planList}">
<td th:text="${plan.contentTitle}"></td>
<td th:text="${#temporals.format(plan.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
</tr>
</tbody>
</table>
</div> </div>
</html> </html>

View File

@ -1,25 +1,36 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="ko" xmlns:th="http://www.thymeleaf.org"> <html lang="ko" xmlns:th="http://www.thymeleaf.org">
<div class="card-header bg-white"> <script type="text/javascript" th:src="@{/js/igActivities/fpiMgt/result/resultMgt.js}"></script>
<div class="row justify-content-between"> <div class="card">
<div class="col-auto">청산보고서</div> <div class="card-header bg-white">
<div class="col-auto"><a href="/affairResult/resultMgt" class="link-dark"><i class="bi bi-list"></i></a></div> <div class="row justify-content-between">
<div class="col-auto">청산보고서</div>
<div class="col-auto"><a href="/affairResult/resultMgt" class="link-dark"><i class="bi bi-list"></i></a></div>
</div>
</div>
<div class="card-body">
<table class="table table-hover">
<thead>
<tr>
<th>제목</th>
<th>작성일시</th>
</tr>
</thead>
<tbody>
<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="${#temporals.format(result.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
</tr>
</tbody>
</table>
</div> </div>
</div> </div>
<div class="card-body"> <div class="modal fade" id="resultViewModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="resultViewModalLabel" aria-hidden="true">
<table class="table table-hover"> <div class="modal-dialog modal-xl modal-dialog-scrollable">
<thead> <div class="modal-content" id="resultViewBody">
<tr>
<th>제목</th> </div>
<th>작성일시</th> </div>
</tr>
</thead>
<tbody>
<tr class="resultTr" th:each="result:${resultList}">
<td th:text="${result.resultTitle}"></td>
<td th:text="${#temporals.format(result.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
</tr>
</tbody>
</table>
</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,27 +1,39 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="ko" xmlns:th="http://www.thymeleaf.org"> <html lang="ko" xmlns:th="http://www.thymeleaf.org">
<div class="card-header bg-white"> <script type="text/javascript" th:src="@{/js/publicBoard/publicBoard.js}"></script>
<div class="row justify-content-between"> <script type="text/javascript" th:src="@{/js/publicBoard/notice.js}"></script>
<div class="col-auto">공지사항</div> <div class="card">
<div class="col-auto"><a href="/publicBoard/noticePage" class="link-dark"><i class="bi bi-list"></i></a></div> <div class="card-header bg-white">
<div class="row justify-content-between">
<div class="col-auto">공지사항</div>
<div class="col-auto"><a href="/publicBoard/noticePage" class="link-dark"><i class="bi bi-list"></i></a></div>
</div>
</div>
<div class="card-body">
<table class="table table-hover">
<thead>
<tr>
<th>제목</th>
<th>작성자</th>
<th>작성일시</th>
</tr>
</thead>
<tbody>
<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.wrtUserNm}"></td>
<td th:text="${#temporals.format(notice.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
</tr>
</tbody>
</table>
</div> </div>
</div> </div>
<div class="card-body"> <div class="modal fade" id="viewModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="viewModalLabel" aria-hidden="true">
<table class="table table-hover"> <div class="modal-dialog modal-xl modal-dialog-scrollable">
<thead> <div class="modal-content" id="viewContent">
<tr>
<th>제목</th> </div>
<th>작성자</th> </div>
<th>작성일시</th>
</tr>
</thead>
<tbody>
<tr class="planTr" th:each="notice:${noticeList}">
<td th:text="${notice.title}"></td>
<td th:text="${notice.wrtUserNm}"></td>
<td th:text="${#temporals.format(notice.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
</tr>
</tbody>
</table>
</div> </div>
</html> </html>

View File

@ -13,7 +13,7 @@
<div class="row mx-0"> <div class="row mx-0">
<div class="col-12 card text-center"> <div class="col-12 card text-center">
<div class="card-body"> <div class="card-body">
<form id="searchFm" method="get" th:action="@{/translator/info}"> <form id="searchFm" method="get" th:action="@{/translator/info}">
<input type="hidden" name="excel"> <input type="hidden" name="excel">
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}"> <input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
<div class="row justify-content-between pe-3 py-1"> <div class="row justify-content-between pe-3 py-1">
@ -24,73 +24,73 @@
</th:block> </th:block>
</select> </select>
</div> </div>
<div class="col-auto"> <div class="col-auto">
<div class="row justify-content-end"> <div class="row justify-content-end">
<div class="col-auto"> <div class="col-auto">
<select class="form-select form-select-sm" name="dmlYn"> <select class="form-select form-select-sm" name="dmlYn">
<option value="">-해촉 선택-</option> <option value="">-해촉 선택-</option>
<option value="O" th:selected="${'O' eq searchParams.dmlYn}">O</option> <option value="O" th:selected="${'O' eq searchParams.dmlYn}">O</option>
<option value="X" th:selected="${'X' eq searchParams.dmlYn}">X</option> <option value="X" th:selected="${'X' eq searchParams.dmlYn}">X</option>
</select> </select>
</div> </div>
<div class="col-auto"> <div class="col-auto">
<select class="form-select form-select-sm" name="ogdp1"> <select class="form-select form-select-sm" name="ogdp1">
<option value="">관서 선택</option> <option value="">관서 선택</option>
<th:block th:each="commonCode:${session.commonCode.get('OG')}"> <th:block th:each="commonCode:${session.commonCode.get('OG')}">
<th:block th:if="${#lists.contains(mgtOrganList, commonCode.itemCd)}"> <th:block th:if="${#lists.contains(mgtOrganList, commonCode.itemCd)}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.ogdp1}"></option> <option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.ogdp1}"></option>
</th:block>
</th:block> </th:block>
</select> </th:block>
</select>
</div> </div>
<div class="col-auto"> <div class="col-auto">
<select class="form-select form-select-sm" name="trLang"> <select class="form-select form-select-sm" name="trLang">
<option value="">언어 선택</option> <option value="">언어 선택</option>
<th:block th:each="commonCode:${session.commonCode.get('LGG')}"> <th:block th:each="commonCode:${session.commonCode.get('LGG')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.trLang}"></option> <option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.trLang}"></option>
</th:block> </th:block>
</select> </select>
</div> </div>
<div class="col-auto"> <div class="col-auto">
<input type="text" class="form-control form-control-sm" name="trName" th:value="${searchParams.trName}" placeholder="성명"> <input type="text" class="form-control form-control-sm" name="trName" th:value="${searchParams.trName}" placeholder="성명">
</div> </div>
<input type="submit" class="btn btn-sm btn-primary col-auto" id="searchBtn" value="검색"> <input type="submit" class="btn btn-sm btn-primary col-auto" id="searchBtn" value="검색">
</div> </div>
</div> </div>
</div> </div>
<div class="row justify-content-between py-1"> <div class="row justify-content-between py-1">
<div class="col-auto">
<div class="row justify-content-end">
<div class="col-auto"> <div class="col-auto">
<select class="form-select form-select-sm" id="trVisa" name="trVisa"> <div class="row justify-content-end">
<option value="">비자 선택</option> <div class="col-auto">
<th:block th:each="commonCode:${session.commonCode.get('VISA')}"> <select class="form-select form-select-sm" id="trVisa" name="trVisa">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.trVisa}"></option> <option value="">비자 선택</option>
</th:block> <th:block th:each="commonCode:${session.commonCode.get('VISA')}">
</select> <option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.trVisa}"></option>
</th:block>
</select>
</div>
<div class="col-auto">
<select class="form-select form-select-sm" id="trNny" name="trNny">
<option value="">국적선택</option>
<th:block th:each="commonCode:${session.commonCode.get('NNY')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.trNny}"></option>
</th:block>
</select>
</div>
<div class="col-auto">
<input type="text" class="form-control" id="aptDt" name="aptDt" th:value="${searchParams.aptDt}" placeholder="위촉일">
</div>
</div>
</div> </div>
<div class="col-auto">
<select class="form-select form-select-sm" id="trNny" name="trNny">
<option value="">국적선택</option>
<th:block th:each="commonCode:${session.commonCode.get('NNY')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq searchParams.trNny}"></option>
</th:block>
</select>
</div>
<div class="col-auto">
<input type="text" class="form-control" id="aptDt" name="aptDt" th:value="${searchParams.aptDt}" placeholder="위촉일">
</div>
</div>
</div> </div>
</div> </form>
</form>
<div class="row justify-content-start"> <div class="row justify-content-start">
<div class="col-12"> <div class="col-12">
<div class="card"> <div class="card">
<div class="card-body"> <div class="card-body">
<div class="row"> <div class="row">
<input type="hidden" id="selectedKey"> <input type="hidden" id="selectedKey">
<input type="hidden" id="selectedVerNo"> <input type="hidden" id="selectedVerNo">
<table class="table table-striped"> <table class="table table-striped">
<thead> <thead>
<tr> <tr>
@ -112,31 +112,29 @@
</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}"> <td>
</th:block> <p class="m-0" th:text="${trInfo.translatorKey}"></p>
<td> <ul class="dropdown-menu">
<p class="m-0" th:text="${trInfo.translatorKey}"></p> <li><a class="dropdown-item careerInfo" href="#">경력관리</a></li>
<ul class="dropdown-menu"> <li><a class="dropdown-item translatorInfo" href="#">인적사항</a></li>
<li><a class="dropdown-item careerInfo" href="#">경력관리</a></li> </ul>
<li><a class="dropdown-item translatorInfo" href="#">인적사항</a></li> </td>
</ul> <td th:text="${trInfo.ogdp1}"></td>
</td> <td th:text="${trInfo.trLang}"></td>
<td th:text="${trInfo.ogdp1}"></td> <td th:text="${trInfo.trCareer}"></td>
<td th:text="${trInfo.trLang}"></td> <td th:text="${trInfo.trName}"></td>
<td th:text="${trInfo.trCareer}"></td> <td th:text="${trInfo.trAge}"></td>
<td th:text="${trInfo.trName}"></td> <td th:text="${trInfo.trSex}"></td>
<td th:text="${trInfo.trAge}"></td> <td th:text="${trInfo.trNny}"></td>
<td th:text="${trInfo.trSex}"></td> <td th:text="${trInfo.trEdu}"></td>
<td th:text="${trInfo.trNny}"></td> <td th:text="${trInfo.trCft}"></td>
<td th:text="${trInfo.trEdu}"></td> <td th:text="${trInfo.trVisa}"></td>
<td th:text="${trInfo.trCft}"></td> <td th:if="${trInfo.dmlYn == 'O'}"></td>
<td th:text="${trInfo.trVisa}"></td> <td th:unless="${trInfo.dmlYn == 'O'}"></td>
<td th:if="${trInfo.dmlYn == 'O'}"></td> <td th:text="${trInfo.aptDt}"></td>
<td th:unless="${trInfo.dmlYn == 'O'}"></td> <td th:text="${trInfo.trPhone}"></td>
<td th:text="${trInfo.aptDt}"></td>
<td th:text="${trInfo.trPhone}"></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@ -167,9 +165,9 @@
</ul> </ul>
</nav> </nav>
<div class="col-auto"> <div class="col-auto">
<button data-bs-toggle="modal" data-bs-target="#translatorInsertModal" th:unless="${accessAuth eq 'ACC001'}">등록</button> <button data-bs-toggle="modal" data-bs-target="#translatorInsertModal" th:unless="${accessAuth eq 'ACC001'}">등록</button>
<button id="goExcel">엑셀다운</button> <button id="goExcel">엑셀다운</button>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@ -180,7 +178,7 @@
</div> </div>
</div> </div>
</main> </main>
<div class="modal fade" id="translatorInsertModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="userInsertModalLabel" aria-hidden="true"> <div class="modal fade" id="translatorInsertModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="userInsertModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg"> <div class="modal-dialog modal-lg">
<div class="modal-content "> <div class="modal-content ">
@ -189,33 +187,33 @@
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div> </div>
<form id="translatorInsert" action="#" method="post"> <form id="translatorInsert" action="#" method="post">
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/> <input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/> <input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
<div class="mb-3 row"> <div class="mb-3 row">
<label for="ogCd" class="col-sm-2 col-form-label text-center">관서</label> <label for="ogCd" class="col-sm-2 col-form-label text-center">관서</label>
<div class="col-sm-2"> <div class="col-sm-2">
<select class="form-select form-select-sm" id="ogdp1" name="ogdp1" th:disabled="${accessAuth ne 'ACC003'}"> <select class="form-select form-select-sm" id="ogdp1" name="ogdp1" th:disabled="${accessAuth ne 'ACC003'}">
<option value="">선택</option> <option value="">선택</option>
<th:block th:each="commonCode:${session.commonCode.get('OG')}"> <th:block th:each="commonCode:${session.commonCode.get('OG')}">
<th:block th:if="${#lists.contains(mgtOrganList, commonCode.itemCd)}"> <th:block th:if="${#lists.contains(mgtOrganList, commonCode.itemCd)}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq userOrgan}"></option> <option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq userOrgan}"></option>
</th:block>
</th:block> </th:block>
</select> </th:block>
</select>
</div> </div>
<label for="ofcCd" class="col-sm-1 col-form-label text-center">언어</label> <label for="ofcCd" class="col-sm-1 col-form-label text-center">언어</label>
<div class="col-sm-2"> <div class="col-sm-2">
<select class="form-select form-select-sm" id="lang" name="trLang"> <select class="form-select form-select-sm" id="lang" name="trLang">
<option value="">선택</option> <option value="">선택</option>
<th:block th:each="commonCode:${session.commonCode.get('LGG')}"> <th:block th:each="commonCode:${session.commonCode.get('LGG')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option> <option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
</th:block> </th:block>
</select> </select>
</div> </div>
<label for="ofcCd" class="col-sm-1 col-form-label text-center">경력</label> <label for="ofcCd" class="col-sm-1 col-form-label text-center">경력</label>
<div class="col-sm-4"> <div class="col-sm-4">
<input type="text" class="form-control" id="trCareer" name="trCareer"> <input type="text" class="form-control" id="trCareer" name="trCareer">
</div> </div>
</div> </div>
<div class="mb-3 row"> <div class="mb-3 row">
<label for="ogCd" class="col-sm-2 col-form-label text-center">성명</label> <label for="ogCd" class="col-sm-2 col-form-label text-center">성명</label>
@ -225,40 +223,40 @@
<label for="ofcCd" class="col-sm-1 col-form-label text-center">성별</label> <label for="ofcCd" class="col-sm-1 col-form-label text-center">성별</label>
<div class="col-sm-2"> <div class="col-sm-2">
<select class="form-select form-select-sm" name="trSex"> <select class="form-select form-select-sm" name="trSex">
<option value="">선택</option> <option value="">선택</option>
<th:block th:each="commonCode:${session.commonCode.get('SEX')}"> <th:block th:each="commonCode:${session.commonCode.get('SEX')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option> <option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
</th:block> </th:block>
</select> </select>
</div> </div>
<label for="ofcCd" class="col-sm-1 col-form-label text-center">연락처</label> <label for="ofcCd" class="col-sm-1 col-form-label text-center">연락처</label>
<div class="col-sm-4"> <div class="col-sm-4">
<input type="text" class="form-control" id="trPhone" name="trPhone"> <input type="text" class="form-control" id="trPhone" name="trPhone">
</div> </div>
</div> </div>
<div class="mb-3 row"> <div class="mb-3 row">
<label for="ogCd" class="col-sm-2 col-form-label text-center">국적</label> <label for="ogCd" class="col-sm-2 col-form-label text-center">국적</label>
<div class="col-sm-2"> <div class="col-sm-2">
<select class="form-select form-select-sm" id="trNny" name="trNny"> <select class="form-select form-select-sm" id="trNny" name="trNny">
<option value="">선택</option> <option value="">선택</option>
<th:block th:each="commonCode:${session.commonCode.get('NNY')}"> <th:block th:each="commonCode:${session.commonCode.get('NNY')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option> <option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
</th:block> </th:block>
</select> </select>
</div> </div>
<label for="ofcCd" class="col-sm-1 col-form-label text-center">나이</label> <label for="ofcCd" class="col-sm-1 col-form-label text-center">나이</label>
<div class="col-sm-2"> <div class="col-sm-2">
<input type="text" class="form-control" id="trAge" name="trAge"> <input type="text" class="form-control" id="trAge" name="trAge">
</div> </div>
<label for="ofcCd" class="col-sm-1 col-form-label text-center">학력</label> <label for="ofcCd" class="col-sm-1 col-form-label text-center">학력</label>
<div class="col-sm-4"> <div class="col-sm-4">
<select class="form-select form-select-sm" name="trEdu"> <select class="form-select form-select-sm" name="trEdu">
<option value="">선택</option> <option value="">선택</option>
<th:block th:each="commonCode:${session.commonCode.get('EDU')}"> <th:block th:each="commonCode:${session.commonCode.get('EDU')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option> <option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
</th:block> </th:block>
</select> </select>
</div> </div>
</div> </div>
<div class="mb-3 row"> <div class="mb-3 row">
<label for="ogCd" class="col-sm-2 col-form-label text-center">자격증</label> <label for="ogCd" class="col-sm-2 col-form-label text-center">자격증</label>
@ -268,43 +266,41 @@
<label for="ofcCd" class="col-sm-1 col-form-label text-center">비자</label> <label for="ofcCd" class="col-sm-1 col-form-label text-center">비자</label>
<div class="col-sm-2"> <div class="col-sm-2">
<select class="form-select form-select-sm" id="trVisa" name="trVisa"> <select class="form-select form-select-sm" id="trVisa" name="trVisa">
<option value="">선택</option> <option value="">선택</option>
<th:block th:each="commonCode:${session.commonCode.get('VISA')}"> <th:block th:each="commonCode:${session.commonCode.get('VISA')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option> <option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
</th:block> </th:block>
</select> </select>
</div> </div>
<label for="ofcCd" class="col-sm-1 col-form-label text-center">위촉일</label> <label for="ofcCd" class="col-sm-1 col-form-label text-center">위촉일</label>
<div class="col-sm-4"> <div class="col-sm-4">
<input type="text" class="form-control" id="aptDt" name="aptDt"> <input type="text" class="form-control" id="aptDt" name="aptDt">
</div> </div>
</div> </div>
<div class="mb-3 row"> <div class="mb-3 row">
<label for="ogCd" class="col-sm-2 col-form-label text-center">해촉</label> <label for="ogCd" class="col-sm-2 col-form-label text-center">해촉</label>
<div class="col-sm-2"> <div class="col-sm-2">
<select class="form-select form-select-sm" id="dmlYn" name="dmlYn"> <select class="form-select form-select-sm" id="dmlYn" name="dmlYn">
<option value="">선택</option> <option value="">선택</option>
<option value="O">O</option> <option value="O">O</option>
<option value="X">X</option> <option value="X">X</option>
</select> </select>
</div> </div>
</div> </div>
<div class="mb-3 row"> <div class="mb-3 row">
<label for="tel" class="col-sm-2 col-form-label text-center">비고</label> <label for="tel" class="col-sm-2 col-form-label text-center">비고</label>
<div class="col-sm-4"> <div class="col-sm-4">
<textarea class="form-control" id="remark" name="remark"></textarea> <textarea class="form-control" id="remark" name="remark"></textarea>
</div>
</div> </div>
</form> </div>
<div class="modal-footer"> </form>
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal" id="closeModalBtn">닫기</button> <div class="modal-footer">
<button type="button" class="btn btn-primary" id="saveBtn">등록</button> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal" id="closeModalBtn">닫기</button>
</div> <button type="button" class="btn btn-primary" id="saveBtn">등록</button>
</div> </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">
@ -313,7 +309,7 @@
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div> </div>
<div id="KeyValue"> <div id="KeyValue">
</div> </div>
<div class="modal-body"> <div class="modal-body">
<ul class="nav nav-tabs" id="userTab" role="tablist"> <ul class="nav nav-tabs" id="userTab" role="tablist">
<li class="nav-item" role="presentation"> <li class="nav-item" role="presentation">
@ -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,31 +1,84 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="ko" xmlns:th="http://www.thymeleaf.org"> <html lang="ko" xmlns:th="http://www.thymeleaf.org">
<div class="card-header bg-white"> <script type="text/javascript" th:src="@{/js/translator/translator.js}"></script>
<div class="row justify-content-between"> <div class="card">
<div class="col-auto">민간통역인현황</div> <div class="card-header bg-white">
<div class="col-auto"><a href="/translator/info" class="link-dark"><i class="bi bi-list"></i></a></div> <div class="row justify-content-between">
<div class="col-auto">민간통역인현황</div>
<div class="col-auto"><a href="/translator/info" class="link-dark"><i class="bi bi-list"></i></a></div>
</div>
</div>
<div class="card-body">
<input type="hidden" id="selectedKey">
<input type="hidden" id="selectedVerNo">
<table class="table table-striped">
<thead>
<tr>
<th>관서명</th>
<th>언어</th>
<th>성명</th>
<th>위촉일</th>
<th>연락처</th>
</tr>
</thead>
<tbody>
<tr class="userInfoTr" data-bs-toggle="dropdown" aria-expanded="false" th:each="trInfo:${translatorList}">
<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.trName}"></td>
<td th:text="${trInfo.aptDt}"></td>
<td th:text="${trInfo.trPhone}"></td>
</tr>
</tbody>
</table>
</div> </div>
</div> </div>
<div class="card-body"> <div class="modal fade" id="translatorEditModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="authEditModalLabel" aria-hidden="true">
<table class="table table-striped"> <div class="modal-dialog modal-xl modal-dialog-scrollable">
<thead> <div class="modal-content">
<tr> <div class="modal-header">
<th>관서명</th> <h5 class="modal-title" id="menuEditModalLabel">통역인 정보</h5>
<th>언어</th> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
<th>성명</th> </div>
<th>위촉일</th> <div id="KeyValue">
<th>연락처</th> </div>
</tr> <div class="modal-body">
</thead> <ul class="nav nav-tabs" id="userTab" role="tablist">
<tbody> <li class="nav-item" role="presentation">
<tr class="userInfoTr" th:each="trInfo:${translatorList}"> <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>
<td th:text="${trInfo.ogdp1}"></td> </li>
<td th:text="${trInfo.trLang}"></td> <li class="nav-item" role="presentation">
<td th:text="${trInfo.trName}"></td> <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>
<td th:text="${trInfo.aptDt}"></td> </li>
<td th:text="${trInfo.trPhone}"></td> </ul>
</tr> <div class="tab-content border border-top-0" id="configInfo">
</tbody> </div>
</table> </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> </div>
</html> </html>