# ERP系统前端接口文档 ## 📋 目录 - [系统概述](#系统概述) - [API接口文件](#api接口文件) - [页面路由](#页面路由) - [后端接口详情](#后端接口详情) --- ## 系统概述 本ERP系统前端项目包含以下核心功能模块: - **数据看板** - 实时展示ERP系统各项统计数据和图表 - **检验单管理** - 质检单据的增删改查 - **销售订单管理** - 销售订单全生命周期管理 - **采购订单管理** - 采购订单管理 - **生产订单管理** - 生产工单管理 - **生产入库管理** - 生产入库单据管理 --- ## API接口文件 ### 📁 文件结构 ``` xiyan-ui/src/api/erp/ ├── dashboard.js # 看板统计接口 ├── inspectBill.js # 检验单接口 ├── saleOrder.js # 销售订单接口 ├── purchaseOrder.js # 采购订单接口 ├── productionOrder.js # 生产订单接口 └── productionInstock.js # 生产入库接口 ``` ### 1. 看板统计接口 (dashboard.js) ```javascript // 同步销售订单 syncSaleOrder() // 获取今日质检单总数 getInspectBillToDay() // 统计一周内的生产工单排产、已完成数量 getProductionOrdersToWeek() // 统计工单数量,分别统计排产、已完成的数量 getCountProductionOrders() // 统计今年的销售出库总量和生产报工总量以及采购入库单总量 getStatistics() // 统计今年各月份的销售出库总量和生产报工总量 getCountBySalOutAndPrdIn() // 一周内的报工重量 getWeightToWeek() ``` ### 2. 检验单接口 (inspectBill.js) ```javascript // 查询检验单列表 listInspectBill(query) // 查询检验单详细 getInspectBill(id) // 新增检验单 addInspectBill(data) // 修改检验单 updateInspectBill(data) // 删除检验单 delInspectBill(id) // 获取今日质检单总数 getInspectBillToDay() ``` ### 3. 销售订单接口 (saleOrder.js) ```javascript // 查询销售订单列表 listSaleOrder(query) // 查询销售订单详细 getSaleOrder(id) // 新增销售订单 addSaleOrder(data) // 修改销售订单 updateSaleOrder(data) // 删除销售订单 delSaleOrder(id) ``` ### 4. 采购订单接口 (purchaseOrder.js) ```javascript // 查询采购订单列表 listPurchaseOrder(query) // 查询采购订单详细 getPurchaseOrder(id) // 新增采购订单 addPurchaseOrder(data) // 修改采购订单 updatePurchaseOrder(data) // 删除采购订单 delPurchaseOrder(id) ``` ### 5. 生产订单接口 (productionOrder.js) ```javascript // 查询生产订单列表 listProductionOrder(query) // 查询生产订单详细 getProductionOrder(id) // 新增生产订单 addProductionOrder(data) // 修改生产订单 updateProductionOrder(data) // 删除生产订单 delProductionOrder(id) // 统计一周内的生产工单排产、已完成数量 getProductionOrdersToWeek() // 统计工单数量,分别统计排产、已完成的数量 getCountProductionOrders() ``` ### 6. 生产入库接口 (productionInstock.js) ```javascript // 查询生产入库单列表 listProductionInstock(query) // 查询生产入库单详细 getProductionInstock(id) // 新增生产入库单 addProductionInstock(data) // 修改生产入库单 updateProductionInstock(data) // 删除生产入库单 delProductionInstock(id) // 统计今年的销售出库总量和生产报工总量以及采购入库单总量 getStatistics() // 统计今年各月份的销售出库总量和生产报工总量 getCountBySalOutAndPrdIn() // 一周内的报工重量 getWeightToWeek() ``` --- ## 页面路由 ### 📁 页面文件结构 ``` xiyan-ui/src/views/ ├── board/ │ └── kanban/ │ └── index.vue # ERP数据看板 └── erp/ ├── inspectBill/ │ └── index.vue # 检验单管理 ├── saleOrder/ │ └── index.vue # 销售订单管理 ├── purchaseOrder/ │ └── index.vue # 采购订单管理 ├── productionOrder/ │ └── index.vue # 生产订单管理 └── productionInstock/ └── index.vue # 生产入库管理 ``` --- ## 后端接口详情 ### 1. 检验单管理 (ErpInspectBillController) **Base URL:** `/erpInspectBill` #### 1.1 分页查询 - **接口路径:** `GET /erpInspectBill/list` - **接口描述:** 分页查询检验单列表 - **请求参数:** - `pageNum`: 页码 - `pageSize`: 每页条数 - `billNo`: 单据号(可选) - `documentStatus`: 文档状态(可选)Z-暂存/C-审核中/A-已审核 - `businessType`: 业务类型(可选) - `createDate`: 创建日期范围(可选) - **响应数据:** ```json { "total": 100, "rows": [ { "id": 1, "billNo": "JY202510001", "documentStatus": "A", "businessType": "来料检验", "checkQty": 100.00, "createDate": "2025-10-29 10:00:00", "approveDate": "2025-10-29 11:00:00", "isSynced": 1 } ] } ``` #### 1.2 查询详情 - **接口路径:** `GET /erpInspectBill/{id}` - **接口描述:** 通过主键查询单条检验单数据 - **请求参数:** - `id`: 主键ID #### 1.3 新增检验单 - **接口路径:** `POST /erpInspectBill` - **接口描述:** 新增检验单 - **请求体:** ```json { "billNo": "JY202510001", "documentStatus": "Z", "businessType": "来料检验", "checkQty": 100.00, "fDate": "2025-10-29", "defScanBox": "BOX001" } ``` #### 1.4 修改检验单 - **接口路径:** `PUT /erpInspectBill` - **接口描述:** 修改检验单 - **请求体:** 同新增,需包含id #### 1.5 删除检验单 - **接口路径:** `DELETE /erpInspectBill/{id}` - **接口描述:** 删除检验单 - **请求参数:** - `id`: 主键ID #### 1.6 今日质检单总数 - **接口路径:** `GET /erpInspectBill/getByInspectBillToDay` - **接口描述:** 获取今日质检单总数 - **响应数据:** ```json { "total": 25, "countDate": "2025-10-29" } ``` --- ### 2. 销售订单管理 (ErpSaleOrderController) **Base URL:** `/erpSaleOrder` #### 2.1 分页查询 - **接口路径:** `GET /erpSaleOrder/list` - **接口描述:** 分页查询销售订单列表 - **请求参数:** - `pageNum`: 页码 - `pageSize`: 每页条数 - `billNo`: 单据号(可选) - `documentStatus`: 文档状态(可选) - `businessType`: 业务类型(可选) - `custId`: 客户ID(可选) - **响应数据:** ```json { "total": 200, "rows": [ { "id": 1, "billNo": "XS202510001", "documentStatus": "A", "businessType": "标准销售", "custId": "CUST001", "fLinkMan": "张三", "fLinkPhone": "13800138000", "receiveAddress": "上海市浦东新区XXX", "date": "2025-10-29 10:00:00", "createDate": "2025-10-29 09:00:00" } ] } ``` #### 2.2 查询详情 - **接口路径:** `GET /erpSaleOrder/{id}` #### 2.3 新增销售订单 - **接口路径:** `POST /erpSaleOrder` - **请求体:** ```json { "billNo": "XS202510001", "documentStatus": "Z", "businessType": "标准销售", "custId": "CUST001", "date": "2025-10-29 10:00:00", "fLinkMan": "张三", "fLinkPhone": "13800138000", "receiveAddress": "上海市浦东新区XXX", "note": "备注信息" } ``` #### 2.4 修改销售订单 - **接口路径:** `PUT /erpSaleOrder` #### 2.5 删除销售订单 - **接口路径:** `DELETE /erpSaleOrder/{id}` --- ### 3. 采购订单管理 (ErpPurchaseOrderController) **Base URL:** `/erpPurchaseOrder` #### 3.1 分页查询 - **接口路径:** `GET /erpPurchaseOrder/list` - **请求参数:** - `pageNum`: 页码 - `pageSize`: 每页条数 - `billNo`: 单据号(可选) - `documentStatus`: 文档状态(可选) - `businessType`: 业务类型(可选) - `supplierId`: 供应商ID(可选) - **响应数据:** ```json { "total": 150, "rows": [ { "id": 1, "billNo": "CG202510001", "documentStatus": "A", "businessType": "标准采购", "supplierId": "SUPP001", "providerContact": "李四", "providerAddress": "江苏省苏州市XXX", "date": "2025-10-29 10:00:00", "closeStatus": "B", "cancelStatus": "B" } ] } ``` #### 3.2 查询详情 - **接口路径:** `GET /erpPurchaseOrder/{id}` #### 3.3 新增采购订单 - **接口路径:** `POST /erpPurchaseOrder` - **请求体:** ```json { "billNo": "CG202510001", "documentStatus": "Z", "businessType": "标准采购", "supplierId": "SUPP001", "date": "2025-10-29 10:00:00", "providerContact": "李四", "providerAddress": "江苏省苏州市XXX" } ``` #### 3.4 修改采购订单 - **接口路径:** `PUT /erpPurchaseOrder` #### 3.5 删除采购订单 - **接口路径:** `DELETE /erpPurchaseOrder/{id}` --- ### 4. 生产订单管理 (ErpProductionOrdersController) **Base URL:** `/erpProductionOrders` #### 4.1 分页查询 - **接口路径:** `GET /erpProductionOrders/list` - **请求参数:** - `pageNum`: 页码 - `pageSize`: 每页条数 - `billNo`: 单据号(可选) - `documentStatus`: 文档状态(可选) - `businessType`: 业务类型(可选) - **响应数据:** ```json { "total": 300, "rows": [ { "id": 1, "billNo": "SC202510001", "documentStatus": "A", "businessType": "标准生产", "isRework": 0, "isEntrust": 0, "createDate": "2025-10-29 08:00:00", "approveDate": "2025-10-29 09:00:00", "cancelStatus": "B" } ] } ``` #### 4.2 查询详情 - **接口路径:** `GET /erpProductionOrders/{id}` #### 4.3 新增生产订单 - **接口路径:** `POST /erpProductionOrders` - **请求体:** ```json { "billNo": "SC202510001", "documentStatus": "Z", "businessType": "标准生产", "date": "2025-10-29 10:00:00", "prdOrgIdId": "ORG001", "workShopIdId": 1, "isRework": 0, "isEntrust": 0 } ``` #### 4.4 修改生产订单 - **接口路径:** `PUT /erpProductionOrders` #### 4.5 删除生产订单 - **接口路径:** `DELETE /erpProductionOrders/{id}` #### 4.6 一周内工单统计 - **接口路径:** `GET /erpProductionOrders/getProductionOrdersToWeek` - **接口描述:** 统计一周内的生产工单排产、已完成数量 - **响应数据:** ```json { "countScheduling": "150", "countFinishOrder": "120", "countWeek": 120 } ``` #### 4.7 工单数量统计 - **接口路径:** `GET /erpProductionOrders/getCountProductionOrders` - **接口描述:** 统计工单数量,分别统计排产、已完成的数量 - **响应数据:** ```json [ { "orderType": "排产", "orderCount": 150 }, { "orderType": "已完成", "orderCount": 120 } ] ``` --- ### 5. 生产入库管理 (PrdInstockMainController) **Base URL:** `/prdInstockMain` #### 5.1 分页查询 - **接口路径:** `GET /prdInstockMain/list` - **请求参数:** - `pageNum`: 页码 - `pageSize`: 每页条数 - `billNo`: 单据编号(可选) - `documentStatus`: 单据状态(可选) - `prdOrgName`: 生产组织(可选) - `billDate`: 单据日期范围(可选) - **响应数据:** ```json { "total": 250, "rows": [ { "id": 1, "billNo": "RK202510001", "documentStatus": "A", "prdOrgName": "生产一车间", "stockOrgName": "原材料仓库", "ownerName": "公司A", "billTypeName": "标准入库", "billDate": "2025-10-29", "creatorName": "王五", "createDate": "2025-10-29 10:00:00", "cancelStatus": "B" } ] } ``` #### 5.2 查询详情 - **接口路径:** `GET /prdInstockMain/{id}` #### 5.3 新增生产入库单 - **接口路径:** `POST /prdInstockMain` - **请求体:** ```json { "billNo": "RK202510001", "documentStatus": "Z", "billDate": "2025-10-29 10:00:00", "billTypeId": "TYPE001", "prdOrgId": 1, "stockOrgId": 1, "ownerId": 1, "isEntrust": 0 } ``` #### 5.4 修改生产入库单 - **接口路径:** `PUT /prdInstockMain` #### 5.5 删除生产入库单 - **接口路径:** `DELETE /prdInstockMain/{id}` #### 5.6 年度统计 - **接口路径:** `GET /prdInstockMain/statistics` - **接口描述:** 统计今年的销售出库总量和生产报工总量以及采购入库单总量 - **响应数据:** ```json { "salesOutboundWeight": 15000.50, "productionInboundWeight": 18000.75, "salStockInWeight": 12000.30 } ``` #### 5.7 月度产销对比 - **接口路径:** `GET /prdInstockMain/getCountBySalOutAndPrdIn` - **接口描述:** 统计今年各月份的销售出库总量和生产报工总量 - **响应数据:** ```json [ { "month": "1", "salesOutboundWeight": 1200.50, "productionInboundWeight": 1500.75 }, { "month": "2", "salesOutboundWeight": 1300.60, "productionInboundWeight": 1600.80 } ] ``` #### 5.8 一周报工重量 - **接口路径:** `GET /prdInstockMain/getWeightToWeek` - **接口描述:** 一周内的报工重量 - **响应数据:** ```json [ { "countDate": "2025-10-23", "dailyProductionWeight": 250.50 }, { "countDate": "2025-10-24", "dailyProductionWeight": 280.75 } ] ``` --- ## 数据看板功能 ### 看板页面路径 `xiyan-ui/src/views/board/kanban/index.vue` ### 看板展示内容 #### 1. 统计卡片(4个) - **今日质检单** - 显示当天质检单总数 - **本周完成工单** - 显示本周已完成的生产工单数量 - **年度生产总量** - 显示今年生产入库总重量(吨) - **年度销售总量** - 显示今年销售出库总重量(吨) #### 2. 图表展示(4个) - **工单统计** - 饼图,展示排产和已完成工单的占比 - **一周生产趋势** - 折线图,展示最近一周每天的生产重量 - **年度产销对比** - 柱状图,对比销售出库、生产入库、采购入库的总量 - **今年各月份产销趋势** - 折线图,展示每月的销售出库和生产入库趋势 ### 看板特性 - ✅ 响应式设计,自适应各种屏幕尺寸 - ✅ 使用ECharts图表库,支持交互和动画效果 - ✅ 实时数据刷新功能 - ✅ 卡片悬浮效果和渐变色设计 - ✅ 图表自适应窗口大小变化 --- ## 权限标识 ### 检验单管理 - `erp:inspectBill:list` - 查询列表 - `erp:inspectBill:query` - 查询详情 - `erp:inspectBill:add` - 新增 - `erp:inspectBill:edit` - 修改 - `erp:inspectBill:remove` - 删除 - `erp:inspectBill:export` - 导出 ### 销售订单管理 - `erp:saleOrder:list` - 查询列表 - `erp:saleOrder:query` - 查询详情 - `erp:saleOrder:add` - 新增 - `erp:saleOrder:edit` - 修改 - `erp:saleOrder:remove` - 删除 - `erp:saleOrder:export` - 导出 ### 采购订单管理 - `erp:purchaseOrder:list` - 查询列表 - `erp:purchaseOrder:query` - 查询详情 - `erp:purchaseOrder:add` - 新增 - `erp:purchaseOrder:edit` - 修改 - `erp:purchaseOrder:remove` - 删除 - `erp:purchaseOrder:export` - 导出 ### 生产订单管理 - `erp:productionOrder:list` - 查询列表 - `erp:productionOrder:query` - 查询详情 - `erp:productionOrder:add` - 新增 - `erp:productionOrder:edit` - 修改 - `erp:productionOrder:remove` - 删除 - `erp:productionOrder:export` - 导出 ### 生产入库管理 - `erp:productionInstock:list` - 查询列表 - `erp:productionInstock:query` - 查询详情 - `erp:productionInstock:add` - 新增 - `erp:productionInstock:edit` - 修改 - `erp:productionInstock:remove` - 删除 - `erp:productionInstock:export` - 导出 --- ## 技术栈 - **前端框架:** Vue 2.x - **UI组件库:** Element UI - **图表库:** ECharts - **HTTP客户端:** Axios - **状态管理:** Vuex - **路由管理:** Vue Router --- ## 页面功能特性 ### 共同特性 所有管理页面都包含以下功能: - ✅ 分页查询 - ✅ 高级搜索(支持多条件组合搜索) - ✅ 新增/编辑/删除/查看详情 - ✅ 批量删除 - ✅ 数据导出(Excel) - ✅ 表格列排序 - ✅ 响应式布局 - ✅ 表单验证 - ✅ 权限控制 ### 表单设计 - 使用Tab分页组织复杂表单 - 查看模式禁用所有输入控件 - 编辑模式下的实时验证 - 支持日期范围选择 - 支持下拉选择和开关控件 --- ## 注意事项 1. **日期格式:** 所有日期时间统一使用 `yyyy-MM-dd HH:mm:ss` 格式 2. **状态值:** - 文档状态: Z-暂存, C-审核中, A-已审核 - 取消状态: A-已取消, B-正常 - 关闭状态: A-已关闭, B-正常 3. **权限控制:** 所有操作按钮都需要相应的权限标识 4. **数据导出:** 导出功能需要后端支持对应的export接口 5. **错误处理:** 所有API调用都有统一的错误处理机制 --- ## 开发建议 1. **路由配置:** 需要在 `router/index.js` 中配置相应的路由 2. **菜单配置:** 需要在系统菜单管理中添加对应的菜单项 3. **权限配置:** 需要在角色管理中配置相应的权限 4. **后端接口:** 确保后端接口已正确实现并返回规范的数据格式 5. **跨域配置:** 开发环境需要配置代理解决跨域问题 --- ## 联系方式 如有问题,请联系开发团队。 **文档版本:** v1.0 **最后更新:** 2025-10-29