一次上传多个文件只创建一条发票与额度流水;管理端/我的发票夹查看列表改为缩略图附件,并调整弹窗与列宽。 Co-authored-by: Cursor <cursoragent@cursor.com>
65 lines
1.9 KiB
Python
65 lines
1.9 KiB
Python
from typing import List, Optional
|
|
|
|
from pydantic import BaseModel, ConfigDict, Field
|
|
from pydantic.alias_generators import to_camel
|
|
|
|
from app.schemas.bx.common import DatetimeToStr, OptDatetimeToStr
|
|
|
|
|
|
class WalletSummaryOut(BaseModel):
|
|
model_config = ConfigDict(from_attributes=True, populate_by_name=True, alias_generator=to_camel)
|
|
|
|
id: str
|
|
owner_user_id: str
|
|
owner_user_name: str
|
|
total_amount: float
|
|
used_amount: float
|
|
balance: float
|
|
invoice_count: int
|
|
version: int
|
|
create_time: Optional[DatetimeToStr] = None
|
|
update_time: OptDatetimeToStr = None
|
|
|
|
|
|
class LedgerOut(BaseModel):
|
|
model_config = ConfigDict(from_attributes=True, populate_by_name=True, alias_generator=to_camel)
|
|
|
|
id: str
|
|
owner_user_id: str
|
|
entry_type: str
|
|
amount: float
|
|
invoice_id: Optional[str] = None
|
|
reimburse_id: Optional[str] = None
|
|
ref_ledger_id: Optional[str] = None
|
|
remark: Optional[str] = None
|
|
create_time: DatetimeToStr
|
|
|
|
|
|
class InvoiceAttachmentOut(BaseModel):
|
|
model_config = ConfigDict(from_attributes=True, populate_by_name=True, alias_generator=to_camel)
|
|
|
|
id: str
|
|
file_name: Optional[str] = None
|
|
file_path: Optional[str] = None
|
|
file_type: Optional[str] = None
|
|
|
|
|
|
class InvoiceOut(BaseModel):
|
|
model_config = ConfigDict(from_attributes=True, populate_by_name=True, alias_generator=to_camel)
|
|
|
|
id: str
|
|
owner_user_id: str
|
|
owner_user_name: str
|
|
amount: float
|
|
upload_by: Optional[str] = None
|
|
upload_by_name: Optional[str] = None
|
|
remark: Optional[str] = None
|
|
create_time: DatetimeToStr
|
|
update_time: OptDatetimeToStr = None
|
|
# 兼容旧前端:取首个附件
|
|
attachment_id: Optional[str] = None
|
|
file_name: Optional[str] = None
|
|
file_path: Optional[str] = None
|
|
file_type: Optional[str] = None
|
|
attachments: List[InvoiceAttachmentOut] = Field(default_factory=list)
|