From caa09ce704aa98b0e231ffb35d1811d4db4bf465 Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期二, 18 二月 2025 14:27:06 +0800
Subject: [PATCH] gx

---
 src/views/personal/index.vue |  168 ++++++++++++++++++++++++++-----------------------------
 1 files changed, 80 insertions(+), 88 deletions(-)

diff --git a/src/views/personal/index.vue b/src/views/personal/index.vue
index 4ca238e..69980dc 100644
--- a/src/views/personal/index.vue
+++ b/src/views/personal/index.vue
@@ -16,25 +16,22 @@
 								<el-col :span="24">
 									<el-row>
 										<el-col :xs="24" :sm="8" class="personal-item mb6">
-											<div class="personal-item-label">昵称:</div>
-											<div class="personal-item-value">小柒</div>
+											<div class="personal-item-label">姓名:</div>
+											<div class="personal-item-value">{{state.personalForm.name}}</div>
 										</el-col>
 										<el-col :xs="24" :sm="16" class="personal-item mb6">
 											<div class="personal-item-label">身份:</div>
-											<div class="personal-item-value">超级管理</div>
+											<div class="personal-item-value">
+												<el-tag style="margin-right:20px" type="warning" v-for="item in state.personalForm.roles" :key="item">{{item.roleText}}</el-tag>
+											</div>
 										</el-col>
 									</el-row>
 								</el-col>
 								<el-col :span="24">
 									<el-row>
-										<el-col :xs="24" :sm="8" class="personal-item mb6">
-											<div class="personal-item-label">登录IP:</div>
-											<div class="personal-item-value">192.168.1.1</div>
-										</el-col>
-										<el-col :xs="24" :sm="16" class="personal-item mb6">
-											<div class="personal-item-label">登录时间:</div>
-											<div class="personal-item-value">2021-02-05 18:47:26</div>
-										</el-col>
+										<div  v-for="item in userInfos.clientInfos" :key="item.code">
+												<el-tag style="margin-right:20px" type="primary" >{{item.clientName}}</el-tag>
+											</div>
 									</el-row>
 								</el-col>
 							</el-row>
@@ -60,22 +57,7 @@
 				</el-card>
 			</el-col>
 
-			<!-- 营销推荐 -->
-			<el-col :span="24">
-				<el-card shadow="hover" class="mt15" header="营销推荐">
-					<el-row :gutter="15" class="personal-recommend-row">
-						<el-col :sm="6" v-for="(v, k) in state.recommendList" :key="k" class="personal-recommend-col">
-							<div class="personal-recommend" :style="{ 'background-color': v.bg }">
-								<SvgIcon :name="v.icon" :size="70" :style="{ color: v.iconColor }" />
-								<div class="personal-recommend-auto">
-									<div>{{ v.title }}</div>
-									<div class="personal-recommend-msg">{{ v.msg }}</div>
-								</div>
-							</div>
-						</el-col>
-					</el-row>
-				</el-card>
-			</el-col>
+			
 
 			<!-- 更新信息 -->
 			<el-col :span="24">
@@ -84,27 +66,13 @@
 					<el-form :model="state.personalForm" size="default" label-width="40px" class="mt35 mb35">
 						<el-row :gutter="35">
 							<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="4" class="mb20">
-								<el-form-item label="昵称">
+								<el-form-item label="姓名">
 									<el-input v-model="state.personalForm.name" placeholder="请输入昵称" clearable></el-input>
 								</el-form-item>
 							</el-col>
 							<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="4" class="mb20">
 								<el-form-item label="邮箱">
 									<el-input v-model="state.personalForm.email" placeholder="请输入邮箱" clearable></el-input>
-								</el-form-item>
-							</el-col>
-							<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="4" class="mb20">
-								<el-form-item label="签名">
-									<el-input v-model="state.personalForm.autograph" placeholder="请输入签名" clearable></el-input>
-								</el-form-item>
-							</el-col>
-							<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="4" class="mb20">
-								<el-form-item label="职业">
-									<el-select v-model="state.personalForm.occupation" placeholder="请选择职业" clearable class="w100">
-										<el-option label="计算机 / 互联网 / 通信" value="1"></el-option>
-										<el-option label="生产 / 工艺 / 制造" value="2"></el-option>
-										<el-option label="医疗 / 护理 / 制药" value="3"></el-option>
-									</el-select>
 								</el-form-item>
 							</el-col>
 							<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="4" class="mb20">
@@ -115,14 +83,14 @@
 							<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="4" class="mb20">
 								<el-form-item label="性别">
 									<el-select v-model="state.personalForm.sex" placeholder="请选择性别" clearable class="w100">
-										<el-option label="男" value="1"></el-option>
-										<el-option label="女" value="2"></el-option>
+										<el-option label="男" :value="0"></el-option>
+										<el-option label="女" :value="1"></el-option>
 									</el-select>
 								</el-form-item>
 							</el-col>
-							<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
+							<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="4" class="mb20">
 								<el-form-item>
-									<el-button type="primary">
+									<el-button type="primary" @click="updatePat">
 										<el-icon>
 											<ele-Position />
 										</el-icon>
