From 45c2b1944d48f036a17029fd8d9fba649656cf8e Mon Sep 17 00:00:00 2001
From: wujingjing <gersonwu@qq.com>
Date: 星期二, 03 十二月 2024 11:01:59 +0800
Subject: [PATCH] Merge branch 'test' of http://47.103.154.90:83/r/WI/Web.V1.0 into test

---
 src/layout/component/sidebar/SidebarOther.vue               |   13 +++++-
 src/layout/component/sidebar/components/UserInformation.vue |   56 ++++++++++++++++++++++++++++
 src/layout/component/sidebar/components/MenuList.vue        |   10 ++++
 3 files changed, 76 insertions(+), 3 deletions(-)

diff --git a/src/layout/component/sidebar/SidebarOther.vue b/src/layout/component/sidebar/SidebarOther.vue
index 5c58773..fb0cd5d 100644
--- a/src/layout/component/sidebar/SidebarOther.vue
+++ b/src/layout/component/sidebar/SidebarOther.vue
@@ -32,7 +32,8 @@
 						<span class="use_name">{{ firstUserCharacter }}</span>
 					</div>
 					<div class="isShow_Profile" v-show="isShowExitLogin">
-						<div class="exit" @click="feedbackClick"><i class="ywifont ywicon-youxiang"></i> 鐢ㄦ埛鍙嶉</div>
+						<div class="exit" @click="informationClick"><i class="ywifont ywicon-wode"></i> 鎴戠殑淇℃伅</div>
+						<!-- <div class="exit" @click="feedbackClick"><i class="ywifont ywicon-youxiang"></i> 鐢ㄦ埛鍙嶉</div> -->
 						<div class="exit" @click="logoutClick"><i class="ywifont ywicon-tuichu"></i> 閫�鍑虹櫥褰�</div>
 					</div>
 				</div>
@@ -128,6 +129,7 @@
 				</div>
 			</template>
 		</el-dialog>
+		<UserInformation v-model="userInformationVisible" />
 	</div>
 </template>
 
@@ -138,6 +140,7 @@
 import QRCode from 'qrcodejs2-fixes';
 import { computed, nextTick, onMounted, ref, watch, watchEffect } from 'vue';
 import type { ChatRoomItem } from './components/types';
+import UserInformation from './components/UserInformation.vue';
 import { DeleteHistoryGroups, setHistoryGroupTitle } from '/@/api/ai/chat';
 import { SERVE_URL } from '/@/constants';
 import { useSearch } from '/@/hooks/useSearch';
@@ -152,6 +155,7 @@
 	newChatRoomClick,
 	selectFirstRoom,
 } from '/@/stores/chatRoom';
+
 import emitter from '/@/utils/mitt';
 import { accessSessionKey, userNameKey } from '/@/utils/request';
 import { gotoRoute } from '/@/utils/route';
@@ -256,6 +260,12 @@
 };
 
 //#endregion
