--- 创建时间: 2026-02-27T15:07 更新时间: 2026-02-27T15:13 tags: - WebApp - work --- # 项目现状与后端开发交接说明书 (Project Handover Document) ## 1. 项目概况与技术栈 (Project Overview & Tech Stack) **业务背景**: 本项目为专为**润滑油行业**深度定制的 B2B 企业级 ERP/CRM 综合系统。业务链路完整覆盖了“客(客户与客情)、货(产品与库存)、单(订单与发货)、财(发票与智能报销)、权(组织与权限)”五大核心中后台数字化流转。 **技术栈要求**: - **前端 (已完成 UI 占位)**:Vue 3 (Composition API), TypeScript, Element Plus, Vite. - **后端 (即将开发,请 AI 注意)**:[⚠️请在此处填入你期望的后端语言,如:Node.js (NestJS) / Java (Spring Boot) / Python (FastAPI)] + MySQL/PostgreSQL 关系型数据库 + Redis (用于 Token 鉴权与缓存)。 ## 2. 已完成的前端模块全景图 (Completed Frontend Modules) 现阶段已完成全套核心前台视图(UI/UX)搭建与交互逻辑封皮,主要包含以下独立路由模块: - **`/` 及基础框架 (Layout)**:基于 `el-container` 的经典折叠侧边栏与顶部面包屑导航,预留多级路由。 - **`/customers` (客户管理大盘)**:涵盖高级检索,实现 A/B/C 三级高净值客户的标签化表格总览。 - **`/customers/detail` (客户详情)**:深度整合 AI。左侧档案卡+AI客情健康度;右侧/下方搭载沉浸式时间轴(Timeline),及弹窗式 `AI 拜访简报生成器`。 - **`/products` (产品与库存)**:采用“左树右表”布局。左侧分类树,右侧精细管理多包装规格 SKU,内置双抽屉查看详情及【出入库流水账】。 - **`/orders` (订单管理)**:业务极度复杂的交易枢纽。含【客户专属历史定价自动带出】逻辑,精准追踪发货状态(待/部分/已发货)及付款进度(进度条跟踪)。 - **`/shipping` (物流发货记录)**:与订单强关联,支持【一笔订单分批发货】,追踪承运方与物流单号。 - **`/finance` (财务发票与报销中心)**: - **大一统票据池**:上传即刻 OCR 提取,底层实行软删除(作废)。 - **智能报销申请 (草稿体系)**:左侧票据池拉取,右侧购物车封装(内置费用描述及两级票据类型转换),实时合计。 - **专属 A4 打印**:利用 CSS `@media print` 穿透重绘出带大写金额转化、极高信噪比的定制版报销单。 - **`/settings` (系统设置与权限)**:标准 RBAC 控制台。左树(部门)右表(员工);角色池分配极细粒度的“数据横向穿透权限”(全部/本部门/仅本人)及菜单按钮权限。 ## 3. 核心业务数据结构 (Core Data Structures / API Contracts) _注:这是后端建立 SQL Schema 的绝对契约基准。_ **1. 客户与日志实体 (Customer & FollowUp)** - **Customer**: `id`, `name`, `level`, `industry`, `contact`, `phone`, `aiScore`, `address`, `status` - **FollowUpLog**: `id`, `customerId`, `salespersonId`, `content`, `emotionType`, `nextVisitTime`, `createTime` (用于生成 AI 简报的底层饲料) **2. 产品库存实体 (Product SKU & InventoryFlow)** - **ProductSku**: `id`, `categoryId`, `skuCode`, `name`, `spec` (如 200L/桶), `standardPrice`, `stockQty`, `warningThreshold`, `status` - **InventoryFlow**: `id`, `skuCode`, `changeQty` (+/-), `reason` (进货/出库/损耗), `operatorId`, `createTime` **3. 订单交易实体 (Order)** - **OrderMain**: `orderNo`, `customerId`, `totalAmount`, `shippingState` (pending/partial/shipped), `paymentState` (unpaid/partial/cleared), `createTime` - **OrderItem**: `id`, `orderNo`, `skuCode`, `qty`, `unitPrice`, `subTotal` **4. 独立发货单实体 (Shipping - 承接分批发货)** - **ShippingRecord**: `shippingNo`, `orderNo`, `carrier` (如德邦), `trackingNo`, `status` (transit/delivered), `shipDate` - **ShippingItem**: `id`, `shippingNo`, `skuCode`, `shippedQty` (本次实际发货量) **5. 财务及报销实体 (Invoice & Expense)** - **InvoicePool** (票据池): `id`, `uploaderId`, `fileUrl`, `merchantName`, `amount`, `invoiceDate`, `type` (客户发票/报销发票), `is_deleted` (防物理篡改) - **ExpenseRecord** (报销总单): `systemNo`, `applicantId`, `totalAmount`, `status` (draft/pending/approved/rejected) - **ExpenseDetail** (报销明细行): `id`, `systemNo`, `invoiceId`, `expenseDesc`, `originalType` (油费/招待), `offsetType` (冲顶类型), `amount` **6. 权限角色实体 (Role & Setup)** - **User**: `userId`, `deptId`, `roleId`, `username`, `passwordHash`, `status` - **Role**: `roleId`, `roleName`, `dataScope` (all/dept_and_sub/self), `menuKeys` ## 4. 下一阶段开发规划 (Next Phase Planning) 前端 UI 及交互体验已接近完全体(目前皆由 `ref/reactive` 驱动的纯本地响应式黑盒)。开启新一轮对话进入后端主导阶段,强烈建议按以下顺位破冰: 1. **确定后端框架与建库方案**: - 优先依据上述实体契约搭建关系型数据库模型(含 ER 关联图设计)。 - 注意:所有财务与流水表强制引入 `is_deleted` 及 `update_time` 等审计字段。 2. **鉴权与 RBAC 拦截栈基座开发**: - 开发 JWT Token 签发与认证体系。 - 核心难点预警:必须在底层封装针对 `dataScope` 的 SQL 动态拼接过滤器,严防数据越权访问。 3. **消除前端 Mock 层联调**: - 配置前端代理环境。 - 开发通用 CRUD 接口,逐步替换 Vue 文件中的 Mock 数据。 4. **复杂流体业务 API 攻坚**: - 开发“历史专享价”带出接口。 - 开发“分批发货关联扣减订单待发数量”的事务一致性逻辑。 - 开发“购物车报销合单”的长事务锁定逻辑。