💬 修改用户相关变量
This commit is contained in:
parent
7c49dc4b86
commit
b799b81efc
|
@ -1,6 +1,6 @@
|
||||||
package com.spring.step2.domain.entity;
|
package com.spring.step2.domain.entity;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
@ -24,7 +24,7 @@ public class UserEntity extends BaseEntity {
|
||||||
private String email;
|
private String email;
|
||||||
|
|
||||||
@Schema(name = "isDeleted", title = "是否被删除")
|
@Schema(name = "isDeleted", title = "是否被删除")
|
||||||
@TableLogic
|
@TableField(exist = false)
|
||||||
private Boolean isDeleted;
|
private Boolean isDeleted;
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,5 +1,6 @@
|
||||||
package com.spring.step2.domain.entity;
|
package com.spring.step2.domain.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
@ -20,6 +21,7 @@ public class UserRoleEntity extends BaseEntity {
|
||||||
private Long userId;
|
private Long userId;
|
||||||
|
|
||||||
@Schema(name = "isDeleted", title = "是否删除:0-未删除,1-已删除")
|
@Schema(name = "isDeleted", title = "是否删除:0-未删除,1-已删除")
|
||||||
|
@TableField(exist = false)
|
||||||
private Boolean isDeleted;
|
private Boolean isDeleted;
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,5 +1,8 @@
|
||||||
package com.spring.step2.domain.vo;
|
package com.spring.step2.domain.vo;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
@ -14,6 +17,8 @@ import java.time.LocalDateTime;
|
||||||
public class UserVo {
|
public class UserVo {
|
||||||
|
|
||||||
@Schema(name = "id", title = "主键")
|
@Schema(name = "id", title = "主键")
|
||||||
|
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||||
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
@Schema(name = "username", title = "用户名")
|
@Schema(name = "username", title = "用户名")
|
||||||
|
|
|
@ -15,28 +15,27 @@ const DialogUser = defineComponent({
|
||||||
<form @submit.prevent="onSubmit">
|
<form @submit.prevent="onSubmit">
|
||||||
<!-- 内容 -->
|
<!-- 内容 -->
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
|
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="form-label" for="dialogUsername"><i class="fas fa-user me-1"></i>用户名</label>
|
<label class="form-label" for="dialogUsername"><i class="fas fa-user me-1"></i>用户名</label>
|
||||||
<input autocomplete="false" class="form-control" id="dialogUsername" placeholder="请输入用户名"
|
<input autocomplete="false" class="form-control" id="dialogUsername" placeholder="请输入用户名"
|
||||||
type="text" v-model="userinfo.username" required>
|
type="text" v-model="form.username" required>
|
||||||
<div class="form-text">在这里输入你的用户名。</div>
|
<div class="form-text">在这里输入你的用户名。</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="form-label" for="dialogPassword"><i class="fas fa-lock me-1"></i>密码</label>
|
<label class="form-label" for="dialogPassword"><i class="fas fa-lock me-1"></i>密码</label>
|
||||||
<input autocomplete="false" class="form-control" id="dialogPassword" placeholder="请输入密码"
|
<input autocomplete="false" class="form-control" id="dialogPassword" placeholder="请输入密码"
|
||||||
type="password" v-model="userinfo.password">
|
type="password" v-model="form.password">
|
||||||
<div class="form-text">如果不修改或添加不填写此项。</div>
|
<div class="form-text">如果不修改或添加不填写此项。</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="form-label" for="dialogEmail"><i class="fas fa-envelope me-1"></i>邮箱</label>
|
<label class="form-label" for="dialogEmail"><i class="fas fa-envelope me-1"></i>邮箱</label>
|
||||||
<input autocomplete="false" class="form-control" id="dialogEmail" placeholder="请输入邮箱"
|
<input autocomplete="false" class="form-control" id="dialogEmail" placeholder="请输入邮箱"
|
||||||
type="email" v-model="userinfo.email" required>
|
type="email" v-model="form.email" required>
|
||||||
<div class="form-text">在这里输入你的邮箱。</div>
|
<div class="form-text">在这里输入你的邮箱。</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 底部 -->
|
<!-- 底部 -->
|
||||||
|
@ -59,15 +58,16 @@ const DialogUser = defineComponent({
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
modalInstance: ref(null)
|
modalInstance: ref(null),
|
||||||
|
form: ref({}),
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
async onSubmit() {
|
async onSubmit() {
|
||||||
// 是否添加表单
|
// 是否添加表单
|
||||||
const {code, message} = this.isAdd ?
|
const {code, message} = this.isAdd ?
|
||||||
await axiosInstance.post("/user", this.userinfo) :
|
await axiosInstance.post("/user", this.form) :
|
||||||
await axiosInstance.put("/user", this.userinfo);
|
await axiosInstance.put("/user", this.form);
|
||||||
|
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
antd.message.success(message);
|
antd.message.success(message);
|
||||||
|
@ -77,6 +77,12 @@ const DialogUser = defineComponent({
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
watch: {
|
||||||
|
userinfo(val) {
|
||||||
|
// 创建深拷贝,而不是直接赋值
|
||||||
|
this.form = JSON.parse(JSON.stringify(val));
|
||||||
|
},
|
||||||
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
// 初始化模态框实例
|
// 初始化模态框实例
|
||||||
const modalEl = this.$refs.modalRef;
|
const modalEl = this.$refs.modalRef;
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<link rel="stylesheet" th:href="@{/webjars/bootstrap/5.1.3/css/bootstrap.min.css}">
|
<link rel="stylesheet" th:href="@{/webjars/bootstrap/5.1.3/css/bootstrap.min.css}">
|
||||||
<!-- Font Awesome -->
|
<!-- Font Awesome -->
|
||||||
<link rel="stylesheet" th:href="@{/webjars/font-awesome/5.15.4/css/all.min.css}">
|
<link rel="stylesheet" th:href="@{/webjars/font-awesome/5.15.4/css/all.min.css}">
|
||||||
<link rel="stylesheet" th:href="@{/src/lib/css/user/style.css}">
|
<link rel="stylesheet" th:href="@{/src/lib/css/tablePage.css}">
|
||||||
<!-- Vue3 -->
|
<!-- Vue3 -->
|
||||||
<script th:src="@{/src/lib/js/vue/vue.global.js}"></script>
|
<script th:src="@{/src/lib/js/vue/vue.global.js}"></script>
|
||||||
<!-- Bootstrap JS Bundle with Popper -->
|
<!-- Bootstrap JS Bundle with Popper -->
|
||||||
|
@ -89,7 +89,7 @@
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr :key="user.id" v-for="(user,index) in userList">
|
<tr :key="user.id" v-for="(user,index) in dataList">
|
||||||
<th scope="row">{{index + 1}}</th>
|
<th scope="row">{{index + 1}}</th>
|
||||||
<td>{{user.username}}</td>
|
<td>{{user.username}}</td>
|
||||||
<td>{{user.email}}</td>
|
<td>{{user.email}}</td>
|
||||||
|
@ -145,7 +145,7 @@
|
||||||
// 弹窗标题
|
// 弹窗标题
|
||||||
dialogFormFlag: ref(false),
|
dialogFormFlag: ref(false),
|
||||||
// 查询用户列表
|
// 查询用户列表
|
||||||
userList: ref([])
|
dataList: ref([])
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {},
|
computed: {},
|
||||||
|
@ -159,10 +159,10 @@
|
||||||
async onSearch() {
|
async onSearch() {
|
||||||
const {pageNo, pageSize} = this.searchForm;
|
const {pageNo, pageSize} = this.searchForm;
|
||||||
// 查询数据
|
// 查询数据
|
||||||
const {data} = await axiosInstance.get(`/user/${pageNo}/${pageSize}`, {params: this.form})
|
const {data} = await axiosInstance.get(`/user/${pageNo}/${pageSize}`, {params: this.searchForm})
|
||||||
|
|
||||||
// 赋值数据
|
// 赋值数据
|
||||||
this.userList = data.list;
|
this.dataList = data.list;
|
||||||
|
|
||||||
// 设置分页内容
|
// 设置分页内容
|
||||||
this.searchForm.pageNo = data.pageNo;
|
this.searchForm.pageNo = data.pageNo;
|
||||||
|
@ -197,8 +197,10 @@
|
||||||
// 删除用户
|
// 删除用户
|
||||||
const {code, message} = await axiosInstance.delete(`/user`, {data: [user.id]});
|
const {code, message} = await axiosInstance.delete(`/user`, {data: [user.id]});
|
||||||
if (code === 200) {
|
if (code === 200) {
|
||||||
antd.message.success(message);
|
this.onSearch();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
antd.message.success(message);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
|
Loading…
Reference in New Issue