mirror of
https://github.com/suhf/No1WMS.git
synced 2026-02-05 04:03:45 +09:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
79
src/main/webapp/WEB-INF/views/modal/pass_reset_call.jsp
Normal file
79
src/main/webapp/WEB-INF/views/modal/pass_reset_call.jsp
Normal 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">© 2023–2024</p>
|
||||
</main>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
207
src/main/webapp/WEB-INF/views/mypage/mypage.jsp
Normal file
207
src/main/webapp/WEB-INF/views/mypage/mypage.jsp
Normal 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 } </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>
|
||||
Reference in New Issue
Block a user