This commit is contained in:
parent
b7e3835023
commit
df77d132d1
|
|
@ -13,21 +13,21 @@
|
|||
<div class="item">
|
||||
<!--邮箱-->
|
||||
<el-icon size="16">
|
||||
<component :is="'pi-icon-birthday'"/>
|
||||
<el-icon-message/>
|
||||
</el-icon>
|
||||
<el-text>{{ userInfo.email || "保密" }}</el-text>
|
||||
</div>
|
||||
<div class="item">
|
||||
<!--电话-->
|
||||
<el-icon size="16">
|
||||
<component :is="'pi-icon-birthday'"/>
|
||||
<el-icon-iphone/>
|
||||
</el-icon>
|
||||
<el-text>{{ userInfo.phone || "保密" }}</el-text>
|
||||
</div>
|
||||
<div class="item">
|
||||
<!--岗位-->
|
||||
<el-icon size="15">
|
||||
<component :is="'pi-icon-post'"/>
|
||||
<pi-icon-post/>
|
||||
</el-icon>
|
||||
<el-text>{{ userInfo.posts.map(item => item.post_name)?.join(" && ") }}</el-text>
|
||||
</div>
|
||||
|
|
@ -77,7 +77,8 @@
|
|||
<el-tab-pane label="基本信息" name="0">
|
||||
<el-form ref="infoRef" :model="form" style="max-width: 500px;" label-width="120px">
|
||||
<el-form-item label="头像" prop="avatar">
|
||||
<pi-upload v-model="form.avatar" title="头像" :cropper="true" :compress="1" :aspectRatio="1/1"></pi-upload>
|
||||
<pi-upload v-model="form.avatar" title="头像" :cropper="true" :compress="1"
|
||||
:aspectRatio="1/1"></pi-upload>
|
||||
</el-form-item>
|
||||
<el-form-item label="昵称" prop="nickname">
|
||||
<el-input v-model="form.nickname"></el-input>
|
||||
|
|
@ -91,12 +92,13 @@
|
|||
<el-form-item label="性别" prop="sex">
|
||||
<el-select v-model="form.sex">
|
||||
<el-option label="保密" :value="0" disabled/>
|
||||
<el-option label="男" :value="1" />
|
||||
<el-option label="女" :value="2" />
|
||||
<el-option label="男" :value="1"/>
|
||||
<el-option label="女" :value="2"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="生日" prop="birthday">
|
||||
<el-date-picker v-model="form.birthday" type="date" style="width: 100%;" value-format="YYYY-MM-DD"/>
|
||||
<el-date-picker v-model="form.birthday" type="date" style="width: 100%;"
|
||||
value-format="YYYY-MM-DD"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="介绍" prop="bio">
|
||||
<el-input v-model="form.bio" type="textarea"></el-input>
|
||||
|
|
@ -107,22 +109,28 @@
|
|||
</el-form>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="修改密码" name="1">
|
||||
<el-alert title="密码更新成功后,您将被重定向到登录页面,您可以使用新密码重新登录。" type="info" show-icon style="margin-bottom: 15px;"/>
|
||||
<el-form ref="passRef" :model="form2" :rules="rules" label-width="120px" style="max-width: 500px;">
|
||||
<el-alert title="密码更新成功后,您将被重定向到登录页面,您可以使用新密码重新登录。"
|
||||
type="info" show-icon style="margin-bottom: 15px;"/>
|
||||
<el-form ref="passRef" :model="form2" :rules="rules" label-width="120px"
|
||||
style="max-width: 500px;">
|
||||
<el-form-item label="当前密码" prop="old_password">
|
||||
<el-input v-model="form2.old_password" type="password" show-password placeholder="请输入当前密码"></el-input>
|
||||
<el-input v-model="form2.old_password" type="password" show-password
|
||||
placeholder="请输入当前密码"></el-input>
|
||||
<div class="el-form-item-msg">必须提供当前登录用户密码才能进行更改</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="新密码" prop="new_password">
|
||||
<el-input v-model="form2.new_password" type="password" show-password placeholder="请输入新密码"></el-input>
|
||||
<el-input v-model="form2.new_password" type="password" show-password
|
||||
placeholder="请输入新密码"></el-input>
|
||||
<pi-password-strength v-model="form2.new_password"></pi-password-strength>
|
||||
<div class="el-form-item-msg">请输入包含英文、数字的6位以上密码</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="确认新密码" prop="confirm_password">
|
||||
<el-input v-model="form2.confirm_password" type="password" show-password placeholder="请再次输入新密码"></el-input>
|
||||
<el-input v-model="form2.confirm_password" type="password" show-password
|
||||
placeholder="请再次输入新密码"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button :loading="isSaveing" type="primary" @click="savePass">保存密码</el-button>
|
||||
<el-button :loading="isSaveing" type="primary" @click="savePass">保存密码
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-tab-pane>
|
||||
|
|
@ -132,13 +140,13 @@
|
|||
<el-table-column label="操作" prop="title"></el-table-column>
|
||||
<el-table-column label="状态" prop="code">
|
||||
<template #default="scope">
|
||||
{{scope.row.code == 0 ? '成功' : '失败'}}
|
||||
{{ scope.row.code == 0 ? '成功' : '失败' }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="IP" prop="ip"></el-table-column>
|
||||
<el-table-column label="UA" prop="ua">
|
||||
<template #default="scope">
|
||||
{{tools.getBrowser(scope.row.ua)}}
|
||||
{{ tools.getBrowser(scope.row.ua) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="时间" prop="create_time"></el-table-column>
|
||||
|
|
@ -180,29 +188,33 @@ const form2 = ref({
|
|||
})
|
||||
const rules = ref({
|
||||
old_password: [
|
||||
{ required: true, message: '请输入当前密码'}
|
||||
{required: true, message: '请输入当前密码'}
|
||||
],
|
||||
new_password: [
|
||||
{ required: true, message: '请输入新密码'},
|
||||
{ min: 6, max: 30, message: '密码长度在6-30位之间' },
|
||||
{validator: (rule, value, callback) => {
|
||||
if(value === form2.value.old_password) {
|
||||
{required: true, message: '请输入新密码'},
|
||||
{min: 6, max: 30, message: '密码长度在6-30位之间'},
|
||||
{
|
||||
validator: (rule, value, callback) => {
|
||||
if (value === form2.value.old_password) {
|
||||
callback(new Error('新旧密码不能一致'));
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
}}
|
||||
}
|
||||
}
|
||||
],
|
||||
confirm_password: [
|
||||
{ required: true, message: '请再次输入新密码'},
|
||||
{ min: 6, max: 30, message: '密码长度在6-30位之间' },
|
||||
{validator: (rule, value, callback) => {
|
||||
{required: true, message: '请再次输入新密码'},
|
||||
{min: 6, max: 30, message: '密码长度在6-30位之间'},
|
||||
{
|
||||
validator: (rule, value, callback) => {
|
||||
if (value !== form2.value.new_password) {
|
||||
callback(new Error('两次输入密码不一致'));
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
}}
|
||||
}
|
||||
}
|
||||
]
|
||||
})
|
||||
|
||||
|
|
@ -213,9 +225,9 @@ onMounted(() => {
|
|||
const sex = computed(() => {
|
||||
if (userInfo.value.sex == 1) {
|
||||
return '男'
|
||||
}else if (userInfo.value.sex == 2) {
|
||||
} else if (userInfo.value.sex == 2) {
|
||||
return '女'
|
||||
}else {
|
||||
} else {
|
||||
return '保密'
|
||||
}
|
||||
})
|
||||
|
|
@ -263,8 +275,11 @@ async function saveInfo() {
|
|||
}
|
||||
|
||||
async function savePass() {
|
||||
const validate = await passRef.value.validate().catch(() => {});
|
||||
if(!validate){ return false }
|
||||
const validate = await passRef.value.validate().catch(() => {
|
||||
});
|
||||
if (!validate) {
|
||||
return false
|
||||
}
|
||||
const res = await api.auth.savePass(form2.value)
|
||||
proxy.$message.success(res.msg)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue