feat: 添加价格区间过滤功能并优化UI

- 添加价格区间过滤功能(minPrice/maxPrice)
  - 数据库迁移:添加价格区间字段到 copy_trading 和 copy_trading_templates 表
  - 后端:实体类、DTO、服务层支持价格区间配置和过滤
  - 前端:模板和配置页面添加价格区间配置UI
  - 过滤逻辑:在订单创建前检查价格是否在配置区间内

- 优化价格区间文案,使其更易懂
  - 明确说明是 Leader 交易价格
  - 详细说明三种配置方式(区间、只填最低价、只填最高价)

- 补充多语言翻译
  - 为 zh-CN、zh-TW、en 添加价格区间相关翻译
  - 添加价格区间过滤类型翻译
  - 添加通用翻译(prev、next、items、total)

- 修复复制模板功能
  - 补充缺失的过滤条件字段(minOrderDepth、maxSpread、minOrderbookDepth、minPrice、maxPrice)
  - 在复制模板表单中添加所有过滤条件配置项

- 已过滤订单列表优化
  - 添加移动端卡片样式布局
  - 在筛选下拉菜单中添加价格区间过滤类型选项

- 订单页面返回按钮优化
  - 买入订单、卖出订单、匹配关系页面的返回按钮改为返回上一页(navigate(-1))
  - 使用多语言支持返回按钮文本
This commit is contained in:
WrBug
2025-12-05 23:52:49 +08:00
parent 6c13362b17
commit 3369dbb248
26 changed files with 753 additions and 127 deletions
+4 -19
View File
@@ -110,7 +110,7 @@ const CopyTradingStatisticsPage: React.FC = () => {
</div>
</div>
</Col>
<Col xs={24} sm={12} md={6}>
<Col xs={24} sm={12} md={8}>
<div>
<div style={{ color: '#999', fontSize: 14, marginBottom: 4 }}>Leader </div>
<div style={{ fontSize: 16, fontWeight: 500 }}>
@@ -118,15 +118,7 @@ const CopyTradingStatisticsPage: React.FC = () => {
</div>
</div>
</Col>
<Col xs={24} sm={12} md={6}>
<div>
<div style={{ color: '#999', fontSize: 14, marginBottom: 4 }}></div>
<div style={{ fontSize: 16, fontWeight: 500 }}>
{statistics.templateName || `模板 ${statistics.templateId}`}
</div>
</div>
</Col>
<Col xs={24} sm={12} md={6}>
<Col xs={24} sm={12} md={8}>
<div>
<div style={{ color: '#999', fontSize: 14, marginBottom: 4 }}></div>
<div>
@@ -203,21 +195,14 @@ const CopyTradingStatisticsPage: React.FC = () => {
{/* 持仓统计卡片 */}
<Card title="持仓统计" style={{ marginBottom: 16 }}>
<Row gutter={[16, 16]}>
<Col xs={24} sm={12} md={8}>
<Col xs={24} sm={12} md={12}>
<Statistic
title="当前持仓数量"
value={formatUSDC(statistics.currentPositionQuantity)}
suffix=""
/>
</Col>
<Col xs={24} sm={12} md={8}>
<Statistic
title="当前持仓价值"
value={formatUSDC(statistics.currentPositionValue)}
suffix="USDC"
/>
</Col>
<Col xs={24} sm={12} md={8}>
<Col xs={24} sm={12} md={12}>
<Statistic
title="平均买入价格"
value={formatUSDC(statistics.avgBuyPrice)}