@@ -137,75 +105,98 @@
 						<div class="personal-edit-safe-item">
 							<div class="personal-edit-safe-item-left">
 								<div class="personal-edit-safe-item-left-label">账户密码</div>
-								<div class="personal-edit-safe-item-left-value">当前密码强度:强</div>
+								<div class="personal-edit-safe-item-left-value">当前密码强度:一般</div>
 							</div>
 							<div class="personal-edit-safe-item-right">
-								<el-button text type="primary">立即修改</el-button>
+								<el-button text type="primary" @click="updataPSWD">立即修改</el-button>
 							</div>
 						</div>
 					</div>
-					<div class="personal-edit-safe-box">
-						<div class="personal-edit-safe-item">
-							<div class="personal-edit-safe-item-left">
-								<div class="personal-edit-safe-item-left-label">密保手机</div>
-								<div class="personal-edit-safe-item-left-value">已绑定手机:132****4108</div>
-							</div>
-							<div class="personal-edit-safe-item-right">
-								<el-button text type="primary">立即修改</el-button>
-							</div>
-						</div>
-					</div>
-					<div class="personal-edit-safe-box">
-						<div class="personal-edit-safe-item">
-							<div class="personal-edit-safe-item-left">
-								<div class="personal-edit-safe-item-left-label">密保问题</div>
-								<div class="personal-edit-safe-item-left-value">已设置密保问题,账号安全大幅度提升</div>
-							</div>
-							<div class="personal-edit-safe-item-right">
-								<el-button text type="primary">立即设置</el-button>
-							</div>
-						</div>
-					</div>
-					<div class="personal-edit-safe-box">
-						<div class="personal-edit-safe-item">
-							<div class="personal-edit-safe-item-left">
-								<div class="personal-edit-safe-item-left-label">绑定QQ</div>
-								<div class="personal-edit-safe-item-left-value">已绑定QQ:110****566</div>
-							</div>
-							<div class="personal-edit-safe-item-right">
-								<el-button text type="primary">立即设置</el-button>
-							</div>
-						</div>
-					</div>
+					
 				</el-card>
 			</el-col>
 		</el-row>
+		<editTemplate ref="editTemplateRef"></editTemplate>
 	</div>
 </template>
 
 <script setup lang="ts" name="personal">
-import { reactive, computed } from 'vue';
+import editTemplate from '/@/views/personal/component/editUserInfo.vue'
+import { reactive, computed, onMounted, ref } from 'vue';
 import { formatAxis } from '/@/utils/formatTime';
-import { newsInfoList, recommendList } from './mock';
-
+import { storeToRefs } from 'pinia';
+import { useUserInfo } from '/@/stores/userInfo';
+import {  recommendList } from './mock';
+import {getUserDetail2} from '/@/api/Patients'
+import {editUserInfo} from '/@/api/login'
+import { ElLoading } from 'element-plus';
+const stores = useUserInfo();
+const { userInfos } = storeToRefs(stores);
 // 定义变量内容
 const state = reactive<PersonalState>({
-	newsInfoList,
+	newsInfoList:[],
 	recommendList,
 	personalForm: {
+		id:0,
+		code:'',
 		name: '',
 		email: '',
-		autograph: '',
-		occupation: '',
 		phone: '',
-		sex: '',
+		sex: 0,
+		roles:[]
 	},
+	isShowDialog:false,
 });
+const editTemplateRef=ref()
 
 // 当前时间提示语
 const currentTime = computed(() => {
 	return formatAxis(new Date());
 });
+const updatePat=()=>{
+	const data={
+		id: state.personalForm.id,
+		code:state.personalForm.code,
+		userGender: state.personalForm.sex,
+		userName: state.personalForm.name,
+		userMobile: state.personalForm.phone,
+		userEmail:state.personalForm.email
+	}
+	console.log(data)
+	const loading = ElLoading.service({
+		lock: true,
+		text: 'Loading',
+		background: 'rgba(0, 0, 0, 0.7)',
+	})
+	editUserInfo(data).then(res=>{
+		console.log(res.data)
+	}).finally(()=>{
+		loading.close()
+		getDetail()
+	})
+}
+// 获取当前用户信息
+const getDetail = () => {
+      getUserDetail2(`code=${userInfos.value.code}`).then((res) => {
+		state.personalForm.id=res.data.id
+		state.personalForm.code=res.data.code
+        state.personalForm.name = res.data.userName
+        state.personalForm.phone = res.data.userMobile
+        state.personalForm.email = res.data.userEmail
+        state.personalForm.sex = res.data.userGender
+		state.personalForm.roles=res.data.roles
+
+		console.log(state.personalForm,'0000000')
+      })
+
+    }
+const updataPSWD=()=>{
+	editTemplateRef.value.openDialog(state.personalForm)
+}
+onMounted(()=>{
+	console.log(userInfos,'00000')
+	getDetail()
+})
 </script>
 
 <style scoped lang="scss">
@@ -252,6 +243,7 @@
 				}
 				.personal-item-value {
 					@include text-ellipsis(1);
+					
 				}
 			}
 		}

--
Gitblit v1.8.0