<template>
    <view class="center-page">
        <!-- 顶部背景和个人信息 -->
        <view class="header" :style="{ 'background-image': 'url(/static/image/红烧肉.webp)' }">

            <view class="user-info">
                <image class="avatar" :src="userInfo.headImage" mode="aspectFill"></image>
                <view class="user-name-id">
                    <text class="user-name">{{ userInfo.nickName }}</text>
                    <text class="user-id">ID:{{ userInfo.id }}</text>
                </view>
            </view>

            <view class="role-switch-btn" @tap="switchIdentity">
                <uv-icon name="reload" size="30rpx" color="#fff" style="margin-right: 6rpx;" />
                <text>切换为{{ !identity ? '团长' : '团员'}}</text>
            </view>
        </view>

        <!-- 我的订单区域 -->
        <view class="orders-section">
            <view class="section-header">
                <text class="section-title">我的订单</text>
                <view class="view-all" @tap="navigateTo('/pages/index/order?status=all')">
                    <text>全部</text>
                    <uv-icon name="arrow-right" size="30rpx" color="#999" />
                </view>
            </view>

            <view class="order-types">
                <view class="order-type-item" v-if="identity === 0"
                    @tap="navigateTo('/pages/index/order?status=pending')">
                    <view class="order-icon-wrapper">
                        <view class="green-circle">
                            <uv-icon name="red-packet" size="44rpx" color="#fff" />
                        </view>
                        <uv-badge max="9" absolute :offset="[-10, -12]" bgColor="#FF2A2A"
                            :value="userInfo.waitingPayCount" style="padding: 10rpx 15rpx;" />
                    </view>
                    <text class="order-type-text">待支付</text>
                </view>

                <view class="order-type-item" @tap="navigateTo('/pages/index/order?status=processing')">
                    <view class="order-icon-wrapper">
                        <view class="green-circle">
                            <uv-icon name="chat" size="44rpx" color="#fff" />
                        </view>
                        <uv-badge max="9" absolute :offset="[-10, -12]" bgColor="#FF2A2A"
                            :value="userInfo.waitingDiningCount" style="padding: 10rpx 15rpx;" />
                    </view>
                    <text class="order-type-text">待出餐</text>
                </view>

                <view class="order-type-item" @tap="navigateTo('/pages/index/order?status=shipping')">
                    <view class="order-icon-wrapper">
                        <view class="green-circle">
                            <uv-icon name="chat" size="44rpx" color="#fff" />
                        </view>
                        <uv-badge max="9" absolute :offset="[-10, -12]" bgColor="#FF2A2A"
                            :value="userInfo.deliveringCount" style="padding: 10rpx 15rpx;" />
                    </view>
                    <text class="order-type-text">送餐中</text>
                </view>

                <view class="order-type-item" @tap="navigateTo('/pages/index/order?status=delivered')">
                    <view class="order-icon-wrapper">
                        <view class="green-circle">
                            <uv-icon name="chat" size="44rpx" color="#fff" />
                        </view>
                        <uv-badge max="9" absolute :offset="[-10, -12]" bgColor="#FF2A2A" :value="userInfo.pickupCount"
                            style="padding: 10rpx 15rpx;" />
                    </view>
                    <text class="order-type-text">待取餐</text>
                </view>

                <view class="order-type-item" @tap="navigateTo('/pages/index/order?status=completed')">
                    <view class="order-icon-wrapper">
                        <view class="green-circle">
                            <uv-icon name="chat" size="44rpx" color="#fff" />
                        </view>
                        <uv-badge max="9" absolute :offset="[-10, -12]" bgColor="#FF2A2A"
                            :value="userInfo.completedCount" style="padding: 10rpx 15rpx;" />
                    </view>
                    <text class="order-type-text">已完成</text>
                </view>
            </view>
        </view>

        <!-- 团员功能区域 -->
        <view class="member-functions">
            <view class="section-header">
                <text class="section-title">团员功能</text>
            </view>

            <view class="function-grid" v-if="identity === 0">
                <view class="function-item" @tap="navigateTo('/pages_order/mine/updateUser')">
                    <view class="function-icon">
                        <uv-icon name="chat" size="94rpx" color="#019245" />
                    </view>
                    <text class="function-text">资料修改</text>
                </view>

                <view class="function-item" @tap="navigateTo('/pages_order/mine/team')">
                    <view class="function-icon">
                        <uv-icon name="chat" size="94rpx" color="#019245" />
                    </view>
                    <text class="function-text">团长申请</text>
                </view>

                <view class="function-item" @tap="navigateTo('/pages_order/mine/unbindTeam')">
                    <view class="function-icon">
                        <uv-icon name="chat" size="94rpx" color="#019245" />
                    </view>
                    <text class="function-text">解绑团长</text>
                </view>

                <view class="function-item" @tap="navigateTo('/pages_order/mine/share')">
                    <view class="function-icon">
                        <uv-icon name="chat" size="94rpx" color="#019245" />
                    </view>
                    <text class="function-text">推广链接</text>
                </view>

                <view class="function-item" @tap="navigateTo('/pages_order/mine/coupon')">
                    <view class="function-icon">
                        <uv-icon name="chat" size="94rpx" color="#019245" />
                    </view>
                    <text class="function-text">优惠券</text>
                </view>

                <view class="function-item" @tap="navigateTo('/pages_order/mine/wallet')">
                    <view class="function-icon">
                        <uv-icon name="chat" size="94rpx" color="#019245" />
                    </view>
                    <text class="function-text">钱包</text>
                </view>

            </view>

            <view class="function-grid" v-else>
                <view class="function-item" @tap="navigateTo('/pages_order/mine/updateUser')">
                    <view class="function-icon">
                        <uv-icon name="chat" size="94rpx" color="#019245" />
                    </view>
                    <text class="function-text">我的资料</text>
                </view>

                <view class="function-item" @tap="navigateTo('/pages_order/mine/myTeam')">
                    <view class="function-icon">
                        <uv-icon name="chat" size="94rpx" color="#019245" />
                    </view>
                    <text class="function-text">我的团员</text>
                </view>

                <view class="function-item" @tap="navigateTo('/pages_order/mine/team')">
                    <view class="function-icon">
                        <uv-icon name="chat" size="94rpx" color="#019245" />
                    </view>
                    <text class="function-text">团长信息</text>
                </view>

                <view class="function-item" @tap="navigateTo('/pages_order/mine/share')">
                    <view class="function-icon">
                        <uv-icon name="chat" size="94rpx" color="#019245" />
                    </view>
                    <text class="function-text">推广链接</text>
                </view>


                <view class="function-item" @tap="navigateTo('/pages_order/mine/wallet')">
                    <view class="function-icon">
                        <uv-icon name="chat" size="94rpx" color="#019245" />
                    </view>
                    <text class="function-text">钱包</text>
                </view>
            </view>
        </view>

        <tabber select="center" />
    </view>
