From 10d4c82e729694bd49a29f589d607690dc4b71f8 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 26 五月 2025 16:42:49 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 src/views/system/user/profile/userInfo.vue |   47 +++++++++++++++++++++++++++++------------------
 1 files changed, 29 insertions(+), 18 deletions(-)

diff --git a/src/views/system/user/profile/userInfo.vue b/src/views/system/user/profile/userInfo.vue
index 24c2019..77f6924 100644
--- a/src/views/system/user/profile/userInfo.vue
+++ b/src/views/system/user/profile/userInfo.vue
@@ -1,18 +1,18 @@
 <template>
-   <el-form ref="userRef" :model="user" :rules="rules" label-width="80px">
+   <el-form ref="userRef" :model="form" :rules="rules" label-width="80px">
       <el-form-item label="鐢ㄦ埛鏄电О" prop="nickName">
-         <el-input v-model="user.nickName" maxlength="30" />
+         <el-input v-model="form.nickName" maxlength="30" />
       </el-form-item>
       <el-form-item label="鎵嬫満鍙风爜" prop="phonenumber">
-         <el-input v-model="user.phonenumber" maxlength="11" />
+         <el-input v-model="form.phonenumber" maxlength="11" />
       </el-form-item>
       <el-form-item label="閭" prop="email">
-         <el-input v-model="user.email" maxlength="50" />
+         <el-input v-model="form.email" maxlength="50" />
       </el-form-item>
       <el-form-item label="鎬у埆">
-         <el-radio-group v-model="user.sex">
-            <el-radio label="0">鐢�</el-radio>
-            <el-radio label="1">濂�</el-radio>
+         <el-radio-group v-model="form.sex">
+            <el-radio value="0">鐢�</el-radio>
+            <el-radio value="1">濂�</el-radio>
          </el-radio-group>
       </el-form-item>
       <el-form-item>
@@ -23,34 +23,45 @@
 </template>
 
 <script setup>
-import { updateUserProfile } from "@/api/system/user";
+import { updateUserProfile } from "@/api/system/user"
 
 const props = defineProps({
   user: {
     type: Object
   }
-});
+})
 
-const { proxy } = getCurrentInstance();
+const { proxy } = getCurrentInstance()
 
+const form = ref({})
 const rules = ref({
   nickName: [{ required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" }],
   email: [{ required: true, message: "閭鍦板潃涓嶈兘涓虹┖", trigger: "blur" }, { type: "email", message: "璇疯緭鍏ユ纭殑閭鍦板潃", trigger: ["blur", "change"] }],
   phonenumber: [{ required: true, message: "鎵嬫満鍙风爜涓嶈兘涓虹┖", trigger: "blur" }, { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", trigger: "blur" }],
-});
+})
 
 /** 鎻愪氦鎸夐挳 */
 function submit() {
   proxy.$refs.userRef.validate(valid => {
     if (valid) {
-      updateUserProfile(props.user).then(response => {
-        proxy.$modal.msgSuccess("淇敼鎴愬姛");
-      });
+      updateUserProfile(form.value).then(response => {
+        proxy.$modal.msgSuccess("淇敼鎴愬姛")
+        props.user.phonenumber = form.value.phonenumber
+        props.user.email = form.value.email
+      })
     }
-  });
-};
+  })
+}
+
 /** 鍏抽棴鎸夐挳 */
 function close() {
-  proxy.$tab.closePage();
-};
+  proxy.$tab.closePage()
+}
+
+// 鍥炴樉褰撳墠鐧诲綍鐢ㄦ埛淇℃伅
+watch(() => props.user, user => {
+  if (user) {
+    form.value = { nickName: user.nickName, phonenumber: user.phonenumber, email: user.email, sex: user.sex }
+  }
+},{ immediate: true })
 </script>

--
Gitblit v1.9.3