修复用户信息修改页面数据绑定方式,改为使用axios进行数据获取和绑定
This commit is contained in:
@@ -9,8 +9,12 @@ import org.springframework.web.bind.annotation.GetMapping;
|
|||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import static com.fjy.spring.constant.GlobalConstant.USER_SESSION_KEY;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
public class DataController {
|
public class DataController {
|
||||||
|
|
||||||
@@ -38,6 +42,9 @@ public class DataController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private VUserfileService vUserfileService;
|
private VUserfileService vUserfileService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
HttpServletRequest httpServletRequest;
|
||||||
|
|
||||||
@GetMapping("/home/findAllHomework")
|
@GetMapping("/home/findAllHomework")
|
||||||
public List<VWorkDetail> findAllHomework(){
|
public List<VWorkDetail> findAllHomework(){
|
||||||
List<VWorkDetail> homeworks = workDetailService.findAll();
|
List<VWorkDetail> homeworks = workDetailService.findAll();
|
||||||
@@ -108,4 +115,10 @@ public class DataController {
|
|||||||
new UserException(ResultEnum.EMPTY_DATA);
|
new UserException(ResultEnum.EMPTY_DATA);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/home/userinfo")
|
||||||
|
public VUserinfo findUserInfo(){
|
||||||
|
TbUser user= (TbUser)httpServletRequest.getSession().getAttribute(USER_SESSION_KEY);
|
||||||
|
return userService.findUserInfo(user.getColuserid());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
74
src/main/java/com/fjy/spring/domain/VUserinfo.java
Normal file
74
src/main/java/com/fjy/spring/domain/VUserinfo.java
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
package com.fjy.spring.domain;
|
||||||
|
import org.hibernate.annotations.Immutable;
|
||||||
|
import org.hibernate.annotations.Subselect;
|
||||||
|
|
||||||
|
import javax.persistence.Entity;
|
||||||
|
import javax.persistence.Id;
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
@Immutable
|
||||||
|
@Subselect("SELECT * FROM v_userinfo")
|
||||||
|
public class VUserinfo {
|
||||||
|
@Id
|
||||||
|
private Integer coluserid;
|
||||||
|
|
||||||
|
private String colname;
|
||||||
|
|
||||||
|
private String colemail;
|
||||||
|
|
||||||
|
private String colstudentno;
|
||||||
|
|
||||||
|
private String colrealname;
|
||||||
|
|
||||||
|
public Integer getColuserid() {
|
||||||
|
return coluserid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setColuserid(Integer coluserid) {
|
||||||
|
this.coluserid = coluserid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getColname() {
|
||||||
|
return colname;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setColname(String colname) {
|
||||||
|
this.colname = colname;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public String getColemail() {
|
||||||
|
return colemail;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setColemail(String colemail) {
|
||||||
|
this.colemail = colemail;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getColstudentno() {
|
||||||
|
return colstudentno;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setColstudentno(String colstudentno) {
|
||||||
|
this.colstudentno = colstudentno;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getColrealname() {
|
||||||
|
return colrealname;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setColrealname(String colrealname) {
|
||||||
|
this.colrealname = colrealname;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "VUserinfo{" +
|
||||||
|
"coluserid=" + coluserid +
|
||||||
|
", colname='" + colname + '\'' +
|
||||||
|
", colemail='" + colemail + '\'' +
|
||||||
|
", colstudentno='" + colstudentno + '\'' +
|
||||||
|
", colrealname='" + colrealname + '\'' +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -6,7 +6,7 @@ import org.springframework.web.servlet.config.annotation.PathMatchConfigurer;
|
|||||||
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
|
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
|
||||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
||||||
|
|
||||||
/*@Configuration*/
|
@Configuration
|
||||||
public class WebAppConfig implements WebMvcConfigurer {
|
public class WebAppConfig implements WebMvcConfigurer {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
package com.fjy.spring.repository;
|
||||||
|
|
||||||
|
import com.fjy.spring.domain.VUserinfo;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
|
||||||
|
public interface VUserinfoRepository extends JpaRepository<VUserinfo,Integer> {
|
||||||
|
}
|
||||||
@@ -1,9 +1,11 @@
|
|||||||
package com.fjy.spring.service;
|
package com.fjy.spring.service;
|
||||||
|
|
||||||
import com.fjy.spring.domain.TbUser;
|
import com.fjy.spring.domain.TbUser;
|
||||||
|
import com.fjy.spring.domain.VUserinfo;
|
||||||
import com.fjy.spring.enums.ResultEnum;
|
import com.fjy.spring.enums.ResultEnum;
|
||||||
import com.fjy.spring.exception.UserException;
|
import com.fjy.spring.exception.UserException;
|
||||||
import com.fjy.spring.repository.TbUserRepository;
|
import com.fjy.spring.repository.TbUserRepository;
|
||||||
|
import com.fjy.spring.repository.VUserinfoRepository;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@@ -16,6 +18,9 @@ public class UserService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private TbUserRepository tbUserRepository;
|
private TbUserRepository tbUserRepository;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private VUserinfoRepository vUserinfoRepository;
|
||||||
|
|
||||||
|
|
||||||
public TbUser doLoginService(String name,String password){
|
public TbUser doLoginService(String name,String password){
|
||||||
TbUser user = (TbUser)tbUserRepository.findByColname(name).get();
|
TbUser user = (TbUser)tbUserRepository.findByColname(name).get();
|
||||||
@@ -44,4 +49,8 @@ public class UserService {
|
|||||||
return tbUserRepository.findAll();
|
return tbUserRepository.findAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public VUserinfo findUserInfo(Integer coluserid){
|
||||||
|
return vUserinfoRepository.findById(coluserid).get();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,6 +14,21 @@ function DateDiff(sDate1, sDate2){ //sDate1和sDate2是2002-12-18格式
|
|||||||
}
|
}
|
||||||
var Main = {
|
var Main = {
|
||||||
data() {
|
data() {
|
||||||
|
var checkName = (rule, value, callback) => {
|
||||||
|
if (!value) {
|
||||||
|
return callback(new Error('用户名不能为空'));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
var checkNo = (rule, value, callback) => {
|
||||||
|
if (!value) {
|
||||||
|
return callback(new Error('学号不能为空'));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
var checkRealName = (rule, value, callback) => {
|
||||||
|
if (!value) {
|
||||||
|
return callback(new Error('真实姓名不能为空'));
|
||||||
|
}
|
||||||
|
};
|
||||||
var validatePass = (rule, value, callback) => {
|
var validatePass = (rule, value, callback) => {
|
||||||
if (value === '') {
|
if (value === '') {
|
||||||
callback(new Error('请输入密码'));
|
callback(new Error('请输入密码'));
|
||||||
@@ -34,7 +49,7 @@ var Main = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
return {
|
return {
|
||||||
activeIndex: '1',
|
activeIndex: '2-1',
|
||||||
ruleForm2: {
|
ruleForm2: {
|
||||||
coluserid:'',
|
coluserid:'',
|
||||||
colname: '',
|
colname: '',
|
||||||
@@ -45,9 +60,29 @@ var Main = {
|
|||||||
checkPass: '',
|
checkPass: '',
|
||||||
},
|
},
|
||||||
rules2: {
|
rules2: {
|
||||||
|
colpassword: [
|
||||||
|
{required: true,validator: validatePass, trigger: 'blur'}
|
||||||
|
],
|
||||||
checkPass: [
|
checkPass: [
|
||||||
{ validator: validatePass2, trigger: 'blur'}
|
{required: true,validator: validatePass2, trigger: 'blur'}
|
||||||
]
|
],
|
||||||
|
colstudentno: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
validator: checkNo,
|
||||||
|
trigger: 'blur'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
colrealname: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
validator: checkRealName,
|
||||||
|
trigger: 'blur'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
colname: [
|
||||||
|
{required: true,validator: checkName, trigger: 'blur'}
|
||||||
|
],
|
||||||
},
|
},
|
||||||
tableHomeworkData: [
|
tableHomeworkData: [
|
||||||
{
|
{
|
||||||
@@ -130,6 +165,19 @@ var Main = {
|
|||||||
onSubmit() {
|
onSubmit() {
|
||||||
console.log('submit!');
|
console.log('submit!');
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
var that = this;
|
||||||
|
axios.get('http://localhost:8080/cms/home/userinfo')
|
||||||
|
.then(function (response) {
|
||||||
|
console.log(response.data);
|
||||||
|
that.ruleForm2 = response.data;
|
||||||
|
})
|
||||||
|
.catch(function (error) {
|
||||||
|
console.log(error);
|
||||||
|
});
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var Ctor = Vue.extend(Main)
|
var Ctor = Vue.extend(Main)
|
||||||
|
|||||||
@@ -23,18 +23,18 @@
|
|||||||
method="POST" name="register">
|
method="POST" name="register">
|
||||||
<el-form-item label="ID"
|
<el-form-item label="ID"
|
||||||
prop="coluserid">
|
prop="coluserid">
|
||||||
<el-input :readonly="true"
|
<el-input :readonly="true" v-model="ruleForm2.coluserid"
|
||||||
th:value="${#httpServletRequest.getSession().getAttribute('USER_SESSION').coluserid}" name="coluserid" readonly></el-input>
|
name="coluserid" readonly></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="用户名"
|
<el-form-item label="用户名"
|
||||||
prop="colname">
|
prop="colname">
|
||||||
<el-input
|
<el-input v-model="ruleForm2.colname"
|
||||||
th:value="${#httpServletRequest.getSession().getAttribute('USER_SESSION').colname}" name="colname" ref="name"></el-input>
|
name="colname" ref="name"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
label="密码" prop="colpassword">
|
label="密码" prop="colpassword">
|
||||||
<el-input type="password" placeholder="不改密码则留空"
|
<el-input type="password" placeholder="不改密码则留空" v-model="ruleForm2.colpassword"
|
||||||
v-model="ruleForm2.colpassword" auto-complete="off" name="colpassword"></el-input>
|
auto-complete="off" name="colpassword"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="确认密码" prop="checkPass">
|
<el-form-item label="确认密码" prop="checkPass">
|
||||||
<el-input placeholder="不改密码则留空"
|
<el-input placeholder="不改密码则留空"
|
||||||
@@ -43,19 +43,20 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="colemail" label="邮箱"
|
<el-form-item prop="colemail" label="邮箱"
|
||||||
:rules="[
|
:rules="[
|
||||||
|
{ required: true, message: '请输入邮箱地址', trigger: 'blur' },
|
||||||
{ type: 'email', message: '请输入正确的邮箱地址', trigger: 'blur,change' }
|
{ type: 'email', message: '请输入正确的邮箱地址', trigger: 'blur,change' }
|
||||||
]">
|
]">
|
||||||
<el-input th:value="${#httpServletRequest.getSession().getAttribute('USER_SESSION').colemail}" name="colemail" ref="email"></el-input>
|
<el-input v-model="ruleForm2.colemail" name="colemail" ref="email"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="学号"
|
<el-form-item label="学号"
|
||||||
prop="colstudentno">
|
prop="colstudentno">
|
||||||
<el-input
|
<el-input v-model="ruleForm2.colstudentno"
|
||||||
th:value="${#httpServletRequest.getSession().getAttribute('USER_SESSION').colstudentno}" name="colstudentno" ref="studentno"></el-input>
|
name="colstudentno" ref="studentno"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="真实姓名"
|
<el-form-item label="真实姓名"
|
||||||
prop="colrealname">
|
prop="colrealname">
|
||||||
<el-input
|
<el-input v-model="ruleForm2.colrealname"
|
||||||
th:value="${#httpServletRequest.getSession().getAttribute('USER_SESSION').colrealname}" name="colrealname" ref="realname"></el-input>
|
name="colrealname" ref="realname"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary"
|
<el-button type="primary"
|
||||||
|
|||||||
Reference in New Issue
Block a user