From ca73a173f008c8d7a9d700bad897ca24fe2d2203 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期一, 16 十月 2023 09:29:57 +0800
Subject: [PATCH] 111

---
 minipro_standard/pages/mine/mine.vue |  245 ++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 193 insertions(+), 52 deletions(-)

diff --git a/minipro_standard/pages/mine/mine.vue b/minipro_standard/pages/mine/mine.vue
index 417e0d4..de9726e 100644
--- a/minipro_standard/pages/mine/mine.vue
+++ b/minipro_standard/pages/mine/mine.vue
@@ -1,74 +1,215 @@
 <template>
-	<view>
-
-		<myTabbar :index="2" />
-	</view>
+<view>
+	<div class="box">
+		 <!-- :style="{background: 'url(' + img + ')'}" -->
+		<div class="box_info">
+			<image :src="avatar" mode="widthFix" />
+			<div class="box_info_box">
+				<text>{{userInfo.realname}}</text>
+				<div class="box_info_box_x" @click="switchOrganization">
+					<text>{{userInfo.curComDepartment ? userInfo.curComDepartment.name : ''}}</text>
+					<image src="@/static/mine_ic_change@2x.png" alt="" />
+				</div>
+			</div>
+			<image class="bg" src="@/static/mine_bg@2x.png" mode="widthFix"></image>
+		</div>
+		<div class="box_function">
+			<div class="box_function_item" v-for="(item, index) in MENU" :key="index" @click="jump(item.url)">
+				<div class="box_function_item_left">
+					<image :src="item.icon" alt="" />
+					<text>{{item.name}}</text>
+				</div>
+				<div class="box_function_item_right">
+					<van-icon name="arrow" size="20" color="#CCCCCC" />
+				</div>
+			</div>
+		</div>
+		<div class="box_out" @click="loginOut"><text>閫�鍑虹櫥褰�</text></div>
+	</div>
+	<!-- 閮ㄩ棬閫夋嫨鍣� -->
+	<u-picker :show="show" :columns="columns" @confirm="onConfirm" @cancel="show = false"></u-picker>
+	<myTabbar :index="2" />
+</view>
 </template>
 
 <script>
+	import { changeCom, getDepartmentListByConditon } from '@/util/api/PersonalAPI'
 	import myTabbar from "@/components/myTabber.vue"
