feat: 前后端全量开发 v0.2
后端: - 客户模块 CRUD+搜索 (api/services/repositories 分层) - 合同模块: FG单号规则/意向单转正式单/订单创建自动快照客户信息 - 优化下料: FFD首递减装箱算法(利用率统计/余料/未排入清单) 前端 (Vue3+TS+Element Plus): - 7页面: 登录/工作台/订单中心/合同/客户/样板库/优化下料 - 自研二维窗型画布渲染器: 解析drawing_data渲染玻璃区域/外框/ 扇开向标记/尺寸标注, 支持缩放平移复位 - 样板库与订单联动(用此样板下单自动带图纸) - axios统一envelope拦截/登录守卫/付费墙提示 工程: - SPA history 回退路由, 构建产物挂载后端 - 全接口回归 6/6 通过
This commit is contained in:
@@ -14,13 +14,26 @@ class OrderService:
|
||||
self.repo = OrderRepository(db)
|
||||
|
||||
async def create_order(self, user: User, payload: OrderCreate) -> Order:
|
||||
"""创建订单:对齐目标站 {contract_id, drawing_data, pic_url} 契约。"""
|
||||
"""创建订单:对齐目标站 {contract_id, drawing_data, pic_url} 契约。
|
||||
指定 contract_id 时自动快照合同客户信息。"""
|
||||
customer_id = payload.customer_id
|
||||
customer_name = phone = address = ""
|
||||
if payload.contract_id:
|
||||
from huamenchuang.repositories.contract_repo import ContractRepository
|
||||
contract = await ContractRepository(self.db).get(payload.contract_id, user.company_id)
|
||||
if contract is None:
|
||||
raise KeyError("关联合同不存在")
|
||||
customer_id = contract.customer_id
|
||||
customer_name, phone, address = contract.customer_name, contract.phone, contract.address
|
||||
order = Order(
|
||||
order_no=await self.repo.next_order_no(user.company_id),
|
||||
contract_id=payload.contract_id,
|
||||
drawing_data=payload.drawing_data,
|
||||
pic_url=payload.pic_url,
|
||||
customer_id=payload.customer_id,
|
||||
customer_id=customer_id,
|
||||
customer_name=customer_name,
|
||||
phone=phone,
|
||||
address=address,
|
||||
note=payload.note,
|
||||
money=payload.money,
|
||||
count=payload.count,
|
||||
|
||||
Reference in New Issue
Block a user