대시보드에 편집 링크 추가.

공지사항 제목 길이 조정.
국제범죄검거현황 조회 모달 작업중.
강석 최 2022-12-21 19:28:37 +09:00
parent 5b7c317cc2
commit 87407f37d6
5 changed files with 19 additions and 9 deletions

View File

@ -47,7 +47,8 @@ dependencies {
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor:2.7.2' annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor:2.7.2'
annotationProcessor 'org.projectlombok:lombok:1.18.24' annotationProcessor 'org.projectlombok:lombok:1.18.24'
//crosseditor //crossEditor
//implementation files('libs/commons-codec-1.15.jar') // .
implementation files('libs/commons-fileupload-1.4.jar') implementation files('libs/commons-fileupload-1.4.jar')
implementation files('libs/commons-io-2.11.0.jar') implementation files('libs/commons-io-2.11.0.jar')
implementation files('libs/java-json.jar') implementation files('libs/java-json.jar')

View File

@ -27,7 +27,7 @@ public class MyInfoController {
private final KwmsService kwmsService; private final KwmsService kwmsService;
@GetMapping("/myInfoPage") @GetMapping("/myInfoPage")
public ModelAndView myInfoPage(@AuthenticationPrincipal UserInfo loginUser){ public ModelAndView myInfoPage(@AuthenticationPrincipal UserInfo loginUser, String activeTab){
ModelAndView mav = new ModelAndView("user/myInfo"); ModelAndView mav = new ModelAndView("user/myInfo");
mav.addObject("userInfo", userInfoService.selectUserInfo(loginUser.getUserSeq())); mav.addObject("userInfo", userInfoService.selectUserInfo(loginUser.getUserSeq()));
mav.addObject("ogList", codeMgtService.selectCodeMgtList("OG")); mav.addObject("ogList", codeMgtService.selectCodeMgtList("OG"));
@ -37,6 +37,7 @@ public class MyInfoController {
mav.addObject("seriesList", codeMgtService.selectCodeMgtList("SRC")); mav.addObject("seriesList", codeMgtService.selectCodeMgtList("SRC"));
mav.addObject("languageList", codeMgtService.selectCodeMgtList("LNG")); mav.addObject("languageList", codeMgtService.selectCodeMgtList("LNG"));
mav.addObject("statusList", codeMgtService.selectCodeMgtList("USC")); mav.addObject("statusList", codeMgtService.selectCodeMgtList("USC"));
mav.addObject("activeTab", activeTab);
mav.addObject("dashboardConfigList", userInfoService.getDashboardConfigList(loginUser.getUserSeq())); mav.addObject("dashboardConfigList", userInfoService.getDashboardConfigList(loginUser.getUserSeq()));
return mav; return mav;

View File

@ -7,7 +7,12 @@
</th:block> </th:block>
<div layout:fragment="content"> <div layout:fragment="content">
<main> <main>
<h4>대시보드</h4> <div class="row justify-content-between mx-0">
<div class="col-auto"><h4>대시보드</h4></div>
<div class="col-auto mt-2">
<a class="link-dark align-bottom" href="/myInfo/myInfoPage?activeTab=dashboard">대시보드 편집</a>
</div>
</div>
<div class="row mx-0"> <div class="row mx-0">
<div class="col-12 card bg-light"> <div class="col-12 card bg-light">
<div class="card-body"> <div class="card-body">

View File

@ -21,9 +21,12 @@
<tbody> <tbody>
<tr class="noticeTr" th:each="notice:${noticeList}"> <tr class="noticeTr" th:each="notice:${noticeList}">
<input type="hidden" class="publicKey" th:value="${notice.publicKey}"> <input type="hidden" class="publicKey" th:value="${notice.publicKey}">
<td th:text="${notice.title}"></td> <td>
<th:block th:if="${#strings.length(notice.title)>20}" th:text="|${#strings.substring(notice.title, 0, 20)}...|"></th:block>
<th:block th:unless="${#strings.length(notice.title)>20}" th:text="${notice.title}"></th:block>
</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')}"></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View File

@ -22,14 +22,14 @@
<div class="card-body"> <div class="card-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">
<button class="nav-link active" id="infoTab" data-bs-toggle="tab" data-bs-target="#infoTabPanel" type="button" role="tab" aria-controls="infoTabPanel" aria-selected="true">개인정보</button> <button class="nav-link" th:classappend="${activeTab ne 'dashboard'?'active':''}" id="infoTab" data-bs-toggle="tab" data-bs-target="#infoTabPanel" type="button" role="tab" aria-controls="infoTabPanel" th:aria-selected="${activeTab ne 'dashboard'?'true':'false'}">개인정보</button>
</li> </li>
<li class="nav-item" role="presentation"> <li class="nav-item" role="presentation">
<button class="nav-link" id="dashboardTab" data-bs-toggle="tab" data-bs-target="#dashboardTabPanel" type="button" role="tab" aria-controls="dashboardTabPanel" aria-selected="false">대시보드</button> <button class="nav-link" th:classappend="${activeTab eq 'dashboard'?'active':''}" id="dashboardTab" data-bs-toggle="tab" data-bs-target="#dashboardTabPanel" type="button" role="tab" aria-controls="dashboardTabPanel" th:aria-selected="${activeTab eq 'dashboard'?'true':'false'}">대시보드</button>
</li> </li>
</ul> </ul>
<div class="tab-content bg-white border border-top-0 p-2"> <div class="tab-content bg-white border border-top-0 p-2">
<div class="tab-pane fade p-2 show active" id="infoTabPanel" role="tabpanel" aria-labelledby="infoTabPanel" tabindex="0"> <div class="tab-pane fade p-2" th:classappend="${activeTab ne 'dashboard'?'show active':''}" id="infoTabPanel" role="tabpanel" aria-labelledby="infoTabPanel" tabindex="0">
<div class="row justify-content-start"> <div class="row justify-content-start">
<div class="col-7"> <div class="col-7">
<form id="userInfoUpdate" action="#" method="post"> <form id="userInfoUpdate" action="#" method="post">
@ -183,7 +183,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="tab-pane fade p-2" id="dashboardTabPanel" role="tabpanel" aria-labelledby="dashboardTab" tabindex="0"> <div class="tab-pane fade p-2" th:classappend="${activeTab eq 'dashboard'?'show active':''}" id="dashboardTabPanel" role="tabpanel" aria-labelledby="dashboardTab" tabindex="0">
<div class="row justify-content-end"> <div class="row justify-content-end">
<div class="col-auto"> <div class="col-auto">
<button type="button" class="btn btn-outline-info" data-bs-toggle="modal" data-bs-target="#questionModal"> <button type="button" class="btn btn-outline-info" data-bs-toggle="modal" data-bs-target="#questionModal">