add mypage

This commit is contained in:
Kana
2024-01-16 18:50:30 +09:00
parent 517445ba38
commit 6ccad5029d
3 changed files with 230 additions and 0 deletions

View File

@@ -0,0 +1,51 @@
package com.no1.wms.mypage;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.no1.wms.account.AccountDto;
import com.no1.wms.account.AccountService;
@Controller
public class MypageController {
@Autowired
AccountService accountService;
@GetMapping("/mypage")
public String mypage(Model m, HttpServletRequest request) {
HttpSession session = request.getSession();
AccountDto dto = (AccountDto) session.getAttribute("userData");
AccountDto list = accountService.selectById(dto);
m.addAttribute("list", list);
return "mypage/mypage";
}
@ResponseBody
@PutMapping("/mypage/updateUserInfo")
public boolean updateUserInfo(AccountDto dto) {
int i = accountService.update(dto);
System.out.println(i);
if (i == 1) {
return true;
} else {
return false;
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

View File

@@ -0,0 +1,179 @@
<%@ 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="/resources/static/img/mypage/defaultimg.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>
<div class="col-centered">
<button type="button" class="btn btn-danger" onclick="">프로필 사진 수정</button>
</div>
</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
</script>
</body>
</html>