Files
frontend-app/pages/mine/mine.vue
T

884 lines
30 KiB
Vue
Raw Normal View History

2026-07-15 15:29:29 +08:00
<template>
<view class="mine_warp" :class="platformType ? '' : 'iosplatformType'">
<view class="mine_header">
<view class="mine_login_data" v-if="currentUserData && Object.keys(currentUserData).length !== 0">
<view class="mine_data">
<up-image
:src="currentUserData.avatarUrl ? currentUserData.avatarUrl : 'https://static.tbmall.xin/static/mine/avatar.png'"
2026-07-20 15:31:52 +08:00
shape="circle" width="54" height="54" bgColor="#f1f6ff00"></up-image>
2026-07-15 15:29:29 +08:00
<view class="mine_info">
<view class="mine_info_name">
<text style="margin-right: 20rpx">{{ currentUserData.nickname || '信任桥用户' }}</text>
<view class="level level-grade" @click="jumpToTrustBridge" v-if="currentUserData.agentName">
2026-07-22 17:18:13 +08:00
<up-image src="/static/common/rz.png"
2026-07-20 15:31:52 +08:00
style="margin-right: 8rpx; margin-top: 6rpx" shape="circle" width="13" height="13"
bgColor="#f1f6ff00"></up-image>
2026-07-15 15:29:29 +08:00
<view>{{ currentUserData.agentName }}</view>
</view>
2026-07-20 15:31:52 +08:00
<view :class="['level', currentUserData.grade ? 'level-name' : 'level-grade']"
v-if="!currentUserData.agentName && currentUserData.gradeName">
2026-07-15 15:29:29 +08:00
<view style="display: flex; align-items: center">
<up-image
:src="currentUserData.grade ? '/static/common/level.png' : 'https://static.tbmall.xin/static/mine/rz.png'"
2026-07-20 15:31:52 +08:00
style="margin-right: 8rpx; margin-top: 6rpx" shape="circle" width="14"
height="14" bgColor="#f1f6ff00"></up-image>
2026-07-15 15:29:29 +08:00
<view>{{ currentUserData.gradeName }}</view>
</view>
</view>
<!-- <view class="grade_warp" v-if="currentUserData && Object.keys(currentUserData).length !== 0">
<up-image
:src="
currentUserData.gradeLevel || currentUserData.gradeLevel === 0
? 'https://static.tbmall.xin/static/grade/V' + currentUserData.gradeLevel + '.png'
: 'https://static.tbmall.xin/static/grade/V0.png'
"
width="96"
height="26"
bgColor="#f1f6ff00"
></up-image>
<view :class="currentUserData.gradeName.length > 3 ? 'grade_key_warp grade_key_warp3' : 'grade_key_warp grade_key_warp1'">
{{ currentUserData.gradeName }}
</view>
</view> -->
</view>
<view class="mine_info_id">
<text style="margin-right: 20rpx">邀请码:{{ currentUserData.inviteCode }}</text>
2026-07-20 15:31:52 +08:00
<up-image src="/static/common/copy.png" width="14" height="14" bgColor="#f1f6ff00"
@click="copyData(currentUserData.inviteCode)"></up-image>
2026-07-15 15:29:29 +08:00
</view>
</view>
</view>
<view @click="jumpSetting">
2026-07-20 15:31:52 +08:00
<up-image src="https://static.tbmall.xin/static/mine/icon_arrow_black_off.png" width="22"
height="22" bgColor="#f1f6ff00"></up-image>
2026-07-15 15:29:29 +08:00
</view>
</view>
<view class="mine_no_login_data" v-else>
<view class="mine_data">
2026-07-20 15:31:52 +08:00
<up-image src="https://static.tbmall.xin/static/avater_not.png" shape="circle" width="80"
height="80" bgColor="#f1f6ff00"></up-image>
2026-07-15 15:29:29 +08:00
<view class="mine_info_not_login">未登录</view>
</view>
<view @click="jumpLogin" class="login_warp">
<text style="margin-right: 10rpx">立即登录</text>
<up-image src="/static/common/right_y_st.png" width="18" height="18" bgColor="#f1f6ff00"></up-image>
</view>
</view>
</view>
<view class="mine_content_warp">
<!-- 我的订单 -->
<view class="mine_content_comm_warp">
<view class="mine_order_title">
<view>我的订单</view>
<view class="mine_order_title_all" @click="jumpOrder({})">
<view style="margin-right: 10rpx; font-size: 28rpx; font-weight: normal">全部</view>
2026-07-20 15:31:52 +08:00
<up-image style="margin-top: 10rpx" src="/static/common/right.png" width="15" height="15"
bgColor="#f1f6ff00"></up-image>
2026-07-15 15:29:29 +08:00
</view>
</view>
<view class="mine_order_list">
2026-07-20 15:31:52 +08:00
<view class="mine_fontsize_comm_warp order_list_item" v-for="item in orderTemplList" :key="item.id"
@click="jumpOrder(item)">
2026-07-15 15:29:29 +08:00
<up-image :src="item.url" width="28" height="28" bgColor="#f1f6ff00"></up-image>
<view>{{ item.title }}</view>
2026-07-22 15:48:18 +08:00
<up-badge :absolute="true" :offset="[-9, 9]" max="99" :customStyle="{ width: '40rpx', height: '32rpx', borderRadius: '45% 45% 45% 0', display: 'flex', alignItems: 'center', justifyContent: 'center', padding: 0 }" :value="statisticsObj[item.note]"></up-badge>
2026-07-15 15:29:29 +08:00
</view>
</view>
</view>
<!-- 应用 -->
<view class="mine_content_comm_warp mine_top_comm_warp apply_list">
2026-07-20 15:31:52 +08:00
<view class="apply_item mine_fontsize_comm_warp" v-for="item in applyList" :key="item.id"
@click="jumpTool(item)">
2026-07-15 15:29:29 +08:00
<up-image :src="item.url" width="36" height="36" bgColor="#f1f6ff00"></up-image>
<view>{{ item.title }}</view>
</view>
</view>
<!-- 入驻 -->
<!-- #ifndef MP-WEIXIN -->
<!-- <view class="mine_content_comm_warp mine_top_comm_warp mine_tool_warp">
<view class="mine_tool_title">入驻信任桥</view>
<view class="settled_list">
<view class="enter_item" @click="jumpEnter('merchant')">
<view class="enter_item_cell">
<up-image
src="https://static.tbmall.xin/static/mine/enter_sj.png"
width="36"
height="36"
bgColor="#f1f6ff00"
></up-image>
<view class="enter_item_text">
<view class="enter_title">商家入驻</view>
<view class="enter_remark">获取更多客户与订单机会</view>
</view>
</view>
<view class="enter_apply">
<text class="enter_apply_title">申请</text>
<view style="margin-top: 10rpx">
<up-image
src="/static/common/right.png"
width="14"
height="14"
bgColor="#f1f6ff00"
></up-image>
</view>
</view>
</view>
<view class="enter_item" @click="jumpEnter('brand')">
<view class="enter_item_cell">
<up-image
src="https://static.tbmall.xin/static/mine/enter_pp.png"
width="36"
height="36"
bgColor="#f1f6ff00"
></up-image>
<view class="enter_item_text">
<view class="enter_title">企业/品牌入驻</view>
<view class="enter_remark">助您打造专属品牌馆</view>
</view>
</view>
<view class="enter_apply">
<text class="enter_apply_title">申请</text>
<view style="margin-top: 10rpx">
<up-image
src="/static/common/right.png"
width="14"
height="14"
bgColor="#f1f6ff00"
></up-image>
</view>
</view>
</view>
</view>
</view> -->
<!-- #endif -->
<!-- 服务工具 -->
<view class="mine_content_comm_warp mine_top_comm_warp mine_tool_warp">
<view class="mine_tool_title">服务工具</view>
<view class="tool_list">
<view class="tool_item" v-for="item in toolList" :key="item.id" @click="jumpTool(item)">
2026-07-20 15:31:52 +08:00
<view class="tool-icon-wrap">
<up-image :src="item.url" width="28" height="28" bgColor="#f1f6ff00"></up-image>
<view v-if="item.id === 7 && kefuUnreadCount > 0" class="kefu-unread-dot"
aria-label="有新的客服消息"></view>
</view>
2026-07-15 15:29:29 +08:00
<text class="mine_fontsize_comm_warp">{{ item.title }}</text>
</view>
</view>
</view>
</view>
<!-- #ifndef H5 || MP-WEIXIN-->
<CustomTabBar :tabIndex="4" />
<!-- #endif -->
<!-- 品牌入驻弹框 -->
<up-modal :show="brandShow" :showConfirmButton="false">
<view class="slot-content">
<view class="close_warp" @click="brandShow = false">
<up-image src="/static/common/close.png" width="20" height="20" bgColor="#f1f6ff00"></up-image>
</view>
<view class="content_">
<view class="content_1">企业入驻</view>
<view class="content_2">请联系负责人</view>
<view class="content_3">{{ CUSTOMER_SERVICE_PHONE_NUMBER }}</view>
</view>
<view class="but_">
<view class="but_copy" @click="copyMobile(CUSTOMER_SERVICE_PHONE_NUMBER)">复制号码</view>
<view class="but_close" @click="brandShow = false">取消</view>
</view>
</view>
</up-modal>
<!-- 我的客服 -->
<up-modal :show="serviceShow" :showConfirmButton="false">
<view class="slot-content">
<view class="close_warp" @click="serviceShow = false">
<up-image src="/static/common/close.png" width="20" height="20" bgColor="#f1f6ff00"></up-image>
</view>
<view class="content_">
<view class="content_1">联系客服</view>
<view class="content_3">{{ CUSTOMER_SERVICE_PHONE_NUMBER }}</view>
</view>
<view class="but_">
<view class="but_copy" @click="copyMobile(CUSTOMER_SERVICE_PHONE_NUMBER)">复制号码</view>
<view class="but_close" @click="serviceShow = false">取消</view>
</view>
</view>
</up-modal>
<!-- 暂未开放 -->
<up-modal :show="openShow" :showConfirmButton="false">
<view class="slot-content">
<view class="close_warp" @click="openShow = false">
<up-image src="/static/common/close.png" width="20" height="20" bgColor="#f1f6ff00"></up-image>
</view>
<view class="content_">
<view class="content_1">温馨提示</view>
<view class="content_2">暂未开放</view>
</view>
<view class="but_">
<view class="but_copy" @click="openShow = false">确定</view>
</view>
</view>
</up-modal>
</view>
</template>
<script>
import { getStorageFun, USER_DATA, clear } from '@/utils/auth.js';
import { ORDER_TYPE, MINE_ORDER_TYPE } from '@/utils/enumUtils.js';
import { copyData } from '@/utils/index.js';
import CustomTabBar from '@/components/custom-tab-bar.vue';
import { getStatistics } from '@/api/order.js';
import { getUserInfo } from '@/api/auth.js';
import { CUSTOMER_SERVICE_PHONE_NUMBER } from '@/utils/config.js';
2026-07-20 15:31:52 +08:00
import { getUnreadCount as getKefuUnreadCount } from "@/uni_modules/hashmall-customer-service/js_sdk/api.js";
2026-07-15 15:29:29 +08:00
export default {
computed: {
CUSTOMER_SERVICE_PHONE_NUMBER() {
return CUSTOMER_SERVICE_PHONE_NUMBER;
}
},
components: { CustomTabBar },
data() {
return {
userData: {}, // 当前登录对象
currentUserData: {}, // 当前登录对象
orderTemplList: [
{
id: ORDER_TYPE.UNPAID,
title: '待支付',
url: 'https://static.tbmall.xin/static/mine/order_unpaid.png',
path: '/pages/mine_package/mine_order/mine_order?type=' + MINE_ORDER_TYPE.UNPAID,
note: 'unPayNum'
},
{
id: ORDER_TYPE.UNSHIPPED,
title: '待发货',
url: 'https://static.tbmall.xin/static/mine/order_unshipped.png',
path: '/pages/mine_package/mine_order/mine_order?type=' + MINE_ORDER_TYPE.UNSHIPPED,
note: 'unSentNum'
},
{
id: ORDER_TYPE.NOT_RECEIVE,
title: '待收货',
url: 'https://static.tbmall.xin/static/mine/order_notReceive.png',
path: '/pages/mine_package/mine_order/mine_order?type=' + MINE_ORDER_TYPE.NOT_RECEIVE,
note: 'unTakeNum'
},
{
id: ORDER_TYPE.SUCCEED,
title: '已完成',
url: 'https://static.tbmall.xin/static/mine/order_afterSale.png',
path: '/pages/mine_package/mine_order/mine_order?type=' + MINE_ORDER_TYPE.SUCCEED,
note: 'unCommentNum'
},
{
id: ORDER_TYPE.AFTER_SALE,
title: '售后',
url: 'https://static.tbmall.xin/static/new/shouhou.png',
path: '/pages/mine_package/mine_order/mine_order?type=' + MINE_ORDER_TYPE.AFTER_SALE,
note: 'unCommentNum'
}
],
applyList: [
{
id: 1,
title: '钱包',
url: 'https://static.tbmall.xin/static/mine/apply_purse.png',
path: '/pages/mine_package/mine_purse/mine_purse'
},
// {
// id: 6,
// title: "优惠券",
// url: "https://static.tbmall.xin/static/mine/apply_prize.png",
// path: "/pages/other_package/coupon/coupon",
// },
{
id: 2,
title: '抽奖',
url: 'https://static.tbmall.xin/static/mine/apply_prize.png',
path: '/pages/other_package/nine-grid/nine-grid'
},
{
id: 4,
title: '我的推广',
url: 'https://static.tbmall.xin/static/mine/tool_team.png',
path: '/pages/mine_package/mine_my_team/mine_my_team'
},
{
id: 5,
title: '数字积分',
url: 'https://static.tbmall.xin/static/mine/tool_js.png',
path: '/pages/rwa_package/dongjian/jia'
}
// {
// id: 3,
// title: "交易",
// url: 'https://static.tbmall.xin/static/apply_hm.png'
// },
// {
// id:4,
// title:"贡献值",
// url:'https://static.tbmall.xin/static/mine/apply_gx.png'
// },{
// id:5,
// title:"数据",
// url:'https://static.tbmall.xin/static/mine/apply_sj.png'
// },
], // 应用模版
toolList: [
{
id: 5,
title: '地址管理',
url: 'https://static.tbmall.xin/static/mine/tool_dz.png',
path: '/pages/mine_package/mine_address/mine_address'
},
{
id: 9,
title: '实名认证',
url: 'https://static.tbmall.xin/static/mine/tool_sm.png'
},
{
id: 10,
title: '账户管理',
url: 'https://static.tbmall.xin/static/mine/tool_card.png',
path: '/pages/rwa_package/account/index'
},
{
id: 3,
title: '邀请好友',
url: 'https://static.tbmall.xin/static/mine/tool_invite.png',
path: '/pages/other_package/invite_friends/invite_friends'
},
// {
// id:2,
// title:"我的团队",
// url:'https://static.tbmall.xin/static/tool_team.png',
// path:"/pages/mine_package/mine_my_team/mine_my_team",
// },
// {
// id:6,
// title:"卡券",
// url:'https://static.tbmall.xin/static/mine/tool_kj.png',
// // path:"/pages/mine_package/mine_coupon/mine_coupon",
// },
{
id: 7,
title: '联系客服',
url: 'https://static.tbmall.xin/static/mine/xlkf.png'
},
// {
// id:4,
// title:"加速次数",
// url:'https://static.tbmall.xin/static/tool_js.png',
// path:"/pages/login_package/accelerate/accelerate"
// },
{
id: 8,
title: '商学院资讯',
url: 'https://static.tbmall.xin/static/mine/tool_sxy.png',
path: '/pages/login_package/news/news'
},
{
id: 12,
title: '财务',
url: 'https://static.tbmall.xin/static/mine/tool_cw.png',
path: '/pages/rwa_package/dongjian/finance'
}
// {
// id: 11,
// title: "股东行权",
// url: "https://static.tbmall.xin/static/mine/tool_gdxq.png",
// path: "/pages/rwa_package/rwa/rwa",
// },
// {
// id:1,
// title:"IM聊天",
// url:'https://static.tbmall.xin/static/mine/tool_im.png'
// },
], // 工具
brandShow: false, // 品牌入驻弹框
statisticsObj: {
unPayNum: 0, //待支付数量
unSentNum: 0, //待发货数量
unTakeNum: 0, //待收货数量
unCommentNum: 0 //待评价数量
}, // 角标统计
serviceShow: false, // 我的客服弹框
openShow: false, // 暂未开放
2026-07-20 15:31:52 +08:00
platformType: true,
kefuUnreadCount: 0,
kefuUnreadTimer: null,
2026-07-15 15:29:29 +08:00
};
},
onShow() {
this.userData = getStorageFun(USER_DATA);
/*#ifdef APP-PLUS*/
uni.hideTabBar({
animation: false
});
const appUpdate = uni.getStorageSync('platform');
this.platformType = appUpdate == 'android' ? 'ANDROID' : 'IOS';
/*#endif*/
this.getStatistics();
this.getUserInfo();
2026-07-20 15:31:52 +08:00
this.startKefuUnreadPolling();
2026-07-15 15:29:29 +08:00
},
2026-07-20 15:31:52 +08:00
onHide() {
this.stopKefuUnreadPolling();
},
onUnload() {
this.stopKefuUnreadPolling();
},
mounted() { },
2026-07-15 15:29:29 +08:00
methods: {
copyData,
2026-07-20 15:31:52 +08:00
async refreshKefuUnreadCount() {
const userId = this.currentUserData && this.currentUserData.id;
if (!userId) {
this.kefuUnreadCount = 0;
return;
}
try {
this.kefuUnreadCount = await getKefuUnreadCount(userId);
} catch (error) {
this.kefuUnreadCount = 0;
}
},
startKefuUnreadPolling() {
this.stopKefuUnreadPolling();
this.refreshKefuUnreadCount();
this.kefuUnreadTimer = setInterval(() => this.refreshKefuUnreadCount(), 15000);
},
stopKefuUnreadPolling() {
if (this.kefuUnreadTimer) clearInterval(this.kefuUnreadTimer);
this.kefuUnreadTimer = null;
},
2026-07-15 15:29:29 +08:00
// 查询用户等级
async getUserInfo() {
const result = await getUserInfo();
if (result && result.bizcode === 100) {
const data = result.data;
this.currentUserData = result.data || {};
2026-07-20 15:31:52 +08:00
this.refreshKefuUnreadCount();
2026-07-15 15:29:29 +08:00
if (!this.currentUserData?.isNewUser) {
this.applyList = this.applyList.filter((item) => item.id !== 5);
}
}
},
jumpToTrustBridge() {
// 跳转到指定的信任桥地址
const isAgentLogin = this.currentUserData?.isAgentLogin ? Number(this.currentUserData?.isAgentLogin) : 0;
if (isAgentLogin) {
uni.navigateTo({
url: '/pages/mine_package/mild-shopping/mild-shopping'
});
}
},
/**
* 跳转到工具
* @param {Object} item
*/
jumpTool(item) {
// 优惠券
if (item.id === 6) {
uni.navigateTo({
url: item.path
});
}
// 客服
if (item.id === 7) {
uni.navigateTo({
2026-07-20 15:31:52 +08:00
url: "/pages/rwa_package/setting/kefu",
2026-07-15 15:29:29 +08:00
});
} else if (item.id === 9) {
// 实名认证
const currentUserData = this.currentUserData;
console.log('currentUserData', this.currentUserData);
let path = '/pages/mine_package/mine_authentication/mine_authentication';
if (currentUserData && Object.keys(currentUserData).length !== 0 && currentUserData.certStatus && currentUserData.certStatus !== 0) {
path = '/pages/mine_package/mine_authentication_ok/mine_authentication_ok';
}
uni.navigateTo({
url: path
});
} else if (item.path) {
uni.navigateTo({
url: item.path
});
} else {
this.openShow = true;
}
},
jumpOrder(item) {
let path = '/pages/mine_package/mine_order/mine_order';
if (item && Object.keys(item).length !== 0) {
path = item.path;
}
uni.navigateTo({
url: path
});
},
jumpLogin() {
uni.navigateTo({
url: '/pages/login_package/login/login'
});
},
// 跳转到入驻页面
jumpEnter(type) {
// 商家入驻
if (type === 'merchant') {
// uni.navigateTo({
// url: '/pages/rwa_package/merchant_settlement/merchant_settlement.vue',
// })
this.openShow = true;
} else if (type === 'brand') {
// 企业/品牌入驻
// uni.navigateTo({
// url: '/pages/brand_settlement/brand_settlement',
// })
// this.brandShow = true;
this.openShow = true;
}
},
copyMobile(mobile) {
copyData(mobile);
this.brandShow = false;
this.serviceShow = false;
},
// 查询统计
async getStatistics() {
const result = await getStatistics();
if (result && result.bizcode === 100 && result.data) {
this.statisticsObj = {
...result.data,
unCommentNum: 0 //待评价数量
};
} else {
this.statisticsObj = {
unPayNum: 0, //待支付数量
unSentNum: 0, //待发货数量
unTakeNum: 0, //待收货数量
unCommentNum: 0 //待评价数量
};
}
},
jumpSetting() {
uni.navigateTo({
url: '/pages/rwa_package/setting/setting'
});
}
},
beforeDestroy() {
this.statisticsObj = {
unPayNum: 0, //待支付数量
unSentNum: 0, //待发货数量
unTakeNum: 0, //待收货数量
unCommentNum: 0 //待评价数量
}; // 角标统计
}
};
</script>
<style lang="scss">
.mine_warp {
2026-07-20 15:31:52 +08:00
height: calc(100vh - env(safe-area-inset-bottom));
overflow: auto;
position: relative;
background-color: $app-bj;
2026-07-15 15:29:29 +08:00
2026-07-20 15:31:52 +08:00
&.iosplatformType {
height: 100vh;
2026-07-15 15:29:29 +08:00
2026-07-20 15:31:52 +08:00
.mine_content_warp {
padding-bottom: 100rpx !important;
2026-07-15 15:29:29 +08:00
}
2026-07-20 15:31:52 +08:00
}
2026-07-15 15:29:29 +08:00
}
.mine_header {
2026-07-20 15:31:52 +08:00
// height: 300rpx;
background: linear-gradient(180deg,
#f2ebff 0%,
rgba(245, 245, 247, 0) 100%,
#ffffff 100%);
/* 将图片居中显示 */
padding: 90rpx 20rpx 0;
2026-07-15 15:29:29 +08:00
2026-07-20 15:31:52 +08:00
.mine_login_data {
2026-07-15 15:29:29 +08:00
display: flex;
justify-content: space-between;
align-items: center;
2026-07-20 15:31:52 +08:00
}
}
2026-07-15 15:29:29 +08:00
2026-07-20 15:31:52 +08:00
.mine_content_warp {
margin-top: 20rpx;
margin-left: 30rpx;
width: 690rpx;
padding-bottom: calc(100rpx + env(safe-area-inset-bottom));
}
.mine_no_login_data {
display: flex;
justify-content: space-between;
align-items: center;
.login_warp {
display: flex;
align-items: center;
font-weight: 500;
font-size: 26rpx;
color: #111111;
}
2026-07-15 15:29:29 +08:00
}
.mine_data {
2026-07-20 15:31:52 +08:00
display: flex;
2026-07-15 15:29:29 +08:00
}
.mine_info_not_login {
2026-07-20 15:31:52 +08:00
font-weight: bold;
font-size: 40rpx;
color: #111111;
2026-07-15 15:29:29 +08:00
}
.mine_info {
2026-07-20 15:31:52 +08:00
margin-left: 20rpx;
2026-07-15 15:29:29 +08:00
}
.mine_info_name {
2026-07-20 15:31:52 +08:00
font-weight: bold;
font-size: 40rpx;
color: #111111;
display: flex;
justify-content: start;
align-items: center;
.grade_warp {
position: relative;
}
.level {
border-radius: 8rpx;
2026-07-15 15:29:29 +08:00
display: flex;
2026-07-20 15:31:52 +08:00
justify-content: center;
2026-07-15 15:29:29 +08:00
align-items: center;
2026-07-20 15:31:52 +08:00
padding: 0rpx 16rpx;
font-size: 24rpx;
height: 44rpx;
2026-07-15 15:29:29 +08:00
2026-07-20 15:31:52 +08:00
&.level-name {
background: rgba(248, 185, 75, 0.15);
color: #613700;
margin-left: 10rpx;
2026-07-15 15:29:29 +08:00
}
2026-07-20 15:31:52 +08:00
&.level-grade {
2026-07-22 17:18:13 +08:00
background: rgba(248,185,75,0.15);
color: #613700;
2026-07-15 15:29:29 +08:00
}
2026-07-20 15:31:52 +08:00
}
2026-07-15 15:29:29 +08:00
2026-07-20 15:31:52 +08:00
.grade_key_warp {
position: absolute;
top: 0rpx;
left: 30%;
font-size: 24rpx;
color: #ffffff;
width: 100rpx;
height: 44rpx;
line-height: 50rpx;
text-align: center;
}
2026-07-15 15:29:29 +08:00
2026-07-20 15:31:52 +08:00
.grade_key_warp1 {
font-size: 24rpx;
line-height: 48rpx;
}
2026-07-15 15:29:29 +08:00
2026-07-20 15:31:52 +08:00
.grade_key_warp3 {
font-size: 20rpx;
}
2026-07-15 15:29:29 +08:00
}
.mine_info_id {
2026-07-20 15:31:52 +08:00
font-weight: 500;
font-size: 24rpx;
color: #666666;
display: flex;
margin-top: 10rpx;
2026-07-15 15:29:29 +08:00
}
/* 内容公共 start */
.mine_content_comm_warp {
2026-07-20 15:31:52 +08:00
background: #ffffff;
box-shadow: 0rpx 0rpx 10rpx 0rpx #eeeeee;
border-radius: 30rpx;
padding: 30rpx;
2026-07-15 15:29:29 +08:00
}
.mine_fontsize_comm_warp {
2026-07-20 15:31:52 +08:00
font-weight: 500;
font-size: 24rpx;
color: #222222;
2026-07-15 15:29:29 +08:00
}
.mine_top_comm_warp {
2026-07-20 15:31:52 +08:00
margin-top: 30rpx;
2026-07-15 15:29:29 +08:00
2026-07-20 15:31:52 +08:00
.settled_list {
width: 100%;
box-sizing: border-box;
2026-07-15 15:29:29 +08:00
2026-07-20 15:31:52 +08:00
.enter_item {
width: 100%;
margin-top: 10rpx;
padding: 12rpx 0;
box-sizing: border-box;
2026-07-15 15:29:29 +08:00
2026-07-20 15:31:52 +08:00
.enter_item_cell {
display: flex;
2026-07-15 15:29:29 +08:00
2026-07-20 15:31:52 +08:00
.u-transition {
margin-top: 5rpx;
2026-07-15 15:29:29 +08:00
}
2026-07-20 15:31:52 +08:00
.enter_item_text {
margin-left: 10rpx;
.enter_remark {
font-size: 24rpx;
color: #999999;
margin-top: 10rpx;
}
}
}
2026-07-15 15:29:29 +08:00
}
2026-07-20 15:31:52 +08:00
}
2026-07-15 15:29:29 +08:00
}
/* 内容公共 end */
.mine_order_title {
2026-07-20 15:31:52 +08:00
display: flex;
align-items: center;
justify-content: space-between;
font-weight: bold;
font-size: 32rpx;
color: #333333;
2026-07-15 15:29:29 +08:00
}
.mine_order_title_all {
2026-07-20 15:31:52 +08:00
display: flex;
align-items: center;
justify-content: center;
font-size: 20rpx;
color: #bbbbbb;
2026-07-15 15:29:29 +08:00
}
.mine_order_list {
2026-07-20 15:31:52 +08:00
display: flex;
justify-content: space-between;
margin: 40rpx 0 10rpx 0;
2026-07-15 15:29:29 +08:00
}
.order_list_item {
2026-07-20 15:31:52 +08:00
width: 25%;
text-align: center;
position: relative;
2026-07-15 15:29:29 +08:00
}
.apply_list {
2026-07-20 15:31:52 +08:00
display: flex;
justify-content: space-between;
2026-07-15 15:29:29 +08:00
}
.apply_item {
2026-07-20 15:31:52 +08:00
width: 20%;
text-align: center;
2026-07-15 15:29:29 +08:00
}
.enter_list {
2026-07-20 15:31:52 +08:00
display: flex;
justify-content: space-between;
2026-07-15 15:29:29 +08:00
}
.enter_item {
2026-07-20 15:31:52 +08:00
width: 40%;
background: #ffffff;
border-radius: 30rpx;
display: flex;
justify-content: space-between;
padding: 12rpx 30rpx;
align-items: center;
2026-07-15 15:29:29 +08:00
}
.enter_title {
2026-07-20 15:31:52 +08:00
font-weight: bold;
font-size: 26rpx;
color: #333333;
2026-07-15 15:29:29 +08:00
}
.enter_apply {
2026-07-20 15:31:52 +08:00
font-weight: 400;
font-size: 24rpx;
color: #666666;
display: flex;
align-items: center;
margin-top: 10rpx;
2026-07-15 15:29:29 +08:00
}
.enter_apply_title {
2026-07-20 15:31:52 +08:00
margin-right: 10rpx;
2026-07-15 15:29:29 +08:00
}
.mine_tool_title {
2026-07-20 15:31:52 +08:00
font-weight: bold;
font-size: 30rpx;
color: #333333;
2026-07-15 15:29:29 +08:00
}
.tool_list {
2026-07-20 15:31:52 +08:00
display: flex;
flex-wrap: wrap;
margin-top: 10rpx;
2026-07-15 15:29:29 +08:00
}
.tool_item {
2026-07-20 15:31:52 +08:00
width: 25%;
text-align: center;
margin-top: 20rpx;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.tool-icon-wrap {
position: relative;
display: inline-flex;
}
.kefu-unread-dot {
position: absolute;
top: -5rpx;
right: -7rpx;
width: 14rpx;
height: 14rpx;
border: 3rpx solid #ffffff;
border-radius: 50%;
background: #f04444;
box-sizing: content-box;
2026-07-15 15:29:29 +08:00
}
::v-deep .u-modal__content {
2026-07-20 15:31:52 +08:00
padding: 40rpx !important;
2026-07-15 15:29:29 +08:00
}
</style>