毕设-dev-first

This commit is contained in:
2025-08-19 13:41:17 +08:00
parent 3dc4d64215
commit 4807d0547b
13 changed files with 322 additions and 471 deletions

View File

@ -12,12 +12,40 @@ Page({
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
this.fetchSupervisorInfo();
onLoad() {
const role = wx.getStorageSync('role')
if (role === 'manager') {
this.getManagerInfo();
} else {
this.fetchSupervisorInfo();
}
},
/**
* 请求后端接口,获取上级联系人信息
*/
getManagerInfo() {
const token = wx.getStorageSync('token')
wx.request({
url: baseUrl + '/userInfo/get/jwt',
method: 'GET',
header: {
Authorization: token
},
success: res => {
console.log('用户信息---->',res.data);
if (res.data.code === 1) {
let result = res.data.data
this.setData({
nickName: result.nickName,
phoneNumber: result.phoneNumber
})
}
}
})
},
fetchSupervisorInfo() {
const token = wx.getStorageSync('token');
wx.request({

View File

@ -14,7 +14,7 @@
</view>
<image
class="self-start image"
src="./images/logo.png"
src="/static/logo.jpg"
/>
</view>
</view>

View File

@ -5,7 +5,7 @@
margin-left: 39.38rpx;
}
.page {
padding: 43.13rpx 0 1346.25rpx;
padding: 43.13rpx 0 0;
background-image: linear-gradient(180deg, #ff8d1a -7.3%, #ffffff00 33.5%);
width: 100%;
overflow-y: auto;

View File

@ -22,7 +22,11 @@ Page({
title: '查看绩效',
id: 0,
globalImgUrl,
showNicknamePopup: false
showNicknamePopup: false,
totalIncome: 0,
withdrawaledAmount: 0,
withdrawalingBalance: 0,
currentBalance: 0
},
// 跳转课程订单页面
courseOrder() {
@ -165,11 +169,15 @@ Page({
Authorization: token
},
success: res => {
console.log('用户主要信息=====>', res.data)
if (res.data.code === 1) {
let result = res.data.data
console.log('====fdfs>', res)
this.setData({
qrcode: globalImgUrl + result.inviteQrCode
qrcode: globalImgUrl + result.inviteQrCode,
totalIncome: result.totalIncome,
withdrawaledAmount: result.withdrawaledAmount,
withdrawalingBalance: result.withdrawalingBalance,
currentBalance: result.currentBalance
})
} else {
notLogin(res.data.message)

View File

@ -1,331 +1,149 @@
<!-- <view class="flex-col page">
<view class="flex-col relative section">
<view class="flex-row justify-between items-center group">
<view class="flex-col">
<text class="self-start font text">{{ nickName }}</text>
<view class="flex-row items-center self-stretch group_2 mt-9" bind:tap="gotoCall">
<image
class="image_3"
src="./images/dianhua.png"
mode="aspectFill"
/>
<text class="font_2 text_2 ml-7">{{ phoneNumber }}</text>
</view>
<view class="flex-row items-center self-stretch section_2 mt-9" bindtap="copyInvitationCode">
<text class="font_3 text_3">邀请码:{{ invitationCode }}</text>
<image
class="shrink-0 image_4"
src="./images/fuzhi.png"
mode="aspectFill"
/>
</view>
</view>
<view class="flex-col items-center">
<image
class="image_2"
src="./images/erweima.png"
mode="aspectFill"
bindtap="showPromoPopup"
/>
<text class="font_3 text_4 mt-6">二维码邀请</text>
</view>
</view>
<view class="flex-col group_3">
<view class="flex-row justify-between items-center group_4">
<view class="group_5">
<text class="font_2 text_6">当前金额:</text>
<text class="text_5">¥{{ currentBalance }}</text>
</view>
<view class="flex-row items-center section_3" bind:tap="lijitixian">
<image
class="image_5 image_6"
src="./images/jiantou.png"
/>
<text class="font_3 text_7">立即提现</text>
</view>
</view>
<view class="flex-row items-start equal-division section_4">
<view class="flex-col items-center equal-division-item_8">
<text class="font_2 text_8">提现中</text>
<text class="font_4 mt-15">¥{{ withdrawalingBalance }}</text>
</view>
<view class="flex-col items-center group_6 equal-division-item">
<text class="font_2 text_9">已提现</text>
<text class="font_4 mt-15">¥{{ withdrawaledAmount }}</text>
</view>
<view class="flex-col items-center group_7 equal-division-item_8">
<text class="font_2 text_10">累计收入</text>
<text class="font_4 mt-15">¥{{ totalIncome }}</text>
</view>
</view>
</view>
<image
class="image pos"
src="./images/logo.png"
mode="aspectFill"
/>
</view>
<view class="flex-row items-start equal-division_2 section_5">
<view class="flex-col items-center equal-division-item_1 equal-division-item_2" bind:tap="mingxi">
<image
class="image_7"
src="./images/zhijinxiangqing.png"
/>
<text class="font text_11 mt-6">资金明细</text>
</view>
<view class="flex-col items-center group_6 group_1" bind:tap="tixianzhanghu">
<image
class="image_7"
src="./images/tixianzhanghu.png"
mode="aspectFill"
/>
<text class="font text_12 mt-6">提现账户</text>
</view>
<view class="flex-col items-center group_9 group_10" bind:tap="zhijin">
<image
class="image_7"
src="./images/tixianjilu.png"
mode="aspectFill"
/>
<text class="font text_13 mt-6">提现记录</text>
</view>
</view> -->
<!-- 接单相关 -->
<!-- <view class="flex-col list"> -->
<!-- <view
class="flex-row equal-division equal-division_3 mt-15"
wx:for="{{items}}"
wx:for-item="item"
wx:for-index="index"
wx:key="index"
>
<view class="flex-col items-center equal-division-item_3" bind:tap="xiangmu">
<image
class="image_8"
src="./images/wodxiangmu.png"
mode="aspectFill"
/>
<text class="font text_14 mt-10">我的项目</text>
</view>
<view class="flex-col items-center group_15 equal-division-item_6" bind:tap="myteam">
<image
class="image_8"
src="./images/tuanduiguanli.png"
mode="aspectFill"
/>
<text class="font text_15 mt-10">团队管理</text>
</view>
<view class="flex-col items-center group_11 equal-division-item_3" bind:tap="szcy">
<image
class="image_8"
src="./images/choucheng.png"
mode="aspectFill"
/>
<text class="font text_16 mt-11">设置抽佣</text>
</view>
<view class="flex-col items-center group_12 equal-division-item_7" bind:tap="lxsj">
<image
class="image_8"
src="./images/shangji.png"
mode="aspectFill"
/>
<text class="font mt-11">联系上级</text>
</view>
</view> -->
<!-- 课程相关 -->
<!-- <view
class="flex-row equal-division equal-division_3 mt-15"
wx:for="{{items}}"
wx:for-item="item"
wx:for-index="index"
wx:key="index"
>
<view class="flex-col items-center equal-division-item_3" bind:tap="courseOrder">
<image
class="image_8"
src="./images/wodxiangmu.png"
mode="aspectFill"
/>
<text class="font text_14 mt-10">课程订单</text>
</view>
<view class="flex-col items-center group_15 equal-division-item_6" bind:tap="gotoSettlementRecord">
<image
class="image_8"
src="./images/tuanduiguanli.png"
mode="aspectFill"
/>
<text class="font text_15 mt-10">结算记录</text>
</view>
<view class="flex-col items-center group_11 equal-division-item_3" bind:tap="szcy">
<image
class="image_8"
src="./images/choucheng.png"
mode="aspectFill"
/>
<text class="font text_16 mt-11">我的课程</text>
</view>
<view class="flex-col items-center group_12 equal-division-item_7" bind:tap="">
<image
class="image_8"
src="./images/shangji.png"
mode="aspectFill"
/>
<text class="font mt-11">联系上级</text>
</view>
</view>
</view>
<view class="flex-col list_2">
<view class="flex-row justify-between items-center self-stretch group_13" bind:tap="zhshezhi">
<view class="flex-row items-center">
<image
class="shrink-0 image_9"
src="./images/zhanghaoshezhi.png"
mode="aspectFill"
/>
<text class="font text_17 ml-5">账号设置</text>
</view>
<image
class="image_5"
src="./images/xiajiantou.png"
mode="aspectFill"
/>
</view>
<view class="self-end list-divider"></view>
<view class="flex-row justify-between items-center self-stretch group_14">
<view class="flex-row items-center">
<image
class="shrink-0 image_9"
src="./images/lianxikefu.png"
mode="aspectFill"
/>
<text class="font text_18 ml-5">联系客服</text>
</view>
<image
class="image_5"
src="./images/xiajiantou.png"
mode="aspectFill"
/>
</view>
</view>
</view> -->
<wxs src="../../../utils/addmul.wxs" module="filters" />
<view class="flex-col page">
<!-- 顶部:头像 / 昵称 / 电话 / 邀请码 / 二维码 -->
<view class="flex-row justify-between section">
<view class="flex-row items-center self-center">
<button open-type="chooseAvatar" bind:chooseavatar="updateAvatar">
<image
class="image"
src="{{globalImgUrl + userAvatar}}"
mode="aspectFill"
/>
</button>
<view class="flex-col ml-6">
<view class="flex-row items-center justify-between" style="width: 250rpx;">
<text class="self-start font text nickname-wrap">{{ nickName }}</text>
<text class="self-start font text_2 ml-16" bindtap="openNicknamePopup">修改</text>
</view>
<button class="avatar-btn" open-type="chooseAvatar" bind:chooseavatar="updateAvatar">
<image class="image" src="{{globalImgUrl + userAvatar}}" mode="aspectFill" />
</button>
<view class="flex-col ml-6">
<view class="flex-row items-center justify-between" style="width: 250rpx;">
<text class="self-start font text nickname-wrap">{{ nickName }}</text>
<text class="self-start font text_2 ml-16" bindtap="openNicknamePopup">修改</text>
</view>
<view class="flex-row items-center self-stretch group_2 mt-9" bindtap="gotoCall">
<image
class="image_3"
src="./images/dianhua.png"
mode="aspectFill"
/>
<image class="image_3" src="./images/dianhua.png" mode="aspectFill" />
<text class="font_2 text_2 ml-7">{{ phoneNumber }}</text>
</view>
<view class="flex-row items-center self-stretch section_2 mt-9" bind:tap="copyInvitationCode">
<text class="font_2 text_3">邀请码:{{ invitationCode }}</text>
<image
class="shrink-0 image_4"
src="./images/fuzhi.png"
mode="aspectFill"
/>
<view class="flex-row items-center invite-pill section_2 mt-9" bind:tap="copyInvitationCode">
<text class="font_2 text_3 invite-text">邀请码:{{ invitationCode }}</text>
<image class="shrink-0 image_4" src="./images/fuzhi.png" mode="aspectFill" />
</view>
</view>
</view>
<view class="flex-col items-start self-start group">
<image
class="image_2"
src="./images/erweima.png"
mode="aspectFill"
bind:tap="showPromoPopup"
/>
<image class="image_2" src="./images/erweima.png" mode="aspectFill" bind:tap="showPromoPopup" />
<text class="font_2 text_4 mt-6">二维码邀请</text>
</view>
</view>
<view class="flex-col mt-22" >
<view class="flex-row items-start equal-division section_3" wx:if="{{ userRole != 'user' }}">
<view class="flex-col items-center equal-division-item_1 group_3" bindtap="checkPerformance">
<image
class="image_5"
src="./images/jixiao.png"
/>
<text class="font text_5 mt-6">{{title}}</text>
<!-- ===== 查看绩效 / 排名(已上移到金额卡片前) ===== -->
<view class="flex-row items-start equal-division section_3 mt-22" wx:if="{{ userRole != 'user' }}">
<view class="flex-col items-center equal-division-item_1 group_3" bindtap="checkPerformance">
<image class="image_5" src="./images/jixiao.png" />
<text class="font text_5 mt-6">{{title}}</text>
</view>
<view class="flex-col items-center equal-division-item_2 equal-division-item" bindtap="gotoSupervisorRank" data-userRole="{{ 'manager' }}">
<image class="image_5" src="./images/zgpm.png" />
<text class="font text_6 mt-6">主管排名</text>
</view>
<view class="flex-col items-center equal-division-item_3 group_5" bindtap="gotoStaffRank" data-userRole="{{ 'supervisor' }}">
<image class="image_5" src="./images/ygpm.png" />
<text class="font mt-6">员工排名</text>
</view>
</view>
<!-- ===== 当前金额卡片(已美化) ===== -->
<view class="wallet-card mt-22">
<view class="wallet-head">
<view class="wallet-head-left">
<text class="wallet-head-label">当前金额:</text>
<text class="wallet-head-amount">¥{{ filters.toFix2(currentBalance) }}</text>
</view>
<view class="flex-col items-center equal-division-item_2 equal-division-item" bindtap="gotoSupervisorRank" data-userRole="{{ 'manager' }}">
<image
class="image_5"
src="./images/zgpm.png"
/>
<text class="font text_6 mt-6">主管排名</text>
</view>
<view class="flex-col items-center equal-division-item_3 group_5" bindtap="gotoStaffRank" data-userRole="{{ 'supervisor' }}">
<image
class="image_5"
src="./images/ygpm.png"
/>
<text class="font mt-6">员工排名</text>
<view class="wallet-head-right" bind:tap="lijitixian">
<text class="wallet-withdraw-text">立即提现</text>
</view>
</view>
<view class="flex-col list">
<view class="flex-row justify-between items-center section_4" wx:if="{{isShowOrder}}" bindtap="courseOrder">
<view class="flex-row items-center">
<image
class="shrink-0 image_6"
src="./images/order.png"
/>
<text class="font ml-8">我的订单</text>
</view>
<image
class="image_7"
src="./images/xiajiantou.png"
/>
<view class="wallet-stats">
<view class="wallet-stat">
<text class="wallet-stat-label">提现中</text>
<text class="wallet-stat-value">¥{{ filters.toFix2(withdrawalingBalance) }}</text>
</view>
<view class="flex-row justify-between items-center section_4 mt-11" bindtap="gotoDashboard" wx:if="{{ userRole !== 'user' }}">
<view class="flex-row items-center">
<image
class="shrink-0 image_6"
src="./images/dash.png"
/>
<text class="font text_7 ml-8">仪表盘</text>
</view>
<image
class="image_7"
src="./images/xiajiantou.png"
/>
<view class="wallet-stat">
<text class="wallet-stat-label">已提现</text>
<text class="wallet-stat-value">¥{{ filters.toFix2(withdrawaledAmount) }}</text>
</view>
<view class="flex-row justify-between items-center section_4 mt-11" bindtap="zhshezhi">
<view class="flex-row items-center">
<image
class="shrink-0 image_6"
src="./images/setting.png"
/>
<text class="font text_8 ml-8">账号设置</text>
</view>
<image
class="image_7"
src="./images/xiajiantou.png"
/>
<view class="wallet-stat">
<text class="wallet-stat-label">累计收入</text>
<text class="wallet-stat-value">¥{{ filters.toFix2(totalIncome) }}</text>
</view>
</view>
</view>
<!-- ===== 三入口快捷区 ===== -->
<view class="shortcut-row">
<view class="shortcut-item" bind:tap="mingxi">
<image class="shortcut-icon" src="./images/zhijinxiangqing.png" />
<text class="shortcut-text">资金明细</text>
</view>
<view class="shortcut-item" bind:tap="tixianzhanghu">
<image class="shortcut-icon" src="./images/tixianzhanghu.png" />
<text class="shortcut-text">提现账户</text>
</view>
<view class="shortcut-item" bind:tap="zhijin">
<image class="shortcut-icon" src="./images/tixianjilu.png" />
<text class="shortcut-text">提现记录</text>
</view>
</view>
<!-- ===== 接单四宫格 ===== -->
<view class="grid-row">
<view class="grid-item" bind:tap="xiangmu">
<image class="grid-icon" src="./images/wodxiangmu.png" />
<text class="grid-text">我的项目</text>
</view>
<view class="grid-item" bind:tap="myteam">
<image class="grid-icon" src="./images/tuanduiguanli.png" />
<text class="grid-text">团队管理</text>
</view>
<view class="grid-item" bind:tap="szcy">
<image class="grid-icon" src="./images/choucheng.png" />
<text class="grid-text">设置抽佣</text>
</view>
<view class="grid-item" bind:tap="lxsj">
<image class="grid-icon" src="./images/shangji.png" />
<text class="grid-text">联系上级</text>
</view>
</view>
<!-- ===== 你的原有列表区(订单 / 仪表盘 / 账号设置) ===== -->
<view class="flex-col list">
<view class="flex-row justify-between items-center section_4" wx:if="{{isShowOrder}}" bindtap="courseOrder">
<view class="flex-row items-center">
<image class="shrink-0 image_6" src="./images/order.png" />
<text class="font ml-8">我的订单</text>
</view>
<image class="image_7" src="./images/xiajiantou.png" />
</view>
<view class="flex-row justify-between items-center section_4 mt-11" bindtap="gotoDashboard" wx:if="{{ userRole !== 'user' }}">
<view class="flex-row items-center">
<image class="shrink-0 image_6" src="./images/dash.png" />
<text class="font text_7 ml-8">仪表盘</text>
</view>
<image class="image_7" src="./images/xiajiantou.png" />
</view>
<view class="flex-row justify-between items-center section_4 mt-11" bindtap="zhshezhi">
<view class="flex-row items-center">
<image class="shrink-0 image_6" src="./images/setting.png" />
<text class="font text_8 ml-8">账号设置</text>
</view>
<image class="image_7" src="./images/xiajiantou.png" />
</view>
</view>
</view>
<!-- 调用弹窗组件 -->
<!-- 弹窗组件 -->
<InvitationCodePop show="{{showPopup}}" bind:close="closePopup" qrcode="{{qrcode}}"/>
<EditNicknamePopup
show="{{showNicknamePopup}}"
nickname="{{nickName}}"
bind:cancel="closeNicknamePopup"
<EditNicknamePopup
show="{{showNicknamePopup}}"
nickname="{{nickName}}"
bind:cancel="closeNicknamePopup"
bind:confirm="updateNickname"
/>

View File

@ -1,168 +1,164 @@
.ml-7 {
margin-left: 13.13rpx;
}
.mt-9 {
margin-top: 16.88rpx;
}
.mt-11 {
margin-top: 20.63rpx;
}
.ml-5 {
margin-left: 9.38rpx;
}
/* ===== 工具类 ===== */
.ml-7 { margin-left: 13.13rpx; }
.mt-9 { margin-top: 16.88rpx; }
.mt-11 { margin-top: 20.63rpx; }
.mt-22{ margin-top:22rpx; }
.ml-5 { margin-left: 9.38rpx; }
.ml-6{ margin-left:12rpx; }
.ml-8{ margin-left:16rpx; }
.ml-16{ margin-left:32rpx; }
.mt-10{ margin-top:10rpx; }
.mt-15{ margin-top:15rpx; }
/* 页面容器 */
page { height: 100vh; }
.page {
padding: 65.63rpx 28.13rpx 0;
background-image: linear-gradient(180deg, #ff8d1a -7.3%, #ffffff00 92.1%);
padding: 35.63rpx 28.13rpx 0;
background-image: linear-gradient(180deg, #ff8d1a -7.3%, #ffffff00 120.1%);
width: 100%;
overflow-y: auto;
overflow-x: hidden;
height: 100%;
padding-top: calc(35.63rpx + constant(safe-area-inset-top));
padding-top: calc(35.63rpx + env(safe-area-inset-top));
}
.section {
padding: 15rpx 13.13rpx;
background-color: #ffffff;
border-radius: 8.33rpx;
/* 顶部卡片 */
.section { padding: 15rpx 13.13rpx; background-color: #ffffff; border-radius: 8.33rpx; }
/* 头像与昵称 */
.image { margin: 20rpx; width: 141.25rpx; height: 141.25rpx; border-radius: 50%; }
.avatar-btn{
min-width:0!important; width:auto!important; background:transparent!important;
border:none!important; padding:0!important; margin:0!important;
}
.image {
margin: 20rpx;
width: 141.25rpx;
height: 141.25rpx;
border-radius: 30rpx;
.font { font-size: 26.25rpx; font-family: SourceHanSansCN; line-height: 24.34rpx; color: #000000; }
.text { line-height: 24.21rpx; }
.nickname-wrap{
display:block; max-width: 250rpx; white-space: normal; word-break: break-all; line-height:1.4;
display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
button {
/* 去掉默认最小宽度 */
min-width: 0 !important;
/* 确保宽度随内容自适应 */
width: auto !important;
/* 下面是其他重置,保证“隐形” */
background: transparent !important;
border: none !important;
padding: 0 !important;
margin: 0 !important;
/* 电话与邀请码行 */
.group_2 { padding: 0 7.26rpx; }
.image_3 { width: 22.5rpx; height: 22.5rpx; }
.font_2 { font-size: 22.5rpx; font-family: SourceHanSansCN; line-height: 20.68rpx; color: #ff8d1a; }
.text_2 { color: #808080; line-height: 1.4; }
.section_2{
display:inline-flex; align-items:center; max-width:100%;
padding: 7.5rpx 13.13rpx 5.63rpx 14.03rpx; background-color: #fff6de; border-radius: 31.26rpx;
}
.font {
font-size: 26.25rpx;
font-family: SourceHanSansCN;
line-height: 24.34rpx;
color: #000000;
.image_4 { width: 24.38rpx; height: 24.38rpx; }
.text_3 { margin-right: 10.6rpx; white-space:nowrap; }
.group { margin-top: 33.75rpx; width: 133.72rpx; }
.image_2 { margin-left: 17.48rpx; width: 76.88rpx; height: 76.88rpx; }
.text_4 { line-height: 20.72rpx; }
/* 查看绩效 / 排名(等分宫格) */
.equal-division { display:flex; gap: 12rpx; }
.section_3 { padding: 6.88rpx 0 13.59rpx; background-color: #ffffff; border-radius: 18.75rpx; }
.equal-division-item_1 { margin-left: 8.06rpx; }
.group_3 { padding: 11.76rpx 0 10.01rpx; width: 224.59rpx; }
.image_5 { width: 63.99rpx; height: 63.99rpx; }
.text_5 { line-height: 24.26rpx; }
.equal-division-item_2 { position: static; transform:none; }
.equal-division-item { padding: 11.76rpx 0 10.09rpx; width: 224.59rpx; }
.text_6 { line-height: 24.28rpx; }
.equal-division-item_3 { position: static; transform:none; }
.group_5 { padding: 11.76rpx 0 9.99rpx; width: 224.59rpx; }
/* 列表卡片(你的原有区) */
.list { padding-top: 19.38rpx; }
.section_4 { padding: 31.88rpx 31.88rpx 30rpx 33.75rpx; background-color: #ffffff; border-radius: 9.47rpx; min-height:88rpx; }
.image_6 { border-radius: 9.38rpx; width: 41.25rpx; height: 41.25rpx; }
.image_7 { width: 30rpx; height: 30rpx; }
.text_7 { line-height: 24.47rpx; }
.text_8 { line-height: 23.81rpx; }
/* ===== 当前金额卡片(美化后) ===== */
.wallet-card {
background: #fff;
border-radius: 20rpx;
padding: 28rpx 24rpx;
box-shadow: 0 6rpx 20rpx rgba(0, 0, 0, 0.06);
}
.text {
line-height: 24.21rpx;
/* 金额行 */
.wallet-head {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 20rpx;
}
.group_2 {
padding: 0 7.26rpx;
.wallet-head-left { display: flex; align-items: baseline; }
.wallet-head-label { font-size: 26rpx; color: #666; }
.wallet-head-amount { margin-left: 8rpx; font-size: 38rpx; color: #ff8d1a; font-weight: 700; }
/* 立即提现按钮 */
.wallet-head-right {
background: linear-gradient(135deg, #ffae3d, #ff8d1a);
border-radius: 999rpx;
padding: 12rpx 28rpx;
box-shadow: 0 4rpx 12rpx rgba(255, 141, 26, 0.3);
display: flex; /* 水平+垂直居中 */
align-items: center;
justify-content: center;
}
.image_3 {
width: 22.5rpx;
height: 22.5rpx;
.wallet-withdraw-text { font-size: 26rpx; color: #fff; font-weight: 600; }
/* 三统计(轻量分隔线风格) */
.wallet-stats {
display: flex;
justify-content: space-between;
margin-top: 12rpx;
border-top: 1rpx solid #f2f2f2;
padding-top: 20rpx;
}
.font_2 {
font-size: 22.5rpx;
font-family: SourceHanSansCN;
line-height: 20.68rpx;
color: #ff8d1a;
.wallet-stat {
flex: 1 0 0;
display: flex;
flex-direction: column;
align-items: center;
}
.text_2 {
color: #808080;
line-height: 1.4;
.wallet-stat:not(:last-child) { border-right: 1rpx solid #f2f2f2; }
.wallet-stat-label { font-size: 24rpx; color: #888; }
.wallet-stat-value { margin-top: 6rpx; font-size: 30rpx; color: #333; font-weight: 600; }
/* ===== 三入口快捷区 ===== */
.shortcut-row{
margin-top: 18rpx; background:#fff; border-radius: 16rpx; padding: 18rpx 10rpx;
display:flex; justify-content:space-between;
}
.section_2 {
width: 230rpx;
.shortcut-item{ flex:1 0 0; display:flex; flex-direction:column; align-items:center; }
.shortcut-icon{ width: 72rpx; height: 72rpx; }
.shortcut-text{ margin-top: 10rpx; font-size: 24rpx; color: #333; }
/* ===== 接单四宫格 ===== */
.grid-row{
margin-top: 18rpx; background:#fff; border-radius: 16rpx; padding: 18rpx 8rpx 6rpx;
display:flex; flex-wrap:wrap; justify-content:space-between;
}
.grid-item{ width: 25%; display:flex; flex-direction:column; align-items:center; margin-bottom: 18rpx; }
.grid-icon{ width: 64rpx; height: 64rpx; border-radius: 12rpx; }
.grid-text{ margin-top: 8rpx; font-size: 24rpx; color:#333; }
/* 自适应宽的胶囊 */
.invite-pill{
display: inline-flex; /* 关键:让容器只包裹内容 */
align-items: center;
max-width: 100%; /* 不超过父容器 */
padding: 7.5rpx 13.13rpx 5.63rpx 14.03rpx;
background-color: #fff6de;
border-radius: 31.26rpx;
/* 可选,让它靠左不被两端对齐挤开 */
align-self: flex-start;
}
.image_4 {
width: 24.38rpx;
height: 24.38rpx;
/* 文本超长时省略,不把胶囊撑爆 */
.invite-text{
max-width: 520rpx; /* 按你页面宽度调,或用 60% 等比例 */
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.text_3 {
margin-right: 21.6rpx;
}
.group {
margin-top: 33.75rpx;
width: 133.72rpx;
}
.image_2 {
margin-left: 17.48rpx;
width: 76.88rpx;
height: 76.88rpx;
}
.text_4 {
line-height: 20.72rpx;
}
.equal-division {
position: relative;
}
.section_3 {
padding: 6.88rpx 0 13.59rpx;
background-color: #ffffff;
border-radius: 18.75rpx;
}
.equal-division-item_1 {
margin-left: 8.06rpx;
}
.group_3 {
padding: 11.76rpx 0 10.01rpx;
width: 224.59rpx;
}
.image_5 {
width: 63.99rpx;
height: 63.99rpx;
}
.text_5 {
line-height: 24.26rpx;
}
.equal-division-item_2 {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
.equal-division-item {
padding: 11.76rpx 0 10.09rpx;
width: 224.59rpx;
}
.text_6 {
line-height: 24.28rpx;
}
.equal-division-item_3 {
position: absolute;
right: 10.03rpx;
top: 50%;
transform: translateY(-50%);
}
.group_5 {
padding: 11.76rpx 0 9.99rpx;
width: 224.59rpx;
}
.list {
padding-top: 19.38rpx;
}
.section_4 {
padding: 31.88rpx 31.88rpx 30rpx 33.75rpx;
background-color: #ffffff;
border-radius: 9.47rpx;
}
.image_6 {
border-radius: 9.38rpx;
width: 41.25rpx;
height: 41.25rpx;
}
.image_7 {
width: 30rpx;
height: 30rpx;
}
.text_7 {
line-height: 24.47rpx;
}
.text_8 {
line-height: 23.81rpx;
}
.nickname-wrap {
display: block; /* 让它单独占一行 */
max-width: 250rpx; /* 不超过容器宽度 */
white-space: normal; /* 允许正常换行 */
word-break: break-all; /* 长字符串也能断行 */
line-height: 1.4;
}