From 21e346b09b236c1645a4af2b045dd599b248b6f0 Mon Sep 17 00:00:00 2001
From: luohairen <3399054449@qq.com>
Date: 星期二, 29 十月 2024 17:07:06 +0800
Subject: [PATCH] 增加了重置密码的功能

---
 src/views/profile/components/UserCard.vue |   60 ++++++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 46 insertions(+), 14 deletions(-)

diff --git a/src/views/profile/components/UserCard.vue b/src/views/profile/components/UserCard.vue
index 251824c..567ff28 100644
--- a/src/views/profile/components/UserCard.vue
+++ b/src/views/profile/components/UserCard.vue
@@ -6,32 +6,41 @@
 
     <div class="user-profile">
       <div class="box-center">
-        <img :src="userInfo.imagePath === null ? require('@/assets/avatar.gif') : userInfo.imagePath " height="100px" width="100px" style="border-radius: 50px">
+        <input
+          type="file"
+          @change="changeHeadPortrait"
+          accept=".jpg, .png"
+          style="display: none"
+          ref="fileHeadPortrait"
+          id="fileHeadPortrait"
+        />
+
+        <img :src="userInfo.imagePath?'api/files/' + userInfo.imagePath : '/static/icons/touxiang.png'"
+             height="100px"
+             width="100px"
+             style="border-radius: 50px"
+             @click="uploadImage"
+             class="img"
+             id="headPortrait">
       </div>
       <div class="box-center">
         <div class="user-name text-center">{{ userInfo.userName }}</div>
         <div class="user-role text-center text-muted">{{ enumFormat(roleEnum,userInfo.role) }}</div>
       </div>
     </div>
-
-    <div class="user-bio">
-      <div class="user-education user-bio-section">
-        <div class="user-bio-section-header"><svg-icon icon-class="education" /><span>涓汉绠�浠�</span></div>
-        <div class="user-bio-section-body">
-          <div class="text-muted">
-           鏃�
-          </div>
-        </div>
-      </div>
-
-    </div>
   </el-card>
 </template>
 
 <script>
 import { mapGetters, mapState } from 'vuex'
+import userApi from '@/api/user'
 
 export default {
+  data() {
+    return {
+      uploadUrl: 'http://localhost:8000/api/upload/upload'
+    }
+  },
   props: {
     userInfo: {
       type: Object,
@@ -52,8 +61,31 @@
     ...mapState('enumItem', {
       roleEnum: state => state.user.roleEnum
     })
+  },
+  methods: {
+    changeHeadPortrait(e) {
+      let formData = new FormData();
+      if (e.target.files[0]) {
+        formData.set("file", e.target.files[0]);
+        userApi.uploadImg(formData).then(
+          this.$message.success('涓婁紶鎴愬姛'),
+        );
+      }
+    },
+    uploadImage(){
+      let logoFile = document.getElementById("fileHeadPortrait");
+      if (logoFile) {
+        logoFile.click();
+      }
+    },
+    getPage() {
+      userApi.getCurrentUser.then(re => {
+        let _this = this
+        _this.userInfo = re.data
+      })
+    }
   }
-}
+};
 </script>
 
 <style lang="scss" scoped>

--
Gitblit v1.8.0