<template>
	<view class="mine-container" :style="{ height: `${windowHeight}px` }">
		<view class="mine-top-bgc"></view>
		<view class="mine-box">
			<view class="mine-user">
				<view class="user-name-box">
					<view class="user-avatar">
						<up-avatar :src="avatarSrc" shape="square"></up-avatar>
					</view>
					<view class="user-name">战三</view>
				</view>
				<up-divider></up-divider>
				<view class="service-list" v-if="userType == '2'">
					<up-grid :border="false" col="4">
						<up-grid-item v-for="(listItem, listIndex) in serviceList" :key="listIndex"
							@click="onClick(listItem)">
							<view class="grid-box">
								<!-- <up-badge :isDot="true" type="success" class="item-badge"></up-badge> -->
								<up-icon :customStyle="{ paddingTop: 20 + 'rpx' }" :name="listItem.iconName"
									:size="22"></up-icon>
								<text class="grid-text">{{ listItem.name }}</text>

							</view>
						</up-grid-item>
					</up-grid>
				</view>
				<view class="service-list" v-if="userType == '1'">
					<up-grid :border="false" col="4">
						<up-grid-item v-for="(listItem, listIndex) in serviceList2" :key="listIndex"
							@click="onClick(listItem)">
							<view class="grid-box">
								<!-- <up-badge :isDot="true" type="success" class="item-badge"></up-badge> -->
								<up-icon :customStyle="{ paddingTop: 20 + 'rpx' }" :name="listItem.iconName"
									:size="22"></up-icon>
								<text class="grid-text">{{ listItem.name }}</text>
							</view>
						</up-grid-item>
					</up-grid>
				</view>
			</view>

			<view class="mine-card price-box" v-if="userType == '2'">
				<view class="price-item" v-for="item in priceList" :key="item.key">
					<view class="price-name flex-center"> {{ item.name }} </view>
					<view class="price-data flex-center">
						<up-count-to :startVal="0" :endVal="data[item.key]" :decimals="item.decimals"></up-count-to>
					</view>
					<text class="grid-min-price" v-if="item.key === 'balance'">待入账余额：{{ data[item.key] }}</text>

				</view>
			</view>

			<view class="mine-card" v-if="userType == '2'">
				<up-grid :border="false" col="4">
					<up-grid-item v-for="(listItem, listIndex) in orderList" :key="listIndex">
						<view class="grid-box">
							<text class="grid-text">{{ listItem.name }}</text>
							<up-count-to :startVal="0" :endVal="data[listItem.key]"></up-count-to>

						</view>
					</up-grid-item>
				</up-grid>
			</view>

			<view class="mine-card rate-box" v-if="userType == '2'">
				<view class="rate-left">
					<label>好评率：</label>
					<up-rate v-model="rateValue" active-color="rgba(255, 87, 4, 1)" inactive-color="#b2b2b2" gutter="20"
						readonly></up-rate>
				</view>

				<view class="rate-rigth" v-if="userType == '2'">
					<label class="rate-count">{{ rateValue }}</label>
					分
				</view>

			</view>

		</view>
	</view>
</template>

