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:
+42
-1
@@ -231,7 +231,48 @@
|
||||
| 接口文档 | GET | `/docs` | FastAPI 自动生成 OpenAPI |
|
||||
| 平面图静态 | GET | `/static/windoor-images/{id}.png` | 254 张采集平面图(开发参照,上线前须替换为自绘素材) |
|
||||
|
||||
### 12.5 种子数据
|
||||
### 12.5 客户模块 `/api/customers`(v0.2 新增)
|
||||
|
||||
| 接口名称 | 方式 | URL 路径 | 请求参数 | 说明 |
|
||||
|---|---|---|---|---|
|
||||
| 新增客户 | POST | `/api/customers` | `{name(必填), phone, address, note, salesmen}` | |
|
||||
| 客户列表 | GET | `/api/customers?page=1&page_size=15&keyword=` | query | 模糊匹配姓名/电话/地址 |
|
||||
| 编辑客户 | PUT | `/api/customers/{id}` | 同新增 | |
|
||||
| 删除客户 | DELETE | `/api/customers/{id}` | 路径 | |
|
||||
|
||||
### 12.6 合同模块 `/api/contracts`(v0.2 新增)
|
||||
|
||||
| 接口名称 | 方式 | URL 路径 | 请求参数 | 说明 |
|
||||
|---|---|---|---|---|
|
||||
| 创建合同 | POST | `/api/contracts` | `{customer_id, customer_name, phone, address, area, count, money, note}` | 合同号 `FG+YYYYMMDD+3位流水`,默认意向单 |
|
||||
| 合同列表 | GET | `/api/contracts?page=1&keyword=&status=` | query | 响应 `data.contracts` 分页(对齐目标站结构) |
|
||||
| 编辑合同 | PUT | `/api/contracts/{id}` | 同创建 | |
|
||||
| **意向单转正式** | POST | `/api/contracts/convert` | `{contract_id}` | 仅意向单可转,重复转换 code=0 |
|
||||
| 删除合同 | DELETE | `/api/contracts/{id}` | 路径 | |
|
||||
|
||||
**合同→订单联动**:创建订单传 `contract_id` 时,后端自动快照合同的客户名/电话/地址到订单(客户资料后续变更不影响订单)。
|
||||
|
||||
### 12.7 优化下料 `/api/optimize1d`(v0.2 新增,纯计算无状态)
|
||||
|
||||
| 接口名称 | 方式 | URL 路径 | 请求参数 | 说明 |
|
||||
|---|---|---|---|---|
|
||||
| 一维优化 | POST | `/api/optimize1d` | `{demands:[{length,qty,label}], stocks:[{length,qty,label}], kerf:5}` | FFD 首递减装箱;返回 `plans[]`(每根原料的切割组合+余料)、`unplaced[]`、`stats.utilization`;需求>库存时 code=0 |
|
||||
|
||||
### 12.8 前端(v0.2,Vue3 + Element Plus,构建产物挂载于后端)
|
||||
|
||||
| 路由 | 页面 | 功能 |
|
||||
|---|---|---|
|
||||
| `/login` | 登录 | JWT 登录 |
|
||||
| `/dashboard` | 工作台 | 订单/意向单/客户/合同统计 + 快捷入口 |
|
||||
| `/orders` | 订单中心 | 搜索/新建(选合同+样板自动带图纸)/详情抽屉(**画布渲染 drawing_data**)+状态机操作+生产进度更新 |
|
||||
| `/contracts` | 合同管理 | 列表/新建(选客户带出信息)/意向单转正式/一键下订单 |
|
||||
| `/customers` | 客户管理 | CRUD + 搜索 |
|
||||
| `/templates` | 样板库 | 254 套样板网格(平面图) + 分类筛选 + 点击预览(**画布渲染**) + 用此样板下单 |
|
||||
| `/optimize` | 优化下料 | 需求/原料编辑 + FFD 计算结果(利用率/切割组合表) |
|
||||
|
||||
**画布渲染器**(`components/WindoorCanvas.vue`,自研 Canvas2D):解析 drawing_data → Frame 玻璃区域多边形填充/描边 → 外框加粗 → 扇开向三角标记(od 角度) → 总宽高尺寸标注;支持滚轮缩放、拖拽平移、双击复位。
|
||||
|
||||
### 12.9 种子数据
|
||||
|
||||
```bash
|
||||
uv sync # 安装依赖
|
||||
|
||||
Reference in New Issue
Block a user