</template>

<script>
import tabber from '@/components/base/tabbar.vue'
// import { mockUserInfo } from '@/static/js/mockUserInfo.js'

// import { unix } from 'dayjs'

export default {
    components: {
        tabber
    },
    data() {
        return {
            // userInfo: mockUserInfo,
            identity: 0
        }
    },
    methods: {
        navigateTo(url) {
            this.$utils.navigateTo({
                url
            })
        },
        switchIdentity() {
            uni.showModal({
                title: '提示',
                content: `确定要切换为${this.identity === 0 ? '团长' : '团员'}吗？`,
                confirmColor: '#019245',
                // cancelColor: '#FF2A2A',
                success: (res) => {
                    if (res.confirm){
                        // 这里的切换逻辑
                        uni.showLoading({
                            title: '切换中...'
                        })  
                        setTimeout(() => {
                            uni.hideLoading();
                            this.identity = this.identity === 0 ? 1 : 0;
                            uni.setStorageSync('identity', this.identity)
                            uni.showToast({
                                title: '切换成功',
                                icon: 'success',
                                duration: 2000
                            })
                        }, 1000);
                    }
                }
            })
        }
    },
    onLoad (){
        // 进来加载的时候 会检查一次信息是否完整 若不完整 重新进入登录界面
		this.$store.commit('getUserInfo')
        uni.setStorageSync('identity', 0) // 一开始的身份默认为团员
        this.identity = uni.getStorageSync('identity') // 获取身份
    }
}
</script>

<style lang="scss" scoped>
.center-page {
    // min-height: 100vh;
    background-color: #f5f5f5;
    padding-bottom: 120rpx;
}

.header {
    position: relative;
    height: 340rpx;
    background-size: cover;
    background-position: center;
    color: #fff;
    padding: 60rpx 30rpx 0;
    display: flex;
    flex-direction: column;
    align-items: start;
    position: relative;

    .user-info {
        position: absolute;
        display: flex;
        align-items: center;
        margin-top: 30rpx;
        z-index: 2;
        left: 30rpx;
        top: 120rpx;

        .avatar {
            width: 110rpx;
            height: 110rpx;
            border-radius: 50%;
        }

        .user-name-id {
            margin-left: 30rpx;
            display: flex;
            flex-direction: column;

            .user-name {
                font-size: 32rpx;
                font-weight: bold;
                margin-bottom: 6rpx;
            }

            .user-id {
                font-size: 24rpx;
                opacity: 0.9;
            }
        }
    }

    .role-switch-btn {
        position: absolute;
        right: 0;
        top: 180rpx;
        background-color: rgba(255, 255, 255, 0.2);
        border-radius: 30rpx 0 0 30rpx;
        padding: 10rpx 20rpx;
        font-size: 24rpx;
        z-index: 2;
        display: flex;
        align-items: center;
    }
}

.orders-section {
    background-color: #fff;
    border-radius: 20rpx 20rpx 0 0;
    margin: -70rpx auto 0;
    padding: 15rpx;
    position: relative;
    z-index: 3;
    width: 90%;
    // margin: 0 auto;
}

.member-functions {
    background-color: #fff;
    padding: 30rpx;
    margin-top: 20rpx;
    width: 88%;
    border-radius: 20rpx;
    margin: 30rpx auto 0;
}

.section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 40rpx;

    .section-title {
        font-size: 32rpx;
        font-weight: 500;
        position: relative;
        padding-left: 15rpx;
    }

    .view-all {
        display: flex;
        align-items: center;
        font-size: 26rpx;
        color: $uni-color-third;
    }
}

.order-types {
    // background-color: red;
    display: flex;
    justify-content: space-around;

    .order-type-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        // width: 20%;

        .order-icon-wrapper {
            position: relative;
            margin-bottom: 4rpx;

            .green-circle {
                width: 70rpx;
                height: 70rpx;
                background-color: $uni-color;
                border-radius: 50%;
                display: flex;
                justify-content: center;
                align-items: center;
            }
        }

        .order-type-text {
            font-size: 26rpx;
            color: #666;
            margin-top: 8rpx;
        }
    }
}

.function-grid {
    display: flex;
    flex-wrap: wrap;

    .function-item {
        width: 25%;
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-bottom: 40rpx;

        .function-icon {
            width: 80rpx;
            height: 80rpx;
            display: flex;
            justify-content: center;
            align-items: center;
            margin-bottom: 16rpx;
        }

        .function-text {
            font-size: 26rpx;
            color: #333;
        }
    }
}
</style>