2.5 KiB
2.5 KiB
报价单管理 — 04 API 规格
门户:
POST /web/crm/quote/*(分享公开:GET /api/public/crm/quote/share/{shareCode})
Java 快照:reference/java/quote/
状态:P2 后端 ✅(2026-05-31)
1. 报价单主接口
| # | 门户目标 | Python | 状态 |
|---|---|---|---|
| 1 | POST .../list |
list_quotes |
✅ |
| 2 | POST .../detail |
get_quote_detail |
✅ |
| 3 | POST .../add |
create_quote |
✅ |
| 4 | POST .../update |
update_quote |
✅ |
| 5 | POST .../delete |
soft_delete_quotes |
✅ |
| 6 | POST .../submit |
submit_quote |
✅ |
| 7 | POST .../saveTemplate |
save_template |
✅ |
| 8 | POST .../getTemplate |
get_template |
✅ |
| 9 | POST .../generatePdf |
generate_pdf |
✅ |
| 10 | POST .../generateShare |
generate_share |
✅ |
| 11 | GET /api/public/crm/quote/share/{shareCode} |
view_by_share_code |
✅ |
| 12 | POST .../accept |
accept_quote |
✅ |
| 13 | POST .../reject |
reject_quote |
✅ |
| 14 | POST .../toContract |
to_contract |
✅ |
| 15 | POST .../newVersion |
create_new_version |
✅ |
| 16 | POST .../versions |
query_versions |
✅ |
| 17 | POST .../export |
QUOTE_EXPORT_COLUMNS |
✅ |
| 18 | POST .../statistics/overview |
statistics_overview |
✅ |
| 19 | POST .../statistics/status |
statistics_status |
✅ |
| 20 | POST .../statistics/trend |
statistics_trend |
✅ |
| 22 | POST .../invalid |
invalid_quote |
✅ |
2. 产品 / 审批 / 分享日志
| 模块 | 门户 | Python | 状态 |
|---|---|---|---|
| 产品 list/add/update/delete | .../product/* |
quote_product.py |
✅ |
| 审批 list/approve/withdraw/refreshNames | .../approval/* |
quote_approval.py |
✅ |
| 分享日志 list/statistics | .../shareLog/* |
quote_share_log.py |
✅ |
DDL
docs/sql/incremental_crm_quote.sql — 部署库须手动执行(依赖 P0 供方、P1 合同 create 已执行更佳)。
源码
| 层 | 路径 |
|---|---|
| CRUD 主逻辑 | backend/app/crud/crm/quote.py |
| 产品明细 | backend/app/crud/crm/quote_product.py |
| 审批 | backend/app/crud/crm/quote_approval.py |
| 分享日志 | backend/app/crud/crm/quote_share_log.py |
backend/app/services/crm_quote_pdf.py |
|
| 产品 ID 解析 | backend/app/crud/crm/product.py → resolve_product_id_for_quote_item(须有效 productId,禁止自动建档) |
| API | backend/app/api/crm_quote_routes.py |
| Schema | backend/app/schemas/crm/quote.py |