From 71d005bd483db64f6c3213fadbf7668e93a6e64c Mon Sep 17 00:00:00 2001 From: dap <15891557205@163.com> Date: Sun, 20 Oct 2024 11:01:20 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E4=B8=AA=E4=BA=BA=E4=B8=AD=E5=BF=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/_core/profile/components/base-setting.vue | 10 ++++------ apps/web-antd/src/views/_core/profile/index.vue | 4 +++- apps/web-antd/src/views/_core/profile/mitt.ts | 7 +++++++ 3 files changed, 14 insertions(+), 7 deletions(-) create mode 100644 apps/web-antd/src/views/_core/profile/mitt.ts diff --git a/apps/web-antd/src/views/_core/profile/components/base-setting.vue b/apps/web-antd/src/views/_core/profile/components/base-setting.vue index 197e9b39..1801b232 100644 --- a/apps/web-antd/src/views/_core/profile/components/base-setting.vue +++ b/apps/web-antd/src/views/_core/profile/components/base-setting.vue @@ -15,9 +15,9 @@ import { userProfileUpdate } from '#/api/system/profile'; import { useAuthStore } from '#/store'; import { getDictOptions } from '#/utils/dict'; -const props = defineProps<{ profile: UserProfile }>(); +import { emitter } from '../mitt'; -const emit = defineEmits<{ reload: [] }>(); +const props = defineProps<{ profile: UserProfile }>(); const userStore = useUserStore(); const authStore = useAuthStore(); @@ -93,7 +93,7 @@ async function handleSubmit(values: Recordable) { const userInfo = await authStore.fetchUserInfo(); userStore.setUserInfo(userInfo); // 左边reload - emit('reload'); + emitter.emit('updateProfile'); } catch (error) { console.error(error); } finally { @@ -109,9 +109,7 @@ onMounted(() => { 'phonenumber', 'sex', ]); - for (const key in data) { - formApi.setFieldValue(key, data[key as keyof typeof data]); - } + formApi.setValues(data); }); diff --git a/apps/web-antd/src/views/_core/profile/index.vue b/apps/web-antd/src/views/_core/profile/index.vue index b27d62df..7d437cf5 100644 --- a/apps/web-antd/src/views/_core/profile/index.vue +++ b/apps/web-antd/src/views/_core/profile/index.vue @@ -9,6 +9,7 @@ import { useUserStore } from '@vben/stores'; import { userProfile } from '#/api/system/profile'; import { useAuthStore } from '#/store'; +import { emitter } from './mitt'; import ProfilePanel from './profile-panel.vue'; import SettingPanel from './setting-panel.vue'; @@ -32,6 +33,8 @@ async function handleUploadFinish() { const userInfo = await authStore.fetchUserInfo(); userStore.setUserInfo(userInfo); } + +emitter.on('updateProfile', loadProfile);