交易记录价位和手续费支持小数输入

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-07-26 10:48:25 +08:00
parent adec664c52
commit 9b08bd8bfd
3 changed files with 13 additions and 13 deletions
+5 -5
View File
@@ -130,15 +130,15 @@ class Trade(Base):
contract_code: Mapped[str] = mapped_column(String(10), index=True)
direction: Mapped[str] = mapped_column(String(4))
open_date: Mapped[date] = mapped_column(Date)
open_price: Mapped[int] = mapped_column(Integer)
open_fee: Mapped[int | None] = mapped_column(Integer, nullable=True, default=0)
open_price: Mapped[float] = mapped_column(Float)
open_fee: Mapped[float | None] = mapped_column(Float, nullable=True, default=0)
close_date: Mapped[date | None] = mapped_column(Date, nullable=True)
close_price: Mapped[int | None] = mapped_column(Integer, nullable=True)
close_fee: Mapped[int | None] = mapped_column(Integer, nullable=True, default=0)
close_price: Mapped[float | None] = mapped_column(Float, nullable=True)
close_fee: Mapped[float | None] = mapped_column(Float, nullable=True, default=0)
status: Mapped[str] = mapped_column(String(10), default="open")
@property
def pnl(self) -> int | None:
def pnl(self) -> float | None:
if self.close_price is None:
return None
mul = 20 # glass futures point value
+4 -4
View File
@@ -62,8 +62,8 @@ def open_trade(
contract_code: str = Form(...),
direction: str = Form(...),
open_date: str = Form(...),
open_price: int = Form(...),
open_fee: int = Form(0),
open_price: float = Form(...),
open_fee: float = Form(0.0),
db: Session = Depends(get_db),
):
t = Trade(
@@ -85,8 +85,8 @@ def close_trade(
request: Request,
trade_id: int,
close_date: str = Form(...),
close_price: int = Form(...),
close_fee: int = Form(0),
close_price: float = Form(...),
close_fee: float = Form(0.0),
db: Session = Depends(get_db),
):
t = db.query(Trade).filter(Trade.id == trade_id).first()
+4 -4
View File
@@ -42,11 +42,11 @@
</div>
<div class="form-group" style="margin-bottom:0;flex:0 0 auto;min-width:80px;">
<label>开仓价</label>
<input type="number" name="open_price" required placeholder="1300" style="font-size:0.9rem;">
<input type="number" step="any" name="open_price" required placeholder="1300" style="font-size:0.9rem;">
</div>
<div class="form-group" style="margin-bottom:0;flex:0 0 auto;min-width:80px;">
<label>手续费</label>
<input type="number" name="open_fee" value="0" style="font-size:0.9rem;">
<input type="number" step="any" name="open_fee" value="0" style="font-size:0.9rem;">
</div>
<button type="submit" class="btn btn-primary" style="font-size:0.82rem;padding:8px 18px;">开仓</button>
</div>
@@ -100,11 +100,11 @@
</div>
<div class="form-group">
<label>平仓价格</label>
<input type="number" name="close_price" required style="font-size:0.9rem;">
<input type="number" step="any" name="close_price" required style="font-size:0.9rem;">
</div>
<div class="form-group">
<label>手续费</label>
<input type="number" name="close_fee" value="0" style="font-size:0.9rem;">
<input type="number" step="any" name="close_fee" value="0" style="font-size:0.9rem;">
</div>
<div style="display:flex;gap:10px;justify-content:flex-end;">
<button type="button" class="btn" style="background:var(--th-bg);color:var(--fg);" onclick="hideCloseForm()">取消</button>