feat: 收益全额直入商城余额、存量结转与奖项名称全局规范化对齐
这个提交包含在:
@@ -194,6 +194,7 @@ class Config extends Common
|
||||
$keys = [
|
||||
'partner_mode', 'partner_enable', 'partner_count_type', 'partner_active_days',
|
||||
'partner_chain_max_depth', 'partner_push3_amounts', 'partner_madow_mode',
|
||||
'partner_show_madow_rate',
|
||||
'partner_madow_base_rate', 'partner_madow_step_orders', 'partner_voucher_times',
|
||||
'partner_voucher_days', 'partner_maker_bonus', 'partner_maker_peer_rate',
|
||||
'partner_maker_overtaken_rate', 'partner_team_total', 'partner_venue_split',
|
||||
@@ -216,6 +217,7 @@ class Config extends Common
|
||||
'partner_chain_max_depth' => 50,
|
||||
'partner_push3_amounts' => [398, 400, 600],
|
||||
'partner_madow_mode' => 'madow',
|
||||
'partner_show_madow_rate' => 1,
|
||||
'partner_madow_base_rate' => '0.00000075',
|
||||
'partner_madow_step_orders' => 1,
|
||||
'partner_voucher_times' => 1.5,
|
||||
@@ -241,6 +243,7 @@ class Config extends Common
|
||||
$configs[$key] = $value;
|
||||
}
|
||||
}
|
||||
$configs['partner_show_madow_rate'] = isset($configs['partner_show_madow_rate']) ? intval($configs['partner_show_madow_rate']) : 1;
|
||||
} elseif ('POST' === $this->request->method()) {
|
||||
check_env('commission');
|
||||
$params = $this->request->param();
|
||||
@@ -250,6 +253,22 @@ class Config extends Common
|
||||
$save[$key] = $params[$key];
|
||||
}
|
||||
}
|
||||
if (isset($save['partner_show_madow_rate'])) {
|
||||
$save['partner_show_madow_rate'] = intval($save['partner_show_madow_rate']);
|
||||
}
|
||||
// 确保数据库存在 partner_show_madow_rate 配置行
|
||||
$existConfig = ShoproConfig::where('code', 'shop.commission.partner_show_madow_rate')->find();
|
||||
if (!$existConfig) {
|
||||
ShoproConfig::create([
|
||||
'code' => 'shop.commission.partner_show_madow_rate',
|
||||
'parent_code' => 'shop.commission',
|
||||
'name' => '显示马币市值',
|
||||
'description' => '1=显示 0=隐藏',
|
||||
'type' => 'int',
|
||||
'value' => '1',
|
||||
'weigh' => 86
|
||||
]);
|
||||
}
|
||||
foreach (['partner_role_name_taster', 'partner_role_name_maker', 'partner_role_name_venue', 'partner_role_name_county', 'partner_role_name_partner'] as $roleKey) {
|
||||
if (isset($save[$roleKey])) {
|
||||
$save[$roleKey] = trim((string) $save[$roleKey]);
|
||||
|
||||
@@ -749,7 +749,7 @@ class Dashboard extends Common
|
||||
$structureMap = [
|
||||
'push3' => [
|
||||
'key' => 'push3',
|
||||
'name' => '推荐开拓奖励',
|
||||
'name' => '推荐提成',
|
||||
'types' => ['push3'],
|
||||
'amount' => 0.00,
|
||||
'count' => 0,
|
||||
@@ -765,7 +765,7 @@ class Dashboard extends Common
|
||||
],
|
||||
'channel' => [
|
||||
'key' => 'channel',
|
||||
'name' => '实体统筹协同奖励',
|
||||
'name' => '渠道管理与平级奖',
|
||||
'types' => ['team_venue', 'team_county', 'venue_peer', 'county_peer'],
|
||||
'amount' => 0.00,
|
||||
'count' => 0,
|
||||
@@ -773,7 +773,7 @@ class Dashboard extends Common
|
||||
],
|
||||
'share' => [
|
||||
'key' => 'share',
|
||||
'name' => '全网加权贡献奖励',
|
||||
'name' => '全网加权分红奖',
|
||||
'types' => ['venue_share', 'county_share'],
|
||||
'amount' => 0.00,
|
||||
'count' => 0,
|
||||
|
||||
@@ -93,10 +93,14 @@ class Agent extends Common
|
||||
->where('reward_type', '<>', 'push3')
|
||||
->sum('amount');
|
||||
|
||||
$detail->income_total_cash = number_format((float) $totalCash, 2, '.', '');
|
||||
$alignedIncome = number_format(max(floatval($detail->total_income ?? 0), (float) $totalCash), 2, '.', '');
|
||||
$detail->income_total_cash = $alignedIncome;
|
||||
$detail->total_income = $alignedIncome;
|
||||
$detail->partner_cash_income = $alignedIncome;
|
||||
$detail->push3_cash_income = number_format((float) $push3Cash, 2, '.', '');
|
||||
$detail->partner_exclusive_cash = number_format((float) $partnerExclusiveCash, 2, '.', '');
|
||||
$detail->partner_cash_income = $detail->income_total_cash;
|
||||
$detail->user_money = number_format(floatval($detail->user ? $detail->user->money : 0), 2, '.', '');
|
||||
$detail->user_commission = number_format(floatval($detail->user ? $detail->user->commission : 0), 2, '.', '');
|
||||
$detail->partner_mode = \addons\shopro\service\partner\PartnerConfig::isPartnerMode() ? 1 : 0;
|
||||
$rate = (new \addons\shopro\service\partner\RateService())->currentRate();
|
||||
$detail->madow_value = \addons\shopro\service\partner\IdentityService::formatMoney((float) ($detail->madow ?? 0) * (float) $rate);
|
||||
|
||||
@@ -58,7 +58,7 @@ class Reward extends Common
|
||||
|
||||
$export = new \addons\shopro\library\Export();
|
||||
$params = [
|
||||
'file_name' => '佣金明细列表',
|
||||
'file_name' => '历史分销佣金列表',
|
||||
'cell_titles' => $cellTitles,
|
||||
'total' => $total,
|
||||
'is_sub_cell' => false,
|
||||
|
||||
@@ -242,7 +242,7 @@ class Order extends Common
|
||||
|
||||
// 友好展示金额
|
||||
if ($type === 'voucher_grant') {
|
||||
$amountText = number_format($baseAmount, 2, '.', '') . ' 兑换券';
|
||||
$amountText = number_format($baseAmount, 2, '.', '') . ' 个';
|
||||
} elseif ($madow > 0) {
|
||||
$amountText = \addons\shopro\service\partner\IdentityService::formatMadow($madow) . ' 马豆';
|
||||
} elseif ($amount > 0) {
|
||||
@@ -270,6 +270,8 @@ class Order extends Common
|
||||
)),
|
||||
'formula' => (string) ($row->formula ?? ''),
|
||||
'skip_reason_text' => (string) ($row->skip_reason_text ?? ''),
|
||||
'wallet_type' => (string) ($row->wallet_type ?? ($amount > 0 ? \addons\shopro\service\partner\PartnerConfig::rewardWalletType() : 'system')),
|
||||
'wallet_type_text' => (string) ($row->wallet_type_text ?: ($amount > 0 ? (\addons\shopro\service\partner\PartnerConfig::rewardWalletType() === 'money' ? '商城余额' : '佣金钱包') : '平台留存')),
|
||||
];
|
||||
}
|
||||
|
||||
@@ -299,6 +301,8 @@ class Order extends Common
|
||||
'base_amount' => '0.00',
|
||||
'amount_text' => '¥' . number_format($cCommission, 2, '.', ''),
|
||||
'madow' => '0.00000000',
|
||||
'wallet_type' => 'commission',
|
||||
'wallet_type_text' => '佣金钱包',
|
||||
'status' => $cStatus,
|
||||
'status_text' => (string) ($crow->status_text ?: ($cStatus === 1 ? '已入账' : '待入账')),
|
||||
'formula' => '分销规则佣金',
|
||||
@@ -393,6 +397,8 @@ class Order extends Common
|
||||
'total_amount' => number_format($platAmount, 2, '.', ''),
|
||||
'total_madow' => \addons\shopro\service\partner\IdentityService::formatMadow($platMadow),
|
||||
'amount_text' => $amountText,
|
||||
'wallet_type' => 'system',
|
||||
'wallet_type_text' => '平台留存',
|
||||
'settle_date' => $settleDate,
|
||||
'status' => 1,
|
||||
'status_text' => '已入账',
|
||||
@@ -424,6 +430,8 @@ class Order extends Common
|
||||
'total_amount' => number_format($totalAmount, 2, '.', ''),
|
||||
'total_madow' => \addons\shopro\service\partner\IdentityService::formatMadow($totalMadow),
|
||||
'amount_text' => $type === 'madow_share' ? ($eachMadow . ' 马豆/人') : ('¥' . $eachAmount . '/人'),
|
||||
'wallet_type' => $type === 'madow_share' ? 'madow' : \addons\shopro\service\partner\PartnerConfig::rewardWalletType(),
|
||||
'wallet_type_text' => $type === 'madow_share' ? '分红马豆' : (\addons\shopro\service\partner\PartnerConfig::rewardWalletType() === 'money' ? '商城余额' : '佣金钱包'),
|
||||
'settle_date' => $settleDate,
|
||||
'status' => 1,
|
||||
'status_text' => '已入账',
|
||||
|
||||
@@ -50,6 +50,7 @@ class Reward extends Common
|
||||
'reward_type_text' => '奖励类型',
|
||||
'role_text' => '受益身份',
|
||||
'amount' => '结算金额',
|
||||
'wallet_type_text' => '入账账户',
|
||||
'madow' => '马豆',
|
||||
'base_amount' => '基数',
|
||||
'status_text' => '状态',
|
||||
@@ -83,6 +84,7 @@ class Reward extends Common
|
||||
'reward_type_text' => $reward['reward_type_text'],
|
||||
'role_text' => $reward['role_text'] ?? $reward['role'],
|
||||
'amount' => $reward['amount'],
|
||||
'wallet_type_text' => $reward['wallet_type_text'] ?? '商城余额',
|
||||
'madow' => \addons\shopro\service\partner\IdentityService::formatMadow($reward['madow']),
|
||||
'base_amount' => $reward['base_amount'],
|
||||
'status_text' => $reward['status_text'],
|
||||
@@ -102,6 +104,7 @@ class Reward extends Common
|
||||
'reward_type_text' => '-',
|
||||
'role_text' => '-',
|
||||
'amount' => number_format($totalAmount, 2, '.', ''),
|
||||
'wallet_type_text' => '现金直入余额',
|
||||
'madow' => $formattedTotalMadow,
|
||||
'base_amount' => '-',
|
||||
'status_text' => '已汇总',
|
||||
@@ -138,7 +141,8 @@ class Reward extends Common
|
||||
'ext' => ['formula' => '手工补发', 'memo' => $params['memo'], 'manual' => 1],
|
||||
'status' => 1,
|
||||
]);
|
||||
Wallet::change($params['user_id'], 'commission', $amount, 'reward_income', [
|
||||
$walletType = PartnerConfig::rewardWalletType();
|
||||
Wallet::change($params['user_id'], $walletType, $amount, 'reward_income', [
|
||||
'partner_reward_id' => $row->id ?? 0,
|
||||
'manual' => 1,
|
||||
], $params['memo']);
|
||||
@@ -162,7 +166,12 @@ class Reward extends Common
|
||||
}
|
||||
Db::transaction(function () use ($row, $memo) {
|
||||
if ((float) $row->amount > 0 && $row->user_id > 0) {
|
||||
Wallet::change($row->user_id, 'commission', -$row->amount, 'reward_back', [
|
||||
$walletLog = \app\admin\model\shopro\user\WalletLog::where('user_id', $row->user_id)
|
||||
->where('ext', 'like', '%"partner_reward_id":' . intval($row->id) . '%')
|
||||
->order('id', 'desc')
|
||||
->find();
|
||||
$targetWallet = ($walletLog && $walletLog->type === 'commission') ? 'commission' : PartnerConfig::rewardWalletType();
|
||||
Wallet::change($row->user_id, $targetWallet, -$row->amount, 'reward_back', [
|
||||
'partner_reward_id' => $row->id,
|
||||
], $memo);
|
||||
}
|
||||
@@ -217,6 +226,8 @@ class Reward extends Common
|
||||
'user_nickname' => $r->user ? ($r->user->nickname ?: $r->user->mobile) : '平台/买家',
|
||||
'role_text' => $r->role_text ?: $r->role,
|
||||
'amount' => $r->amount,
|
||||
'wallet_type' => $r->wallet_type,
|
||||
'wallet_type_text' => $r->wallet_type_text,
|
||||
'madow' => $r->madow,
|
||||
'base_amount' => $r->base_amount,
|
||||
'status' => $r->status,
|
||||
@@ -259,4 +270,30 @@ class Reward extends Common
|
||||
] : null,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 全量结转收益预览试算
|
||||
*/
|
||||
public function transferAllCommissionPreview()
|
||||
{
|
||||
$service = new \addons\shopro\service\partner\WalletMigrationService();
|
||||
$preview = $service->preview();
|
||||
$this->success('获取成功', null, $preview);
|
||||
}
|
||||
|
||||
/**
|
||||
* 执行全量结转收益至商城余额
|
||||
*/
|
||||
public function transferAllCommission()
|
||||
{
|
||||
$isDryRun = (bool) $this->request->param('dry_run', false);
|
||||
$confirm = (int) $this->request->param('confirm', 0);
|
||||
if (!$isDryRun && $confirm !== 1) {
|
||||
$this->error('操作属于高风险批量资金转移,请传递 confirm=1 确认执行');
|
||||
}
|
||||
|
||||
$service = new \addons\shopro\service\partner\WalletMigrationService();
|
||||
$result = $service->transferAll($isDryRun);
|
||||
$this->success($isDryRun ? '试算成功' : '结转完成', null, $result);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -142,11 +142,14 @@ class User extends Common
|
||||
: ('已暂停领取' . ($ago !== null ? '(距今 ' . $ago . ' 天)' : '(从未下单)'));
|
||||
}
|
||||
|
||||
// 累计现金收益统计
|
||||
// 累计现金收益统计(与 IdentityService 严格对齐,兼顾历史分销与收益中心)
|
||||
$agentTotalIncome = floatval($agent->total_income ?? 0);
|
||||
$totalCash = \app\admin\model\shopro\partner\Reward::where('user_id', $id)
|
||||
->where('status', 1)
|
||||
->where('amount', '>', 0)
|
||||
->sum('amount');
|
||||
$alignedTotalIncome = max($agentTotalIncome, (float) $totalCash);
|
||||
|
||||
$push3Cash = \app\admin\model\shopro\partner\Reward::where('user_id', $id)
|
||||
->where('status', 1)
|
||||
->where('amount', '>', 0)
|
||||
@@ -158,9 +161,12 @@ class User extends Common
|
||||
->where('reward_type', '<>', 'push3')
|
||||
->sum('amount');
|
||||
|
||||
$data['income_total_cash'] = number_format((float) $totalCash, 2, '.', '');
|
||||
$data['income_total_cash'] = number_format($alignedTotalIncome, 2, '.', '');
|
||||
$data['total_income'] = number_format($alignedTotalIncome, 2, '.', '');
|
||||
$data['push3_cash_income'] = number_format((float) $push3Cash, 2, '.', '');
|
||||
$data['partner_exclusive_cash'] = number_format((float) $partnerExclusiveCash, 2, '.', '');
|
||||
$data['money'] = number_format(floatval($user->money ?? 0), 2, '.', '');
|
||||
$data['commission'] = number_format(floatval($user->commission ?? 0), 2, '.', '');
|
||||
|
||||
// 兑换券计划资产统计
|
||||
$voucherTotal = floatval($agent->voucher_total ?? 0);
|
||||
|
||||
@@ -65,12 +65,26 @@ class WalletLog extends Common
|
||||
}
|
||||
|
||||
/**
|
||||
* 佣金记录
|
||||
* 佣金与收益记录
|
||||
*/
|
||||
public function commission($id)
|
||||
{
|
||||
$list_rows = $this->request->param('list_rows', 10);
|
||||
$walletLogs = WalletLogModel::where('user_id', $id)->commission()->order('id', 'desc')->paginate($list_rows);
|
||||
$rewardEvents = [
|
||||
'push3', 'maker_diff', 'maker_peer', 'maker_overtaken',
|
||||
'team_venue', 'team_county', 'venue_peer', 'county_peer',
|
||||
'venue_share', 'county_share', 'reward_income', 'transfer_by_commission', 'transfer_to_money'
|
||||
];
|
||||
|
||||
$walletLogs = WalletLogModel::where('user_id', $id)
|
||||
->where(function ($query) use ($rewardEvents) {
|
||||
$query->where('type', 'commission')
|
||||
->whereOr(function ($sub) use ($rewardEvents) {
|
||||
$sub->where('type', 'money')->whereIn('event', $rewardEvents);
|
||||
});
|
||||
})
|
||||
->order('id', 'desc')
|
||||
->paginate($list_rows);
|
||||
|
||||
// 多态关联 oper
|
||||
$morphs = [
|
||||
|
||||
@@ -55,11 +55,11 @@ class ScoreSkuPrice extends Common
|
||||
$priceNum = floatval($price);
|
||||
|
||||
if ($priceNum > 0 && $score > 0) {
|
||||
return '¥' . $price . '兑换券 + ' . $score . '积分';
|
||||
return $price . ' 个兑换券 + ' . $score . ' 积分';
|
||||
} elseif ($priceNum > 0) {
|
||||
return '¥' . $price . ' 兑换券';
|
||||
return $price . ' 个兑换券';
|
||||
} elseif ($score > 0) {
|
||||
return $score . '积分';
|
||||
return $score . ' 积分';
|
||||
}
|
||||
|
||||
return '免费兑换';
|
||||
|
||||
@@ -22,6 +22,8 @@ class Reward extends Common
|
||||
'skip_reason',
|
||||
'skip_reason_text',
|
||||
'formula',
|
||||
'wallet_type',
|
||||
'wallet_type_text',
|
||||
];
|
||||
|
||||
public function statusList()
|
||||
@@ -91,6 +93,41 @@ class Reward extends Common
|
||||
return \addons\shopro\service\partner\IdentityService::formatMadow($value);
|
||||
}
|
||||
|
||||
public function getWalletTypeAttr($value, $data)
|
||||
{
|
||||
$ext = $data['ext'] ?? [];
|
||||
if (is_string($ext)) {
|
||||
$ext = json_decode($ext, true) ?: [];
|
||||
}
|
||||
if (!empty($ext['wallet_type'])) {
|
||||
return $ext['wallet_type'];
|
||||
}
|
||||
$rewardType = $data['reward_type'] ?? '';
|
||||
if (in_array($rewardType, ['voucher_grant', 'voucher_release'], true)) {
|
||||
return 'voucher';
|
||||
}
|
||||
if ($rewardType === 'madow_share') {
|
||||
return 'madow';
|
||||
}
|
||||
if (intval($data['user_id'] ?? 0) === 0) {
|
||||
return 'system';
|
||||
}
|
||||
return PartnerConfig::rewardWalletType();
|
||||
}
|
||||
|
||||
public function getWalletTypeTextAttr($value, $data)
|
||||
{
|
||||
$type = $this->getWalletTypeAttr(null, $data);
|
||||
$map = [
|
||||
'money' => '商城余额',
|
||||
'commission' => '佣金钱包',
|
||||
'voucher' => '消费补贴券',
|
||||
'madow' => '分红马豆',
|
||||
'system' => '平台留存',
|
||||
];
|
||||
return $map[$type] ?? '商城余额';
|
||||
}
|
||||
|
||||
public function buyer()
|
||||
{
|
||||
return $this->belongsTo(UserModel::class, 'buyer_id', 'id')->field('id, nickname, avatar, mobile');
|
||||
|
||||
@@ -45,16 +45,16 @@ class WalletLog extends Common
|
||||
'transfer_by_commission' => '服务收益-转入到余额',
|
||||
'reward_income' => '收益分成-入账',
|
||||
'reward_back' => '收益分成-退还',
|
||||
'push3' => '推荐开拓奖',
|
||||
'push3' => '推荐提成',
|
||||
'maker_diff' => '创客进阶奖',
|
||||
'maker_peer' => '创客协同奖',
|
||||
'maker_overtaken' => '创客卓越奖',
|
||||
'team_venue' => '酒道馆运营奖',
|
||||
'team_county' => '区县统筹奖',
|
||||
'venue_peer' => '酒道馆协同奖',
|
||||
'county_peer' => '区县协同奖',
|
||||
'venue_share' => '酒道馆加权奖励',
|
||||
'county_share' => '区县加权奖励'
|
||||
'team_venue' => '酒道馆管理奖',
|
||||
'team_county' => '区县管理奖',
|
||||
'venue_peer' => '酒道馆平级奖',
|
||||
'county_peer' => '区县代平级奖',
|
||||
'venue_share' => '酒道馆加权奖',
|
||||
'county_share' => '区县加权奖'
|
||||
],
|
||||
'commission' => [
|
||||
'withdraw' => '提现',
|
||||
@@ -62,16 +62,16 @@ class WalletLog extends Common
|
||||
'reward_income' => '服务收益-入账',
|
||||
'reward_back' => '服务收益-退还',
|
||||
'transfer_to_money' => '服务收益-转出到余额',
|
||||
'push3' => '推荐开拓奖',
|
||||
'push3' => '推荐提成',
|
||||
'maker_diff' => '创客进阶奖',
|
||||
'maker_peer' => '创客协同奖',
|
||||
'maker_overtaken' => '创客卓越奖',
|
||||
'team_venue' => '酒道馆运营奖',
|
||||
'team_county' => '区县统筹奖',
|
||||
'venue_peer' => '酒道馆协同奖',
|
||||
'county_peer' => '区县协同奖',
|
||||
'venue_share' => '酒道馆加权奖励',
|
||||
'county_share' => '区县加权奖励'
|
||||
'team_venue' => '酒道馆管理奖',
|
||||
'team_county' => '区县管理奖',
|
||||
'venue_peer' => '酒道馆平级奖',
|
||||
'county_peer' => '区县代平级奖',
|
||||
'venue_share' => '酒道馆加权奖',
|
||||
'county_share' => '区县加权奖'
|
||||
]
|
||||
];
|
||||
|
||||
@@ -111,6 +111,6 @@ class WalletLog extends Common
|
||||
$type = $data['type'] ?? '';
|
||||
$event = $data['event'] ?? '';
|
||||
$eventMap = $this->getEventMap();
|
||||
return $eventMap[$type][$event] ?? ($eventMap['commission'][$event] ?? '');
|
||||
return $eventMap[$type][$event] ?? ($eventMap['money'][$event] ?? ($eventMap['commission'][$event] ?? ($event ?: '')));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
type="info"
|
||||
:closable="false"
|
||||
class="mb-4"
|
||||
description="1. 纯兑换券兑换:【所需兑换券】填入所需面额(如 100),【所需积分】填 0。用户在小程序下单时将自动使用可用兑换券 1:1 全额抵扣(实付 0 元)。 2. 兑换券+积分组合:同时填写对应所需兑换券额度与所需积分。 3. 若用户可用兑换券不足,系统自动支持抵扣部分可用券额,剩余差额可使用微信现金支付补齐。"
|
||||
description="1. 纯兑换券兑换:【所需兑换券】填入所需数量(如 100 个),【所需积分】填 0。用户在小程序下单时将自动使用可用兑换券 1:1 全额抵扣(实付 0 元)。 2. 兑换券+积分组合:同时填写对应所需兑换券数量与所需积分。 3. 若用户可用兑换券不足,系统自动支持抵扣部分可用券额,剩余差额可使用微信现金支付补齐。"
|
||||
show-icon>
|
||||
</el-alert>
|
||||
<div class="sku-table-wrap">
|
||||
@@ -73,7 +73,7 @@
|
||||
<th class="sku-item">是否参与</th>
|
||||
<th class="sku-item">商品原价</th>
|
||||
<th class="sku-item">可兑换数量</th>
|
||||
<th class="sku-item">所需兑换券(元)</th>
|
||||
<th class="sku-item">所需兑换券(个)</th>
|
||||
<th class="sku-item">所需积分</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
@@ -125,7 +125,7 @@
|
||||
<template #default="scope">
|
||||
<div v-if="scope.row.score_price" class="sa-flex">
|
||||
<span v-if="Number(scope.row.score_price.price)" style="color: #e6a23c; font-weight: 600;">
|
||||
¥{{ scope.row.score_price.price }} 兑换券
|
||||
{{ scope.row.score_price.price }} 个兑换券
|
||||
</span>
|
||||
<span v-if="Number(scope.row.score_price.price) && Number(scope.row.score_price.score)" class="mx-1">+</span>
|
||||
<span v-if="Number(scope.row.score_price.score)" style="color: #409eff; font-weight: 600;">
|
||||
|
||||
@@ -304,7 +304,7 @@
|
||||
<el-form-item label="直推奖(推三返一):">
|
||||
<div>第 {{ state.data.direct_order_seq || 0 }} 单,{{ state.data.next_push3_text || '' }}</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="累计直推开拓奖:">
|
||||
<el-form-item label="累计推荐提成:">
|
||||
<div>{{ state.data.push3_cash_income || '0.00' }} 元</div>
|
||||
</el-form-item>
|
||||
|
||||
@@ -357,8 +357,8 @@
|
||||
{{ state.data.madow || 0 }}(约合 ¥{{ state.data.madow_value || '0.00' }})
|
||||
</el-form-item>
|
||||
<el-form-item label="消费补贴兑换券:">
|
||||
总额 {{ state.data.voucher_total || 0 }} / 已释放 {{ state.data.voucher_released || 0 }} /
|
||||
已使用 {{ state.data.voucher_used || 0 }} / 可用 {{ state.data.voucher_available || 0 }}
|
||||
总额 {{ state.data.voucher_total || 0 }} 个 / 已释放 {{ state.data.voucher_released || 0 }} 个 /
|
||||
已使用 {{ state.data.voucher_used || 0 }} 个 / 可用 {{ state.data.voucher_available || 0 }} 个
|
||||
</el-form-item>
|
||||
</template>
|
||||
|
||||
@@ -382,9 +382,10 @@
|
||||
</div>
|
||||
<el-form-item label="收益中心累计现金:">
|
||||
<span style="font-size: 16px; font-weight: 600; color: #f56c6c;">
|
||||
{{ state.data.income_total_cash || state.data.partner_cash_income || '0.00' }}
|
||||
{{ state.data.total_income || state.data.income_total_cash || '0.00' }}
|
||||
</span>
|
||||
<span class="ml-1" style="font-size: 12px; color: var(--sa-subfont);">元</span>
|
||||
<el-tag size="small" type="success" style="margin-left: 8px;">直入商城余额</el-tag>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" link
|
||||
@@ -617,21 +618,28 @@
|
||||
<span>资产信息</span>
|
||||
</div>
|
||||
<el-row>
|
||||
<el-col class="item" :xs="12" :sm="8" :md="8" :lg="8" :xl="8">
|
||||
<div class="left">累计佣金:</div>
|
||||
<el-col class="item" :xs="12" :sm="6" :md="6" :lg="6" :xl="6">
|
||||
<div class="left">累计收益/佣金:</div>
|
||||
<div class="right">
|
||||
{{ state.data.total_income }}
|
||||
<span class="unit">元</span>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col class="item" :xs="12" :sm="8" :md="8" :lg="8" :xl="8">
|
||||
<div class="left">待入账佣金:</div>
|
||||
<div class="right">
|
||||
{{ state.data.pending_reward }}
|
||||
<el-col class="item" :xs="12" :sm="6" :md="6" :lg="6" :xl="6">
|
||||
<div class="left">商城可用余额:</div>
|
||||
<div class="right" style="color: #67c23a;">
|
||||
{{ state.data.user?.money || state.data.user_money || '0.00' }}
|
||||
<span class="unit">元</span>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col class="item" :xs="12" :sm="8" :md="8" :lg="8" :xl="8">
|
||||
<el-col class="item" :xs="12" :sm="6" :md="6" :lg="6" :xl="6">
|
||||
<div class="left">历史未转佣金:</div>
|
||||
<div class="right" style="color: #e6a23c;">
|
||||
{{ state.data.user?.commission || state.data.user_commission || '0.00' }}
|
||||
<span class="unit">元</span>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col class="item" :xs="12" :sm="6" :md="6" :lg="6" :xl="6">
|
||||
<div class="left">消费金额:</div>
|
||||
<div class="right">
|
||||
{{ state.data.user?.total_consume || 0 }}
|
||||
@@ -646,7 +654,7 @@
|
||||
<el-tabs class="sa-tabs" v-model="log.tabActive" @tab-change="onChangeTab">
|
||||
<el-tab-pane label="分销动态" name="log"></el-tab-pane>
|
||||
<el-tab-pane label="分销订单" name="order"></el-tab-pane>
|
||||
<el-tab-pane label="佣金明细" name="reward"></el-tab-pane>
|
||||
<el-tab-pane label="历史分销佣金" name="reward"></el-tab-pane>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
<el-table v-if="log.tabActive=='log'" class="sa-table" :data="log.data" stripe>
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="可用兑换券" min-width="110">
|
||||
<template #default="scope"> {{ scope.row.voucher_available || 0 }} </template>
|
||||
<template #default="scope"> {{ scope.row.voucher_available || 0 }} 个 </template>
|
||||
</el-table-column>
|
||||
<el-table-column label="累计佣金" min-width="120">
|
||||
<template #default="scope"> {{ scope.row.total_income }}元 </template>
|
||||
|
||||
@@ -227,7 +227,7 @@
|
||||
<!-- 状态为不参与时的警示提示 -->
|
||||
<el-alert v-if="state.commission_goods.status == 0" type="warning" show-icon :closable="false"
|
||||
title="商品未参与计奖"
|
||||
description="当前商品已关闭计奖,会员或下级购买该商品时将不产生推荐开拓奖、创客极差、酒道馆/区县团队奖及兑换券,亦不进入全网日结均分奖池。"
|
||||
description="当前商品已关闭计奖,会员或下级购买该商品时将不产生推荐提成、创客极差、酒道馆/区县管理奖及兑换券,亦不进入全网日结均分奖池。"
|
||||
style="margin-bottom: 20px;">
|
||||
</el-alert>
|
||||
|
||||
@@ -239,7 +239,7 @@
|
||||
</div>
|
||||
<div class="preview-list">
|
||||
<div class="preview-item">
|
||||
<strong>推荐开拓奖(推三返一):</strong>
|
||||
<strong>推荐提成(推三返一):</strong>
|
||||
循环返现 ¥{{ state.defaultPartnerRules.push3_amounts?.[0] || 398 }} / ¥{{ state.defaultPartnerRules.push3_amounts?.[1] || 400 }} / ¥{{ state.defaultPartnerRules.push3_amounts?.[2] || 600 }} 元
|
||||
</div>
|
||||
<div class="preview-item">
|
||||
@@ -251,11 +251,11 @@
|
||||
同级协同 {{ ((state.defaultPartnerRules.maker_peer_rate || 0.10) * 100).toFixed(0) }}%,超越关怀 {{ ((state.defaultPartnerRules.maker_overtaken_rate || 0.05) * 100).toFixed(0) }}%
|
||||
</div>
|
||||
<div class="preview-item">
|
||||
<strong>渠道运营统筹奖:</strong>
|
||||
酒道馆 ¥{{ state.defaultPartnerRules.venue_split || 50 }},区县统筹 ¥{{ state.defaultPartnerRules.county_full || 100 }}(有馆时各50)
|
||||
<strong>实体渠道管理奖:</strong>
|
||||
酒道馆 ¥{{ state.defaultPartnerRules.venue_split || 50 }},区县管理 ¥{{ state.defaultPartnerRules.county_full || 100 }}(有馆时各50)
|
||||
</div>
|
||||
<div class="preview-item">
|
||||
<strong>馆/县平级协同奖:</strong>
|
||||
<strong>馆/县平级奖:</strong>
|
||||
酒道馆 {{ ((state.defaultPartnerRules.venue_peer_rate || 0.10) * 100).toFixed(0) }}%,区县代理 {{ ((state.defaultPartnerRules.county_peer_rate || 0.10) * 100).toFixed(0) }}%
|
||||
</div>
|
||||
<div class="preview-item">
|
||||
@@ -300,10 +300,10 @@
|
||||
|
||||
<!-- 当前激活的表单对象引用 -->
|
||||
<template v-for="curForm in [(state.skuMode === 'sku' && state.activeSkuId) ? state.skuRules[state.activeSkuId] : state.ruleForm]">
|
||||
<!-- 1. 推荐开拓奖(推三返一) -->
|
||||
<!-- 1. 推荐提成(推三返一) -->
|
||||
<div class="section-box">
|
||||
<div class="section-header">
|
||||
<div class="section-title">1. 推荐开拓奖(推三返一循环返现)</div>
|
||||
<div class="section-title">1. 推荐提成(推三返一循环返现)</div>
|
||||
<span class="section-tip">直推有效单奖励,每 3 笔订单形成一个循环返还货款</span>
|
||||
</div>
|
||||
<div class="rules-grid">
|
||||
@@ -388,21 +388,21 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 3. 实体渠道与区域运营奖(团队拆分) -->
|
||||
<!-- 3. 实体渠道与区域管理奖(团队拆分) -->
|
||||
<div class="section-box">
|
||||
<div class="section-header">
|
||||
<div class="section-title">3. 实体渠道与区域运营奖(团队拆分)</div>
|
||||
<div class="section-title">3. 实体渠道与区域管理奖(团队拆分)</div>
|
||||
<span class="section-tip">无馆有县独享,有馆有县各分其半</span>
|
||||
</div>
|
||||
<div class="rules-grid-2" style="margin-bottom: 14px;">
|
||||
<div class="field-item">
|
||||
<div class="field-label">酒道馆运营奖基准</div>
|
||||
<div class="field-label">酒道馆管理奖基准</div>
|
||||
<el-input v-model="curForm.venue_split" type="number" :min="0">
|
||||
<template #append>元</template>
|
||||
</el-input>
|
||||
</div>
|
||||
<div class="field-item">
|
||||
<div class="field-label">区县统筹全额(无馆时独享)</div>
|
||||
<div class="field-label">区县管理全额(无馆时独享)</div>
|
||||
<el-input v-model="curForm.county_full" type="number" :min="0">
|
||||
<template #append>元</template>
|
||||
</el-input>
|
||||
@@ -410,13 +410,13 @@
|
||||
</div>
|
||||
<div class="rules-grid-2">
|
||||
<div class="field-item">
|
||||
<div class="field-label">酒道馆平级协同比例</div>
|
||||
<div class="field-label">酒道馆平级比例</div>
|
||||
<el-input v-model="curForm.venue_peer_rate" type="number" :min="0" :max="100">
|
||||
<template #append>%</template>
|
||||
</el-input>
|
||||
</div>
|
||||
<div class="field-item">
|
||||
<div class="field-label">区县代理平级协同比例</div>
|
||||
<div class="field-label">区县代理平级比例</div>
|
||||
<el-input v-model="curForm.county_peer_rate" type="number" :min="0" :max="100">
|
||||
<template #append>%</template>
|
||||
</el-input>
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
<div class="sa-title sa-flex sa-row-between">
|
||||
<div class="sa-title-left">
|
||||
<div class="left-name">历史佣金</div>
|
||||
<el-tag size="small" type="info" style="margin-left: 10px;">注:当前收益分成已全额直入商城余额,历史未转佣金可批量转入余额</el-tag>
|
||||
<sa-filter-condition v-model="state.filter" @filter-delete="onChangeFilter">
|
||||
</sa-filter-condition>
|
||||
</div>
|
||||
|
||||
@@ -919,7 +919,7 @@
|
||||
<el-form-item label="关系链最大深度">
|
||||
<el-input class="sa-w-360" v-model="form.model.partner_chain_max_depth" type="number"></el-input>
|
||||
</el-form-item>
|
||||
<div class="sa-title is-line">推荐开拓奖</div>
|
||||
<div class="sa-title is-line">推荐提成</div>
|
||||
<el-form-item label="循环金额">
|
||||
<div class="sa-flex" style="gap:8px">
|
||||
<el-input class="sa-w-120" v-model="form.model.partner_push3_amounts[0]"></el-input>
|
||||
@@ -941,6 +941,10 @@
|
||||
<el-form-item label="步进订单数 n">
|
||||
<el-input class="sa-w-360" v-model="form.model.partner_madow_step_orders" type="number"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="显示马币市值">
|
||||
<el-switch v-model="form.model.partner_show_madow_rate" :active-value="1" :inactive-value="0"></el-switch>
|
||||
<div class="tip">开启后,移动端“我的马豆”资产卡片将显示“马币市值 1 马豆 ≈ xxxx 元 生态增值”指示胶囊;关闭则隐藏该胶囊。</div>
|
||||
</el-form-item>
|
||||
<div class="sa-title is-line">兑换券</div>
|
||||
<el-form-item label="倍数">
|
||||
<el-input class="sa-w-360" v-model="form.model.partner_voucher_times"></el-input>
|
||||
|
||||
@@ -414,14 +414,14 @@
|
||||
</el-tooltip>
|
||||
</div>
|
||||
<div class="kpi-main-num text-danger">
|
||||
<span class="currency">¥</span>{{ state.voucher.total_voucher }}
|
||||
{{ state.voucher.total_voucher }} <span class="sa-m-l-4" style="font-size: 14px; font-weight: normal;">个</span>
|
||||
</div>
|
||||
<div class="kpi-sub-row sa-flex sa-row-between">
|
||||
<span>已释放:<strong>¥{{ state.voucher.released_voucher }}</strong></span>
|
||||
<span>待释放补贴券:<strong class="text-danger">¥{{ state.voucher.pending_voucher }}</strong></span>
|
||||
<span>已释放:<strong>{{ state.voucher.released_voucher }} 个</strong></span>
|
||||
<span>待释放补贴券:<strong class="text-danger">{{ state.voucher.pending_voucher }} 个</strong></span>
|
||||
</div>
|
||||
<div class="kpi-footer sa-flex sa-row-between">
|
||||
<span>已消费抵扣:<strong>¥{{ state.voucher.used_voucher }}</strong></span>
|
||||
<span>已消费抵扣:<strong>{{ state.voucher.used_voucher }} 个</strong></span>
|
||||
<span class="cursor-pointer text-primary" @click="onOpenVoucher">计划 →</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -887,9 +887,10 @@
|
||||
<div v-if="state.detail.partner_split" style="font-size:13px;font-weight:400;color:var(--sa-subfont)">
|
||||
<span v-if="Number(state.detail.partner_split.total_cash) > 0" style="margin-right: 14px;">
|
||||
本单现金合计 <strong style="color:#ff4d4f;font-size:14px">¥{{ state.detail.partner_split.total_cash }}</strong>
|
||||
<el-tag size="small" type="success" style="margin-left: 6px;">直入商城余额</el-tag>
|
||||
</span>
|
||||
<span v-if="Number(state.detail.partner_split.total_voucher) > 0" style="margin-right: 14px;">
|
||||
兑换券释放额度 <strong style="color:#e6a23c;font-size:14px">{{ state.detail.partner_split.total_voucher }}</strong>
|
||||
兑换券释放额度 <strong style="color:#e6a23c;font-size:14px">{{ state.detail.partner_split.total_voucher }} 个</strong>
|
||||
</span>
|
||||
<span v-if="state.detail.partner_split.settle_date">
|
||||
均分日 {{ state.detail.partner_split.settle_date }}
|
||||
@@ -941,7 +942,7 @@
|
||||
</template>
|
||||
<template v-else>
|
||||
<div v-if="scope.row.reward_type === 'voucher_grant'" style="font-weight: 600; color: #e6a23c;">
|
||||
{{ scope.row.amount_text || (scope.row.base_amount + ' 兑换券') }}
|
||||
{{ scope.row.amount_text || (scope.row.base_amount + ' 个') }}
|
||||
</div>
|
||||
<div v-else-if="Number(scope.row.amount) > 0" style="font-weight: 600; color: #ff4d4f;">
|
||||
¥{{ scope.row.amount }}
|
||||
@@ -955,6 +956,16 @@
|
||||
</template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="入账账户" min-width="110">
|
||||
<template #default="scope">
|
||||
<el-tag
|
||||
size="small"
|
||||
:type="scope.row.wallet_type === 'money' ? 'success' : (scope.row.wallet_type === 'commission' ? 'warning' : (scope.row.wallet_type === 'madow' ? 'primary' : 'info'))"
|
||||
>
|
||||
{{ scope.row.wallet_type_text || (Number(scope.row.amount) > 0 ? '商城余额' : (Number(scope.row.madow) > 0 ? '分红马豆' : '平台留存')) }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="状态" min-width="100">
|
||||
<template #default="scope">
|
||||
<el-tag
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
<span>昨日 GMV <b>¥ {{ state.kpi.yesterday?.gmv || '0.00' }}</b></span>
|
||||
<span>昨日现金总拨发 <b style="color:#f56c6c;">¥ {{ state.kpi.yesterday_cash || '0.00' }}</b></span>
|
||||
<span>昨日综合拨比 <b :style="{color: (state.kpi.yesterday_payout_ratio_val > 70 ? '#e6a23c' : '#67c23a')}">{{ state.kpi.yesterday_payout_ratio || '0%' }}</b></span>
|
||||
<span>兑换券待履约负债 <b style="color:#e6a23c;">¥ {{ state.kpi.voucher_debt || '0.00' }}</b></span>
|
||||
<span>兑换券待履约存量 <b style="color:#e6a23c;">{{ state.kpi.voucher_debt || '0.00' }} 个</b></span>
|
||||
<span>活跃馆/县 <b>{{ state.kpi.venue_active_count || 0 }}</b> 馆 / <b>{{ state.kpi.county_active_count || 0 }}</b> 县</span>
|
||||
<span>今日累计现金 <b>¥ {{ state.kpi.today_cash || '0.00' }}</b></span>
|
||||
<span style="color:#909399;">暂停领取 <b>{{ state.kpi.inactive_count || 0 }}</b> 人</span>
|
||||
@@ -38,7 +38,7 @@
|
||||
<el-table-column prop="venue_user_count" label="馆人数" min-width="80"></el-table-column>
|
||||
<el-table-column prop="county_pool" label="区县奖池" min-width="110"></el-table-column>
|
||||
<el-table-column prop="county_user_count" label="县人数" min-width="80"></el-table-column>
|
||||
<el-table-column prop="voucher_release_total" label="券释放" min-width="100"></el-table-column>
|
||||
<el-table-column prop="voucher_release_total" label="券释放(个)" min-width="105"></el-table-column>
|
||||
<el-table-column prop="status_text" label="状态" min-width="80">
|
||||
<template #default="scope">
|
||||
<span :class="scope.row.status==1 ? 'sa-color--success' : 'sa-color--danger'">
|
||||
@@ -112,7 +112,7 @@
|
||||
<el-row :gutter="16" style="margin-bottom:16px;">
|
||||
<el-col :span="8">
|
||||
<div style="background:#f4f4f5;padding:12px;border-radius:6px;">
|
||||
<div style="font-weight:600;font-size:13px;margin-bottom:6px;">酒道馆加权奖励池</div>
|
||||
<div style="font-weight:600;font-size:13px;margin-bottom:6px;">酒道馆加权奖池</div>
|
||||
<div style="font-size:12px;color:#606266;line-height:1.8;">
|
||||
奖池总额:¥ <b>{{ previewDialog.result.venue?.pool }}</b><br>
|
||||
合格人数:<b>{{ previewDialog.result.venue?.user_count }}</b> 人<br>
|
||||
@@ -123,7 +123,7 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<div style="background:#f4f4f5;padding:12px;border-radius:6px;">
|
||||
<div style="font-weight:600;font-size:13px;margin-bottom:6px;">区县代理加权奖励池</div>
|
||||
<div style="font-weight:600;font-size:13px;margin-bottom:6px;">区县加权奖池</div>
|
||||
<div style="font-size:12px;color:#606266;line-height:1.8;">
|
||||
奖池总额:¥ <b>{{ previewDialog.result.county?.pool }}</b><br>
|
||||
合格人数:<b>{{ previewDialog.result.county?.user_count }}</b> 人<br>
|
||||
@@ -146,7 +146,7 @@
|
||||
</el-row>
|
||||
|
||||
<div style="background:#fafafa;border:1px solid #ebeef5;padding:10px 14px;border-radius:4px;font-size:12px;color:#606266;">
|
||||
<span>📅 兑换券释放预估:当日按计划释放兑换券总额约 <b>¥ {{ previewDialog.result.voucher?.release_estimate }}</b>(以365天逐日释放)。</span>
|
||||
<span>📅 兑换券释放预估:当日按计划释放兑换券总额约 <b>{{ previewDialog.result.voucher?.release_estimate }} 个</b>(以365天逐日释放)。</span>
|
||||
</div>
|
||||
</div>
|
||||
<template #footer>
|
||||
|
||||
@@ -52,6 +52,16 @@
|
||||
<el-table-column label="结算金额" min-width="90">
|
||||
<template #default="scope"> {{ scope.row.amount }} </template>
|
||||
</el-table-column>
|
||||
<el-table-column label="入账账户" min-width="110">
|
||||
<template #default="scope">
|
||||
<el-tag
|
||||
size="small"
|
||||
:type="scope.row.wallet_type === 'money' ? 'success' : (scope.row.wallet_type === 'madow' ? 'primary' : (scope.row.wallet_type === 'commission' ? 'warning' : 'info'))"
|
||||
>
|
||||
{{ scope.row.wallet_type_text || (Number(scope.row.amount) > 0 ? '商城余额' : (Number(scope.row.madow) > 0 ? '分红马豆' : '消费补贴')) }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="马豆" min-width="110">
|
||||
<template #default="scope"> {{ scope.row.madow }} </template>
|
||||
</el-table-column>
|
||||
@@ -143,7 +153,7 @@
|
||||
</el-row>
|
||||
<div v-if="orderTreeDialog.data.voucher_plan" style="margin-top:12px;background:#fff;padding:8px 12px;border-radius:4px;border:1px dashed #dcdfe6;font-size:12px;color:#606266;">
|
||||
<span style="font-weight:600;color:#303133;">1.5倍消费补贴履约计划:</span>
|
||||
总额 ¥ {{ orderTreeDialog.data.voucher_plan.total_amount }},已释放 ¥ {{ orderTreeDialog.data.voucher_plan.released_amount }} (已释放 {{ orderTreeDialog.data.voucher_plan.released_days }}/365天),状态:{{ orderTreeDialog.data.voucher_plan.status_text }}
|
||||
总额 {{ orderTreeDialog.data.voucher_plan.total_amount }} 个,已释放 {{ orderTreeDialog.data.voucher_plan.released_amount }} 个 (已释放 {{ orderTreeDialog.data.voucher_plan.released_days }}/365天),状态:{{ orderTreeDialog.data.voucher_plan.status_text }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -161,6 +171,16 @@
|
||||
<span style="font-weight:600;color:#f56c6c;">¥ {{ scope.row.amount }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="入账账户" width="100">
|
||||
<template #default="scope">
|
||||
<el-tag
|
||||
size="small"
|
||||
:type="scope.row.wallet_type === 'money' ? 'success' : (scope.row.wallet_type === 'madow' ? 'primary' : 'info')"
|
||||
>
|
||||
{{ scope.row.wallet_type_text || '商城余额' }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="madow" label="马豆" width="100"></el-table-column>
|
||||
<el-table-column prop="status_text" label="状态" width="80">
|
||||
<template #default="scope">
|
||||
|
||||
@@ -25,15 +25,15 @@
|
||||
{{ scope.row.order?.order_sn || scope.row.order_id }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="total_amount" label="总额" min-width="90"></el-table-column>
|
||||
<el-table-column prop="daily_amount" label="每天释放" min-width="90"></el-table-column>
|
||||
<el-table-column prop="total_amount" label="总额(个)" min-width="90"></el-table-column>
|
||||
<el-table-column prop="daily_amount" label="每天释放(个)" min-width="105"></el-table-column>
|
||||
<el-table-column label="进度" min-width="110">
|
||||
<template #default="scope"> {{ scope.row.released_days }}/{{ scope.row.total_days }} </template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="released_amount" label="已释放" min-width="90"></el-table-column>
|
||||
<el-table-column prop="available" label="可用" min-width="90"></el-table-column>
|
||||
<el-table-column prop="voucher_used" label="账户已使用" min-width="90"></el-table-column>
|
||||
<el-table-column prop="voucher_available" label="账户可用" min-width="90"></el-table-column>
|
||||
<el-table-column prop="released_amount" label="已释放(个)" min-width="90"></el-table-column>
|
||||
<el-table-column prop="available" label="可用(个)" min-width="90"></el-table-column>
|
||||
<el-table-column prop="voucher_used" label="账户已使用(个)" min-width="115"></el-table-column>
|
||||
<el-table-column prop="voucher_available" label="账户可用(个)" min-width="110"></el-table-column>
|
||||
<el-table-column prop="start_date" label="开始日" width="120"></el-table-column>
|
||||
<el-table-column prop="status_text" label="状态" min-width="80"></el-table-column>
|
||||
<el-table-column label="操作" min-width="140" fixed="right">
|
||||
@@ -52,7 +52,7 @@
|
||||
<div class="mb-2">计划 #{{ logs.plan?.id }} · 用户 {{ logs.plan?.user_id }} · 订单 {{ logs.plan?.order_id }}</div>
|
||||
<el-table :data="logs.rows" stripe max-height="420">
|
||||
<el-table-column prop="settle_date" label="日结日" width="120"></el-table-column>
|
||||
<el-table-column prop="amount" label="释放金额" width="100"></el-table-column>
|
||||
<el-table-column prop="amount" label="释放数量(个)" width="110"></el-table-column>
|
||||
<el-table-column prop="status_text" label="状态" width="90"></el-table-column>
|
||||
<el-table-column prop="formula" label="说明" min-width="160"></el-table-column>
|
||||
<el-table-column prop="createtime" label="时间" width="172"></el-table-column>
|
||||
|
||||
@@ -186,7 +186,7 @@
|
||||
<el-dropdown-item command="money">充值余额 (元)</el-dropdown-item>
|
||||
<el-dropdown-item command="madow">充值马豆 (颗)</el-dropdown-item>
|
||||
<el-dropdown-item command="score">充值积分 (分)</el-dropdown-item>
|
||||
<el-dropdown-item command="voucher">充值兑换券 (元)</el-dropdown-item>
|
||||
<el-dropdown-item command="voucher">充值兑换券 (个)</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</template>
|
||||
</el-dropdown>
|
||||
@@ -418,18 +418,18 @@
|
||||
<div class="card-title">二开核心资产中枢</div>
|
||||
<div class="card-section">
|
||||
<el-row :gutter="12">
|
||||
<!-- 资产 1: 收益钱包 -->
|
||||
<!-- 资产 1: 收益中心 -->
|
||||
<el-col :xs="24" :sm="12" :md="6">
|
||||
<div class="asset-card-box">
|
||||
<div class="asset-card-label">可提现收益 (钱包现金)</div>
|
||||
<div class="asset-card-label">收益中心累计收益 (元)</div>
|
||||
<div class="asset-card-num" style="color: #409eff;">
|
||||
¥{{ state.detail.commission || '0.00' }}
|
||||
¥{{ state.detail.total_income || state.detail.income_total_cash || '0.00' }}
|
||||
</div>
|
||||
<div class="asset-card-desc">
|
||||
累计总现金: ¥{{ state.detail.income_total_cash || '0.00' }}
|
||||
当前商城余额: ¥{{ state.detail.money || '0.00' }}
|
||||
</div>
|
||||
<div class="asset-card-desc">
|
||||
进阶加权奖: ¥{{ state.detail.partner_exclusive_cash || '0.00' }}
|
||||
历史未转佣金: ¥{{ state.detail.commission || '0.00' }}
|
||||
</div>
|
||||
</div>
|
||||
</el-col>
|
||||
@@ -465,13 +465,13 @@
|
||||
{/if}
|
||||
</div>
|
||||
<div class="asset-card-num" style="color: #e6a23c;">
|
||||
¥{{ state.detail.voucher_available || '0.00' }}
|
||||
{{ state.detail.voucher_available || '0.00' }} 个
|
||||
</div>
|
||||
<div class="asset-card-desc">
|
||||
计划总额: ¥{{ state.detail.voucher_total || '0.00' }}
|
||||
计划总额: {{ state.detail.voucher_total || '0.00' }} 个
|
||||
</div>
|
||||
<div class="asset-card-desc">
|
||||
已释放: ¥{{ state.detail.voucher_released || '0.00' }} / 已用: ¥{{ state.detail.voucher_used || '0.00' }}
|
||||
已释放: {{ state.detail.voucher_released || '0.00' }} 个 / 已用: {{ state.detail.voucher_used || '0.00' }} 个
|
||||
</div>
|
||||
</div>
|
||||
</el-col>
|
||||
@@ -517,7 +517,7 @@
|
||||
<el-tab-pane label="收益中心流水" name="partner_reward"></el-tab-pane>
|
||||
<el-tab-pane label="兑换券释放计划" name="voucher_plan"></el-tab-pane>
|
||||
<el-tab-pane label="直推团队成员" name="team"></el-tab-pane>
|
||||
<el-tab-pane label="佣金记录" name="commission"></el-tab-pane>
|
||||
<el-tab-pane label="佣金与收益流水" name="commission"></el-tab-pane>
|
||||
<el-tab-pane label="余额记录" name="money"></el-tab-pane>
|
||||
<el-tab-pane label="积分记录" name="score"></el-tab-pane>
|
||||
<el-tab-pane label="商城订单" name="order"></el-tab-pane>
|
||||
@@ -541,6 +541,13 @@
|
||||
</b>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="入账账户" min-width="110">
|
||||
<template #default="scope">
|
||||
<el-tag size="small" :type="scope.row.wallet_type === 'money' ? 'success' : (scope.row.wallet_type === 'madow' ? 'primary' : (scope.row.wallet_type === 'commission' ? 'warning' : 'info'))">
|
||||
{{ scope.row.wallet_type_text || (Number(scope.row.amount) > 0 ? '商城余额' : (Number(scope.row.madow) > 0 ? '分红马豆' : '消费补贴')) }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="madow" label="结算马豆" min-width="90"></el-table-column>
|
||||
<el-table-column label="买家" min-width="140">
|
||||
<template #default="scope">
|
||||
@@ -582,12 +589,12 @@
|
||||
</el-table-column>
|
||||
<el-table-column prop="total_fee" label="计划总额" min-width="110">
|
||||
<template #default="scope">
|
||||
<b>¥{{ scope.row.total_fee }}</b>
|
||||
<b>{{ scope.row.total_fee }} 个</b>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="day_amount" label="每日释放" min-width="100">
|
||||
<template #default="scope">
|
||||
¥{{ scope.row.day_amount }}
|
||||
{{ scope.row.day_amount }} 个
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="释放进度" min-width="140">
|
||||
@@ -598,10 +605,14 @@
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="released_amount" label="已释放金额" min-width="110"></el-table-column>
|
||||
<el-table-column prop="voucher_available" label="当前可用额" min-width="110">
|
||||
<el-table-column label="已释放" min-width="110">
|
||||
<template #default="scope">
|
||||
<span style="color: #67c23a; font-weight: 600;">¥{{ scope.row.voucher_available }}</span>
|
||||
{{ scope.row.released_amount }} 个
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="voucher_available" label="当前可用" min-width="110">
|
||||
<template #default="scope">
|
||||
<span style="color: #67c23a; font-weight: 600;">{{ scope.row.voucher_available }} 个</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="start_date" label="开始日期" width="120"></el-table-column>
|
||||
@@ -651,6 +662,13 @@
|
||||
<el-table-column prop="amount" label="变动金额/积分" min-width="120"></el-table-column>
|
||||
<el-table-column prop="before" label="变动前" min-width="120"></el-table-column>
|
||||
<el-table-column prop="after" label="变动后" min-width="120"></el-table-column>
|
||||
<el-table-column label="钱包类别" min-width="110" v-if="log.tabActive=='commission'">
|
||||
<template #default="scope">
|
||||
<el-tag size="small" :type="scope.row.type == 'money' ? 'success' : 'warning'">
|
||||
{{ scope.row.type == 'money' ? '商城余额' : '佣金钱包' }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作人" min-width="160">
|
||||
<template #default="scope">
|
||||
<sa-user-profile type="oper" :user="scope.row.oper" :id="scope.row.oper_id">
|
||||
|
||||
@@ -151,17 +151,17 @@
|
||||
|
||||
<el-table-column label="收益中心资产" min-width="190">
|
||||
<template #default="scope">
|
||||
<div><span class="asset-sub">可提现收益:</span> <b>¥{{ scope.row.commission || '0.00' }}</b></div>
|
||||
<div class="asset-sub">马豆: {{ scope.row.madow || 0 }} (约 ¥{{ scope.row.madow_value || '0.00' }})</div>
|
||||
<div class="asset-sub">可用券: ¥{{ scope.row.voucher_available || '0.00' }}</div>
|
||||
<div><span class="asset-sub">累计收益:</span> <b style="color: #409eff;">¥{{ scope.row.total_income || scope.row.income_total_cash || '0.00' }}</b></div>
|
||||
<div class="asset-sub">商城余额: ¥{{ scope.row.money || '0.00' }}</div>
|
||||
<div class="asset-sub">未转佣金: ¥{{ scope.row.commission || '0.00' }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="商城钱包与消费" min-width="160">
|
||||
<el-table-column label="马豆与补贴券" min-width="170">
|
||||
<template #default="scope">
|
||||
<div><span class="asset-sub">余额:</span> ¥{{ scope.row.money || '0.00' }}</div>
|
||||
<div class="asset-sub">积分: {{ scope.row.score || 0 }}</div>
|
||||
<div class="asset-sub">消费: ¥{{ scope.row.total_consume || '0.00' }}</div>
|
||||
<div><span class="asset-sub">分红马豆:</span> {{ scope.row.madow || 0 }} 颗</div>
|
||||
<div class="asset-sub">马豆估值: ¥{{ scope.row.madow_value || '0.00' }}</div>
|
||||
<div class="asset-sub">可用券: {{ scope.row.voucher_available || '0.00' }} 个</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
<el-col :span="6">
|
||||
<div style="background: #ffffff; padding: 8px 10px; border-radius: 6px; border: 1px solid #edf2f7; text-align: center;">
|
||||
<div style="font-size: 11px; color: #64748b;">可用兑换券</div>
|
||||
<div style="font-size: 13px; font-weight: 600; color: #ea580c; margin-top: 2px;">¥{{ state.user.voucher_available || '0.00' }}</div>
|
||||
<div style="font-size: 13px; font-weight: 600; color: #ea580c; margin-top: 2px;">{{ state.user.voucher_available || '0.00' }} 个</div>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -54,7 +54,7 @@
|
||||
<el-radio-button label="money">余额 (元)</el-radio-button>
|
||||
<el-radio-button label="madow">马豆 (颗)</el-radio-button>
|
||||
<el-radio-button label="score">积分 (分)</el-radio-button>
|
||||
<el-radio-button label="voucher">兑换券 (元)</el-radio-button>
|
||||
<el-radio-button label="voucher">兑换券 (个)</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
<span v-if="form.model.type === 'money'">¥{{ currentBalance }}</span>
|
||||
<span v-else-if="form.model.type === 'madow'">{{ currentBalance }} 颗 (实时估值 ¥{{ state.user ? state.user.madow_value : '0.00' }})</span>
|
||||
<span v-else-if="form.model.type === 'score'">{{ currentBalance }} 积分</span>
|
||||
<span v-else-if="form.model.type === 'voucher'">¥{{ currentBalance }} (计划总额 ¥{{ state.user ? state.user.voucher_total : '0.00' }})</span>
|
||||
<span v-else-if="form.model.type === 'voucher'">{{ currentBalance }} 个 (计划总额 {{ state.user ? state.user.voucher_total : '0.00' }} 个)</span>
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
||||
|
||||
在新工单中引用
屏蔽一个用户