Merge remote-tracking branch 'origin/master'

This commit is contained in:
sungsu
2024-01-17 16:13:18 +09:00
28 changed files with 945 additions and 82 deletions

View File

@@ -1,7 +1,7 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!-- 이 안에 내용 복사해서 jsp에 붙여넣기 -->
<link rel="stylesheet" href="authority.css">
<link rel="stylesheet" href="/resources/static/css/account.css">
<script>
/*
yes no 모달의 확인 버튼을 누를때 재정의할 function
@@ -57,14 +57,20 @@
$form.trigger("submit");
}
function goCreate(){
const $form = $("<form method='post' action='/account/create'></form> ");
$(".att").after($form);
$form.trigger("submit");
}
</script>
<div class="container-fluid">
<div class="container">
<div class="row">
<div class="col-12">
<div class="mt-5 mb-5 text-center">
<h1>계정 관리</h1><form method="post" action="/account/create"><button class="btn btn-primary" type="submit" id="btn_create">생성</button></form>
<h1>계정 관리</h1>
</div>
<div>
<hr>
@@ -72,60 +78,56 @@
</div>
</div>
<div class="row">
<div class="col-12">
<div class="container">
<div class="row">
<div class="col-12">
<div id="search" align="center">
<form id="search_form">
<select name="searchn">
<option <c:if test="${searchn == 0}">selected="selected"</c:if> value="0">사번</option>
<option <c:if test="${searchn == 1}">selected="selected"</c:if> value="1">사원명</option>
</select>
<input type="text" name="search" maxlength="50" value="${search}"/>
<button type="submit" class="btn btn-primary" >검색</button>
<input id="pPage" hidden type="text" name="page">
</form>
</div>
</div>
</div>
<div class="row">
<div class="col-12">
<table class="table" >
<thead class="table-dark">
<tr><th>사번</th><th>사용자 명</th><th>활성 여부</th></tr>
</thead>
<tbody>
<c:forEach items="${list }" var="dto" varStatus="status">
<tr class="group_tr" data-mingu = "111" data-tid="${dto.id}">
<td>${dto.employeeNumber}</td>
<td>${dto.name}</td>
<td>
<c:choose>
<c:when test="${dto.activation}">O</c:when>
<c:otherwise>X</c:otherwise>
</c:choose>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
<div class="row">
<div class="col-12">
<div id="page" align="center">
<c:if test="${begin > pageNum }">
<a data-p='${begin-1 }' href="#" onclick="onPaging(this)">[<]</a>
</c:if>
<c:forEach begin="${begin }" end="${end}" var="i">
<a data-p='${i}' href="#" onclick="onPaging(this)" >${i}</a>
</c:forEach>
<c:if test="${end < totalPages }">
<a data-p='${end+1}' href="#" onclick="onPaging(this)">[>]</a>
</c:if>
</div>
</div>
<div class="col-12 att">
<form class="d-inline" id="search_form">
<select name="searchn">
<option <c:if test="${searchn == 0}">selected="selected"</c:if> value="0">사번</option>
<option <c:if test="${searchn == 1}">selected="selected"</c:if> value="1">사원명</option>
</select>
<input type="text" name="search" maxlength="50" value="${search}"/>
<button type="submit" class="btn btn-primary" >검색</button>
<input id="pPage" hidden type="text" name="page">
</form>
<button style="float: right;" class="btn btn-primary" type="submit" id="btn_create" onclick="goCreate() ">생성</button>
</div>
<div class="row p-0 m-0">
<div class="col-12 m-0">
<table class="table" >
<thead class="table-dark">
<tr><th>사번</th><th>사용자 명</th><th>활성 여부</th></tr>
</thead>
<tbody>
<c:forEach items="${list }" var="dto" varStatus="status">
<tr class="group_tr" data-mingu = "111" data-tid="${dto.id}">
<td>${dto.employeeNumber}</td>
<td>${dto.name}</td>
<td>
<c:choose>
<c:when test="${dto.activation}">O</c:when>
<c:otherwise>X</c:otherwise>
</c:choose>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
<div class="row">
<div class="col-12">
<div id="page">
<ul class="pagination justify-content-center">
<c:if test="${begin > pageNum }">
<li class="page-item"><a class="page-link" data-p='${begin-1 }' href="#" onclick="onPaging(this)">[<]</a></li>
</c:if>
<c:forEach begin="${begin }" end="${end}" var="i" varStatus="status">
<li class="page-item <c:if test="${page eq status.count}">active</c:if> "><a class="page-link" data-p='${i}' href="#" onclick="onPaging(this)" >${i}</a></li>
</c:forEach>
<c:if test="${end < totalPages }">
<li class="page-item"><a class="page-link" data-p='${end+1}' href="#" onclick="onPaging(this)">[>]</a></li>
</c:if>
</ul>
</div>
</div>
</div>

View File

@@ -70,7 +70,7 @@
<div class="col-12">
<div class="container">
<div class="row">
<div class="col-4">
<div class="col-12">
<!-- 탭 부분 -->
<ul class="nav nav-tabs" id="myTab" role="tablist">
<li class="nav-item" role="presentation">
@@ -81,21 +81,6 @@
</li>
</ul>
</div>
<div class="col-8">
<div id="div_group_search" class="text-end">
<input id="search_group_input" type="text" class="w-60 d-inline form-control" placeholder="검색">
<button id="search_group_btn" type="button" class="btn btn-primary" onclick="onSearch(false)">검색</button>
</div>
<div id="div_personal_search" class="text-end">
<select name="search_select" class="form-select d-inline">
<option selected value="10">10</option>
<option value="20">20</option>
<option value="30">30</option>
</select>
<input id="search_personal_input" type="text" class="w-60 d-inline form-control" placeholder="검색">
<button id="search_personal_btn" type="button" class="btn btn-primary" onclick="onSearch(true)">검색</button>
</div>
</div>
</div>
<div class="row">
<div class="col-12">

View File

@@ -6,7 +6,7 @@
<ul class="nav flex-column">
<li class="nav-item">
<a class="nav-link d-flex align-items-center gap-2" href="#">
<a class="nav-link d-flex align-items-center gap-2" href="/mypage">
<div class="text-center">
<img class="img-user" src="https://academy.ilwoo.org/data/file/reference/3531300541_J1gHPmC6_479f762b4825515abc781b3a616929d8949ea2c5.jpg" alt="유저 이미지">
<br>

View File

@@ -66,7 +66,7 @@
<div class="checkbox mb-3">
<label>
<a href="/">비밀번호를 잊으셨나요?</a>
<a href="/passreset">비밀번호를 잊으셨나요?</a>
</label>
</div>
<button class="w-100 btn btn-lg btn-primary" type="button" onclick="onLogin()">로그인</button>

View File

@@ -0,0 +1,79 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<script src="https://unpkg.com/feather-icons"></script>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-C6RzsynM9kWDrMNeT87bh95OGNyZPhcTNXj1NW7RuBCsyN/o0jlpcV8Qyq46cDfL" crossorigin="anonymous"></script>
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>No1 WMS</title>
<style>
.form-signin {
width: 100%;
max-width: 330px;
padding: 15px;
margin: auto;
}
body{
display: flex;
align-items: center;
padding-top: 40px;
padding-bottom: 40px;
background-color: #f5f5f5;
}
</style>
</head>
<body class="text-center">
<script>
function onPassReset(){
const data={};
data.employeeNumber=$("#employ_number").val();
data.note=$("#note").val();
$.ajax({
type: 'post', // 타입 (get, post, put 등등)
url: '/resetpassword/insert', // 요청할 서버url
dataType: 'json', // 데이터 타입 (html, xml, json, text 등등)
data: data,
success: function (result) { // 결과 성공 콜백함수
if (result === 's') {
alert("패스워드 초기화 요청이 완료되었습니다");
window.location.href = "/login";
}else if(result === 'f'){
alert("요청에 실패하였습니다")
}
},
error: function (request, status, error) {
alert(error);
}
});
}
</script>
<main class="form-signin">
<img class="mb-4" src="/docs/5.0/assets/brand/bootstrap-logo.svg" alt="" width="72" height="57">
<h1 class="h3 mb-3 fw-normal">비밀번호 초기화 요청</h1>
<div class="form-floating mb-3">
<input type="text" required class="form-control" id="employ_number" name="employeeNumber" placeholder="사번">
<label for="employ_number">사번</label>
</div>
<div class="form-floating mb-3">
<textarea class="form-control w-100" name="note" id="note" placeholder="사유를 적으세요" required></textarea>
<label for="note" class="form-label">사유</label>
</div>
<button class="w-100 btn btn-lg btn-primary" type="button" onclick="onPassReset()">초기화 요청</button>
<p class="mt-5 mb-3 text-muted">© 20232024</p>
</main>
</body>
</html>

View File

@@ -0,0 +1,207 @@
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<div class="mt-5 mb-5 text-center">
<h1 style="color: green;" >마이페이지</h1>
</div>
<hr>
<div class="body">
<div class="container-fluid">
<div class="row">
<div class="col-md-4" style="text-align: center;">
<img alt="Default Image" src="${imgSrc}" width="200" />
<!-- <img alt="Default Image" src="/resources/static/img/mypage/profile/${list.id}.png" width="200" /> -->
<!-- -->
<hr>
<p><b>
<span style="color: #6E6ED7; font-size: 20px;">${list.positionDto.name }&nbsp;&nbsp; </span>
<span style="font-size: 20px;">${list.name}</span>
</b></p>
<br>
<!-- -->
<form method="post" action="/mypage/uplodeImg" enctype="multipart/form-data" class="form-horizontal">
<div class="col-centered">
<table id="datatable-scroller" class="table table-bordered tbl_Form">
<tbody>
<tr>
<th class="active" style="text-align:right"><label class="control-label" for="">프로필사진 업로드</label></th>
<td>
<input type="file" name="file" id="file" accept=".jpg, .jpeg, .png" />
</td>
</tr>
</tbody>
</table>
</div>
<div class="col-centered">
<button type="submit" class="btn btn-danger" id="uploadImg">프로필 사진 수정</button>
</div>
</form><!-- uplodeImgForm -->
</div>
<div class="col-md-8">
<form id="userInfoForm" action="/updateUserInfo" method="post">
<div class="form-group row">
<label for="name" class="col-md-2 col-form-label">이름</label>
<div class="col-md-6">
<input type="text" class="form-control" id="name" name="name" value="${list.name}" readonly>
</div>
</div>
<div class="form-group row">
<label for="employeeNumber" class="col-md-2 col-form-label">사원 번호</label>
<div class="col-md-6">
<input type="text" class="form-control" id="employeeNumber" name="employeeNumber" value="${list.employeeNumber}" readonly>
</div>
</div>
<div class="form-group row">
<label for="password" class="col-md-2 col-form-label">비밀번호</label>
<div class="col-md-6">
<input type="password" class="form-control" id="password" name="password" value="${list.password}">
</div>
</div>
<!-- -->
<div class="form-group row">
<label for="email" class="col-md-2 col-form-label">이메일주소</label>
<div class="col-md-6">
<input type="email" class="form-control" id="email" name="email" value="${list.email }">
</div>
</div>
<div class="form-group row">
<label for="gender" class="col-md-2 col-form-label">성별</label>
<div class="col-md-6">
<input type="text" class="form-control" id="gender" name="gender" value="${list.gender }">
</div>
</div>
<div class="form-group row">
<label for="birth" class="col-md-2 col-form-label">생일</label>
<div class="col-md-6">
<fmt:formatDate value="${list.birth}" pattern="yyyy-MM-dd" type="date" var="formattedDate" />
<input type="date" class="form-control" id="birth" name="birth" value="${formattedDate}" />
</div>
</div>
<div class="form-group row">
<label for="telephone" class="col-md-2 col-form-label">전화번호</label>
<div class="col-md-6">
<input type="tel" class="form-control" id="telephone" name="telephone" value="${list.telephone }">
</div>
</div>
<div class="form-group row">
<label for="address" class="col-md-2 col-form-label">주소</label>
<div class="col-md-6">
<input type="text" class="form-control" id="address" name="address" value="${list.address }">
</div>
</div>
<div class="form-group row">
<label for="department" class="col-md-2 col-form-label">부서</label>
<div class="col-md-6">
<input type="text" class="form-control" id="department" name="department" value="${list.departmentDto.name }" readonly>
</div>
</div>
<div class="form-group row">
<label for="position" class="col-md-2 col-form-label">직책</label>
<div class="col-md-6">
<input type="text" class="form-control" id="position" name="position" value="${list.positionDto.name }" readonly>
</div>
</div>
<hr style="width: 700px;">
<div class="form-group row">
<div class="col-md-2"></div>
<div class="col-md-6 text-end">
<button type="button" id="submitBtn" class="btn btn-primary">저장</button>
</div>
</div>
<input type="hidden" id="id" name="id" value="${list.id }">
<input type="hidden" id="personalAuthorityId" name="personalAuthorityId" value="${list.personalAuthorityId }">
<input type="hidden" id="groupAuthorityId" name="groupAuthorityId" value="${list.groupAuthorityId }">
<input type="hidden" id="positionId" name="positionId" value="${list.positionId }">
<input type="hidden" id="departmentId" name="departmentId" value="${list.departmentId }">
</form>
</div>
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function(){
$("#submitBtn").on("click",function(){
//
var name = $("#name").val();
var employeeNumber = $("#employeeNumber").val();
var email = $("#email").val();
var personalAuthorityId = $("#personalAuthorityId").val();
var gender = $("#gender").val();
var birth = $("#birth").val();
var telephone = $("#telephone").val();
var address = $("#address").val();
var departmentId = $("#departmentId").val();
var positionId = $("#positionId").val();
var id = $("#id").val();
var activation = true;
const data = { name : name,
employeeNumber : employeeNumber,
email : email,
personalAuthorityId : personalAuthorityId,
gender : gender,
birth : birth,
telephone : telephone,
address : address,
departmentId : departmentId,
positionId : positionId,
id : id,
activation : activation,
};
$.ajax({
type : 'put', // 타입 (get, post, put 등등)
url : '/mypage/updateUserInfo', // 요청할 서버url
dataType : 'json', // 데이터 타입 (html, xml, json, text 등등)
data : data
}).done(function(data) {
console.log(data)//true
if (data == true) {
alert("개인정보가 변경되었습니다.");
$(location).attr("href", "/mypage");
} else {
alert("개인정보 변경에 실패했습니다.");
}
}).fail(function() {
alert("오류가 발생했습니다.");
}).always(function() {
//
});
//
});//submitBtn
});//ready
function _onSubmit(){
if($("#file").val() == ""){
alert("이미지 파일을 업로드해주세요.");
$("#file").focus();
return false;
}
return true;
}
</script>
</body>
</html>