Browse Source

commit

master
xuhuihui 3 years ago
parent
commit
e749a340ca
  1. 6
      04.系统编码/Backend/src/main/java/com/userinformation/backend/service/UserService.java
  2. 2
      04.系统编码/Frontend/.idea/workspace.xml
  3. 10
      04.系统编码/Frontend/src/components/Login.vue
  4. 99
      04.系统编码/Frontend/src/components/SystemManagement.vue

6
04.系统编码/Backend/src/main/java/com/userinformation/backend/service/UserService.java

@ -1,5 +1,6 @@
package com.userinformation.backend.service; package com.userinformation.backend.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -7,6 +8,7 @@ import com.userinformation.backend.mapper.UserMapper;
import com.userinformation.backend.model.dao.User; import com.userinformation.backend.model.dao.User;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List; import java.util.List;
@Service @Service
@ -24,10 +26,11 @@ public class UserService extends ServiceImpl<UserMapper, User> {
public List<User> findAllUserPage(Integer current, Integer size){ public List<User> findAllUserPage(Integer current, Integer size){
IPage<User> page = new Page<>(current, size); IPage<User> page = new Page<>(current, size);
return baseMapper.selectPage(page, null).getRecords(); return baseMapper.selectPage(page, new QueryWrapper<User>().orderByDesc("user_registration_date")).getRecords();
} }
public int insertUser(User user){ public int insertUser(User user){
user.setUserRegistrationDate(LocalDateTime.now());
return baseMapper.insert(user); return baseMapper.insert(user);
} }
@ -36,6 +39,7 @@ public class UserService extends ServiceImpl<UserMapper, User> {
} }
public int updateUser(User user){ public int updateUser(User user){
user.setUserRegistrationDate(LocalDateTime.now());
return baseMapper.updateById(user); return baseMapper.updateById(user);
} }
} }

2
04.系统编码/Frontend/.idea/workspace.xml

@ -4,6 +4,7 @@
<list default="true" id="4b7d7b72-f5b8-41e4-85d5-6267bdc12fc5" name="默认变更列表" comment=""> <list default="true" id="4b7d7b72-f5b8-41e4-85d5-6267bdc12fc5" name="默认变更列表" comment="">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/components/Login.vue" beforeDir="false" afterPath="$PROJECT_DIR$/src/components/Login.vue" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/components/Login.vue" beforeDir="false" afterPath="$PROJECT_DIR$/src/components/Login.vue" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/components/SystemManagement.vue" beforeDir="false" afterPath="$PROJECT_DIR$/src/components/SystemManagement.vue" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -75,6 +76,7 @@
<workItem from="1638430901827" duration="2042000" /> <workItem from="1638430901827" duration="2042000" />
<workItem from="1638433091413" duration="7649000" /> <workItem from="1638433091413" duration="7649000" />
<workItem from="1638440893221" duration="943000" /> <workItem from="1638440893221" duration="943000" />
<workItem from="1638441956659" duration="5371000" />
</task> </task>
<task id="LOCAL-00001" summary="2021 12 01"> <task id="LOCAL-00001" summary="2021 12 01">
<created>1638357539757</created> <created>1638357539757</created>

10
04.系统编码/Frontend/src/components/Login.vue

