This repository has been archived on 2024-07-21. You can view files and clone it, but cannot push or open issues or pull requests.
java_ee_project/project2/web/WEB-INF/views/teachermanage.jsp
Chenx221 e04d0a050c up
Signed-off-by: Chenx221 <chenx221@yandex.com>
2023-06-19 18:04:35 +08:00

676 lines
38 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/>
<meta http-equiv="x-ua-compatible" content="ie=edge"/>
<title>教师信息管理</title>
<script src="${pageContext.request.contextPath}/resources/js/jquery-3.7.0.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css"/>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@300;400;500;700;900&display=swap"
rel="stylesheet">
<link rel="stylesheet" href="${pageContext.request.contextPath}/resources/css/mdb.min.css"/>
<style>
.table-container {
min-width: 60vw;
/* 设置最小宽度为视窗宽度的80% */
min-height: 80vh;
/* 设置最小高度为视窗高度的80% */
/*display: flex;*/
align-items: center;
justify-content: center;
}
.table-container table {
width: 100%;
/*height: 100%;*/
}
</style>
</head>
<body style="font-family: 'Noto Sans SC Regular',serif">
<!--Main Navigation-->
<header>
<nav class="navbar navbar-expand-lg navbar-light bg-light" style="z-index: 1;min-height: 58.59px">
<div class="container">
<button class="navbar-toggler" type="button" data-mdb-toggle="collapse"
data-mdb-target="#navbarSupportedContent" aria-controls="navbarSupportedContent"
aria-expanded="false" aria-label="Toggle navigation">
<i class="fas fa-bars"></i>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<a class="navbar-brand mt-2 mt-lg-0" href="#">
<i class="fas fa-chalkboard-user me-2"></i>
教务管理系统
</a>
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="/dashboard">首页</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown1" role="button"
data-mdb-toggle="dropdown" aria-expanded="false">
学生管理
</a>
<ul class="dropdown-menu" aria-labelledby="navbarDropdown1">
<li><a class="dropdown-item" href="/student/all">学生信息显示</a></li>
<li><a class="dropdown-item" href="/student/queryinfo">学生信息查询</a></li>
<li><a class="dropdown-item" href="/student/modstep1">学生信息修改(旧)</a></li>
<li><a class="dropdown-item" href="/student/infomodv2">学生信息修改</a></li>
<li>
<hr class="dropdown-divider" />
</li>
<li><a class="dropdown-item" href="/score/all">成绩查看</a></li>
<li><a class="dropdown-item" href="/score/infomodv2">成绩管理</a></li>
</ul>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown2" role="button"
data-mdb-toggle="dropdown" aria-expanded="false">
教师管理
</a>
<ul class="dropdown-menu" aria-labelledby="navbarDropdown2">
<li><a class="dropdown-item" href="/teacher/manage">教师信息管理</a></li>
</ul>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown3" role="button"
data-mdb-toggle="dropdown" aria-expanded="false">
课程管理
</a>
<ul class="dropdown-menu" aria-labelledby="navbarDropdown3">
<li><a class="dropdown-item" href="/course/all">课程查看</a></li>
<li><a class="dropdown-item" href="/course/infomodv2">课程管理</a></li>
</ul>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown4" role="button"
data-mdb-toggle="dropdown" aria-expanded="false">
系统管理
</a>
<ul class="dropdown-menu" aria-labelledby="navbarDropdown4">
<li><a class="dropdown-item" href="/person/settings">个人设定</a></li>
<li><a class="dropdown-item" href="/system/settings">系统设定</a></li>
<li><a class="dropdown-item" href="/user/usermanage">用户管理</a></li>
<%-- <li><a class="dropdown-item" href="#">日志管理</a></li>--%>
<li><a class="dropdown-item" href="#">版本信息</a></li>
</ul>
</li>
</ul>
</div>
<div class="dropdown">
<a class="dropdown-toggle d-flex align-items-center hidden-arrow" href="#"
id="navbarDropdownMenuAvatar" role="button" data-mdb-toggle="dropdown" aria-expanded="false">
<i class="fas fa-circle-user fa-lg me-1"></i>
${username}
</a>
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="navbarDropdownMenuAvatar">
<li>
<a class="dropdown-item" href="${pageContext.request.contextPath}/logout">登出</a>
</li>
</ul>
</div>
</div>
</nav>
</header>
<!--Main Navigation-->
<!--Main layout-->
<main>
<div class="bg-image shadow-2-strong vh-100"
style="background-image: url('${pageContext.request.contextPath}/resources/img/jason-blackeye-nyL-rzwP-Mk-unsplash.jpg'); margin-top: -58.59px;">
<div class="mask d-flex align-items-center h-100" style="background-color: hsla(0, 0%, 100%, 0.5);">
<div class="container d-flex justify-content-center">
<div>
<div class="row">
<div class="col-12">
<button type="button" class="btn btn-primary" onclick="location.href='../dashboard'">返回
</button>
</div>
</div>
<div class="row">
<div class="col-12">
<button type="button" class="btn btn-primary" onclick="exportCSV()">导出</button>
</div>
</div>
</div>
<div class="table-container rounded-4 shadow-3-strong"
style="background-color: rgba(255,255,255,0.9); overflow-y: auto; max-height: 400px">
<table class="table table-striped table-hover border-primary align-middle">
<thead>
<tr>
<th scope="col">教师ID</th>
<th scope="col">姓名</th>
<th scope="col">性别</th>
<th scope="col">出生日期</th>
<th scope="col">授课课程ID</th>
<th scope="col">授课课程名</th>
<th scope="col">授课班级</th>
<th scope="col" class="text-center">操作</th>
</tr>
</thead>
<tbody>
<c:forEach var="teacher" items="${teacherList}">
<tr>
<td>${teacher.id}</td>
<td>${teacher.name}</td>
<td>${teacher.sex}</td>
<td>${teacher.birthday}</td>
<td>${teacher.course.courseID}</td>
<td>${teacher.course.courseName}</td>
<td>${teacher.classes}</td>
<td class="text-center">
<div class="btn-group" role="group" aria-label="Basic example">
<button type="button" class="btn btn-info" data-mdb-toggle="tooltip"
data-mdb-placement="top" title="编辑">
<i class="fas fa-pencil"></i>
</button>
<button type="button" class="btn btn-danger deleteButton" data-mdb-toggle="tooltip"
data-mdb-placement="top" title="删除">
<i class="fas fa-trash"></i>
</button>
</div>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<div class="container">
<div class="card rounded-4 shadow-3-strong" style="min-width: 244px">
<!-- Tabs navs -->
<ul class="nav nav-tabs" id="ex1" role="tablist">
<li class="nav-item" role="presentation">
<a class="nav-link active fs-6" id="ex1-tab-1" data-mdb-toggle="tab" href="#ex1-tabs-1"
role="tab" aria-controls="ex1-tabs-1" aria-selected="true">信息查询</a>
</li>
<li class="nav-item" role="presentation">
<a class="nav-link fs-6" id="ex1-tab-2" data-mdb-toggle="tab" href="#ex1-tabs-2"
role="tab" aria-controls="ex1-tabs-2" aria-selected="true">信息修改</a>
</li>
<li class="nav-item" role="presentation">
<a class="nav-link fs-6" id="ex1-tab-3" data-mdb-toggle="tab" href="#ex1-tabs-3"
role="tab" aria-controls="ex1-tabs-3" aria-selected="false">信息删除</a>
</li>
<li class="nav-item" role="presentation">
<a class="nav-link fs-6" id="ex1-tab-4" data-mdb-toggle="tab" href="#ex1-tabs-4"
role="tab" aria-controls="ex1-tabs-4" aria-selected="false">信息添加</a>
</li>
</ul>
<!-- Tabs navs -->
<hr class="hr" style="margin: 1px"/>
<!-- Tabs content -->
<div class="tab-content" id="ex1-content">
<div class="tab-pane fade show active" id="ex1-tabs-1" role="tabpanel"
aria-labelledby="ex1-tab-1">
<div class="card-body" style="min-width: 175px">
<form action="query" method="post">
<div class="row mb-2">
<div class="col-12">
<div class="form-outline">
<input type="number" id="typeText1" class="form-control"
name="id"/>
<label class="form-label" for="typeText1">教师ID</label>
</div>
</div>
</div>
<div class="row mb-2">
<div class="col-12">
<div class="form-outline">
<input type="text" id="typeText2" class="form-control"
name="name"/>
<label class="form-label" for="typeText2">姓名</label>
</div>
</div>
</div>
<div class="row mb-2">
<div class="col-12">
<label for="sex-select" style="color: rgba(0,0,0,.6);">性别</label>
<select name="sex" id="sex-select">
<option value="null">请选择性别</option>
<option value="男">男</option>
<option value="女">女</option>
</select>
</div>
</div>
<div class="row mb-2">
<div class="col-12">
<div class="form-outline">
<input type="date" id="typeText4" class="form-control"
name="birthday_begin"/>
<label class="form-label" for="typeText4">出生日期(始)</label>
</div>
</div>
</div>
<div class="row mb-2">
<div class="col-12">
<div class="form-outline">
<input type="date" id="typeText5" class="form-control"
name="birthday_end"/>
<label class="form-label" for="typeText5">出生日期(末)</label>
</div>
</div>
</div>
<div class="row mb-2">
<div class="col-12">
<div class="form-outline">
<input type="number" id="typeText6" class="form-control"
name="course_id"/>
<label class="form-label" for="typeText6">课程ID</label>
</div>
</div>
</div>
<div class="row mb-2">
<div class="col-12">
<div class="form-outline">
<input type="text" id="typeText7" class="form-control"
name="course_name"/>
<label class="form-label" for="typeText7">课程名(支持部分)</label>
</div>
</div>
</div>
<div class="row mb-2">
<div class="col-12">
<div class="form-outline">
<input type="text" id="typeText8" class="form-control"
name="classes"/>
<label class="form-label"
for="typeText8">授课班级(1~5班)</label>
</div>
</div>
</div>
<div class="row mb-2 mt-4">
<div class="col-lg-6 text-center">
<button type="submit" class="btn btn-primary">查询
</button>
</div>
<div class="col-lg-6 text-center">
<button type="reset" class="btn btn-secondary">重置</button>
</div>
</div>
</form>
</div>
</div>
<div class="tab-pane fade" id="ex1-tabs-2" role="tabpanel" aria-labelledby="ex1-tab-2">
<div class="card-body" style="min-width: 175px">
<form id="modform" action="mod" method="post">
<div class="row mb-2">
<div class="col-12">
<div class="form-outline">
<input type="number" id="typeText9" class="form-control" required
name="id"/>
<label class="form-label" for="typeText9">教师ID (必填)</label>
</div>
</div>
</div>
<div class="row mb-2">
<div class="col-12">
<div class="form-outline">
<input type="text" id="typeText10" class="form-control"
name="name"/>
<label class="form-label" for="typeText10">姓名</label>
</div>
</div>
</div>
<%-- 修改性别什么鬼--%>
<%-- <div class="row mb-2">--%>
<%-- <div class="col-12">--%>
<%-- <label for="sex-select2" style="color: rgba(0,0,0,.6);">性别</label>--%>
<%-- <select name="sex" id="sex-select2">--%>
<%-- <option value="">请选择性别</option>--%>
<%-- <option value="男">男</option>--%>
<%-- <option value="女">女</option>--%>
<%-- </select>--%>
<%-- </div>--%>
<%-- </div>--%>
<div class="row mb-2">
<div class="col-12">
<div class="form-outline">
<input type="date" id="typeText12" class="form-control"
name="birthday"/>
<label class="form-label" for="typeText12">出生日期</label>
</div>
</div>
</div>
<div class="row mb-2">
<div class="col-12">
<div class="form-outline">
<input type="number" id="typeText13" class="form-control"
name="course_id"/>
<label class="form-label" for="typeText13">课程ID</label>
</div>
</div>
</div>
<%-- <div class="row mb-2">--%>
<%-- <div class="col-12">--%>
<%-- <div class="form-outline">--%>
<%-- <input type="text" id="typeText14" class="form-control"--%>
<%-- name="course_name"/>--%>
<%-- <label class="form-label" for="typeText14">课程名(支持部分)</label>--%>
<%-- </div>--%>
<%-- </div>--%>
<%-- </div>--%>
<div class="row mb-2">
<div class="col-12">
<div class="form-outline">
<input type="text" id="typeText15" class="form-control"
name="classes"/>
<label class="form-label"
for="typeText15">授课班级(1~5班)</label>
</div>
</div>
</div>
<div class="row mb-2 mt-4">
<div class="col-lg-6 text-center">
<button type="submit" class="btn btn-primary" id="modbtn">修改
</button>
</div>
<div class="col-lg-6 text-center">
<button type="reset" class="btn btn-secondary">重置</button>
</div>
</div>
</form>
</div>
</div>
<div class="tab-pane fade" id="ex1-tabs-3" role="tabpanel" aria-labelledby="ex1-tab-3">
<div class="card-body" style="min-width: 175px">
<form action="del" method="post" id="delform">
<div class="row mb-2">
<div class="col-12">
<div class="form-outline">
<input type="number" id="typeText16" class="form-control"
required name="id"/>
<label class="form-label" for="typeText16">课程ID (必填)</label>
</div>
</div>
</div>
<div class="row mb-2 mt-4">
<div class="col-lg-6 text-center">
<button type="submit" class="btn btn-primary">删除</button>
</div>
<div class="col-lg-6 text-center">
<button type="reset" class="btn btn-secondary">重置</button>
</div>
</div>
</form>
</div>
</div>
<div class="tab-pane fade" id="ex1-tabs-4" role="tabpanel" aria-labelledby="ex1-tab-4">
<!-- <h5 class="card-header">信息添加</h5> -->
<div class="card-body" style="min-width: 175px">
<form action="add" method="post" id="addform">
<div class="row mb-2">
<div class="col-12">
<div class="form-outline">
<input type="text" id="typeText18" class="form-control" required
name="name"/>
<label class="form-label" for="typeText18">姓名</label>
</div>
</div>
</div>
<div class="row mb-2">
<div class="col-12">
<label for="sex-select3" style="color: rgba(0,0,0,.6);">性别</label>
<select name="sex" id="sex-select3" required>
<option value="">请选择性别</option>
<option value="男">男</option>
<option value="女">女</option>
</select>
</div>
</div>
<div class="row mb-2">
<div class="col-12">
<div class="form-outline">
<input type="date" id="typeText20" class="form-control" required
name="birthday"/>
<label class="form-label" for="typeText20">出生日期</label>
</div>
</div>
</div>
<div class="row mb-2">
<div class="col-12">
<div class="form-outline">
<input type="number" id="typeText21" class="form-control" required
name="course_id"/>
<label class="form-label" for="typeText21">课程ID</label>
</div>
</div>
</div>
<div class="row mb-2">
<div class="col-12">
<div class="form-outline">
<input type="text" id="typeText23" class="form-control" required
name="classes"/>
<label class="form-label" for="typeText23">授课班级(1~5班)</label>
</div>
</div>
</div>
<div class="row mb-2 mt-4">
<div class="col-lg-6 text-center">
<button type="submit" class="btn btn-primary">添加
</button>
</div>
<div class="col-lg-6 text-center">
<button type="reset" class="btn btn-secondary">重置</button>
</div>
</div>
</form>
</div>
</div>
</div>
<!-- Tabs content -->
</div>
</div>
</div>
</div>
</div>
<!-- Modal -->
<div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">
<i class="fas fa-circle-exclamation me-2"></i>错误
</h5>
<button type="button" class="btn-close" data-mdb-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<c:if test="${not empty errorMessage}">
${errorMessage}
</c:if>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-mdb-dismiss="modal">OK</button>
</div>
</div>
</div>
</div>
<!-- Modal -->
<div class="modal fade" id="exampleModal2" tabindex="-1" aria-labelledby="exampleModalLabel2"
aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel2">
<i class="fas fa-circle-check me-2"></i>成功
</h5>
<button type="button" class="btn-close" data-mdb-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<c:if test="${not empty successMessage}">
${successMessage}
</c:if>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-mdb-dismiss="modal">OK</button>
</div>
</div>
</div>
</div>
<!-- Modal -->
<div class="modal fade" id="exampleModal3" tabindex="-1" aria-labelledby="exampleModalLabel3"
aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel3">
Info
</h5>
<button type="button" class="btn-close" data-mdb-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<p id="de_message"></p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-mdb-dismiss="modal" id="de_button">OK</button>
</div>
</div>
</div>
</div>
</main>
<!--Main layout-->
<!-- Footer -->
<footer class="bg-link text-center text-lg-start ">
</footer>
<!-- Footer -->
<script type="text/javascript" src="${pageContext.request.contextPath}/resources/js/mdb.min.js"></script>
<script>
$(document).ready(function () {
// 判断模型中是否存在错误信息
<c:if test="${not empty errorMessage && errorMessage ne 'null'}">
$('#exampleModal').modal('show');
</c:if>
<c:if test="${not empty successMessage && successMessage ne 'null'}">
$('#exampleModal2').modal('show');
</c:if>
});
$(document).ready(function () {
$('.btn-danger').on('click', function () { //移除用户
var id = $(this).closest('tr').find('td:first').text();
// userdisabled(id);
console.log(id) // debug
});
$('.btn-info').on('click', function () { //编辑用户
var id = $(this).closest('tr').find('td:first').text();
$('#ex1-tab-2').tab('show');
$('#typeText9').val(id).focus();
// console.log(id) // debug
});
$('#modform').on('submit', function (event) {
event.preventDefault();
$.ajax({
url: 'mod', // 替换为您的请求 URL
method: 'POST', // 根据您的需求选择请求方法 (POST, GET, etc.)
data: $('#modform').serialize(),
success: function (response) {
success(response)
},
error: function (xhr, status, error) {
error(xhr,status,error)
}
});
});
$('#delform').on('submit', function (event) {
event.preventDefault();
if (confirm('确定要删除吗?')) {
$.ajax({
url: 'del',
method: 'POST',
data: $('#delform').serialize(),
success: function (response) {
success(response)
},
error: function (xhr, status, error) {
error(xhr,status,error)
}
});
}
});
$('.deleteButton').on('click', function () {
if (confirm('确定要删除吗?')) {
var id = $(this).closest('tr').find('td:first').text();
$.ajax({
url: 'del',
method: 'POST',
data: { id: id }, // 发送ID值到后端
success: function (response) {
success(response)
},
error: function (xhr, status, error) {
error(xhr,status,error)
}
});
}
});
$('#addform').on('submit', function (event) {
event.preventDefault();
$.ajax({
url: 'add',
method: 'POST',
data: $('#addform').serialize(),
success: function (response) {
success(response)
},
error: function (xhr, status, error) {
error(xhr,status,error)
}
});
});
});
function success(response){
$('#de_message').text(response);
$('#de_button').on('click', function () {
reloadka("reload");
});
$('#exampleModal3').modal('show').on('hidden.bs.modal', function () { //针对点击modal外的情况的处理
reloadka("reload");
});
}
function error(xhr,status,error){
if (xhr.status === 400) {
$('#de_message').text(xhr.responseText);
$('#de_button').on('click', function () {
reloadka("close");
});
$('#exampleModal3').modal('show');
} else {
console.log('请求失败:', error);
alert('请求请求失败,请重试');
}
}
//处理成功/失败后的刷新页面/关闭模态框操作
function reloadka(action) {
if (action === 'reload') {
window.location.reload();
} else if (action === 'close') {
$('#exampleModal3').modal('hide');
}
}
function exportCSV() {
// 构造请求 URL根据需要导出的类型传递参数
var exportUrl = '/output/export-csv?type=teacher'; // 示例:导出学生数据
var link = document.createElement('a');
link.href = exportUrl;
link.style.display = 'none';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
</script>
</body>
</html>