+	import { wxLoginOut } from '@/util/api'
+	import { mapState } from 'vuex'
 	export default {
 		components: {
 			myTabbar
 		},
+		computed: mapState([
+			'userInfo'
+		]),
 		data() {
 			return {
-				form: {
-					account: '',
-					password: '',
-				},
-				logining: false,
-				openId: ''
+				MENU: [
+					{ name: '涓汉淇℃伅', url: '/pages/personal/personal', icon: require('@/static/mine_ic_gerenxinxi@2x.png') },
+					// { name: '绯荤粺閫氱煡', url: '', icon: require('@/assets/icon/mine_ic_xitonggonggao@2x.png') },
+					{ name: '鏇存柊鎵嬫満鍙�', url: '/pages/updatePhone/updatePhone', icon: require('@/static/mine_ic_shoujihao@2x.png') },
+					{ name: '鏇存柊閭鍙�', url: '/pages/updateMailbox/updateMailbox', icon: require('@/static/mine_ic_youxianghao@2x.png') },
+					{ name: '鎵爜缁戝畾璐﹀彿', url: '', icon: require('@/static/mine_ic_bangding@2x.png') },
+					{ name: '淇敼瀵嗙爜', url: '/pages/changePassword/changePassword', icon: require('@/static/mine_ic_xiugaimima@2x.png') },
+				],
+				img: require('@/static/mine_bg@2x.png'),
+				avatar: require('@/static/2@2x.png'),
+				show: false,
+				columns: []
 			}
 		},
 		onLoad() {
-			// uni.login({
-			// 	success: data => {
-			// 		this.wxLogin(data.code)
-			// 	},
-			// 	fail: err => {
-			// 		uni.$u.toast(err)
-			// 	}
-			// })
+			uni.hideTabBar()
 		},
 		methods: {
-			// loginAction() {
-			// 	if (!this.form.account || !this.form.password) {
-			// 		uni.$u.toast('璐﹀彿鎴栬�呭瘑鐮佷笉鑳戒负绌�')
-			// 	}
-			// 	this.logining = true
-			// 	coustomLogin({...this.form, openid: this.openId})
-			// 		.then(res => {
-			// 			this.$store.commit('SETTOKEN', res.token)
-			// 			this.$store.commit('SETUSERINFO', res)
-			// 			uni.navigateTo({
-			// 				url:'/pages/projectList/projectList'
-			// 			})
-			// 		})
-			// 		.finally(() => {
-			// 			this.logining = false
-			// 		})
-			// },
-			// wxLogin(code) {
-			// 	wxEmpower({code})
-			// 		.then(res => {
-			// 			this.openId = res.openid
-			// 			if (res.userInfo) {
-			// 				this.$store.commit('SETTOKEN', res.userInfo.token)
-			// 				this.$store.commit('SETUSERINFO', res.userInfo)
-			// 				uni.navigateTo({
-			// 					url:'/pages/projectList/projectList'
-			// 				})
-			// 			} 
-			// 		})
-			// 		.catch(err => {
-			// 			uni.$u.toast(err)
-			// 		})
-			// }
+			// 閫�鍑虹櫥褰�
+			loginOut() {
+				wxLoginOut({
+					companyUserId: this.userInfo.companyUser.id
+				}).then(res => {
+					if (res.code === 200) {
+						this.$store.commit('clearCache')
+						uni.reLaunch({
+							url: '/pages/login/login'
+						});
+					}
+				})
+			},
+			// 纭鍒囨崲缁勭粐
+			onConfirm(e) {
+				changeCom(e.value[0].id).then(res => {
+					if (res.code === 200) {
+						this.show = false
+						uni.showToast({ title: '鏇存柊缁勭粐鎴愬姛', icon: 'success', duration: 2000 });
+						this.$store.dispatch('getUserInfos')
+					}
+				})
+			},
+			// 鑾峰彇缁勭粐
+			switchOrganization() {
+				getDepartmentListByConditon({
+					type: 0
+				}).then(res => {
+					if (res.code === 200) {
+						this.columns = []
+						let arr = []
+						res.data.forEach((item) => {
+							let obj = {
+								text: item.name, id: item.id
+							}
+							arr.push(obj)
+						})
+						this.columns.push(arr)
+						this.show = true
+					}
+				})
+			},
+			// 璺宠浆椤甸潰
+			jump(url) {
+				if (!url) return
+				uni.navigateTo({ url })
+			}
 		}
 	}
 </script>
 
 <style lang="scss" scoped>
-
+	.box {
+		width: 100%;
+		padding: 30rpx;
+		box-sizing: border-box;
+		.box_info {
+			padding: 0 30rpx;
+			height: 168rpx;
+			border-radius: 16rpx;
+			display: flex;
+			align-items: center;
+			background-repeat: no-repeat;
+			background-size: cover;
+			position: relative;
+			image {
+				width: 88rpx;
+				height: 88rpx;
+			}
+			.bg {
+				width: 100%;
+				height: 168rpx;
+				position: absolute;
+				top: 0;
+				left: 0;
+				z-index: -1;
+			}
+			.box_info_box {
+				height: 88rpx;
+				display: flex;
+				margin-left: 30rpx;
+				flex-direction: column;
+				justify-content: space-between;
+				.box_info_box_x {
+					display: flex;
+					align-items: center;
+					text {
+						font-size: 26rpx;
+						font-weight: 400;
+						color: rgba(255, 255, 255, 0.8);
+					}
+					image {
+						width: 26rpx;
+						height: 26rpx;
+						margin-left: 10rpx;
+					}
+				}
+				text {
+					font-size: 34rpx;
+					font-weight: 500;
+					color: #FFFFFF;
+				}
+			}
+		}
+		.box_function {
+			margin-top: 30rpx;
+			.box_function_item {
+				display: flex;
+				align-items: center;
+				justify-content: space-between;
+				height: 98rpx;
+				border-bottom: 1rpx solid #E5E5E5;
+				/*&:last-child {*/
+				/*    border: none;*/
+				/*}*/
+				.box_function_item_left {
+					display: flex;
+					align-items: center;
+					image {
+						width: 36rpx;
+						height: 36rpx;
+						margin-right: 24rpx;
+					}
+					text {
+						font-size: 30rpx;
+						font-weight: 400;
+						color: #222222;
+					}
+				}
+			}
+		}
+		.box_out {
+			position: fixed;
+			bottom: 200rpx;
+			left: 50%;
+			transform: translate(-50%, 0);
+			width: 350rpx;
+			height: 88rpx;
+			background: #F7F7F7;
+			border-radius: 44rpx;
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			font-size: 30rpx;
+			font-weight: 400;
+			color: #333333;
+		}
+	}
 </style>

--
Gitblit v1.9.3