<script setup>
	import {
		onMounted,
		ref
	} from 'vue';
	import {
		getVolunteerAccount
	} from '@/api/volunteer.js'
	const userType = uni.getStorageSync('userType') //读取本地存储

	// 用户/志愿者 识别标识
	const userOrWorker = uni.getStorageSync('storage_data').vuex_userOrWorker //读取本地存储



	const serviceList = ref(
		[{
				name: '待服务',
				iconName: 'clock',
				page: '/pages/classify',
				value: 1
			},
			{
				name: '进行中',
				iconName: 'car',
				page: '/pages/classify',
				value: 2
			},
			{
				name: '已完成',
				iconName: 'car-fill',
				page: '/pages/classify',
				value: 3
			},
			{
				name: '差评申述',
				iconName: 'edit-pen',
				page: '/pages/myCenter/bad'
			},
			{
				name: '钱包',
				iconName: 'rmb-circle',
				page: '/pages/myCenter/wallet'
			},
			{
				name: '帮助与客服',
				iconName: 'kefu-ermai',
			},
		]);




	const serviceList2 = ref([{
			name: '待服务',
			iconName: 'clock',
			page: '/pages/classify',
			value: 1
		},

		{
			name: '进行中',
			iconName: 'car',
			page: '/pages/classify',
			value: 2
		},
		{
			name: '已完成',
			iconName: 'car-fill',
			page: '/pages/classify',
			value: 3
		},
		{
			name: '评论',
			iconName: 'edit-pen',
			// page: '/pages/myCenter/bad'
		},
		{
			name: '钱包',
			iconName: 'rmb-circle',
			page: '/pages/myCenter/withdrawal'
		},
		{
			name: '帮助与客服',
			iconName: 'kefu-ermai',
		},
		{
			name: '浏览记录',
			iconName: 'eye',
			page: '/pages/myCenter/withdrawal'
		},
		{
			name: '收藏',
			iconName: 'star',
		},
	]);

	const priceList = [{
			name: '余额',
			key: 'balance',
			decimals: 2
		},
		{
			name: '订单总数',
			key: 'orderCount',
			decimals: 0
		}
	]


	
	const orderList = ref([{
			name: '预约单',
			key: 'orderCount'
		},
		{
			name: '进行单',
			key: 'orderCount'

		},
		{
			name: '完成单',
			key: 'orderCount'

		},
		{
			name: '取消单',
			key: 'orderCount'

		}
	]);

	const avatarSrc = ref('/static/my/客服.png');
	const data = ref({
		balance: 0.0,
		orderCount: 0,
	});
	const rateValue = ref(3);
	const onClick = (record) => {
		console.log('record', record, record.page);
		if (record.page && record.value) {
			const app = getApp();
			app.globalData.switchTabParams = {
				tabKey: record.value
			};
			// JS跳转 
			uni.switchTab({
				url: record.page
			});
			return;
		}
		if (record.page) {
			uni.navigateTo({
				url: record.page
			});
		}
	}

	const getDetails = async () => {
		try {
			// const res = await getVolunteerAccount();
			// console.log('res',res);

		} catch (error) {
			console.log('error', error);

		}
	}
</script>

<style lang="scss" scoped>
	.mine-card {
		border-radius: 8px;
		background: rgba(255, 255, 255, 1);
		padding: 12px;
		margin-bottom: 12px;
	}

	.mine-container {
		position: fixed;
		top: 0px;
		left: 0px;
		right: 0px;
		bottom: 0px;
		background: rgba(245, 245, 245, 1);

		.mine-top-bgc {
			height: 120px;
			background: linear-gradient(180deg, rgba(255, 219, 171, 1) 0%, rgba(242, 151, 99, 1) 100%);

		}

		.mine-box {
			position: absolute;
			top: 40px;
			left: 12px;
			right: 12px;
			bottom: 0px;
			overflow-y: auto;


			.mine-user {
				border-radius: 8px;
				background: rgba(255, 255, 255, 1);
				margin-bottom: 12px;

				.user-name-box {
					display: flex;
					align-items: center;
					padding: 12px 12px 0;

					.user-avatar {}

					.user-name {
						font-size: 18px;
						font-weight: 700;
						line-height: 21.09px;
						color: rgba(51, 51, 51, 1);
						margin-left: 12px;
					}
				}
			}
		}

		

				.service-list {
					padding-bottom: 12px;
				}

				.grid-text {
					font-size: 14px;
					color: #909399;
					padding: 10rpx 0 20rpx 0rpx;
					/* #ifndef APP-PLUS */
					box-sizing: border-box;
					/* #endif */
				}

				.grid-box {
					display: flex;
					align-items: center;
					justify-content: center;
					flex-direction: column;
					position: relative;

					.item-badge {
						position: absolute;
					}
				}

				.price-box {
					display: flex;
					align-content: center;
					justify-content: space-between;
					// padding: 12px;

					.price-item {
						width: 50%;
						padding: 12px;

						.price-name {
							font-size: 16px;
							font-weight: 700;
							line-height: 23.17px;
							color: rgba(51, 51, 51, 1);
							margin-bottom: 12px;
						}

						.price-data {
							font-size: 20px;
							font-weight: 700;
							line-height: 23.44px;
							color: rgba(51, 51, 51, 1);
						}
					}

					.price-item:first-child {
						border-right: 1px solid #dcdfe6;

					}

				}


				.rate-box {
					display: flex;
					align-items: center;
					justify-content: space-between;

					.rate-left {
						font-size: 14px;
						font-weight: 500;
						letter-spacing: 0px;
						line-height: 20.27px;
						color: rgba(0, 0, 0, 1);

						display: flex;
						align-items: center;
						justify-content: left;

						flex: 1;
					}

					.rate-rigth {
						font-size: 14px;
						font-weight: 500;
						letter-spacing: 0px;
						line-height: 20.27px;
						color: rgba(0, 0, 0, 1);

						.rate-count {
							color: rgba(237, 123, 47, 1);
						}
					}
				}


			}
</style>