|
|
@@ -1,414 +1,425 @@
|
|
|
<template>
|
|
|
<view class="mine-container">
|
|
|
-
|
|
|
- <!-- 顶部用户信息区域 -->
|
|
|
- <view class="user-header">
|
|
|
- <StatusBarPlaceholder></StatusBarPlaceholder>
|
|
|
-
|
|
|
- <!-- 背景装饰 -->
|
|
|
- <view class="header-bg-decoration"></view>
|
|
|
-
|
|
|
- <view class="header-content">
|
|
|
- <view class="user-info">
|
|
|
- <view class="avatar-wrapper">
|
|
|
- <image class="avatar" src="/static/avatar-default.png" mode="aspectFill" />
|
|
|
- </view>
|
|
|
- <view class="user-details">
|
|
|
- <view class="name-row">
|
|
|
- <text class="user-name">赵建平</text>
|
|
|
- <text class="user-role">销售经理</text>
|
|
|
- </view>
|
|
|
- <text class="company-name">浙江舒博特网络科有限公司</text>
|
|
|
+ <image class="top-bg" src="/static/image/home/top-bg.png" />
|
|
|
+ <!-- 顶部背景区域 -->
|
|
|
+ <view class="header-bg">
|
|
|
+ <NavBar title="" color="#020202" :fixed="true" :bg="'transparent'">
|
|
|
+ <template #left>
|
|
|
+ <view class="left-title"></view>
|
|
|
+ </template>
|
|
|
+ </NavBar>
|
|
|
+ <!-- 用户信息 -->
|
|
|
+ <view class="user-info-section">
|
|
|
+ <view class="avatar-wrapper">
|
|
|
+ <image class="avatar" src="/static/image/public/avatar-default.png" mode="aspectFill" />
|
|
|
+ <image class="avatar-badge" src="/static/image/public/badge-icon.png" />
|
|
|
+ </view>
|
|
|
+ <view class="user-details">
|
|
|
+ <view class="name-row">
|
|
|
+ <text class="user-name">赵建平</text>
|
|
|
+ <text class="user-role">销售经理</text>
|
|
|
</view>
|
|
|
+ <text class="company-name">浙江舒博特网络科技有限公司</text>
|
|
|
</view>
|
|
|
<view class="qr-btn" @click="showCard">
|
|
|
- <uni-icons type="qrcode" size="28" color="#ffffff"></uni-icons>
|
|
|
+ <image class="qr-icon" src="/static/image/public/qr-icon.png" />
|
|
|
<text class="qr-text">我的名片</text>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
- <!-- 线索数据卡片 -->
|
|
|
- <view class="data-card">
|
|
|
- <view class="card-header">
|
|
|
- <text class="card-title">线索数据</text>
|
|
|
- </view>
|
|
|
- <view class="data-row">
|
|
|
- <view class="data-item">
|
|
|
- <text class="data-value">1,266</text>
|
|
|
- <text class="data-label">线索总数</text>
|
|
|
- </view>
|
|
|
- <view class="data-item highlight">
|
|
|
- <text class="data-value orange">65</text>
|
|
|
- <text class="data-label">本月新增</text>
|
|
|
+ <!-- 内容区域 -->
|
|
|
+ <view class="content-section">
|
|
|
+
|
|
|
+ <!-- 线索数据卡片 -->
|
|
|
+ <view class="data-card">
|
|
|
+ <view class="card-header">
|
|
|
+ <text class="card-title">线索数据</text>
|
|
|
</view>
|
|
|
- <view class="data-item">
|
|
|
- <text class="data-value">126</text>
|
|
|
- <text class="data-label">我的线索</text>
|
|
|
+ <view class="data-row">
|
|
|
+ <view class="data-item">
|
|
|
+ <text class="data-value">1,266</text>
|
|
|
+ <text class="data-label">线索总数</text>
|
|
|
+ </view>
|
|
|
+ <view class="data-item highlight">
|
|
|
+ <text class="data-value orange">65</text>
|
|
|
+ <text class="data-label">本月新增</text>
|
|
|
+ </view>
|
|
|
+ <view class="data-item">
|
|
|
+ <text class="data-value">126</text>
|
|
|
+ <text class="data-label">我的线索</text>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
|
|
|
- <!-- 客户数据卡片 -->
|
|
|
- <view class="data-card">
|
|
|
- <view class="card-header">
|
|
|
- <text class="card-title">客户数据</text>
|
|
|
- <uni-icons type="eye" size="20" color="#999999"></uni-icons>
|
|
|
- </view>
|
|
|
- <view class="data-row">
|
|
|
- <view class="data-item">
|
|
|
- <text class="data-value">1,088</text>
|
|
|
- <text class="data-label">客户总数</text>
|
|
|
- </view>
|
|
|
- <view class="data-item highlight">
|
|
|
- <text class="data-value orange">123</text>
|
|
|
- <text class="data-label">本月新增</text>
|
|
|
+ <!-- 客户数据卡片 -->
|
|
|
+ <view class="data-card">
|
|
|
+ <view class="card-header">
|
|
|
+ <text class="card-title">客户数据</text>
|
|
|
+ <uni-icons type="eye" size="20" color="#999999"></uni-icons>
|
|
|
</view>
|
|
|
- <view class="data-item">
|
|
|
- <text class="data-value">235</text>
|
|
|
- <text class="data-label">我的客户</text>
|
|
|
+ <view class="data-row">
|
|
|
+ <view class="data-item">
|
|
|
+ <text class="data-value">1,088</text>
|
|
|
+ <text class="data-label">客户总数</text>
|
|
|
+ </view>
|
|
|
+ <view class="data-item highlight">
|
|
|
+ <text class="data-value orange">123</text>
|
|
|
+ <text class="data-label">本月新增</text>
|
|
|
+ </view>
|
|
|
+ <view class="data-item">
|
|
|
+ <text class="data-value">235</text>
|
|
|
+ <text class="data-label">我的客户</text>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
|
|
|
- <!-- 商机数据卡片 -->
|
|
|
- <view class="data-card">
|
|
|
- <view class="card-header">
|
|
|
- <text class="card-title">商机数据</text>
|
|
|
- <uni-icons type="eye" size="20" color="#999999"></uni-icons>
|
|
|
- </view>
|
|
|
- <view class="data-row">
|
|
|
- <view class="data-item">
|
|
|
- <text class="data-value">1,366</text>
|
|
|
- <text class="data-label">商机总数</text>
|
|
|
- </view>
|
|
|
- <view class="data-item highlight">
|
|
|
- <text class="data-value orange">63</text>
|
|
|
- <text class="data-label">本月新增</text>
|
|
|
+ <!-- 商机数据卡片 -->
|
|
|
+ <view class="data-card">
|
|
|
+ <view class="card-header">
|
|
|
+ <text class="card-title">商机数据</text>
|
|
|
+ <uni-icons type="eye" size="20" color="#999999"></uni-icons>
|
|
|
</view>
|
|
|
- <view class="data-item">
|
|
|
- <text class="data-value">86</text>
|
|
|
- <text class="data-label">我的商机</text>
|
|
|
+ <view class="data-row">
|
|
|
+ <view class="data-item">
|
|
|
+ <text class="data-value">1,366</text>
|
|
|
+ <text class="data-label">商机总数</text>
|
|
|
+ </view>
|
|
|
+ <view class="data-item highlight">
|
|
|
+ <text class="data-value orange">63</text>
|
|
|
+ <text class="data-label">本月新增</text>
|
|
|
+ </view>
|
|
|
+ <view class="data-item">
|
|
|
+ <text class="data-value">86</text>
|
|
|
+ <text class="data-label">我的商机</text>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
|
|
|
- <!-- 功能菜单 -->
|
|
|
- <view class="menu-card">
|
|
|
- <view class="menu-item" @click="navigateTo('guide')">
|
|
|
- <view class="menu-icon-wrapper">
|
|
|
- <uni-icons type="help" size="22" color="#667eea"></uni-icons>
|
|
|
- </view>
|
|
|
- <text class="menu-text">使用指南</text>
|
|
|
- <uni-icons type="right" size="16" color="#cccccc"></uni-icons>
|
|
|
- </view>
|
|
|
- <view class="menu-divider"></view>
|
|
|
- <view class="menu-item" @click="navigateTo('service')">
|
|
|
- <view class="menu-icon-wrapper">
|
|
|
- <uni-icons type="paperclip" size="22" color="#667eea"></uni-icons>
|
|
|
+ <!-- 功能菜单卡片 -->
|
|
|
+ <view class="menu-card">
|
|
|
+ <view class="menu-item" @click="navigateTo('guide')">
|
|
|
+ <view class="menu-icon-wrapper icon-blue">
|
|
|
+ <uni-icons type="help" size="24" color="#4A90E2"></uni-icons>
|
|
|
+ </view>
|
|
|
+ <text class="menu-text">使用指南</text>
|
|
|
+ <uni-icons type="right" size="16" color="#cccccc"></uni-icons>
|
|
|
</view>
|
|
|
- <text class="menu-text">联系客服</text>
|
|
|
- <uni-icons type="right" size="16" color="#cccccc"></uni-icons>
|
|
|
- </view>
|
|
|
- <view class="menu-divider"></view>
|
|
|
- <view class="menu-item" @click="navigateTo('about')">
|
|
|
- <view class="menu-icon-wrapper">
|
|
|
- <uni-icons type="gear" size="22" color="#667eea"></uni-icons>
|
|
|
+ <view class="menu-divider"></view>
|
|
|
+ <view class="menu-item" @click="navigateTo('service')">
|
|
|
+ <view class="menu-icon-wrapper icon-blue">
|
|
|
+ <uni-icons type="paperclip" size="24" color="#4A90E2"></uni-icons>
|
|
|
+ </view>
|
|
|
+ <text class="menu-text">联系客服</text>
|
|
|
+ <uni-icons type="right" size="16" color="#cccccc"></uni-icons>
|
|
|
</view>
|
|
|
- <text class="menu-text">关于我们</text>
|
|
|
- <uni-icons type="right" size="16" color="#cccccc"></uni-icons>
|
|
|
- </view>
|
|
|
- <view class="menu-divider"></view>
|
|
|
- <view class="menu-item logout-item" @click="handleLogout">
|
|
|
- <view class="menu-icon-wrapper">
|
|
|
- <uni-icons type="closeempty" size="22" color="#ff4d4f"></uni-icons>
|
|
|
+ <view class="menu-divider"></view>
|
|
|
+ <view class="menu-item" @click="navigateTo('about')">
|
|
|
+ <view class="menu-icon-wrapper icon-blue">
|
|
|
+ <uni-icons type="gear" size="24" color="#4A90E2"></uni-icons>
|
|
|
+ </view>
|
|
|
+ <text class="menu-text">关于我们</text>
|
|
|
+ <uni-icons type="right" size="16" color="#cccccc"></uni-icons>
|
|
|
</view>
|
|
|
- <text class="menu-text logout-text">退出登录</text>
|
|
|
- <uni-icons type="right" size="16" color="#cccccc"></uni-icons>
|
|
|
</view>
|
|
|
+
|
|
|
+ <!-- 底部占位 -->
|
|
|
+ <view class="bottom-spacer"></view>
|
|
|
</view>
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
-import { ref ,onMounted} from 'vue'
|
|
|
-import StatusBarPlaceholder from "@/components/status-bar-placeholder/index.vue"
|
|
|
-import { logout } from '@/api/login.js'
|
|
|
-
|
|
|
-const navigateTo = (page) => {
|
|
|
- uni.showToast({
|
|
|
- title: ``,
|
|
|
- icon: 'none'
|
|
|
- })
|
|
|
-}
|
|
|
-
|
|
|
-// 显示名片
|
|
|
-const showCard = () => {
|
|
|
- uni.showToast({
|
|
|
- title: '我的名片',
|
|
|
- icon: 'none'
|
|
|
- })
|
|
|
-}
|
|
|
-
|
|
|
-// ��出登��const handleLogout = () => {
|
|
|
- uni.showModal({
|
|
|
- title: '提示',
|
|
|
- content:'缺人要退出登录吗?',
|
|
|
- success: async (res) => {
|
|
|
- if (res.confirm) {
|
|
|
- try {
|
|
|
- // 调用��出登录接�� await logout({})
|
|
|
-
|
|
|
- // 清除本地存储
|
|
|
- uni.removeStorageSync('token')
|
|
|
- uni.removeStorageSync('userInfo')
|
|
|
- uni.removeStorageSync('code')
|
|
|
-
|
|
|
- // 提示成功
|
|
|
- uni.showToast({
|
|
|
- title: '操作成功',
|
|
|
- icon: 'success'
|
|
|
- })
|
|
|
-
|
|
|
- // 延迟跳转到登录页
|
|
|
- setTimeout(() => {
|
|
|
- uni.reLaunch({
|
|
|
- url: '/pages/login/login'
|
|
|
- })
|
|
|
- }, 1500)
|
|
|
- } catch (error) {
|
|
|
- console.error('退出登录失败', error)
|
|
|
- uni.showToast({
|
|
|
- title: '退出登录失败,请重试',
|
|
|
- icon: 'none'
|
|
|
- })
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
-}
|
|
|
+ import {
|
|
|
+ ref
|
|
|
+ } from 'vue'
|
|
|
+ import NavBar from '@/components/nav-bar/index.vue'
|
|
|
+ const navigateTo = (page) => {
|
|
|
+ uni.showToast({
|
|
|
+ title: `功能开发中:${page}`,
|
|
|
+ icon: 'none'
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ // 显示名片
|
|
|
+ const showCard = () => {
|
|
|
+ uni.navigateTo({
|
|
|
+ url: '/pages/mine/card'
|
|
|
+ })
|
|
|
+ }
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
-.mine-container {
|
|
|
- min-height: 100vh;
|
|
|
- background: #f5f6f8;
|
|
|
-}
|
|
|
-
|
|
|
-// 顶部用户信息区域
|
|
|
-.user-header {
|
|
|
- background: linear-gradient(135deg, #4A90E2 0%, #6FB3F2 50%, #87CEEB 100%);
|
|
|
- padding: 0 40rpx 160rpx;
|
|
|
- padding-top: calc(var(--status-bar-height) + 20rpx);
|
|
|
- position: relative;
|
|
|
- overflow: hidden;
|
|
|
-
|
|
|
- // 背景光晕装饰
|
|
|
- .header-bg-decoration {
|
|
|
- position: absolute;
|
|
|
- top: -100rpx;
|
|
|
- right: -100rpx;
|
|
|
- width: 400rpx;
|
|
|
- height: 400rpx;
|
|
|
- background: radial-gradient(circle, rgba(255,255,255,0.15) 0%, transparent 70%);
|
|
|
- border-radius: 50%;
|
|
|
+ .mine-container {
|
|
|
+ min-height: 100vh;
|
|
|
+ background: #f5f6f8;
|
|
|
}
|
|
|
-
|
|
|
- .header-content {
|
|
|
- position: relative;
|
|
|
- z-index: 2;
|
|
|
- display: flex;
|
|
|
- justify-content: space-between;
|
|
|
- align-items: flex-start;
|
|
|
+
|
|
|
+ .top-bg {
|
|
|
+ width: 750rpx;
|
|
|
+ height: 634rpx;
|
|
|
+ position: fixed;
|
|
|
+ top: 0;
|
|
|
+ left: 0;
|
|
|
+ z-index: 1;
|
|
|
}
|
|
|
-
|
|
|
- .user-info {
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- flex: 1;
|
|
|
-
|
|
|
- .avatar-wrapper {
|
|
|
- flex-shrink: 0;
|
|
|
- margin-right: 24rpx;
|
|
|
+
|
|
|
+ // 顶部背景区域
|
|
|
+ .header-bg {
|
|
|
+ padding: 0 40rpx;
|
|
|
+ padding-bottom: 200rpx;
|
|
|
+ position: relative;
|
|
|
+ overflow: hidden;
|
|
|
+
|
|
|
+ // 背景光效
|
|
|
+ .bg-light {
|
|
|
+ position: absolute;
|
|
|
+ border-radius: 50%;
|
|
|
+ background: radial-gradient(circle, rgba(255, 255, 255, 0.2) 0%, transparent 70%);
|
|
|
+ }
|
|
|
+
|
|
|
+ .bg-light-1 {
|
|
|
+ top: -150rpx;
|
|
|
+ right: -100rpx;
|
|
|
+ width: 500rpx;
|
|
|
+ height: 500rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .bg-light-2 {
|
|
|
+ top: 200rpx;
|
|
|
+ left: -200rpx;
|
|
|
+ width: 400rpx;
|
|
|
+ height: 400rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 顶部状态栏
|
|
|
+ .header-top {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+ margin-bottom: 60rpx;
|
|
|
position: relative;
|
|
|
-
|
|
|
- .avatar {
|
|
|
- width: 128rpx;
|
|
|
- height: 128rpx;
|
|
|
- border-radius: 50%;
|
|
|
- border: 4rpx solid rgba(255, 255, 255, 0.4);
|
|
|
- box-shadow: 0 8rpx 24rpx rgba(0, 0, 0, 0.15);
|
|
|
- background: #ffffff;
|
|
|
+ z-index: 10;
|
|
|
+
|
|
|
+ .header-left {
|
|
|
+ width: 100rpx;
|
|
|
}
|
|
|
- }
|
|
|
-
|
|
|
- .user-details {
|
|
|
- flex: 1;
|
|
|
-
|
|
|
- .name-row {
|
|
|
+
|
|
|
+ .header-right {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
- margin-bottom: 12rpx;
|
|
|
-
|
|
|
- .user-name {
|
|
|
- font-size: 36rpx;
|
|
|
- font-weight: 600;
|
|
|
- color: #ffffff;
|
|
|
- text-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.1);
|
|
|
- }
|
|
|
-
|
|
|
- .user-role {
|
|
|
- font-size: 22rpx;
|
|
|
- color: #ffffff;
|
|
|
- background: rgba(255, 255, 255, 0.25);
|
|
|
- padding: 4rpx 16rpx;
|
|
|
- border-radius: 20rpx;
|
|
|
+
|
|
|
+ .more-btn,
|
|
|
+ .refresh-btn {
|
|
|
+ width: 64rpx;
|
|
|
+ height: 64rpx;
|
|
|
+ border-radius: 50%;
|
|
|
+ background: rgba(255, 255, 255, 0.15);
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
margin-left: 16rpx;
|
|
|
- font-weight: 500;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- .company-name {
|
|
|
- font-size: 24rpx;
|
|
|
- color: rgba(255, 255, 255, 0.85);
|
|
|
- display: block;
|
|
|
- text-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.1);
|
|
|
- }
|
|
|
}
|
|
|
- }
|
|
|
-
|
|
|
- .qr-btn {
|
|
|
- display: flex;
|
|
|
- flex-direction: column;
|
|
|
- align-items: center;
|
|
|
- justify-content: center;
|
|
|
- background: rgba(255, 255, 255, 0.2);
|
|
|
- padding: 16rpx 20rpx;
|
|
|
- border-radius: 24rpx;
|
|
|
- backdrop-filter: blur(10rpx);
|
|
|
- border: 1rpx solid rgba(255, 255, 255, 0.3);
|
|
|
- box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.1);
|
|
|
-
|
|
|
- .qr-text {
|
|
|
- font-size: 20rpx;
|
|
|
- color: #ffffff;
|
|
|
- margin-top: 4rpx;
|
|
|
- text-shadow: 0 2rpx 4rpx rgba(0, 0, 0, 0.1);
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-// 数据卡片
|
|
|
-.data-card {
|
|
|
- background: #ffffff;
|
|
|
- margin: 20rpx 40rpx;
|
|
|
- padding: 32rpx;
|
|
|
- border-radius: 24rpx;
|
|
|
- box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.06);
|
|
|
-
|
|
|
- .card-header {
|
|
|
- display: flex;
|
|
|
- justify-content: space-between;
|
|
|
- align-items: center;
|
|
|
- margin-bottom: 24rpx;
|
|
|
- }
|
|
|
-
|
|
|
- .card-title {
|
|
|
- font-size: 28rpx;
|
|
|
- font-weight: 600;
|
|
|
- color: #333333;
|
|
|
- }
|
|
|
-
|
|
|
- .data-row {
|
|
|
- display: flex;
|
|
|
- justify-content: space-between;
|
|
|
-
|
|
|
- .data-item {
|
|
|
+
|
|
|
+ // 用户信息区域
|
|
|
+ .user-info-section {
|
|
|
display: flex;
|
|
|
- flex-direction: column;
|
|
|
align-items: center;
|
|
|
- flex: 1;
|
|
|
position: relative;
|
|
|
-
|
|
|
- .data-value {
|
|
|
- font-size: 40rpx;
|
|
|
- font-weight: 600;
|
|
|
- color: #333333;
|
|
|
- margin-bottom: 12rpx;
|
|
|
- font-family: DIN, 'DIN Alternate', sans-serif;
|
|
|
- }
|
|
|
-
|
|
|
- .data-label {
|
|
|
- font-size: 24rpx;
|
|
|
- color: #999999;
|
|
|
+ z-index: 10;
|
|
|
+
|
|
|
+ .avatar-wrapper {
|
|
|
+ position: relative;
|
|
|
+ margin-right: 24rpx;
|
|
|
+
|
|
|
+ .avatar {
|
|
|
+ width: 128rpx;
|
|
|
+ height: 128rpx;
|
|
|
+ border-radius: 50%;
|
|
|
+ border: 4rpx solid rgba(255, 255, 255, 0.4);
|
|
|
+ background: #ffffff;
|
|
|
+ }
|
|
|
+
|
|
|
+ .avatar-badge {
|
|
|
+ position: absolute;
|
|
|
+ bottom: -18rpx;
|
|
|
+ right: -18rpx;
|
|
|
+ width: 64rpx;
|
|
|
+ height: 64rpx;
|
|
|
+ background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
|
|
|
+ border-radius: 50%;
|
|
|
+ border: 3rpx solid #ffffff;
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
- &.highlight .data-value {
|
|
|
- color: #ff6b35;
|
|
|
+
|
|
|
+ .user-details {
|
|
|
+ flex: 1;
|
|
|
+
|
|
|
+ .name-row {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ margin-bottom: 12rpx;
|
|
|
+
|
|
|
+ .user-name {
|
|
|
+ font-size: 36rpx;
|
|
|
+ font-weight: 600;
|
|
|
+ color: #ffffff;
|
|
|
+ text-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.1);
|
|
|
+ }
|
|
|
+
|
|
|
+ .user-role {
|
|
|
+ font-size: 22rpx;
|
|
|
+ color: #ffffff;
|
|
|
+ background: rgba(255, 255, 255, 0.25);
|
|
|
+ padding: 4rpx 16rpx;
|
|
|
+ border-radius: 20rpx;
|
|
|
+ margin-left: 16rpx;
|
|
|
+ font-weight: 500;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .company-name {
|
|
|
+ font-size: 24rpx;
|
|
|
+ color: rgba(255, 255, 255, 0.85);
|
|
|
+ display: block;
|
|
|
+ text-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.1);
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
- &:not(:last-child)::after {
|
|
|
- content: '';
|
|
|
- position: absolute;
|
|
|
- right: 0;
|
|
|
- top: 50%;
|
|
|
- transform: translateY(-50%);
|
|
|
- width: 1rpx;
|
|
|
- height: 60rpx;
|
|
|
- background: #f0f0f0;
|
|
|
+
|
|
|
+ .qr-btn {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+
|
|
|
+ .qr-icon {
|
|
|
+ width: 48rpx;
|
|
|
+ height: 48rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .qr-text {
|
|
|
+ font-size: 20rpx;
|
|
|
+ color: #ffffff;
|
|
|
+ margin-top: 4rpx;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-}
|
|
|
-
|
|
|
-// 功能菜单
|
|
|
-.menu-card {
|
|
|
- background: #ffffff;
|
|
|
- margin: 20rpx 40rpx;
|
|
|
- padding: 0 32rpx;
|
|
|
- border-radius: 24rpx;
|
|
|
- box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.06);
|
|
|
-
|
|
|
- .menu-item {
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- padding: 32rpx 0;
|
|
|
-
|
|
|
- .menu-icon-wrapper {
|
|
|
- width: 60rpx;
|
|
|
- height: 60rpx;
|
|
|
- border-radius: 16rpx;
|
|
|
- background: rgba(102, 126, 234, 0.08);
|
|
|
+
|
|
|
+ // 内容区域
|
|
|
+ .content-section {
|
|
|
+ margin-top: -160rpx;
|
|
|
+ position: relative;
|
|
|
+ z-index: 20;
|
|
|
+ padding: 0 40rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 数据卡片
|
|
|
+ .data-card {
|
|
|
+ background: #ffffff;
|
|
|
+ margin-bottom: 24rpx;
|
|
|
+ padding: 32rpx;
|
|
|
+ border-radius: 24rpx;
|
|
|
+ box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.06);
|
|
|
+
|
|
|
+ .card-header {
|
|
|
display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
align-items: center;
|
|
|
- justify-content: center;
|
|
|
- margin-right: 20rpx;
|
|
|
+ margin-bottom: 24rpx;
|
|
|
}
|
|
|
-
|
|
|
- .menu-text {
|
|
|
- flex: 1;
|
|
|
+
|
|
|
+ .card-title {
|
|
|
font-size: 28rpx;
|
|
|
+ font-weight: 600;
|
|
|
color: #333333;
|
|
|
}
|
|
|
- }
|
|
|
-
|
|
|
- .menu-divider {
|
|
|
- height: 1rpx;
|
|
|
- background: #f0f0f0;
|
|
|
- }
|
|
|
-
|
|
|
- // ��出登录样�� .logout-item {
|
|
|
- .menu-icon-wrapper {
|
|
|
- background: rgba(255, 77, 79, 0.08);
|
|
|
+
|
|
|
+ .data-row {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+
|
|
|
+ .data-item {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: center;
|
|
|
+ flex: 1;
|
|
|
+ position: relative;
|
|
|
+
|
|
|
+ .data-value {
|
|
|
+ font-size: 40rpx;
|
|
|
+ font-weight: 600;
|
|
|
+ color: #333333;
|
|
|
+ margin-bottom: 12rpx;
|
|
|
+ font-family: DIN, 'DIN Alternate', sans-serif;
|
|
|
+ }
|
|
|
+
|
|
|
+ .data-label {
|
|
|
+ font-size: 24rpx;
|
|
|
+ color: #999999;
|
|
|
+ }
|
|
|
+
|
|
|
+ &.highlight .data-value {
|
|
|
+ color: #ff6b35;
|
|
|
+ }
|
|
|
+
|
|
|
+ &:not(:last-child)::after {
|
|
|
+ content: '';
|
|
|
+ position: absolute;
|
|
|
+ right: 0;
|
|
|
+ top: 50%;
|
|
|
+ transform: translateY(-50%);
|
|
|
+ width: 1rpx;
|
|
|
+ height: 60rpx;
|
|
|
+ background: #f0f0f0;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
- .menu-text {
|
|
|
- color: #ff4d4f;
|
|
|
-
|
|
|
- &.logout-text {
|
|
|
- color: #ff4d4f;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 功能菜单卡片
|
|
|
+ .menu-card {
|
|
|
+ background: #ffffff;
|
|
|
+ padding: 0 32rpx;
|
|
|
+ border-radius: 24rpx;
|
|
|
+ box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.06);
|
|
|
+
|
|
|
+ .menu-item {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ padding: 32rpx 0;
|
|
|
+
|
|
|
+ .menu-icon-wrapper {
|
|
|
+ width: 64rpx;
|
|
|
+ height: 64rpx;
|
|
|
+ border-radius: 16rpx;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ margin-right: 20rpx;
|
|
|
+
|
|
|
+ &.icon-blue {
|
|
|
+ background: rgba(74, 144, 226, 0.1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .menu-text {
|
|
|
+ flex: 1;
|
|
|
+ font-size: 28rpx;
|
|
|
+ color: #333333;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ .menu-divider {
|
|
|
+ height: 1rpx;
|
|
|
+ background: #f0f0f0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 底部占位
|
|
|
+ .bottom-spacer {
|
|
|
+ height: 40rpx;
|
|
|
}
|
|
|
-}
|
|
|
-</style>
|
|
|
+</style>
|