@ -40,10 +40,8 @@ export default {
const errors = []; const errors = [];
if (option.inputName == null || option.inputName.trim().length == 0) if (option.inputName == null || option.inputName.trim().length == 0)
errors.push('登录名'); errors.push('登录名');
if (option.inputPassword == null || option.inputPassword.trim().length == 0) if (option.inputPassword == null || option.inputPassword.trim().length == 0)
errors.push('登录密码'); errors.push('登录密码');
return errors; return errors;
} }
@ -70,8 +68,6 @@ export default {
} }
}) })
} }
} }
return { return {
@ -109,8 +105,6 @@ export default {
} }
.importInput { .importInput {
//width: 6.51rem;
//height: 6.89rem;
background: #FFFFFF; background: #FFFFFF;
border: 1px solid #707070; border: 1px solid #707070;
opacity: 1; opacity: 1;
@ -153,6 +147,7 @@ export default {
padding-left: 0.54rem; padding-left: 0.54rem;
} }
} }
img { img {
width: 0.18rem; width: 0.18rem;
height: 0.1792rem; height: 0.1792rem;
@ -162,11 +157,13 @@ export default {
} }
} }
} }
img { img {
width: 1.5733rem; width: 1.5733rem;
height: 1.5715rem; height: 1.5715rem;
margin-top: .35rem; margin-top: .35rem;
} }
.btn{ .btn{
width: 4.96rem; width: 4.96rem;
height: 0.69rem; height: 0.69rem;
@ -177,4 +174,5 @@ export default {
font-size: 0.22rem; font-size: 0.22rem;
margin-bottom: 1.27rem; margin-bottom: 1.27rem;
} }
</style> </style>

99
04.系统编码/Frontend/src/components/SystemManagement.vue

@ -6,10 +6,8 @@
<div class="box"> <div class="box">
<div class="left"> <div class="left">
<h1>用户姓名</h1> <h1>用户姓名</h1>
<input type="text" v-model="state1" class="textInput"/> <input type="text" v-model="state1" class="textInput"/>
<div><img src="/images/search.png" @click="onSearch"></div>
<img src="/images/search.png" @click="onSearch">
</div> </div>
<div class="right"> <div class="right">
<span @click="onAddClick">添加新用户</span> <span @click="onAddClick">添加新用户</span>
@ -17,14 +15,13 @@
</div> </div>
<div class="tableMessage"> <div class="tableMessage">
<el-table :data="tableData" border style="width: 100%;color: black;"> <el-table :data="tableData" border style="color: black;">
<el-table-column type="index" label="序号" align="center" width="100px"/>
<el-table-column type="index" label="序号" width="176px" align="center"/> <el-table-column prop="userName" label="用户姓名" align="center"/>
<el-table-column prop="userName" label="用户姓名" width="201px" align="center"/> <el-table-column prop="userAccountNumber" label="用户账号" align="center"/>
<el-table-column prop="userAccountNumber" label="用户账号" width="280px" align="center"/> <el-table-column prop="userPhone" label="电话" align="center"/>
<el-table-column prop="userPhone" label="电话" width="278px" align="center"/> <el-table-column prop="userEmail" label="邮箱" align="center"/>
<el-table-column prop="userEmail" label="邮箱" width="250px" align="center"/> <el-table-column prop="operation" label="操作" align="center">
<el-table-column prop="operation" label="操作" width="301px" align="center">
<template #default="scope"> <template #default="scope">
<div class="operation"> <div class="operation">
<span @click.prevent="onAmendClick(scope.$index, tableData)">修改信息</span> <span @click.prevent="onAmendClick(scope.$index, tableData)">修改信息</span>
@ -50,7 +47,7 @@
page-size="2" page-size="2"
@prev-click="prev" @prev-click="prev"
@next-click="next" @next-click="next"
@current-change="changenum"> @current-change="changEnum">
</el-pagination> </el-pagination>
</div> </div>
</div> </div>
@ -59,10 +56,10 @@
<el-dialog v-model="dialogFormVisible" :title="title" show-close=false center=true width="961px" top="17%"> <el-dialog v-model="dialogFormVisible" :title="title" show-close=false center=true width="961px" top="17%">
<el-form :model="form"> <el-form :model="form">
<el-form-item label="用户账号:" :label-width="formLabelWidth" > <el-form-item label="用户账号:" :label-width="formLabelWidth" >
<el-input v-model="form.userAccountNumber" autocomplete="off" style="width: 260px" :disabled="isdisabled"></el-input> <el-input v-model="form.userAccountNumber" autocomplete="off" style="width: 260px" :disabled="isDisabled"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="用户姓名:" :label-width="formLabelWidth"> <el-form-item label="用户密码:" :label-width="formLabelWidth">
<el-input v-model="form.userName" autocomplete="off" style="width: 260px"></el-input> <el-input v-model="form.userPassword" autocomplete="off" style="width: 260px" type="password"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="电话:" :label-width="formLabelWidth"> <el-form-item label="电话:" :label-width="formLabelWidth">
<el-input v-model="form.userPhone" autocomplete="off" style="width: 260px"></el-input> <el-input v-model="form.userPhone" autocomplete="off" style="width: 260px"></el-input>
@ -70,6 +67,9 @@
<el-form-item label="邮箱:" :label-width="formLabelWidth"> <el-form-item label="邮箱:" :label-width="formLabelWidth">
<el-input v-model="form.userEmail" autocomplete="off" style="width: 260px"></el-input> <el-input v-model="form.userEmail" autocomplete="off" style="width: 260px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="用户姓名:" :label-width="formLabelWidth">
<el-input v-model="form.userName" autocomplete="off" style="width: 260px"></el-input>
</el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
<span class="dialog-footer"> <span class="dialog-footer">
@ -88,13 +88,14 @@
import {reactive, toRefs ,ref , onMounted} from 'vue'; import {reactive, toRefs ,ref , onMounted} from 'vue';
import { post } from "../uilts/axios"; import { post } from "../uilts/axios";
import { ElMessage } from 'element-plus' import { ElMessage } from 'element-plus'
import { format } from '../hooks/String';
export default { export default {
name: 'SystemManagement', name: 'SystemManagement',
setup() { setup() {
let option = reactive({ let option = reactive({
state1:'', state1:'',
dialogFormVisible:false, dialogFormVisible:false,
isdisabled:false, isDisabled:false,
title:'', title:'',
formLabelWidth:"100px", formLabelWidth:"100px",
total:"", total:"",
@ -104,10 +105,10 @@ export default {
userName:'', userName:'',
userAccountNumber:'', userAccountNumber:'',
userPhone:'', userPhone:'',
userEmail:'' userEmail:'',
userPassword:''
}, },
tableData:[] tableData:[]
}) })
const findAllUser= ()=>{ const findAllUser= ()=>{
return post("user/findAllUser",{ return post("user/findAllUser",{
@ -124,23 +125,23 @@ export default {
findAllUser() findAllUser()
}) })
// //
const onAddClick = ()=> { const onAddClick = ()=> {
option.isdisabled=false option.isDisabled=false
option.title = '添加用户' option.title = '添加用户'
option.dialogFormVisible = true option.dialogFormVisible = true
option.form = { option.form = {
userName:'', userName:'',
userAccountNumber:'', userAccountNumber:'',
userPhone:'', userPhone:'',
userEmail:'' userEmail:'',
userPassword:''
} }
} }
// //
const onAmendClick = (index, rows)=>{ const onAmendClick = (index, rows)=>{
option.isdisabled = true option.isDisabled = true
option.title = '修改信息' option.title = '修改信息'
option.dialogFormVisible = true option.dialogFormVisible = true
option.form = JSON.parse(JSON.stringify(rows[index])) option.form = JSON.parse(JSON.stringify(rows[index]))
@ -189,14 +190,37 @@ export default {
findAllUser() findAllUser()
} }
const changenum =(e)=>{ const changEnum =(e)=>{
option.current= e option.current= e
findAllUser() findAllUser()
} }
const verify = () => {
let errors = [];
if (option.form.userAccountNumber == null || option.form.userAccountNumber.trim() == ""){
errors.push("用户账号");
}
if (option.form.userPassword == null || option.form.userPassword.trim() == ""){
errors.push("用户密码");
}
if (option.form.userName == null || option.form.userName.trim() == ""){
errors.push("用户姓名");
}
// if (option.form.userPhone == null || option.form.userPhone.trim() == ""){
// errors.push("");
// }
if (errors.length > 0){
ElMessage.error({
message: format("{0}不能为空", errors.join(", ")),
type: 'error'
});
}
return errors.length > 0;
}
const submit = ()=> { const submit = ()=> {
if (verify()) return;
if(option.title === '修改信息'){ if(option.title === '修改信息'){
post("user/updateUser", option.form, "application/json").then((res: any) => { post("user/updateUser", option.form, "application/json").then((res: any) => {
option.dialogFormVisible=false option.dialogFormVisible=false
@ -217,6 +241,7 @@ export default {
} }
if(option.title === '添加用户'){ if(option.title === '添加用户'){
if (verify()) return;
post("user/insertUser",option.form,"application/json").then((res:any)=>{ post("user/insertUser",option.form,"application/json").then((res:any)=>{
option.dialogFormVisible = false option.dialogFormVisible = false
if (res.error != 0){ if (res.error != 0){
@ -246,8 +271,7 @@ export default {
confirmEvent, confirmEvent,
prev, prev,
next, next,
changenum changEnum
} }
} }
} }
@ -273,23 +297,13 @@ export default {
.left{ .left{
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
position: relative; align-items: center;
.textInput{ .textInput{
width: 305px; width: 305px;
} height: 35px;
&::after { line-height: 35px;
content: ''; font-size: 20px;
width: 0;
height: 0;
display: block;
position: absolute;
top: 50%;
right: 70px;
transform: translateY(-50%);
border-left: 0.08rem solid transparent;
border-right: 0.08rem solid transparent;
border-top: 0.08rem solid #222222;
} }
h1{ h1{
@ -306,6 +320,7 @@ export default {
width: 44px; width: 44px;
height: 44px; height: 44px;
margin-left: 10px; margin-left: 10px;
padding-top: 4px;
cursor: pointer; cursor: pointer;
} }
} }
@ -342,7 +357,6 @@ export default {
opacity: 1; opacity: 1;
cursor: pointer; cursor: pointer;
font-weight: 400; font-weight: 400;
} }
} }
@ -360,7 +374,10 @@ export default {
:deep(.el-form){ :deep(.el-form){
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: space-evenly; justify-content: space-between;
margin: 0 auto;
width: 90%;
//align-content: flex-start;
} }
:deep(.el-button){ :deep(.el-button){

Loading…
Cancel
Save