From 0ab0d84955180a35d3bb42de612a046aba4e0bbe Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Thu, 05 Jun 2025 09:17:40 +0800
Subject: [PATCH] feat:个人中心
---
src/views/system/userinfo.vue | 33 ++++++++++++++++++++++++++++-----
src/store/modules/user.js | 2 +-
src/option/user/info.js | 15 +++++++++++++++
3 files changed, 44 insertions(+), 6 deletions(-)
diff --git a/src/option/user/info.js b/src/option/user/info.js
index b9d4ea9..b8a7ccf 100644
--- a/src/option/user/info.js
+++ b/src/option/user/info.js
@@ -1,6 +1,10 @@
export default {
tabs: true,
tabsActive: 1,
+ // 全局禁用自动填充
+ formAttrs: {
+ autocomplete: 'off'
+ },
group: [
{
label: '个人信息',
@@ -25,14 +29,25 @@
span: 12,
row: true,
prop: 'realName',
+ rules: [
+ {
+ required: true,
+ message: '姓名不能为空',
+ trigger: 'blur'
+ }
+ ],
+ required: true
+
},
{
label: '手机号',
span: 12,
row: true,
prop: 'phone',
+
},
{
+ slot: true,
label: '邮箱',
prop: 'email',
span: 12,
diff --git a/src/store/modules/user.js b/src/store/modules/user.js
index 734dfc0..3b6a410 100644
--- a/src/store/modules/user.js
+++ b/src/store/modules/user.js
@@ -39,7 +39,7 @@
token: getStore({ name: 'token' }) || '',
refreshToken: getStore({ name: 'refreshToken' }) || '',
parentDeptInfo: getStore({ name: 'parentDeptInfo' }) || '',
- defaultAva: defaultAva, // 将图片路径存入 state(可选)
+
},
actions: {
//根据用户名登录
diff --git a/src/views/system/userinfo.vue b/src/views/system/userinfo.vue
index b798ccc..7e75935 100644
--- a/src/views/system/userinfo.vue
+++ b/src/views/system/userinfo.vue
@@ -2,11 +2,27 @@
<div>
<basic-container>
<avue-form
+ ref="form"
:option="option"
v-model="form"
@tab-click="handleTabClick"
@submit="handleSubmit"
- ></avue-form>
+
+ >
+ <template #email="{ disabled, size }">
+ <el-input
+ id="adfsdafdsf"
+ type="text"
+ :disabled="disabled"
+ :size="size"
+ v-model="form.email"
+ placeholder="请输入邮箱"
+ :readonly="readonly"
+ @focus="readonly = false"
+ >
+ </el-input>
+ </template>
+ </avue-form>
</basic-container>
</div>
</template>
@@ -17,13 +33,14 @@
import md5 from 'js-md5';
import func from '@/utils/func';
import { validatenull } from '@/utils/validate';
-
+import defaultAva from '@/assets/images/defaultava.png';
export default {
data() {
return {
index: 0,
option: option,
- form: {},
+ form: { },
+ readonly: true
};
},
created() {
@@ -32,7 +49,9 @@
methods: {
handleSubmit(form, done) {
if (this.index === 0) {
- form.name = form.realName
+ form.name = form.realName;
+ console.log('form, done', form, done);
+
updateInfo(form).then(
res => {
if (res.data.success) {
@@ -80,17 +99,21 @@
if (this.index === 0) {
getUserInfo().then(res => {
const user = res.data.data;
+
this.form = {
id: user.id,
- avatar: user.avatar,
+ avatar: user.avatar ? user.avatar :defaultAva,
name: user.name,
realName: user.realName,
phone: user.phone,
email: user.email,
};
+ // console.log('用户信息',user);
+
});
}
},
+
handleTabClick(tabs) {
if (validatenull(tabs.index)) {
return;
--
Gitblit v1.9.3