Skip to content

Commit 15426d3

Browse files
committed
shy-学生修改
1 parent dc6429a commit 15426d3

File tree

13 files changed

+374
-65
lines changed

13 files changed

+374
-65
lines changed

src/main/java/com/niit/sms/config/MyMvcConfig.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,10 @@ public void addViewControllers(ViewControllerRegistry registry) {
2929
registry.addViewController("/stuList.html").setViewName("student/stuList");
3030
registry.addViewController("/teaList.html").setViewName("teacher/teaList");
3131
registry.addViewController("/userList.html").setViewName("userList");
32-
registry.addViewController("/personInfo.html").setViewName("personInfo");
3332
registry.addViewController("/gradeList.html").setViewName("grade/gradeList");
3433
registry.addViewController("/clazzList.html").setViewName("clazz/clazzList");
34+
registry.addViewController("/stuInfo.html").setViewName("student/stuInfo");
35+
registry.addViewController("/teaInfo.html").setViewName("teacher/teaInfo");
36+
registry.addViewController("/adminInfo.html").setViewName("adminInfo");
3537
}
3638
}

src/main/java/com/niit/sms/controller/StudentController.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,4 +36,24 @@ public Object addStudent(Student student) {
3636
return dataMap;
3737
}
3838

39+
@RequestMapping("/del")
40+
@ResponseBody
41+
public Object delStudentById(Integer id) {
42+
System.out.println(id);
43+
Map<String, Object> dataMap= new HashMap<>();
44+
dataMap.put("code",0);
45+
dataMap.put("data",studentrService.delStudentById(id));
46+
return dataMap;
47+
}
48+
49+
@RequestMapping("/update")
50+
@ResponseBody
51+
public Object updateStudentById(Student student) {
52+
System.out.println(student);
53+
Map<String, Object> dataMap= new HashMap<>();
54+
dataMap.put("code",0);
55+
dataMap.put("data",studentrService.updateStudentById(student));
56+
return dataMap;
57+
}
58+
3959
}

src/main/java/com/niit/sms/mapper/StudentMapper.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,8 @@ public interface StudentMapper {
1212
List<Student> selectAll();
1313

1414
int addStudent(Student student);
15+
16+
int delStudentById(Integer id);
17+
18+
int updateStudentById(Student student);
1519
}

src/main/java/com/niit/sms/service/StudentrService.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,8 @@ public interface StudentrService {
1212

1313
int addStudent(Student student);
1414

15+
int delStudentById(Integer id);
16+
17+
int updateStudentById(Student student);
18+
1519
}

src/main/java/com/niit/sms/service/impl/StudentServiceImpl.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,7 @@ public Student login(String tno, String password) {
2424

2525
@Override
2626
public List<Student> selectAll() {
27-
List<Student> students = studentMapper.selectAll();
28-
return students;
27+
return studentMapper.selectAll();
2928
}
3029

3130
@Override
@@ -35,4 +34,14 @@ public int addStudent(Student student) {
3534
return studentMapper.addStudent(student);
3635
}
3736

37+
@Override
38+
public int delStudentById(Integer id) {
39+
return studentMapper.delStudentById(id);
40+
}
41+
42+
@Override
43+
public int updateStudentById(Student student) {
44+
return studentMapper.updateStudentById(student);
45+
}
46+
3847
}

src/main/resources/mapper/StudentMapper.xml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,27 @@
2020
(#{sno},#{username},#{password},#{gender},#{email},#{telephone},#{address},#{introduce},#{portrait_path},#{clazz_id})
2121
</insert>
2222

23+
<!--根据id删除学生-->
24+
<delete id="delStudentById" parameterType="java.lang.Integer">
25+
delete from tb_student where id=#{id}
26+
</delete>
27+
28+
<!--根据id修改学生信息-->
29+
<update id="updateStudentById" parameterType="com.niit.sms.bean.Student">
30+
update tb_student
31+
<set>
32+
<if test="sno!=null and sno!=''">sno=#{sno},</if>
33+
<if test="username!=null and username!=''">username=#{username},</if>
34+
<if test="password!=null and password!=''">email=#{password},</if>
35+
<if test="gender!=null and gender!=''">email=#{gender},</if>
36+
<if test="email!=null and email!=''">email=#{email},</if>
37+
<if test="telephone!=null and telephone!=''">telephone=#{telephone},</if>
38+
<if test="address!=null and address!=''">address=#{address},</if>
39+
<if test="introduce!=null and introduce!=''">introduce=#{introduce},</if>
40+
<if test="portrait_path!=null and portrait_path!=''">portrait_path=#{portrait_path},</if>
41+
<if test="clazz_id!=null and clazz_id!=''">clazz_id=#{clazz_id},</if>
42+
</set>
43+
where id=#{id}
44+
</update>
45+
2346
</mapper>
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
window.onload=function() {
2+
console.log("!!!!!!!!!!!!!!!!!!!!!")
3+
var sessionData = document.getElementById(`sessionData`);
4+
console.log(sessionData.value);
5+
alert(sessionData.val)
6+
}
7+
8+
layui.use(['form'], function(){
9+
const form = layui.form
10+
, layer = layui.layer
11+
12+
13+
14+
15+
16+
//表单赋值
17+
// layui.$('#LAY-component-form-setval').on('click', function(){
18+
// form.val('example', {
19+
// "username": "贤心" // "name": "value"
20+
// ,"password": "123456"
21+
// ,"interest": 1
22+
// ,"like[write]": true //复选框选中状态
23+
// ,"close": true //开关状态
24+
// ,"sex": "女"
25+
// ,"desc": "我爱 layui"
26+
// });
27+
// });
28+
29+
});

src/main/resources/static/js/stuList.js

Lines changed: 79 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ layui.use(['form','table','upload', 'element', 'layer'], function(){
2323
[
2424
[
2525
{type: 'checkbox', fixed: 'left'}
26-
,{field:'id', title:'ID', width:80, fixed: 'left', unresize: true, sort: true}
26+
,{field:'id', title:'ID', width:80}
2727
,{field:'sno', title:'学号', width:80, edit: 'text'}
2828
,{field:'username', title:'姓名', width:100, edit: 'text'}
2929
,{field:'password', title:'密码', width:100, edit: 'text'}
@@ -60,7 +60,7 @@ layui.use(['form','table','upload', 'element', 'layer'], function(){
6060
sno: $('#sno').val(),
6161
username: $('#username').val(),
6262
password: $('#password').val(),
63-
gender: $('input[name="sex"]:checked').val(),
63+
gender: $('input[name="gender"]:checked').val(),
6464
email: $('#email').val(),
6565
telephone: $('#telephone').val(),
6666
address: $('#address').val(),
@@ -139,22 +139,88 @@ layui.use(['form','table','upload', 'element', 'layer'], function(){
139139

140140
//监听行工具事件
141141
table.on('tool(test)', function(obj){
142-
var data = obj.data;
143-
//console.log(obj)
142+
const data = obj.data;
144143
if(obj.event === 'del'){
145144
layer.confirm('真的删除行么', function(index){
146-
obj.del();
145+
$.ajax({
146+
type: "POST",
147+
data: {
148+
'id': data.id
149+
},
150+
url: '/stu/del',
151+
success: function (result) {
152+
if (result.data > 0) {
153+
obj.del();
154+
table.reload('test',{
155+
page:{
156+
curr:1
157+
}
158+
})
159+
alert("删除成功");
160+
}else {
161+
alert("删除失败");
162+
}
163+
}
164+
})
147165
layer.close(index);
148166
});
149167
} else if(obj.event === 'edit'){
150-
layer.prompt({
151-
formType: 2
152-
,value: data.email
153-
}, function(value, index){
154-
obj.update({
155-
email: value
156-
});
157-
layer.close(index);
168+
$('#demo1').attr('src', "" + data.portrait_path)
169+
form.val('example', {
170+
'sno': data.sno,
171+
'username': data.username,
172+
'password': data.password,
173+
'gender': data.gender,
174+
'email': data.email,
175+
'telephone': data.telephone,
176+
'address': data.address,
177+
'introduce': data.introduce,
178+
'clazz_id': data.clazz_id
179+
})
180+
layer.open({
181+
type: 1,
182+
title:'修改',
183+
area: ['50%', '50%'],
184+
btn: ['确认', '取消'],
185+
content: $('#window'),
186+
yes: function (index) {
187+
var stuData = form.val('example')
188+
$.ajax({
189+
type: "POST",
190+
data: {
191+
'id':data.id,
192+
'sno': stuData.sno,
193+
'username': stuData.username,
194+
'password': stuData.password,
195+
'gender': stuData.gender,
196+
'email': stuData.email,
197+
'telephone': stuData.telephone,
198+
'address': stuData.address,
199+
'introduce': stuData.introduce,
200+
'portrait_path': file,
201+
'clazz_id': stuData.clazz_id,
202+
},
203+
url: '/stu/update',
204+
error: function (XMLHttpRequest) {
205+
alert("更新失败了!");
206+
alert(XMLHttpRequest.status);
207+
},
208+
success: function (result) {
209+
if (result.data > 0) {
210+
layer.closeAll();
211+
table.reload('test',{
212+
page:{
213+
curr:1
214+
}
215+
})
216+
alert("更新成功");
217+
}else {
218+
alert("更新失败");
219+
}
220+
}
221+
}
222+
)
223+
}
158224
});
159225
}
160226
});

src/main/resources/templates/personInfo.html renamed to src/main/resources/templates/adminInfo.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@
55
<title>Title</title>
66
</head>
77
<body>
8-
<h1>个人信息</h1>
8+
admin
99
</body>
1010
</html>

src/main/resources/templates/main.html

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,15 @@
3232
<div class="layui-side layui-bg-black">
3333
<div class="layui-side-scroll">
3434
<!-- 左侧导航区域(可配合layui已有的垂直导航) -->
35-
<ul class="layui-nav layui-nav-tree" lay-filter="test">
35+
<ul class="layui-nav layui-nav-tree" lay-filter="test" th:switch="${session.role}">
3636
<li class="layui-nav-item leftdaohang" data-url="stuList.html" mytitle="学生管理"><a>学生管理</a></li>
3737
<li th:style="'display:' + @{(${session.role}<2 ? 'inline-block' : 'none')} + ''" class="layui-nav-item leftdaohang" data-url="/teaList.html" mytitle="教师管理"><a>教师管理</a></li>
3838
<li th:style="'display:' + @{(${session.role}<2 ? 'inline-block' : 'none')} + ''" class="layui-nav-item leftdaohang" data-url="clazzList.html" mytitle="班级管理"><a>班级管理</a></li>
3939
<li th:style="'display:' + @{(${session.role}<1 ? 'inline-block' : 'none')} + ''" class="layui-nav-item leftdaohang" data-url="gradeList.html" mytitle="年级管理"><a>年级管理</a></li>
4040
<li th:style="'display:' + @{(${session.role}<1 ? 'inline-block' : 'none')} + ''" class="layui-nav-item leftdaohang" data-url="userList.html" mytitle="用户管理"><a>用户管理</a></li>
41-
<li class="layui-nav-item leftdaohang" data-url="personInfo.html" mytitle="个人信息"><a>个人信息</a></li>
41+
<li th:style="'display:' + @{(${session.role}==2 ? 'inline-block' : 'none')} + ''" class="layui-nav-item leftdaohang" data-url="stuInfo.html" mytitle="个人信息"><a>个人信息</a></li>
42+
<li th:style="'display:' + @{(${session.role}==1 ? 'inline-block' : 'none')} + ''" class="layui-nav-item leftdaohang" data-url="teaInfo.html" mytitle="个人信息"><a>个人信息</a></li>
43+
<li th:style="'display:' + @{(${session.role}==0 ? 'inline-block' : 'none')} + ''" class="layui-nav-item leftdaohang" data-url="adminInfo.html" mytitle="个人信息"><a>个人信息</a></li>
4244
</ul>
4345
</div>
4446
</div>
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
<!DOCTYPE html>
2+
<html lang="en" xmlns:th="http://www.thymeleaf.org">
3+
<head>
4+
<meta charset="utf-8">
5+
<title>Layui</title>
6+
<meta name="renderer" content="webkit">
7+
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
8+
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
9+
<link rel="stylesheet" href="../layui/css/layui.css">
10+
</head>
11+
<body>
12+
13+
<input name="sessionData" id="sessionData" style="display: none" th:value="${session.loginUser}">
14+
<form class="layui-form" id="info" method="post" lay-filter="example">
15+
<div class="layui-form-item">
16+
<label class="layui-form-label">Id</label>
17+
<div class="layui-input-block">
18+
<input type="text" id="id" name="id" th:value="${session.loginUser.id}" autocomplete="off" class="layui-input">
19+
</div>
20+
</div>
21+
<div class="layui-form-item">
22+
<label class="layui-form-label">学号</label>
23+
<div class="layui-input-block">
24+
<input type="text" id="sno" name="sno" th:value="${session.loginUser.sno}" lay-verify="required" lay-reqtext="用户名是必填项,岂能为空?" autocomplete="off" placeholder="请输入学号" class="layui-input">
25+
</div>
26+
</div>
27+
<div class="layui-form-item">
28+
<label class="layui-form-label">姓名</label>
29+
<div class="layui-input-block">
30+
<input type="text" id="username" name="username" th:value="${session.loginUser.username}" lay-verify="required" lay-reqtext="用户名是必填项,岂能为空?" autocomplete="off" placeholder="请输入姓名" class="layui-input">
31+
</div>
32+
</div>
33+
<div class="layui-form-item">
34+
<label class="layui-form-label">密码</label>
35+
<div class="layui-input-block">
36+
<input type="text" id="password" name="password" th:value="${session.loginUser.password}" lay-verify="required" lay-reqtext="用户名是必填项,岂能为空?" placeholder="请输入密码" class="layui-input">
37+
</div>
38+
</div>
39+
<div class="layui-form-item">
40+
<label class="layui-form-label">性别</label>
41+
<div class="layui-input-block">
42+
<input type="radio" name="sex" value="" title="" >
43+
<input type="radio" name="sex" value="" title="" >
44+
</div>
45+
</div>
46+
<div class="layui-form-item">
47+
<label class="layui-form-label">邮箱</label>
48+
<div class="layui-input-block">
49+
<input type="text" id="email" name="email" th:value="${session.loginUser.email}" lay-verify="email" placeholder="请输入邮箱" class="layui-input">
50+
</div>
51+
</div>
52+
<div class="layui-form-item">
53+
<label class="layui-form-label">电话</label>
54+
<div class="layui-input-block">
55+
<input type="text" id="telephone" name="telephone" th:value="${session.loginUser.telephone}" lay-verify="phone" placeholder="请输入电话" class="layui-input">
56+
</div>
57+
</div>
58+
<div class="layui-form-item">
59+
<label class="layui-form-label">地址</label>
60+
<div class="layui-input-block">
61+
<input type="text" id="address" name="address" th:value="${session.loginUser.address}" lay-verify="title" autocomplete="off" placeholder="请输入地址" class="layui-input">
62+
</div>
63+
</div>
64+
<div class="layui-form-item">
65+
<label class="layui-form-label">介绍</label>
66+
<div class="layui-input-block">
67+
<input type="text" id="introduce" name="introduce" th:value="${session.loginUser.introduce}" lay-verify="title" autocomplete="off" placeholder="请输入介绍" class="layui-input">
68+
</div>
69+
</div>
70+
<div class="layui-form-item">
71+
<label class="layui-form-label">头像</label>
72+
<div class="layui-input-block">
73+
<div class="layui-upload">
74+
<button type="button" class="layui-btn" id="test1">上传图片</button>
75+
<div class="layui-upload-list">
76+
<img class="layui-upload-img" id="demo1" th:src="${session.loginUser.portrait_path}">
77+
<p id="demoText"></p>
78+
</div>
79+
<div style="width: 95px;">
80+
<div class="layui-progress layui-progress-big" lay-showpercent="yes" lay-filter="demo">
81+
<div class="layui-progress-bar" lay-percent=""></div>
82+
</div>
83+
</div>
84+
</div>
85+
<a name="list-progress"> </a>
86+
</div>
87+
</div>
88+
<div class="layui-form-item" th:style="'display:' + @{(${session.role}>1 ? 'inline-block' : 'none')} + ''">
89+
<label class="layui-form-label">班级</label>
90+
<div class="layui-input-block">
91+
<select name="clazz_id" lay-verify="">
92+
<option value="">请选择一个城市</option>
93+
<option value="01" >北京</option>
94+
<option value="02" >上海</option>
95+
<option value="05" >杭州</option>
96+
</select>
97+
</div>
98+
</div>
99+
<div class="layui-form-item">
100+
<div class="layui-input-block">
101+
<button type="submit" class="layui-btn" lay-submit="" lay-filter="demo1">立即提交</button>
102+
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
103+
</div>
104+
</div>
105+
</form>
106+
107+
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
108+
<script src="../layui/layui.js"></script>
109+
<script src="../js/stuInfo.js"></script>
110+
</body>
111+
</html>

0 commit comments

Comments
 (0)