feat(dmepa): 全局统一规范DMEPA命名并优化游客与品酒师身份显示
这个提交包含在:
@@ -496,13 +496,13 @@
|
||||
{
|
||||
"path": "madow",
|
||||
"style": {
|
||||
"navigationBarTitleText": "我的马豆",
|
||||
"navigationBarTitleText": "我的dmepa",
|
||||
"enablePullDownRefresh": true
|
||||
},
|
||||
"meta": {
|
||||
"auth": true,
|
||||
"sync": true,
|
||||
"title": "我的马豆",
|
||||
"title": "我的dmepa",
|
||||
"group": "分销商城"
|
||||
}
|
||||
},
|
||||
|
||||
@@ -53,6 +53,8 @@
|
||||
const levelTitle = computed(() => {
|
||||
if (userInfo.value?.maker_level_name) return userInfo.value.maker_level_name;
|
||||
if (agentInfo.value?.maker_level_name) return agentInfo.value.maker_level_name;
|
||||
if (userInfo.value?.identity_text) return userInfo.value.identity_text;
|
||||
if (agentInfo.value?.identity_text) return agentInfo.value.identity_text;
|
||||
const rawName = agentInfo.value?.level_info?.name;
|
||||
if (rawName && roleNames.value.maker && rawName.includes('创客')) {
|
||||
return rawName.replace('创客', roleNames.value.maker);
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
},
|
||||
{
|
||||
img: '/assets/addons/shopro/uniapp/commission/commission_icon3.png',
|
||||
title: '我的马豆',
|
||||
title: '我的dmepa',
|
||||
path: '/pages/commission/madow',
|
||||
},
|
||||
{
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<s-layout class="madow-wrap" title="我的马豆">
|
||||
<s-layout class="madow-wrap" title="我的dmepa">
|
||||
<!-- 顶部黑金尊享资产卡片 -->
|
||||
<view class="header-box">
|
||||
<view class="asset-card">
|
||||
@@ -7,7 +7,6 @@
|
||||
<view class="card-top ss-flex ss-row-between ss-col-center">
|
||||
<view class="top-tag ss-flex ss-col-center">
|
||||
<text class="tag-badge">生态资产</text>
|
||||
<text class="top-title">持有马豆总量</text>
|
||||
</view>
|
||||
<view class="rule-btn ss-flex ss-col-center" @tap="state.showHelp = true">
|
||||
<text class="rule-btn-text">市值规则</text>
|
||||
@@ -15,35 +14,36 @@
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 马豆核心大字数 -->
|
||||
<view class="madow-hero ss-flex ss-col-bottom">
|
||||
<text class="hero-num">{{ formatInt(state.info.madow) }}</text>
|
||||
<text class="hero-unit">豆</text>
|
||||
<!-- dmepa核心大字数 -->
|
||||
<view class="madow-hero ss-flex ss-col-bottom ss-row-between">
|
||||
<view class="hero-left ss-flex ss-col-bottom">
|
||||
<text class="hero-num">{{ formatInt(state.info.madow) }}</text>
|
||||
<text class="hero-unit">dmepa</text>
|
||||
</view>
|
||||
<button
|
||||
v-if="state.info.can_withdraw_madow !== false && state.info.can_withdraw_madow !== 0 && state.info.can_withdraw_madow !== '0'"
|
||||
class="ss-reset-button topup-btn ss-flex ss-row-center ss-col-center"
|
||||
@tap="onWithdrawMadow"
|
||||
>
|
||||
<text class="cicon-moneybag ss-m-r-6"></text>
|
||||
<text>提现</text>
|
||||
</button>
|
||||
</view>
|
||||
|
||||
<!-- 马币市值动态指示胶囊 -->
|
||||
<!-- 市值动态指示胶囊 -->
|
||||
<view
|
||||
class="rate-capsule ss-flex ss-row-between ss-col-center"
|
||||
v-if="state.info.show_madow_rate !== false && state.info.show_madow_rate !== 0 && state.info.show_madow_rate !== '0'"
|
||||
>
|
||||
<view class="capsule-left ss-flex ss-col-center">
|
||||
<text class="capsule-dot"></text>
|
||||
<text class="capsule-text">马币市值 1 马豆 ≈ {{ state.info.madow_rate || '0' }} 元</text>
|
||||
<text class="capsule-text">市值 1 dmepa ≈ {{ state.info.madow_rate || '0' }} 元</text>
|
||||
</view>
|
||||
<text class="capsule-tag">生态增值</text>
|
||||
</view>
|
||||
|
||||
<!-- 底部数据栏:折合市值与结算提示 -->
|
||||
<view class="card-footer ss-flex ss-row-between ss-col-center">
|
||||
<view class="footer-metric">
|
||||
<text class="metric-label">预估马币总市值</text>
|
||||
<view class="metric-val-wrap ss-flex ss-col-bottom">
|
||||
<text class="currency-symbol">¥</text>
|
||||
<text class="metric-val" v-if="parseFloat(state.info.madow_value) > 0">{{ state.info.madow_value }}</text>
|
||||
<text class="metric-val" v-else-if="parseFloat(state.info.madow) > 0"><0.01</text>
|
||||
<text class="metric-val" v-else>{{ state.info.madow_value || '0.00' }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 底部数据栏:结算提示(预估总市值已按需求隐藏) -->
|
||||
<view class="card-footer ss-flex ss-row-right ss-col-center">
|
||||
<view class="footer-tip">
|
||||
<text class="tip-text">次日 00:30 起核算</text>
|
||||
</view>
|
||||
@@ -64,7 +64,7 @@
|
||||
<view class="empty-wrap" v-if="state.inited && state.list.length === 0">
|
||||
<s-empty
|
||||
icon="/static/data-empty.png"
|
||||
text="完成一笔订单后,次日 00:30 起参与马豆核算。"
|
||||
text="完成一笔订单后,次日 00:30 起参与dmepa核算。"
|
||||
></s-empty>
|
||||
</view>
|
||||
|
||||
@@ -81,14 +81,14 @@
|
||||
<text class="cicon-gift"></text>
|
||||
</view>
|
||||
<view class="log-main-info">
|
||||
<text class="log-title">每日贡献马豆</text>
|
||||
<text class="log-title">每日贡献dmepa</text>
|
||||
<text class="log-date">{{ item.settle_date || item.date || item.createtime || '' }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="log-amount">
|
||||
<text class="amount-plus">+</text>
|
||||
<text class="amount-num">{{ formatInt(item.madow || item.amount) }}</text>
|
||||
<text class="amount-unit">豆</text>
|
||||
<text class="amount-unit">dmepa</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -122,7 +122,7 @@
|
||||
}"
|
||||
/>
|
||||
|
||||
<!-- 马币市值与规则说明弹窗 -->
|
||||
<!-- 市值与规则说明弹窗 -->
|
||||
<su-popup
|
||||
:show="state.showHelp"
|
||||
type="bottom"
|
||||
@@ -131,34 +131,19 @@
|
||||
showClose
|
||||
>
|
||||
<view class="rule-popup-body">
|
||||
<view class="rule-popup-title ss-m-b-30">马币市值与增值规则</view>
|
||||
<view class="rule-item ss-m-b-24">
|
||||
<view class="rule-popup-title ss-m-b-30">{{ state.ruleTitle }}</view>
|
||||
<view
|
||||
class="rule-item"
|
||||
:class="index === state.rules.length - 1 ? 'ss-m-b-36' : 'ss-m-b-24'"
|
||||
v-for="(item, index) in state.rules"
|
||||
:key="index"
|
||||
>
|
||||
<view class="rule-item-title ss-flex ss-col-center ss-m-b-8">
|
||||
<text class="rule-seq">1</text>
|
||||
<text class="rule-name">马豆获取与核算</text>
|
||||
<text class="rule-seq">{{ index + 1 }}</text>
|
||||
<text class="rule-name">{{ item.title }}</text>
|
||||
</view>
|
||||
<view class="rule-item-desc">
|
||||
平台合伙人与创客达成考核或完成订单后,系统将于次日 00:30 起统一参与每日马豆加权核算并自动分发。
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="rule-item ss-m-b-24">
|
||||
<view class="rule-item-title ss-flex ss-col-center ss-m-b-8">
|
||||
<text class="rule-seq">2</text>
|
||||
<text class="rule-name">马币市值动态增值</text>
|
||||
</view>
|
||||
<view class="rule-item-desc">
|
||||
马币市值随全平台订单增加而上浮增值。全网完成订单总量越多,马豆单价所对应的马币市值越高,共享生态红利。
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="rule-item ss-m-b-36">
|
||||
<view class="rule-item-title ss-flex ss-col-center ss-m-b-8">
|
||||
<text class="rule-seq">3</text>
|
||||
<text class="rule-name">价值说明与权益</text>
|
||||
</view>
|
||||
<view class="rule-item-desc">
|
||||
马币市值仅作为平台数字生态资产价值参考展示,不可直接兑换现金提现。具体权益按平台股东与合伙人章程执行。
|
||||
{{ item.desc }}
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -176,13 +161,32 @@
|
||||
import sheep from '@/sheep';
|
||||
import _ from 'lodash';
|
||||
|
||||
const defaultRules = [
|
||||
{
|
||||
title: 'dmepa获取与核算',
|
||||
desc: '平台合伙人与创客达成考核或完成订单后,系统将于次日 00:30 起统一参与每日dmepa加权核算并自动分发。',
|
||||
},
|
||||
{
|
||||
title: '市值动态增值',
|
||||
desc: '市值随全平台订单增加而上浮增值。全网完成订单总量越多,dmepa单价所对应的市值越高,共享生态红利。',
|
||||
},
|
||||
{
|
||||
title: '价值说明与权益',
|
||||
desc: '市值仅作为平台数字生态资产价值参考展示,不可直接兑换现金提现。具体权益按平台股东与合伙人章程执行。',
|
||||
},
|
||||
];
|
||||
|
||||
const state = reactive({
|
||||
info: {
|
||||
madow: sheep.$store('user').userInfo?.madow || '0',
|
||||
madow_rate: sheep.$store('user').userInfo?.madow_rate || '0',
|
||||
madow_value: sheep.$store('user').userInfo?.madow_value || '0.00',
|
||||
show_madow_rate: sheep.$store('user').userInfo?.show_madow_rate ?? 1,
|
||||
can_withdraw_madow: 1,
|
||||
madow_withdraw_min: 1,
|
||||
},
|
||||
ruleTitle: '市值与增值规则',
|
||||
rules: defaultRules,
|
||||
list: [],
|
||||
inited: false,
|
||||
page: 1,
|
||||
@@ -191,6 +195,10 @@
|
||||
showHelp: false,
|
||||
});
|
||||
|
||||
function onWithdrawMadow() {
|
||||
sheep.$router.go('/pages/pay/withdraw', { type: 'madow' });
|
||||
}
|
||||
|
||||
function formatInt(val) {
|
||||
if (val === '' || val === null || val === undefined || val === '--') return '0';
|
||||
const num = parseFloat(val) || 0;
|
||||
@@ -221,6 +229,22 @@
|
||||
if (data.show_madow_rate !== undefined) {
|
||||
state.info.show_madow_rate = data.show_madow_rate;
|
||||
}
|
||||
if (data.can_withdraw_madow !== undefined) {
|
||||
state.info.can_withdraw_madow = data.can_withdraw_madow;
|
||||
}
|
||||
if (data.madow_withdraw_min !== undefined) {
|
||||
state.info.madow_withdraw_min = data.madow_withdraw_min;
|
||||
}
|
||||
if (data.rule_title) {
|
||||
state.ruleTitle = String(data.rule_title).replace(/马币/g, '');
|
||||
}
|
||||
if (Array.isArray(data.rules) && data.rules.length > 0) {
|
||||
state.rules = data.rules.map((item) => ({
|
||||
...item,
|
||||
title: String(item.title || '').replace(/马币/g, ''),
|
||||
desc: String(item.desc || '').replace(/马币/g, ''),
|
||||
}));
|
||||
}
|
||||
const list = pickList(data);
|
||||
state.list = page === 1 ? list : _.concat(state.list, list);
|
||||
state.page = data.list?.current_page || data.current_page || page;
|
||||
@@ -333,25 +357,38 @@
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
|
||||
.hero-num {
|
||||
font-size: 64rpx;
|
||||
font-weight: 700;
|
||||
color: #ffffff;
|
||||
line-height: 1.1;
|
||||
font-family: OPPOSANS, DIN, -apple-system, sans-serif;
|
||||
letter-spacing: 1rpx;
|
||||
.hero-left {
|
||||
.hero-num {
|
||||
font-size: 64rpx;
|
||||
font-weight: 700;
|
||||
color: #ffffff;
|
||||
line-height: 1.1;
|
||||
font-family: OPPOSANS, DIN, -apple-system, sans-serif;
|
||||
letter-spacing: 1rpx;
|
||||
}
|
||||
|
||||
.hero-unit {
|
||||
font-size: 26rpx;
|
||||
color: #f4d397;
|
||||
font-weight: 600;
|
||||
margin-left: 12rpx;
|
||||
margin-bottom: 6rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.hero-unit {
|
||||
font-size: 26rpx;
|
||||
color: #f4d397;
|
||||
.topup-btn {
|
||||
height: 56rpx;
|
||||
padding: 0 28rpx;
|
||||
background: linear-gradient(90deg, #f7dfa6 0%, #e2be78 100%);
|
||||
border-radius: 28rpx;
|
||||
color: #3b2b10;
|
||||
font-size: 24rpx;
|
||||
font-weight: 600;
|
||||
margin-left: 12rpx;
|
||||
margin-bottom: 6rpx;
|
||||
box-shadow: 0 6rpx 16rpx rgba(226, 190, 120, 0.28);
|
||||
}
|
||||
}
|
||||
|
||||
/* 马币市值胶囊 */
|
||||
/* 市值胶囊 */
|
||||
.rate-capsule {
|
||||
margin-top: 24rpx;
|
||||
background: rgba(244, 211, 151, 0.1);
|
||||
|
||||
@@ -58,8 +58,8 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="desc ss-line-1">
|
||||
来自 {{ item.buyer_nickname || '好友' }}
|
||||
<text v-if="item.order_id"> · 订单 {{ item.order_id }}</text>
|
||||
{{ item.source_text || (item.buyer_nickname ? ('来自 ' + item.buyer_nickname) : '平台分润奖励') }}
|
||||
<text v-if="item.order_id && item.buyer_nickname"> · 订单 {{ item.order_id }}</text>
|
||||
</view>
|
||||
<view class="ss-flex ss-row-between ss-m-t-8">
|
||||
<text class="time">{{ item.createtime || '' }}</text>
|
||||
@@ -89,8 +89,8 @@
|
||||
<view class="detail-row ss-m-b-12">
|
||||
状态:{{ state.current.status_text || '--' }}
|
||||
</view>
|
||||
<view class="detail-row ss-m-b-12" v-if="state.current.buyer_nickname">
|
||||
来自:{{ state.current.buyer_nickname }}
|
||||
<view class="detail-row ss-m-b-12" v-if="state.current.source_text || state.current.buyer_nickname">
|
||||
来源:{{ state.current.source_text || ('来自 ' + state.current.buyer_nickname) }}
|
||||
</view>
|
||||
<view class="detail-row ss-m-b-12" v-if="state.current.order_id">
|
||||
订单:{{ state.current.order_id }}
|
||||
|
||||
@@ -684,6 +684,9 @@
|
||||
if (item?.agent?.maker_level_name) {
|
||||
return item.agent.maker_level_name;
|
||||
}
|
||||
if (item?.agent?.identity_text) {
|
||||
return item.agent.identity_text;
|
||||
}
|
||||
const rawName = item?.agent?.level_info?.name;
|
||||
if (rawName) {
|
||||
if (rNames.maker && rawName.includes('创客')) {
|
||||
|
||||
@@ -149,7 +149,7 @@
|
||||
contentdown: '上拉加载更多',
|
||||
}"
|
||||
/>
|
||||
<view class="wallet-tip">收益分成已全额直接入账商城可用余额,可用于下单消费抵扣。马豆与兑换券请前往收益中心查看。</view>
|
||||
<view class="wallet-tip">收益分成已全额直接入账商城可用余额,可用于下单消费抵扣。dmepa与兑换券请前往收益中心查看。</view>
|
||||
</s-layout>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
class="identity-row ss-flex ss-col-center ss-flex-wrap"
|
||||
@tap="onBadgeTap"
|
||||
>
|
||||
<view v-if="isGuest" class="identity-tag guest-tag">游客</view>
|
||||
<view v-if="hasTaster" class="identity-tag taster-tag">{{ roleNames.taster || '品酒师' }}</view>
|
||||
<view v-if="makerLevelName" class="identity-tag maker-tag">{{ makerLevelName }}</view>
|
||||
<view v-if="hasVenue" class="identity-tag venue-tag">{{ roleNames.venue || '酒道馆' }}</view>
|
||||
@@ -197,8 +198,19 @@
|
||||
);
|
||||
});
|
||||
|
||||
const isGuest = computed(() => {
|
||||
if (makerLevelName.value || hasVenue.value || hasCounty.value || hasPartner.value) {
|
||||
return false;
|
||||
}
|
||||
return (
|
||||
Boolean(userInfo.value?.is_guest) ||
|
||||
identities.value.includes('guest') ||
|
||||
identityText.value.includes('游客')
|
||||
);
|
||||
});
|
||||
|
||||
const hasTaster = computed(() => {
|
||||
if (makerLevelName.value) return false;
|
||||
if (makerLevelName.value || isGuest.value) return false;
|
||||
return (
|
||||
identities.value.includes('taster') ||
|
||||
identityText.value.includes('品酒师') ||
|
||||
@@ -208,6 +220,7 @@
|
||||
|
||||
const showIdentityBadges = computed(
|
||||
() =>
|
||||
isGuest.value ||
|
||||
hasTaster.value ||
|
||||
!!makerLevelName.value ||
|
||||
hasVenue.value ||
|
||||
@@ -367,6 +380,12 @@
|
||||
margin: 0 8rpx 8rpx 0;
|
||||
}
|
||||
|
||||
.guest-tag {
|
||||
color: #666666;
|
||||
background: #f0f0f0;
|
||||
border: 1rpx solid #e0e0e0;
|
||||
}
|
||||
|
||||
.taster-tag {
|
||||
color: #8a5a2b;
|
||||
background: #f3e4cd;
|
||||
|
||||
@@ -21,10 +21,10 @@ const defaultUserInfo = {
|
||||
identities: [], // 身份列表 taster|maker|venue|county
|
||||
is_partner: false, // 是否合伙股东
|
||||
maker_level_name: '', // 创客等级名
|
||||
madow: '', // 马豆数量
|
||||
madow_rate: '', // 马豆汇率
|
||||
madow_value: '', // 马豆约合
|
||||
show_madow_rate: 1, // 是否显示马豆市值
|
||||
madow: '', // dmepa数量
|
||||
madow_rate: '', // dmepa汇率
|
||||
madow_value: '', // dmepa约合
|
||||
show_madow_rate: 1, // 是否显示dmepa市值
|
||||
voucher_available: '', // 可用兑换券
|
||||
active_30d: true, // 近 30 日是否有本人订单
|
||||
agent_form: false,
|
||||
|
||||
在新工单中引用
屏蔽一个用户