/** * 成本配置:按来源展示「成本怎么算」。 * * 三个来源的成本形态完全不同,所以这里不做统一表格,而是按来源切换: * 自动发货 → 上游 SKU 采购价(按 aff: 归一) * 接单平台 → 接单模板发单金额(只读核对,改价去接单模板页) * 人工客服 → 内部 SKU 的履约渠道与消耗积分 * * 来源在页面顶部工具栏统一选择;选「全部」时这里给出三个入口, * 避免把三套配置竖着堆在一页里。 */ import { Button, Card, Col, Row, Space, Typography } from 'antd' import { AffiliateSkuPanel } from './AffiliateSkuPanel' import { useCostCenter } from './CostCenterContext' import { ManualSkuConfigPanel } from './ManualSkuConfigPanel' import { WorkOrderPricePanel } from './WorkOrderPricePanel' import type { CostScope } from './shared' const CONFIG_ENTRIES: Array<{ key: Exclude title: string description: string }> = [ { key: 'affiliate_dash', title: '自动发货采购价', description: '按上游货源 SKU 配采购成本,订单项直接按 aff: 归一,不走渠道映射。', }, { key: 'work_order', title: '接单平台发单金额', description: '接单模板 → 发单金额的当前生效版本,只读核对;改价请改模板后重新同步。', }, { key: 'manual', title: '人工客服 SKU 消耗', description: '内部 SKU 的履约渠道与消耗积分;积分填 0 表示成本不固定,确认履约时手填。', }, ] export default function CostConfigPanel() { const { scope, setScope } = useCostCenter() if (scope === 'affiliate_dash') return if (scope === 'work_order') return if (scope === 'manual') return return ( 成本配置按来源分开维护,选择一个来源查看;也可以在页面顶部直接切换来源。 {CONFIG_ENTRIES.map((entry) => ( setScope(entry.key)}> 去配置 } > {entry.description} ))} ) }