+//#region ====================== 鎴戠殑淇℃伅 ======================
+const userInformationVisible = ref(false);
+const informationClick = () => {
+	userInformationVisible.value = true;
+};
+//#endregion
 //#region ====================== 鏄剧ず/閫�鍑虹櫥褰� ======================
 //鐧诲綍
 const openLoginDlg = async () => {
@@ -342,7 +352,6 @@
 });
 onMounted(async () => {
 	selectFirstRoom();
-
 	emitter.on('openLoginDlg', () => {
 		if (isShowLogin.value || isLoginStatus.value) return;
 		openLoginDlg();
diff --git a/src/layout/component/sidebar/components/MenuList.vue b/src/layout/component/sidebar/components/MenuList.vue
index 5421544..bb6837a 100644
--- a/src/layout/component/sidebar/components/MenuList.vue
+++ b/src/layout/component/sidebar/components/MenuList.vue
@@ -28,6 +28,7 @@
 				></span>
 			</div>
 			<div class="pop_up actived" v-show="state.isShowExitLogin">
+					<div class="exit" @click="informationClick"><i class="ywifont ywicon-wode"></i> 鎴戠殑淇℃伅</div>
 				<div class="exit" @click="logoutClick"><i class="ywifont ywicon-tuichu"></i> 閫�鍑虹櫥褰�</div>
 			</div>
 		</div>
@@ -36,6 +37,7 @@
 				<span class="text-stone-100 font-medium text-center">鐧诲綍 / 娉ㄥ唽</span>
 			</div>
 		</div>
+		<UserInformation v-model="userInformationVisible" />
 	</div>
 </template>
 
@@ -47,6 +49,7 @@
 import { accessSessionKey, userNameKey } from '/@/utils/request';
 import { gotoRoute } from '/@/utils/route';
 import { Local, LoginInfo } from '/@/utils/storage';
+import UserInformation from './UserInformation.vue';
 const userName = ref('');
 const firstUserCharacter = computed(() => userName.value?.[0]?.toUpperCase());
 isLoginStatus.value = !!Local.get(accessSessionKey);
@@ -122,7 +125,12 @@
 		state.isShowExitLogin = false;
 	}
 };
-
+//#region ====================== 鎴戠殑淇℃伅 ======================
+const userInformationVisible = ref(false);
+const informationClick = () => {
+	userInformationVisible.value = true;
+};
+//#endregion
 onMounted(() => {
 	emitter.on('openLoginDlg', () => {
 		if (isShowLogin.value || isLoginStatus.value) return;
diff --git a/src/layout/component/sidebar/components/UserInformation.vue b/src/layout/component/sidebar/components/UserInformation.vue
new file mode 100644
index 0000000..2245311
--- /dev/null
+++ b/src/layout/component/sidebar/components/UserInformation.vue
@@ -0,0 +1,56 @@
+<template>
+	<div class="flex flex-col">
+		<el-dialog v-model="isShowInformation" title="鎴戠殑淇℃伅" width="500" :before-close="handleCloseInformation">
+			<el-form :model="userInformationInfo" ref="autoDialogFormRef" label-width="85">
+				<el-row :gutter="20" class="form_Class">
+					<el-col :span="12" class="note">
+						<el-form-item label="鐢ㄦ埛ID" prop="name"> <el-input v-model="userInformationInfo.note" readonly></el-input> </el-form-item
+					></el-col>
+					<el-col :span="12" class="mb20">
+						<el-form-item label="濮撳悕" prop="real_name">
+							<el-input v-model="userInformationInfo.real_name" readonly></el-input>
+						</el-form-item>
+					</el-col>
+					<el-col :span="12" class="mb20">
+						<el-form-item label="鎵嬫満鍙�" prop="phone">
+							<el-input v-model="userInformationInfo.phone" readonly></el-input>
+						</el-form-item>
+					</el-col>
+					<el-col :span="12" class="mb20"
+						><el-form-item label="鎬у埆" prop="sex"> <el-input v-model="userInformationInfo.sex" readonly></el-input> </el-form-item
+					></el-col>
+					<el-col :span="24" class="mb20">
+						<el-form-item label="閮ㄩ棬" prop="part"> <el-input v-model="userInformationInfo.part" readonly></el-input> </el-form-item
+					></el-col>
+
+					<el-col :span="24" class="mb20">
+						<el-form-item label="閭" prop="email">
+							<el-input v-model="userInformationInfo.email" readonly />
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+		</el-dialog>
+	</div>
+</template>
+
+<script setup lang="ts">
+//#region ====================== 鎴戠殑淇℃伅 ======================
+import { onMounted, ref } from 'vue';
+import { useUserInfo } from '/@/stores/userInfo';
+const isShowInformation = defineModel({
+	type: Boolean,
+});
+const userInformationInfo = ref({}) as any;
+//鍏抽棴
+const handleCloseInformation = () => {
+	isShowInformation.value = false;
+};
+//#endregion
+onMounted(async () => {
+	const stores = useUserInfo();
+	let userInfo = (await stores.getUserInfo()) as any;
+	userInformationInfo.value = userInfo;
+});
+</script>
+<style scoped lang="scss"></style>

--
Gitblit v1.9.3