import { useEffect, useState } from 'react' import { Card, Table, Typography, Space, Select, Tag, message } from 'antd' import { listRules, listSites, updateRuleStatus, type Rule, type Site } from '../api' const MODE_LABELS: Record = { two_party_distributor_receive: '两方-分销收号', two_party_platform_receive: '两方-分销卖出', three_party: '三方', } export default function Rules() { const [sites, setSites] = useState([]) const [siteID, setSiteID] = useState(undefined) const [rules, setRules] = useState([]) const [loading, setLoading] = useState(false) async function load(site?: number) { setLoading(true) try { setRules(await listRules(site)) } catch { message.error('规则加载失败') } finally { setLoading(false) } } useEffect(() => { listSites() .then((rows) => { setSites(rows) if (rows.length === 1) { setSiteID(rows[0].id) void load(rows[0].id) } else { void load(undefined) } }) .catch(() => message.error('站点加载失败')) }, []) async function toggleStatus(rule: Rule) { const next = rule.status === 'active' ? 'disabled' : 'active' try { await updateRuleStatus(rule.id, next) message.success(`规则已${next === 'active' ? '启用' : '停用'}`) void load(siteID) } catch { message.error('状态更新失败') } } return ( 比例与税费规则