feat(ops): v4.0.4 开发任务多行与版本状态同步、合伙人/门店删除、账单合伙人列

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-31 16:08:55 +08:00
parent e26206b93c
commit ac94f5f5de
15 changed files with 568 additions and 59 deletions
+19 -5
View File
@@ -57,6 +57,7 @@ type Row = {
redeemItems?: BillItemRow[];
partner?: {
companyName?: string;
name?: string;
phone?: string;
bankAccountName?: string | null;
bankAccountNo?: string | null;
@@ -64,6 +65,7 @@ type Row = {
};
partnerAccount?: {
companyName?: string;
name?: string;
phone?: string;
bankAccountName?: string | null;
bankAccountNo?: string | null;
@@ -71,7 +73,7 @@ type Row = {
};
};
type PartnerOption = { id: string; companyName: string; phone?: string };
type PartnerOption = { id: string; companyName?: string | null; name?: string | null; phone?: string };
const STATUS_LABELS: Record<string, string> = {
PENDING_REVIEW: '待审核',
@@ -89,6 +91,18 @@ const STATUS_COLORS: Record<string, string> = {
REJECTED: 'red',
};
function partnerDashLabel(p?: {
companyName?: string | null;
name?: string | null;
phone?: string | null;
} | null): string {
if (!p) return '—';
const company = (p.companyName || '').trim();
const person = (p.name || '').trim();
if (company && person) return `${company}-${person}`;
return company || person || (p.phone || '').trim() || '—';
}
export default function PartnerBillsPage() {
const [form] = Form.useForm();
const [filters, setFilters] = useState<Record<string, string>>({});
@@ -257,7 +271,7 @@ export default function PartnerBillsPage() {
}
const summary = data?.summary;
const partnerName = (r: Row) => r.partner?.companyName || r.partnerAccount?.companyName || '—';
const partnerName = (r: Row) => partnerDashLabel(r.partnerAccount ?? r.partner);
const partnerBank = (r: Row) => r.partnerAccount ?? r.partner;
const selectedRows = (data?.items ?? []).filter((r) => selectedKeys.includes(r.id));
const canSend = selectedRows.filter((r) => r.status === 'PENDING_REVIEW' || r.status === 'REJECTED');
@@ -275,7 +289,7 @@ export default function PartnerBillsPage() {
},
{
title: '合伙人',
width: 160,
width: 200,
render: (_, r) => partnerName(r),
},
{
@@ -406,7 +420,7 @@ export default function PartnerBillsPage() {
optionFilterProp="label"
options={partners.map((p) => ({
value: p.id,
label: p.companyName || p.phone || p.id,
label: partnerDashLabel(p),
}))}
/>
</Form.Item>
@@ -503,7 +517,7 @@ export default function PartnerBillsPage() {
placeholder="全部主合伙人"
options={partners.map((p) => ({
value: p.id,
label: p.companyName || p.phone || p.id,
label: partnerDashLabel(p),
}))}
/>
</Form.Item>