feat(member): 会员增加 email 字段

pull/880/MERGE
YunaiV 2026-05-30 22:55:27 +08:00
parent aff1439629
commit 1b7fb5ed5d
4 changed files with 30 additions and 0 deletions

View File

@ -9,6 +9,7 @@ export interface UserVO {
loginIp: string
mark: string
mobile: string
email: string | undefined
name: string | undefined
nickname: string | undefined
registerIp: string

View File

@ -10,6 +10,9 @@
<el-form-item label="手机号" prop="mobile">
<el-input v-model="formData.mobile" placeholder="请输入手机号" />
</el-form-item>
<el-form-item label="邮箱" prop="email">
<el-input v-model="formData.email" maxlength="50" placeholder="请输入邮箱" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="formData.status">
<el-radio
@ -91,6 +94,7 @@ const formType = ref('') // 表单的类型create - 新增update - 修改
const formData = ref({
id: undefined,
mobile: undefined,
email: undefined,
password: undefined,
status: undefined,
nickname: undefined,
@ -105,6 +109,7 @@ const formData = ref({
})
const formRules = reactive({
mobile: [{ required: true, message: '手机号不能为空', trigger: 'blur' }],
email: [{ type: 'email', message: '请输入正确的邮箱地址', trigger: ['blur', 'change'] }],
status: [{ required: true, message: '状态不能为空', trigger: 'blur' }]
})
const formRef = ref() // Ref
@ -162,6 +167,7 @@ const resetForm = () => {
formData.value = {
id: undefined,
mobile: undefined,
email: undefined,
password: undefined,
status: undefined,
nickname: undefined,

View File

@ -27,6 +27,12 @@
</template>
{{ user.mobile }}
</el-descriptions-item>
<el-descriptions-item>
<template #label>
<descriptions-item-label icon="ep:message" label="邮箱" />
</template>
{{ user.email || '空' }}
</el-descriptions-item>
<el-descriptions-item>
<template #label>
<descriptions-item-label icon="fa:mars-double" label="性别" />
@ -87,6 +93,12 @@
</template>
{{ user.mobile }}
</el-descriptions-item>
<el-descriptions-item>
<template #label>
<descriptions-item-label icon="ep:message" label="邮箱" />
</template>
{{ user.email || '空' }}
</el-descriptions-item>
<el-descriptions-item>
<template #label>
<descriptions-item-label icon="fa:mars-double" label="性别" />

View File

@ -28,6 +28,15 @@
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="邮箱" prop="email">
<el-input
v-model="queryParams.email"
class="!w-240px"
clearable
placeholder="请输入邮箱"
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="注册时间" prop="createTime">
<el-date-picker
v-model="queryParams.createTime"
@ -90,6 +99,7 @@
</template>
</el-table-column>
<el-table-column align="center" label="手机号" prop="mobile" width="120px" />
<el-table-column align="center" label="邮箱" prop="email" width="180px" />
<el-table-column align="center" label="昵称" prop="nickname" width="80px" />
<el-table-column align="center" label="等级" prop="levelName" width="100px" />
<el-table-column align="center" label="分组" prop="groupName" width="100px" />
@ -227,6 +237,7 @@ const queryParams = reactive({
pageSize: 10,
nickname: null,
mobile: null,
email: null,
loginDate: [],
createTime: [],
tagIds: [],