Compare commits
2 Commits
79f18b1d24
...
6706d51e52
| Author | SHA1 | Date |
|---|---|---|
|
|
6706d51e52 | |
|
|
bd657133ec |
|
|
@ -19,8 +19,35 @@ public class KwmsController {
|
||||||
private final UserInfoService userInfoService;
|
private final UserInfoService userInfoService;
|
||||||
private final CodeMgtService codeMgtService;
|
private final CodeMgtService codeMgtService;
|
||||||
|
|
||||||
@GetMapping("/getEmpInfo")
|
@GetMapping("/getEmpInfoToJoinForm")
|
||||||
public ModelAndView getEmpInfo(VEmployee empInfo) throws Exception {
|
public ModelAndView getEmpInfo(VEmployee empInfo){
|
||||||
|
ModelAndView mav = new ModelAndView("login/joinForm");
|
||||||
|
if(userInfoService.selectUserInfoToDicCode(empInfo.getDicCode()) == null){
|
||||||
|
UserInfo userInfo = kwmsService.selectEmpInfo(empInfo.getDicCode());
|
||||||
|
if(userInfo==null){
|
||||||
|
mav.addObject("joinFlag", "F");
|
||||||
|
mav.addObject("userInfo", empInfo);
|
||||||
|
mav.addObject("msg", "검색 결과가 없습니다.");
|
||||||
|
}else{
|
||||||
|
mav.addObject("joinFlag", "T");
|
||||||
|
mav.addObject("userInfo", userInfo);
|
||||||
|
mav.addObject("ogList", codeMgtService.selectCodeMgtList("OG"));
|
||||||
|
mav.addObject("ofcList", codeMgtService.selectCodeMgtList("OFC"));
|
||||||
|
mav.addObject("titleList", codeMgtService.selectCodeMgtList("JT"));
|
||||||
|
mav.addObject("outturnList", codeMgtService.selectCodeMgtList("OTC"));
|
||||||
|
mav.addObject("seriesList", codeMgtService.selectCodeMgtList("SRC"));
|
||||||
|
mav.addObject("languageList", codeMgtService.selectCodeMgtList("LNG"));
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
mav.addObject("joinFlag", "F");
|
||||||
|
mav.addObject("userInfo", empInfo);
|
||||||
|
mav.addObject("msg", "이미 가입된 식별번호입니다.");
|
||||||
|
}
|
||||||
|
return mav;
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/updateUserInfoToKwms")
|
||||||
|
public ModelAndView updateUserInfoToKwms(VEmployee empInfo){
|
||||||
ModelAndView mav = new ModelAndView("login/joinForm");
|
ModelAndView mav = new ModelAndView("login/joinForm");
|
||||||
if(userInfoService.selectUserInfoToDicCode(empInfo.getDicCode()) == null){
|
if(userInfoService.selectUserInfoToDicCode(empInfo.getDicCode()) == null){
|
||||||
UserInfo userInfo = kwmsService.selectEmpInfo(empInfo.getDicCode());
|
UserInfo userInfo = kwmsService.selectEmpInfo(empInfo.getDicCode());
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ public class KwmsService {
|
||||||
UserInfo userInfo = new UserInfo();
|
UserInfo userInfo = new UserInfo();
|
||||||
userInfo.setDicCode(empInfo.getDicCode());
|
userInfo.setDicCode(empInfo.getDicCode());
|
||||||
userInfo.setUserNm(empInfo.getEmpNm());
|
userInfo.setUserNm(empInfo.getEmpNm());
|
||||||
userInfo.setSex(empInfo.getSex());
|
userInfo.setSex(empInfo.getSex().strip());
|
||||||
String[] positionAry = empInfo.getCallBuseoNm().split(" ");
|
String[] positionAry = empInfo.getCallBuseoNm().split(" ");
|
||||||
userInfo.setOgCd(codeMgtService.searchCode("OG", positionAry[0]));
|
userInfo.setOgCd(codeMgtService.searchCode("OG", positionAry[0]));
|
||||||
if (positionAry.length>1){
|
if (positionAry.length>1){
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package com.dbnt.faisp.main.fpiMgt.affairResult.model;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
import org.hibernate.annotations.DynamicInsert;
|
import org.hibernate.annotations.DynamicInsert;
|
||||||
import org.hibernate.annotations.DynamicUpdate;
|
import org.hibernate.annotations.DynamicUpdate;
|
||||||
|
import org.springframework.format.annotation.NumberFormat;
|
||||||
|
|
||||||
import javax.persistence.*;
|
import javax.persistence.*;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
|
||||||
|
|
@ -112,7 +112,6 @@ public class UserInfoService implements UserDetailsService {
|
||||||
UserInfo dbUserInfo = userInfoRepository.findById(userInfo.getUserSeq()).orElse(null);
|
UserInfo dbUserInfo = userInfoRepository.findById(userInfo.getUserSeq()).orElse(null);
|
||||||
dbUserInfo.setUserRole(userInfo.getUserRole());
|
dbUserInfo.setUserRole(userInfo.getUserRole());
|
||||||
userInfoRepository.save(dbUserInfo);
|
userInfoRepository.save(dbUserInfo);
|
||||||
|
|
||||||
}
|
}
|
||||||
public void userDelete(List<UserInfo> userInfo) {
|
public void userDelete(List<UserInfo> userInfo) {
|
||||||
userInfoRepository.deleteAll(userInfo);
|
userInfoRepository.deleteAll(userInfo);
|
||||||
|
|
|
||||||
|
|
@ -36,8 +36,14 @@ public class userMgtController {
|
||||||
@GetMapping("/userEditModal")
|
@GetMapping("/userEditModal")
|
||||||
public ModelAndView menuEditModal(UserInfo userInfo){
|
public ModelAndView menuEditModal(UserInfo userInfo){
|
||||||
ModelAndView mav = new ModelAndView("adminPage/userMgt/userEditModal");
|
ModelAndView mav = new ModelAndView("adminPage/userMgt/userEditModal");
|
||||||
mav.addObject("OgList", codeMgtService.selectCodeMgtList("OG"));
|
mav.addObject("ogList", codeMgtService.selectCodeMgtList("OG"));
|
||||||
mav.addObject("OfcList", codeMgtService.selectCodeMgtList("OFC"));
|
mav.addObject("ofcList", codeMgtService.selectCodeMgtList("OFC"));
|
||||||
|
mav.addObject("titleList", codeMgtService.selectCodeMgtList("JT"));
|
||||||
|
mav.addObject("outturnList", codeMgtService.selectCodeMgtList("OTC"));
|
||||||
|
mav.addObject("seriesList", codeMgtService.selectCodeMgtList("SRC"));
|
||||||
|
mav.addObject("languageList", codeMgtService.selectCodeMgtList("LNG"));
|
||||||
|
mav.addObject("statusList", codeMgtService.selectCodeMgtList("USC"));
|
||||||
|
|
||||||
mav.addObject("userInfo", userInfoService.selectUserInfo(userInfo.getUserSeq()));
|
mav.addObject("userInfo", userInfoService.selectUserInfo(userInfo.getUserSeq()));
|
||||||
return mav;
|
return mav;
|
||||||
}
|
}
|
||||||
|
|
@ -45,15 +51,13 @@ public class userMgtController {
|
||||||
@PostMapping("/userApproval")
|
@PostMapping("/userApproval")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public int userApproval(@RequestBody List<UserInfo> userInfo){
|
public int userApproval(@RequestBody List<UserInfo> userInfo){
|
||||||
int result = userInfoService.updateUserApproval(userInfo);
|
return userInfoService.updateUserApproval(userInfo);
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/userCompanion")
|
@PostMapping("/userCompanion")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public int userCompanion(@RequestBody List<UserInfo> userInfo){
|
public int userCompanion(@RequestBody List<UserInfo> userInfo){
|
||||||
int result = userInfoService.updateUserCompanion(userInfo);
|
return userInfoService.updateUserCompanion(userInfo);
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/updateUserInfo")
|
@PostMapping("/updateUserInfo")
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,9 @@
|
||||||
<if test="ofcCd != null and ofcCd != ''">
|
<if test="ofcCd != null and ofcCd != ''">
|
||||||
and ofc_cd = #{ofcCd}
|
and ofc_cd = #{ofcCd}
|
||||||
</if>
|
</if>
|
||||||
|
<if test="titleCd != null and titleCd != ''">
|
||||||
|
and title_cd = #{titleCd}
|
||||||
|
</if>
|
||||||
</where>
|
</where>
|
||||||
</sql>
|
</sql>
|
||||||
<select id="selectUserInfoList" resultType="UserInfo" parameterType="UserInfo">
|
<select id="selectUserInfoList" resultType="UserInfo" parameterType="UserInfo">
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@ let selectedList = [];
|
||||||
$(function(){
|
$(function(){
|
||||||
$("#dateSelectorDiv").datepicker({
|
$("#dateSelectorDiv").datepicker({
|
||||||
format: "yyyy-mm-dd",
|
format: "yyyy-mm-dd",
|
||||||
language: "ko"
|
language: "ko",
|
||||||
|
autoclose: true
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
@ -109,7 +110,8 @@ function getFaRptEditModal(faRpt){
|
||||||
$("#faRptEditModal").modal('show');
|
$("#faRptEditModal").modal('show');
|
||||||
$("#faRptDt").datepicker({
|
$("#faRptDt").datepicker({
|
||||||
format: "yyyy-mm-dd",
|
format: "yyyy-mm-dd",
|
||||||
language: "ko"
|
language: "ko",
|
||||||
|
autoclose: true
|
||||||
});
|
});
|
||||||
$("#content").summernote({
|
$("#content").summernote({
|
||||||
lang:'ko-KR',
|
lang:'ko-KR',
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@
|
||||||
$(function(){
|
$(function(){
|
||||||
$("#dateSelectorDiv").datepicker({
|
$("#dateSelectorDiv").datepicker({
|
||||||
format: "yyyy-mm-dd",
|
format: "yyyy-mm-dd",
|
||||||
language: "ko"
|
language: "ko",
|
||||||
|
autoclose: true
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
$(document).on('click', '#affairTab', function (){
|
$(document).on('click', '#affairTab', function (){
|
||||||
|
|
@ -158,13 +159,10 @@ function getAffairEditModal(affairKey){
|
||||||
success: function(html){
|
success: function(html){
|
||||||
$("#affairEditModalContent").empty().append(html)
|
$("#affairEditModalContent").empty().append(html)
|
||||||
$("#affairEditModal").modal('show');
|
$("#affairEditModal").modal('show');
|
||||||
$("#reportDt").datepicker({
|
$("#reportDt, #autoDelete").datepicker({
|
||||||
format: "yyyy-mm-dd",
|
format: "yyyy-mm-dd",
|
||||||
language: "ko"
|
language: "ko",
|
||||||
});
|
autoclose: true
|
||||||
$("#autoDelete").datepicker({
|
|
||||||
format: "yyyy-mm-dd",
|
|
||||||
language: "ko"
|
|
||||||
});
|
});
|
||||||
$("#content").summernote({
|
$("#content").summernote({
|
||||||
lang:'ko-KR',
|
lang:'ko-KR',
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
$(function(){
|
$(function(){
|
||||||
$("#dateSelectorDiv").datepicker({
|
$("#dateSelectorDiv").datepicker({
|
||||||
format: "yyyy-mm-dd",
|
format: "yyyy-mm-dd",
|
||||||
language: "ko"
|
language: "ko",
|
||||||
|
autoclose: true
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@
|
||||||
$(function(){
|
$(function(){
|
||||||
$("#dateSelectorDiv").datepicker({
|
$("#dateSelectorDiv").datepicker({
|
||||||
format: "yyyy-mm-dd",
|
format: "yyyy-mm-dd",
|
||||||
language: "ko"
|
language: "ko",
|
||||||
|
autoclose: true
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
@ -118,7 +119,8 @@ function getPlanEditModal(planKey){
|
||||||
$("#planEditModal").modal('show');
|
$("#planEditModal").modal('show');
|
||||||
$("#planDt").datepicker({
|
$("#planDt").datepicker({
|
||||||
format: "yyyy-mm-dd",
|
format: "yyyy-mm-dd",
|
||||||
language: "ko"
|
language: "ko",
|
||||||
|
autoclose: true
|
||||||
});
|
});
|
||||||
$("[name='detailPlanInfos']").summernote({
|
$("[name='detailPlanInfos']").summernote({
|
||||||
lang:'ko-KR',
|
lang:'ko-KR',
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@
|
||||||
$(function(){
|
$(function(){
|
||||||
$("#dateSelectorDiv").datepicker({
|
$("#dateSelectorDiv").datepicker({
|
||||||
format: "yyyy-mm-dd",
|
format: "yyyy-mm-dd",
|
||||||
language: "ko"
|
language: "ko",
|
||||||
|
autoclose: true
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
@ -208,13 +209,10 @@ function getResultEditModal(resultKey){
|
||||||
success: function(html){
|
success: function(html){
|
||||||
$("#resultEditModalContent").empty().append(html)
|
$("#resultEditModalContent").empty().append(html)
|
||||||
$("#resultEditModal").modal('show');
|
$("#resultEditModal").modal('show');
|
||||||
$("#useDateSelectorDiv").datepicker({
|
$("#useDateSelectorDiv, #workDateSelectorDiv").datepicker({
|
||||||
format: "yyyy-mm-dd",
|
format: "yyyy-mm-dd",
|
||||||
language: "ko"
|
language: "ko",
|
||||||
});
|
autoclose: true
|
||||||
$("#workDateSelectorDiv").datepicker({
|
|
||||||
format: "yyyy-mm-dd",
|
|
||||||
language: "ko"
|
|
||||||
});
|
});
|
||||||
$(".contactInfo").summernote({
|
$(".contactInfo").summernote({
|
||||||
lang:'ko-KR',
|
lang:'ko-KR',
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,17 @@ $(document).on('click', '#dicCodeSearchBtn', function (){
|
||||||
const dicCode = $("#dicCode").val();
|
const dicCode = $("#dicCode").val();
|
||||||
if(dicCode!==''){
|
if(dicCode!==''){
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '/kwms/getEmpInfo',
|
url: '/kwms/getEmpInfoToJoinForm',
|
||||||
data: {dicCode: dicCode},
|
data: {dicCode: dicCode},
|
||||||
type: 'GET',
|
type: 'GET',
|
||||||
dataType:"html",
|
dataType:"html",
|
||||||
success: function(html){
|
success: function(html){
|
||||||
$("#userInsertModalContent").empty().append(html)
|
$("#userInsertModalContent").empty().append(html)
|
||||||
|
$(".dateSelector").datepicker({
|
||||||
|
format: "yyyy-mm-dd",
|
||||||
|
language: "ko",
|
||||||
|
autoclose: true
|
||||||
|
});
|
||||||
},
|
},
|
||||||
error:function(e){
|
error:function(e){
|
||||||
debugger
|
debugger
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@
|
||||||
$(function(){
|
$(function(){
|
||||||
$("#dateSelectorDiv").datepicker({
|
$("#dateSelectorDiv").datepicker({
|
||||||
format: "yyyy-mm-dd",
|
format: "yyyy-mm-dd",
|
||||||
language: "ko"
|
language: "ko",
|
||||||
|
autoclose: true
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,8 @@ $(document).on('click', '#commentSaveBtn', function (){
|
||||||
$(function(){
|
$(function(){
|
||||||
$("#dateSelectorDiv").datepicker({
|
$("#dateSelectorDiv").datepicker({
|
||||||
format: "yyyy-mm-dd",
|
format: "yyyy-mm-dd",
|
||||||
language: "ko"
|
language: "ko",
|
||||||
|
autoclose: true
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@
|
||||||
$(function(){
|
$(function(){
|
||||||
$("#dateSelectorDiv").datepicker({
|
$("#dateSelectorDiv").datepicker({
|
||||||
format: "yyyy-mm-dd",
|
format: "yyyy-mm-dd",
|
||||||
language: "ko"
|
language: "ko",
|
||||||
|
autoclose: true
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,25 @@
|
||||||
|
|
||||||
$(document).on('click', '.userInfoTr', function (){
|
$(document).on('click', '#apprvTab', function (){
|
||||||
if($('#userStatus').val() === 'USC003'){
|
location.href='/userMgt/userMgtPage?userStatus=USC003';
|
||||||
|
})
|
||||||
|
$(document).on('click', '#stayTab', function (){
|
||||||
|
location.href='/userMgt/userMgtPage?userStatus=USC002';
|
||||||
|
})
|
||||||
|
|
||||||
|
$(document).on('click', '.userInfoTr', function (event){
|
||||||
|
if(!event.target.className.includes("heckBox")){
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '/userMgt/userEditModal',
|
url: '/userMgt/userEditModal',
|
||||||
data: {userSeq: Number($(this).find(".userSeq").val())},
|
data: {userSeq: Number($(this).find(".userSeq").val())},
|
||||||
type: 'GET',
|
type: 'GET',
|
||||||
dataType:"html",
|
dataType:"html",
|
||||||
success: function(html){
|
success: function(html){
|
||||||
$("#configInfo").empty().append(html)
|
$("#userEditModalContent").empty().append(html)
|
||||||
|
$(".dateSelector").datepicker({
|
||||||
|
format: "yyyy-mm-dd",
|
||||||
|
language: "ko",
|
||||||
|
autoclose: true
|
||||||
|
});
|
||||||
$("#userEditModal").modal('show');
|
$("#userEditModal").modal('show');
|
||||||
},
|
},
|
||||||
error:function(){
|
error:function(){
|
||||||
|
|
@ -17,20 +29,6 @@ $(document).on('click', '.userInfoTr', function (){
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
$(document).on('click', '#logTab', function (){
|
|
||||||
location.href='/userMgt/userMgtPage?userStatus=USC002';
|
|
||||||
})
|
|
||||||
|
|
||||||
$(document).on('click', '#contentTab', function (){
|
|
||||||
location.href='/userMgt/userMgtPage?userStatus=USC003';
|
|
||||||
})
|
|
||||||
|
|
||||||
$(document).ready( function() {
|
|
||||||
$('#chk-all').click( function() {
|
|
||||||
$('.userInfoCheckBox').prop('checked',this.checked);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
$(document).on('click', '#approvalBtn', function (){
|
$(document).on('click', '#approvalBtn', function (){
|
||||||
if(confirm("선택한 대상을 승인처리 하시겠습니까?")){
|
if(confirm("선택한 대상을 승인처리 하시겠습니까?")){
|
||||||
const checkArr = [];
|
const checkArr = [];
|
||||||
|
|
@ -44,6 +42,58 @@ $(document).on('click', '#approvalBtn', function (){
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
$(document).on('click', '.statusBtn', function (){
|
||||||
|
const userInfoList = [];
|
||||||
|
userInfoList.push({
|
||||||
|
userSeq: $("#userSeq").val(),
|
||||||
|
userStatus: $(this).attr("data-status")
|
||||||
|
})
|
||||||
|
userApproval(userInfoList);
|
||||||
|
})
|
||||||
|
$(document).on('click', '#updateBtn', function (){
|
||||||
|
saveUserInfo();
|
||||||
|
})
|
||||||
|
|
||||||
|
$(document).on('click', '#deleteBtn', function (){
|
||||||
|
if(confirm("삭제 하시겠습니까?")){
|
||||||
|
console.log($("#userSeq").val());
|
||||||
|
deleteUser([{userSeq: Number($("#userSeq").val())}])
|
||||||
|
}
|
||||||
|
})
|
||||||
|
$(document).on('click', '#syncToKwmsBtn', function (){
|
||||||
|
syncUserInfoToKwms({userSeq: $("#userSeq").val()});
|
||||||
|
})
|
||||||
|
|
||||||
|
$(document).on('click', '#companionBtn', function (){
|
||||||
|
if(confirm("선택한 대상을 반려처리 하시겠습니까?")){
|
||||||
|
const checkArr = [];
|
||||||
|
$('input:checkbox[name=userChk]:checked').each(function (idx, el){
|
||||||
|
checkArr.push({});
|
||||||
|
const target = $(el);
|
||||||
|
checkArr[idx].userSeq = Number(target.parents('tr').find('.userSeq').val());
|
||||||
|
checkArr[idx].userStatus = "USC005"
|
||||||
|
})
|
||||||
|
userCompanion(checkArr);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
function syncUserInfoToKwms(userInfo){
|
||||||
|
$.ajax({
|
||||||
|
type : 'POST',
|
||||||
|
url : "/userMgt/syncUserInfoToKwms",
|
||||||
|
data : JSON.stringify(userInfo),
|
||||||
|
contentType: 'application/json',
|
||||||
|
beforeSend: function (xhr){
|
||||||
|
xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val());
|
||||||
|
},
|
||||||
|
success : function(data) {
|
||||||
|
alert("갱신 되었습니다.");
|
||||||
|
},
|
||||||
|
error : function(xhr, status) {
|
||||||
|
alert("갱신에 실패하였습니다");
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
function userApproval(checkArr){
|
function userApproval(checkArr){
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type : 'POST',
|
type : 'POST',
|
||||||
|
|
@ -63,19 +113,6 @@ function userApproval(checkArr){
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
$(document).on('click', '#companionBtn', function (){
|
|
||||||
if(confirm("선택한 대상을 반려처리 하시겠습니까?")){
|
|
||||||
const checkArr = [];
|
|
||||||
$('input:checkbox[name=userChk]:checked').each(function (idx, el){
|
|
||||||
checkArr.push({});
|
|
||||||
const target = $(el);
|
|
||||||
checkArr[idx].userSeq = Number(target.parents('tr').find('.userSeq').val());
|
|
||||||
checkArr[idx].userStatus = "USC005"
|
|
||||||
})
|
|
||||||
userCompanion(checkArr);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
function userCompanion(checkArr){
|
function userCompanion(checkArr){
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type : 'POST',
|
type : 'POST',
|
||||||
|
|
@ -95,7 +132,8 @@ function userCompanion(checkArr){
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
$(document).on('click', '#updateBtn', function (){
|
|
||||||
|
function saveUserInfo(){
|
||||||
if(confirm("저장하시겠습니까?")){
|
if(confirm("저장하시겠습니까?")){
|
||||||
contentFade("in");
|
contentFade("in");
|
||||||
const formData = new FormData($("#userInfoUpdate")[0]);
|
const formData = new FormData($("#userInfoUpdate")[0]);
|
||||||
|
|
@ -108,6 +146,7 @@ $(document).on('click', '#updateBtn', function (){
|
||||||
success : function() {
|
success : function() {
|
||||||
alert("저장되었습니다.");
|
alert("저장되었습니다.");
|
||||||
contentFade("out");
|
contentFade("out");
|
||||||
|
location.reload();
|
||||||
},
|
},
|
||||||
error : function(xhr, status) {
|
error : function(xhr, status) {
|
||||||
alert("저장에 실패하였습니다.");
|
alert("저장에 실패하였습니다.");
|
||||||
|
|
@ -115,15 +154,7 @@ $(document).on('click', '#updateBtn', function (){
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
|
||||||
|
|
||||||
$(document).on('click', '#deleteBtn', function (){
|
|
||||||
if(confirm("삭제 하시겠습니까?")){
|
|
||||||
console.log($("#userSeq").val());
|
|
||||||
deleteUser([{userSeq: Number($("#userSeq").val())}])
|
|
||||||
}
|
}
|
||||||
})
|
|
||||||
|
|
||||||
function deleteUser(userList){
|
function deleteUser(userList){
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type : 'POST',
|
type : 'POST',
|
||||||
|
|
|
||||||
|
|
@ -1,107 +1,179 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
|
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
|
||||||
<div class="tab-pane fade show active" id="accessTabPanel" role="tabpanel" aria-labelledby="accessTab" tabindex="0">
|
<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 class="modal-body">
|
||||||
<form id="userInfoUpdate" action="#" th:action="@{/admin/insertUserInfo}" method="post">
|
<form id="userInfoUpdate" action="#" th:action="@{/admin/insertUserInfo}" method="post">
|
||||||
<label style="font-size: 12px">
|
|
||||||
<input type="radio" name="userRole" value="ROLE_ADMIN,ROLE_USER" th:checked="${userInfo.userRole eq 'ROLE_ADMIN,ROLE_USER'}">
|
|
||||||
관리자</label>
|
|
||||||
<label style="font-size: 12px">
|
|
||||||
<input type="radio" name="userRole" value="ROLE_USER" th:checked="${userInfo.userRole eq 'ROLE_USER'}">
|
|
||||||
일반사용자</label>
|
|
||||||
<div class="mb-3 row">
|
|
||||||
<input type="hidden" name="userSeq" id="userSeq" class="userSeq" th:value="${userInfo.userSeq}">
|
<input type="hidden" name="userSeq" id="userSeq" class="userSeq" th:value="${userInfo.userSeq}">
|
||||||
|
<input type="hidden" id="userStatus" name="userStatus" th:value="${userInfo.userStatus}">
|
||||||
<div class="mb-3 mt-3 row">
|
<div class="mb-3 mt-3 row">
|
||||||
<label for="userId" class="col-sm-2 col-form-label text-center ">아이디</label>
|
<label for="userRole" class="col-sm-2 col-form-label col-form-label-sm text-center ">시스템권한</label>
|
||||||
|
<div class="col-sm-4" id="userRole">
|
||||||
|
<label style="font-size: 12px">
|
||||||
|
<input type="radio" name="userRole" value="ROLE_ADMIN,ROLE_SUB_ADMIN,ROLE_USER"
|
||||||
|
th:checked="${userInfo.userRole eq 'ROLE_ADMIN,ROLE_SUB_ADMIN,ROLE_USER'}">관리자</label>
|
||||||
|
<label style="font-size: 12px">
|
||||||
|
<input type="radio" name="userRole" value="ROLE_SUB_ADMIN,ROLE_USER"
|
||||||
|
th:checked="${userInfo.userRole eq 'ROLE_SUB_ADMIN,ROLE_USER'}">서브관리자</label>
|
||||||
|
<label style="font-size: 12px">
|
||||||
|
<input type="radio" name="userRole" value="ROLE_USER"
|
||||||
|
th:checked="${userInfo.userRole eq 'ROLE_USER'}">일반사용자</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 mt-3 row">
|
||||||
|
<label for="dicCode" class="col-sm-2 col-form-label col-form-label-sm text-center ">공무원식별번호</label>
|
||||||
<div class="col-sm-4">
|
<div class="col-sm-4">
|
||||||
<input type="text" class="form-control" id="userId" name="userId" th:value="${userInfo.userId}" autocomplete="off" readonly>
|
<input type="text" class="form-control form-control-sm" id="dicCode" name="dicCode" autocomplete="off" th:value="${userInfo.dicCode}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label for="userId" class="col-sm-2 col-form-label col-form-label-sm text-center ">아이디</label>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<input type="text" class="form-control form-control-sm" id="userId" name="userId" autocomplete="off" th:value="${userInfo.userId}">
|
||||||
<label for="userId" style="font-size: 12px">6~20자 사이의 알파벳, 숫자를 입력하세요</label>
|
<label for="userId" style="font-size: 12px">6~20자 사이의 알파벳, 숫자를 입력하세요</label>
|
||||||
</div>
|
</div>
|
||||||
<label for="userNm" class="col-sm-2 col-form-label text-center">이름</label>
|
<label for="userNm" class="col-sm-2 col-form-label col-form-label-sm text-center">이름</label>
|
||||||
<div class="col-sm-4">
|
<div class="col-sm-4">
|
||||||
<input type="text" class=" form-control" id="userNm" name="userNm" th:value="${userInfo.userNm}" autocomplete="off">
|
<input type="text" class=" form-control form-control-sm" id="userNm" name="userNm" autocomplete="off" th:value="${userInfo.userNm}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3 row">
|
<div class="mb-3 row">
|
||||||
<label for="modalPassword" class="col-sm-2 col-form-label text-center">비밀번호 변경</label>
|
<label for="modalPassword" class="col-sm-2 col-form-label col-form-label-sm text-center">비밀번호</label>
|
||||||
<div class="col-sm-4">
|
<div class="col-sm-4">
|
||||||
<input type="password" class="form-control" id="modalPassword" name="password" >
|
<input type="password" class="form-control form-control-sm" id="modalPassword" name="password" >
|
||||||
<label for="userId" style="font-size: 12px">8~16자 사이의 알파벳, 숫자, 특수문자 조합</label>
|
<label for="userId" style="font-size: 12px">8~16자 사이의 알파벳, 숫자, 특수문자 조합</label>
|
||||||
</div>
|
</div>
|
||||||
<label for="passwordConfirm" class="col-sm-2 col-form-label text-center">비밀번호 확인</label>
|
<label for="passwordConfirm" class="col-sm-2 col-form-label col-form-label-sm text-center">비밀번호 확인</label>
|
||||||
<div class="col-sm-4">
|
<div class="col-sm-4">
|
||||||
<input type="password" class="form-control" id="passwordConfirm">
|
<input type="password" class="form-control form-control-sm" id="passwordConfirm">
|
||||||
</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="phoneNo" class="col-sm-2 col-form-label col-form-label-sm text-center">휴대전화</label>
|
||||||
<div class="col-sm-4">
|
<div class="col-sm-4">
|
||||||
<input type="tel" class="form-control" id="tel">
|
<input type="tel" class="form-control form-control-sm" id="phoneNo" name="phoneNo" th:value="${userInfo.phoneNo}">
|
||||||
</div>
|
</div>
|
||||||
<label for="email" class="col-sm-2 col-form-label text-center">이메일</label>
|
<label for="email" class="col-sm-2 col-form-label col-form-label-sm text-center">이메일</label>
|
||||||
<div class="col-sm-4">
|
<div class="col-sm-4">
|
||||||
<input type="email" class="form-control" id="email">
|
<input type="email" class="form-control form-control-sm" id="email" name="email" th:value="${userInfo.email}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3 row">
|
<div class="mb-3 row">
|
||||||
<label for="telP" class="col-sm-2 col-form-label text-center">휴대전화</label>
|
<label for="sex" class="col-sm-2 col-form-label col-form-label-sm text-center">성별</label>
|
||||||
<div class="col-sm-4">
|
<div class="col-sm-4">
|
||||||
<input type="tel" class="form-control" id="telP">
|
<select class="form-select form-select-sm" id="sex" name="sex">
|
||||||
</div>
|
<option value="M" th:selected="${userInfo.sex eq 'M'}">남</option>
|
||||||
</div>
|
<option value="F" th:selected="${userInfo.sex eq 'F'}">여</option>
|
||||||
<div class="mb-3 row">
|
|
||||||
<label for="ogCd" class="col-sm-2 col-form-label text-center">관서</label>
|
|
||||||
<div class="col-sm-4">
|
|
||||||
<select class="form-control" id="ogCd" name="ogCd">
|
|
||||||
<option value="">--선택--</option>
|
|
||||||
<option th:each="val : ${OgList}" th:value="${val?.itemCd}" th:utext="${val?.itemValue}" th:selected="${val?.itemCd} == ${userInfo.ogCd}">
|
|
||||||
</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<label for="ofcCd" class="col-sm-2 col-form-label text-center">부서</label>
|
|
||||||
<div class="col-sm-4">
|
|
||||||
<select class="form-control" id="ofcCd" name="ofcCd">
|
|
||||||
<option value="">--선택--</option>
|
|
||||||
<option th:each="val : ${OfcList}" th:value="${val?.itemCd}" th:utext="${val?.itemValue}" th:selected="${val?.itemCd} == ${userInfo.ofcCd}">
|
|
||||||
</option>
|
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3 row">
|
<div class="mb-3 row">
|
||||||
<label for="address" class="col-sm-2 col-form-label text-center">주소</label>
|
<label for="birthDate" class="col-sm-2 col-form-label col-form-label-sm text-center">생년월일</label>
|
||||||
<div class="col-sm-8">
|
<div class="col-sm-4">
|
||||||
<input type="adress" class="form-control" id="address">
|
<input type="text" class="form-control form-control-sm dateSelector" id="birthDate" name="birthDate" th:value="${userInfo.birthDate}" readonly>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-2">
|
<label for="policeInDate" class="col-sm-2 col-form-label col-form-label-sm text-center">해양경찰배명일</label>
|
||||||
<button type="button" class="btn btn-secondary" id="search">주소검색</button>
|
<div class="col-sm-4">
|
||||||
|
<input type="text" class="form-control form-control-sm dateSelector" id="policeInDate" name="policeInDate" th:value="${userInfo.policeInDate}" readonly>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3 row">
|
<div class="mb-3 row">
|
||||||
<label for="addresses" class="col-sm-2 col-form-label text-center">상세주소</label>
|
<label for="ogCd" class="col-sm-2 col-form-label col-form-label-sm text-center">관서</label>
|
||||||
<div class="col-sm-10">
|
<div class="col-sm-4">
|
||||||
<input type="address" class="form-control" id="addresses">
|
<select class="form-select form-select-sm" id="ogCd" name="ogCd">
|
||||||
|
<option value="">--선택--</option>
|
||||||
|
<th:block th:each="code:${ogList}">
|
||||||
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.ogCd}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<label for="organInDate" class="col-sm-2 col-form-label col-form-label-sm text-center">현관서전입일</label>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<input type="text" class="form-control form-control-sm dateSelector" id="organInDate" name="organInDate" th:value="${userInfo.organInDate}" readonly>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3 row">
|
<div class="mb-3 row">
|
||||||
<label for="photo" class="col-sm-2 col-form-label text-center">사진</label>
|
<label for="ofcCd" class="col-sm-2 col-form-label col-form-label-sm text-center">부서</label>
|
||||||
<div class="col-sm-4">
|
<div class="col-sm-4">
|
||||||
<input type="file" style="font-size: 12px" class="form-control" id="photo">
|
<select class="form-select form-select-sm" id="ofcCd" name="ofcCd">
|
||||||
|
<option value="">--선택--</option>
|
||||||
|
<th:block th:each="code:${ofcList}">
|
||||||
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.ofcCd}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<label for="sign" class="col-sm-2 col-form-label text-center">서명</label>
|
<label for="ofcInDate" class="col-sm-2 col-form-label col-form-label-sm text-center">현부서임용일</label>
|
||||||
<div class="col-sm-4">
|
<div class="col-sm-4">
|
||||||
<input type="file" style="font-size: 12px" class="form-control" id="sign">
|
<input type="text" class="form-control form-control-sm dateSelector" id="ofcInDate" name="ofcInDate" th:value="${userInfo.ofcInDate}" readonly>
|
||||||
</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="ogCd" class="col-sm-2 col-form-label col-form-label-sm text-center">계급</label>
|
||||||
<div class="col-sm-4">
|
<div class="col-sm-4">
|
||||||
<input type="text" class="form-control" id="need">
|
<select class="form-select form-select-sm" id="titleCd" name="titleCd">
|
||||||
|
<option value="">--선택--</option>
|
||||||
|
<th:block th:each="code:${titleList}">
|
||||||
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.titleCd}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<label for="precautions" class="col-sm-2 col-form-label text-center">주의사항</label>
|
<label for="titleInDate" class="col-sm-2 col-form-label col-form-label-sm text-center">현계급임용일</label>
|
||||||
<div class="col-sm-4">
|
<div class="col-sm-4">
|
||||||
<input type="text" class="form-control" id="precautions">
|
<input type="text" class="form-control form-control-sm dateSelector" id="titleInDate" name="titleInDate" th:value="${userInfo.titleInDate}" readonly>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label for="outturnCd" class="col-sm-2 col-form-label col-form-label-sm text-center">경과</label>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<select class="form-select form-select-sm" id="outturnCd" name="outturnCd">
|
||||||
|
<option value="">--선택--</option>
|
||||||
|
<th:block th:each="code:${outturnList}">
|
||||||
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.groupCd}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<label for="seriesCd" class="col-sm-2 col-form-label col-form-label-sm text-center">직별</label>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<select class="form-select form-select-sm" id="seriesCd" name="seriesCd">
|
||||||
|
<option value="">--선택--</option>
|
||||||
|
<th:block th:each="code:${seriesList}">
|
||||||
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.seriesCd}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label for="languageCd" class="col-sm-2 col-form-label col-form-label-sm text-center">외국어특채</label>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<select class="form-select form-select-sm" id="languageCd" name="languageCd">
|
||||||
|
<option value="">--선택--</option>
|
||||||
|
<th:block th:each="code:${languageList}">
|
||||||
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.groupCd}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="modal-footer row justify-content-between">
|
||||||
|
<div class="col-auto">
|
||||||
|
<th:block th:if="${userInfo.userStatus eq 'USC002'}">
|
||||||
|
<button type="button" class="btn btn-success statusBtn" data-status="USC003">승인</button>
|
||||||
|
<button type="button" class="btn btn-warning statusBtn" data-status="USC004">반려</button>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:if="${userInfo.userStatus eq 'USC003'}">
|
||||||
|
<button type="button" class="btn btn-info" id="syncToKwmsBtn" th:disabled="${#strings.isEmpty(userInfo.dicCode)}">인사시스템 정보 불러오기</button>
|
||||||
|
<th:block th:if="${#strings.isEmpty(userInfo.dicCode)}">
|
||||||
|
<label for="syncToKwmsBtn" style="font-size: 12px">공무원식별번호가 필요합니다.</label>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<button type="button" class="btn btn-danger" id="deleteBtn">삭제</button>
|
||||||
|
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>
|
||||||
|
<button type="button" class="btn btn-primary" id="updateBtn">저장</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -8,31 +8,18 @@
|
||||||
<div layout:fragment="content">
|
<div layout:fragment="content">
|
||||||
<main class="pt-3">
|
<main class="pt-3">
|
||||||
<h4>외사경찰 관리</h4>
|
<h4>외사경찰 관리</h4>
|
||||||
<th:block th:if="${searchParams.userStatus == 'USC003'}">
|
|
||||||
<ul class="nav nav-tabs" id="boardTab" role="tablist">
|
<ul class="nav nav-tabs" id="boardTab" role="tablist">
|
||||||
<li class="nav-item" role="presentation">
|
<li class="nav-item" role="presentation">
|
||||||
<button class="nav-link active" id="contentTab" data-bs-toggle="tab" data-bs-target="#contentDiv" type="button" role="tab">승인목록</button>
|
<button class="nav-link" th:classappend="${searchParams.userStatus eq 'USC003'?'active':''}" id="apprvTab" data-bs-toggle="tab" type="button" role="tab">승인목록</button>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item" role="presentation">
|
<li class="nav-item" role="presentation">
|
||||||
<button class="nav-link" id="logTab" data-bs-toggle="tab" data-bs-target="#logDiv" type="button" role="tab">승인대기</button>
|
<button class="nav-link" th:classappend="${searchParams.userStatus ne 'USC003'?'active':''}" id="stayTab" data-bs-toggle="tab" type="button" role="tab">승인대기</button>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</th:block>
|
|
||||||
<th:block th:unless="${searchParams.userStatus == 'USC003'}">
|
|
||||||
<ul class="nav nav-tabs" id="boardTab" role="tablist">
|
|
||||||
<li class="nav-item" role="presentation">
|
|
||||||
<button class="nav-link" id="contentTab" data-bs-toggle="tab" data-bs-target="#contentDiv" type="button" role="tab">승인목록</button>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item" role="presentation">
|
|
||||||
<button class="nav-link active" id="logTab" data-bs-toggle="tab" data-bs-target="#logDiv" type="button" role="tab">승인대기</button>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</th:block>
|
|
||||||
<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="row mx-0">
|
<div class="row mx-0">
|
||||||
<div class="col-12 card text-center">
|
<div class="col-12 tab-content border border-top-0 p-2">
|
||||||
<div class="card-body">
|
|
||||||
<form method="get" th:action="@{/userMgt/userMgtPage}">
|
<form method="get" th:action="@{/userMgt/userMgtPage}">
|
||||||
<input type="hidden" name="userStatus" id="userStatus" th:value="${searchParams.userStatus}">
|
<input type="hidden" name="userStatus" id="userStatus" th:value="${searchParams.userStatus}">
|
||||||
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
||||||
|
|
@ -62,6 +49,14 @@
|
||||||
</th:block>
|
</th:block>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<select class="form-select form-select-sm" name="titleCd">
|
||||||
|
<option value="">계급 선택</option>
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('JT')}">
|
||||||
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${searchParams.titleCd==commonCode.itemCd}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<input type="text" class="form-control form-control-sm" name="userNm" placeholder="사용자명" th:value="${searchParams.userNm}">
|
<input type="text" class="form-control form-control-sm" name="userNm" placeholder="사용자명" th:value="${searchParams.userNm}">
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -81,7 +76,7 @@
|
||||||
<table class="table table-striped">
|
<table class="table table-striped">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th> <input type="checkbox" id="chk-all" class="userInfoCheckBox"></th>
|
<th> <input type="checkbox" class="allChk"></th>
|
||||||
<th>소속</th>
|
<th>소속</th>
|
||||||
<th>부서</th>
|
<th>부서</th>
|
||||||
<th>계급</th>
|
<th>계급</th>
|
||||||
|
|
@ -93,7 +88,7 @@
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr class="userInfoTr" th:each="userInfo:${userInfoList}">
|
<tr class="userInfoTr" th:each="userInfo:${userInfoList}">
|
||||||
<input type="hidden" name="userSeq" class="userSeq" th:value="${userInfo.userSeq}">
|
<input type="hidden" name="userSeq" class="userSeq" th:value="${userInfo.userSeq}">
|
||||||
<td>
|
<td class="checkBoxTd">
|
||||||
<input type="checkbox" id="userChk" name="userChk" class="userInfoCheckBox" th:value="${userInfo.userSeq}">
|
<input type="checkbox" id="userChk" name="userChk" class="userInfoCheckBox" th:value="${userInfo.userSeq}">
|
||||||
</td>
|
</td>
|
||||||
<th:block th:if="${userInfo.ogCd eq null or userInfo.ogCd eq ''}">
|
<th:block th:if="${userInfo.ogCd eq null or userInfo.ogCd eq ''}">
|
||||||
|
|
@ -133,13 +128,16 @@
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<th:block th:if="${searchParams.userStatus == 'USC002'}">
|
<div class="row justify-content-between">
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
|
<th:block th:if="${searchParams.userStatus eq 'USC002'}">
|
||||||
<input type="button" class="btn btn-success" value="승인" id="approvalBtn">
|
<input type="button" class="btn btn-success" value="승인" id="approvalBtn">
|
||||||
<input type="button" class="btn btn-success" value="반려" id="companionBtn">
|
<input type="button" class="btn btn-warning" value="반려" id="companionBtn">
|
||||||
</div>
|
|
||||||
</th:block>
|
</th:block>
|
||||||
<div class="row justify-content-center">
|
<th:block th:if="${searchParams.userStatus eq 'USC003'}">
|
||||||
|
<button type="button" class="btn btn-info" id="syncToKwmsAllBtn">인사시스템 정보 불러오기</button>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<nav aria-label="Page navigation">
|
<nav aria-label="Page navigation">
|
||||||
<ul class="pagination">
|
<ul class="pagination">
|
||||||
|
|
@ -165,7 +163,7 @@
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="col-auto"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -178,22 +176,9 @@
|
||||||
<div class="modal fade" id="userEditModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="userEditModalLabel" aria-hidden="true">
|
<div class="modal fade" id="userEditModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="userEditModalLabel" aria-hidden="true">
|
||||||
<div class="modal-dialog modal-lg modal-dialog-scrollable">
|
<div class="modal-dialog modal-lg modal-dialog-scrollable">
|
||||||
<div class="modal-content" id="userEditModalContent">
|
<div class="modal-content" id="userEditModalContent">
|
||||||
<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 class="modal-body">
|
|
||||||
<div class="tab-content border border-top-0" id="configInfo">
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
|
||||||
<button type="button" class="btn" id="deleteBtn" style='background-color : red;float:left;'>삭제</button>
|
|
||||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>
|
|
||||||
<button type="button" class="btn btn-primary" id="updateBtn">저장</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -207,7 +207,6 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<th:block th:unless="${#lists.isEmpty(result.apprvList)}">
|
<th:block th:unless="${#lists.isEmpty(result.apprvList)}">
|
||||||
<hr>
|
|
||||||
<th:block th:each="apprv,cnt:${result.apprvList}">
|
<th:block th:each="apprv,cnt:${result.apprvList}">
|
||||||
<div class="row justify-content-between py-1">
|
<div class="row justify-content-between py-1">
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
|
|
|
||||||
|
|
@ -68,11 +68,11 @@
|
||||||
<div class="mb-3 row">
|
<div class="mb-3 row">
|
||||||
<label for="birthDate" class="col-sm-2 col-form-label col-form-label-sm text-center">생년월일</label>
|
<label for="birthDate" class="col-sm-2 col-form-label col-form-label-sm text-center">생년월일</label>
|
||||||
<div class="col-sm-4">
|
<div class="col-sm-4">
|
||||||
<input type="text" class="form-control form-control-sm" id="birthDate" name="birthDate" th:value="${userInfo.birthDate}">
|
<input type="text" class="form-control form-control-sm dateSelector" id="birthDate" name="birthDate" th:value="${userInfo.birthDate}" readonly>
|
||||||
</div>
|
</div>
|
||||||
<label for="policeInDate" class="col-sm-2 col-form-label col-form-label-sm text-center">해양경찰배명일</label>
|
<label for="policeInDate" class="col-sm-2 col-form-label col-form-label-sm text-center">해양경찰배명일</label>
|
||||||
<div class="col-sm-4">
|
<div class="col-sm-4">
|
||||||
<input type="text" class="form-control form-control-sm" id="policeInDate" name="policeInDate" th:value="${userInfo.policeInDate}">
|
<input type="text" class="form-control form-control-sm dateSelector" id="policeInDate" name="policeInDate" th:value="${userInfo.policeInDate}" readonly>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3 row">
|
<div class="mb-3 row">
|
||||||
|
|
@ -87,7 +87,7 @@
|
||||||
</div>
|
</div>
|
||||||
<label for="organInDate" class="col-sm-2 col-form-label col-form-label-sm text-center">현관서전입일</label>
|
<label for="organInDate" class="col-sm-2 col-form-label col-form-label-sm text-center">현관서전입일</label>
|
||||||
<div class="col-sm-4">
|
<div class="col-sm-4">
|
||||||
<input type="text" class="form-control form-control-sm" id="organInDate" name="organInDate" th:value="${userInfo.organInDate}">
|
<input type="text" class="form-control form-control-sm dateSelector" id="organInDate" name="organInDate" th:value="${userInfo.organInDate}" readonly>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3 row">
|
<div class="mb-3 row">
|
||||||
|
|
@ -102,7 +102,7 @@
|
||||||
</div>
|
</div>
|
||||||
<label for="ofcInDate" class="col-sm-2 col-form-label col-form-label-sm text-center">현부서임용일</label>
|
<label for="ofcInDate" class="col-sm-2 col-form-label col-form-label-sm text-center">현부서임용일</label>
|
||||||
<div class="col-sm-4">
|
<div class="col-sm-4">
|
||||||
<input type="text" class="form-control form-control-sm" id="ofcInDate" name="ofcInDate" th:value="${userInfo.ofcInDate}">
|
<input type="text" class="form-control form-control-sm dateSelector" id="ofcInDate" name="ofcInDate" th:value="${userInfo.ofcInDate}" readonly>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3 row">
|
<div class="mb-3 row">
|
||||||
|
|
@ -117,7 +117,7 @@
|
||||||
</div>
|
</div>
|
||||||
<label for="titleInDate" class="col-sm-2 col-form-label col-form-label-sm text-center">현계급임용일</label>
|
<label for="titleInDate" class="col-sm-2 col-form-label col-form-label-sm text-center">현계급임용일</label>
|
||||||
<div class="col-sm-4">
|
<div class="col-sm-4">
|
||||||
<input type="text" class="form-control form-control-sm" id="titleInDate" name="titleInDate" th:value="${userInfo.titleInDate}">
|
<input type="text" class="form-control form-control-sm dateSelector" id="titleInDate" name="titleInDate" th:value="${userInfo.titleInDate}" readonly>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3 row">
|
<div class="mb-3 row">
|
||||||
|
|
@ -126,7 +126,7 @@
|
||||||
<select class="form-select form-select-sm" id="outturnCd" name="outturnCd">
|
<select class="form-select form-select-sm" id="outturnCd" name="outturnCd">
|
||||||
<option value="">--선택--</option>
|
<option value="">--선택--</option>
|
||||||
<th:block th:each="code:${outturnList}">
|
<th:block th:each="code:${outturnList}">
|
||||||
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.groupCd}"></option>
|
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq userInfo.outturnCd}"></option>
|
||||||
</th:block>
|
</th:block>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue