V4.0.9版本更新合伙人H5端调整
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { useCallback, useEffect, useMemo, useState } from 'react';
|
||||
import { Link } from 'react-router-dom';
|
||||
import type { PartnerBillDto } from '@dukang/shared-types';
|
||||
import type { PartnerBillDto, PartnerSettlementPreviewDto } from '@dukang/shared-types';
|
||||
import { isWxAuthorizeEnabled } from '@dukang/shared-types';
|
||||
import PullToRefresh from '@dukang/shared-ui/PullToRefresh';
|
||||
import { request } from '../lib/api';
|
||||
@@ -8,6 +8,7 @@ import { usePartnerSession } from '../contexts/PartnerSessionContext';
|
||||
import { contactSupport } from '../lib/contact';
|
||||
import { isPrimaryAccount } from '../lib/partnerAccess';
|
||||
import { listPartnerStaff } from '../lib/staff';
|
||||
import { formatBillPeriod, formatIssueLabel } from '../lib/settlement';
|
||||
import { toastError, toastSuccess } from '../lib/toast';
|
||||
import {
|
||||
authorizePartnerWechat,
|
||||
@@ -31,6 +32,7 @@ export default function CenterPage({ variant = 'primary', roleLabel }: CenterPag
|
||||
const isPrimary = variant === 'primary' && isPrimaryAccount(account);
|
||||
const [authorizing, setAuthorizing] = useState(false);
|
||||
const [bills, setBills] = useState<PartnerBillDto[]>([]);
|
||||
const [preview, setPreview] = useState<PartnerSettlementPreviewDto | null>(null);
|
||||
const [staffCount, setStaffCount] = useState(0);
|
||||
|
||||
useEffect(() => {
|
||||
@@ -44,6 +46,9 @@ export default function CenterPage({ variant = 'primary', roleLabel }: CenterPag
|
||||
request<PartnerBillDto[]>('PARTNER_H5', '/partner/settlement/bills')
|
||||
.then(setBills)
|
||||
.catch(() => setBills([])),
|
||||
request<PartnerSettlementPreviewDto>('PARTNER_H5', '/partner/settlement/preview')
|
||||
.then(setPreview)
|
||||
.catch(() => setPreview(null)),
|
||||
listPartnerStaff()
|
||||
.then((list) => setStaffCount(list.length))
|
||||
.catch(() => setStaffCount(0)),
|
||||
@@ -188,6 +193,15 @@ export default function CenterPage({ variant = 'primary', roleLabel }: CenterPag
|
||||
<p className="partner-finance-hero-label">账户余额 (元)</p>
|
||||
<p className="partner-finance-hero-amount">{fmtMoney(finance.balance)}</p>
|
||||
</div>
|
||||
<div className="partner-finance-card">
|
||||
<p className="label-md text-muted">预付款</p>
|
||||
<p className="partner-finance-value text-primary">¥ {fmtMoney(preview?.prepaymentAmount ?? 0)}</p>
|
||||
<p className="label-md text-muted" style={{ marginTop: 6, lineHeight: 1.4 }}>
|
||||
{formatBillPeriod(preview?.periodStart, preview?.periodEnd)}
|
||||
<br />
|
||||
{formatIssueLabel(preview)}
|
||||
</p>
|
||||
</div>
|
||||
<Link to="/center/settlement" className="partner-finance-card">
|
||||
<p className="label-md text-muted">待结算</p>
|
||||
<p className="partner-finance-value text-primary">¥ {fmtMoney(finance.pendingTotal)}</p>
|
||||
@@ -219,6 +233,22 @@ export default function CenterPage({ variant = 'primary', roleLabel }: CenterPag
|
||||
<span className="material-symbols-outlined text-muted">chevron_right</span>
|
||||
</div>
|
||||
</Link>
|
||||
<Link to="/center/bank" className="partner-menu-item">
|
||||
<div className="partner-menu-item-left">
|
||||
<div className="partner-menu-icon">
|
||||
<span className="material-symbols-outlined">account_balance</span>
|
||||
</div>
|
||||
<span className="body-md" style={{ fontSize: 16 }}>收款账户</span>
|
||||
</div>
|
||||
<div className="partner-menu-item-right">
|
||||
{account?.bankAccount?.bankAccountNo ? (
|
||||
<span className="label-md text-muted">{account.bankAccount.bankAccountNo.slice(-4)}</span>
|
||||
) : (
|
||||
<span className="partner-menu-status">未填写</span>
|
||||
)}
|
||||
<span className="material-symbols-outlined text-muted">chevron_right</span>
|
||||
</div>
|
||||
</Link>
|
||||
<Link to="/center/activity-posters" className="partner-menu-item">
|
||||
<div className="partner-menu-item-left">
|
||||
<div className="partner-menu-icon">
|
||||
|
||||
Reference in New Issue
Block a user