You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

17 KiB

ERP系统前端接口文档

📋 目录


系统概述

本ERP系统前端项目包含以下核心功能模块

  • 数据看板 - 实时展示ERP系统各项统计数据和图表
  • 检验单管理 - 质检单据的增删改查
  • 销售订单管理 - 销售订单全生命周期管理
  • 采购订单管理 - 采购订单管理
  • 生产订单管理 - 生产工单管理
  • 生产入库管理 - 生产入库单据管理

API接口文件

📁 文件结构

xiyan-ui/src/api/erp/
├── dashboard.js          # 看板统计接口
├── inspectBill.js        # 检验单接口
├── saleOrder.js          # 销售订单接口
├── purchaseOrder.js      # 采购订单接口
├── productionOrder.js    # 生产订单接口
└── productionInstock.js  # 生产入库接口

1. 看板统计接口 (dashboard.js)

// 同步销售订单
syncSaleOrder()

// 获取今日质检单总数
getInspectBillToDay()

// 统计一周内的生产工单排产、已完成数量
getProductionOrdersToWeek()

// 统计工单数量,分别统计排产、已完成的数量
getCountProductionOrders()

// 统计今年的销售出库总量和生产报工总量以及采购入库单总量
getStatistics()

// 统计今年各月份的销售出库总量和生产报工总量
getCountBySalOutAndPrdIn()

// 一周内的报工重量
getWeightToWeek()

2. 检验单接口 (inspectBill.js)

// 查询检验单列表
listInspectBill(query)

// 查询检验单详细
getInspectBill(id)

// 新增检验单
addInspectBill(data)

// 修改检验单
updateInspectBill(data)

// 删除检验单
delInspectBill(id)

// 获取今日质检单总数
getInspectBillToDay()

3. 销售订单接口 (saleOrder.js)

// 查询销售订单列表
listSaleOrder(query)

// 查询销售订单详细
getSaleOrder(id)

// 新增销售订单
addSaleOrder(data)

// 修改销售订单
updateSaleOrder(data)

// 删除销售订单
delSaleOrder(id)

4. 采购订单接口 (purchaseOrder.js)

// 查询采购订单列表
listPurchaseOrder(query)

// 查询采购订单详细
getPurchaseOrder(id)

// 新增采购订单
addPurchaseOrder(data)

// 修改采购订单
updatePurchaseOrder(data)

// 删除采购订单
delPurchaseOrder(id)

5. 生产订单接口 (productionOrder.js)

// 查询生产订单列表
listProductionOrder(query)

// 查询生产订单详细
getProductionOrder(id)

// 新增生产订单
addProductionOrder(data)

// 修改生产订单
updateProductionOrder(data)

// 删除生产订单
delProductionOrder(id)

// 统计一周内的生产工单排产、已完成数量
getProductionOrdersToWeek()

// 统计工单数量,分别统计排产、已完成的数量
getCountProductionOrders()

6. 生产入库接口 (productionInstock.js)

// 查询生产入库单列表
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: 创建日期范围(可选)
  • 响应数据:

{
  "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
  • 接口描述: 新增检验单
  • 请求体:
{
  "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
  • 接口描述: 获取今日质检单总数
  • 响应数据:
{
  "total": 25,
  "countDate": "2025-10-29"
}

2. 销售订单管理 (ErpSaleOrderController)

Base URL: /erpSaleOrder

2.1 分页查询

  • 接口路径: GET /erpSaleOrder/list

  • 接口描述: 分页查询销售订单列表

  • 请求参数:

    • pageNum: 页码
    • pageSize: 每页条数
    • billNo: 单据号(可选)
    • documentStatus: 文档状态(可选)
    • businessType: 业务类型(可选)
    • custId: 客户ID可选
  • 响应数据:

{
  "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
  • 请求体:
{
  "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可选
  • 响应数据:

{
  "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
  • 请求体:
{
  "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: 业务类型(可选)
  • 响应数据:

{
  "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
  • 请求体:
{
  "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
  • 接口描述: 统计一周内的生产工单排产、已完成数量
  • 响应数据:
{
  "countScheduling": "150",
  "countFinishOrder": "120",
  "countWeek": 120
}

4.7 工单数量统计

  • 接口路径: GET /erpProductionOrders/getCountProductionOrders
  • 接口描述: 统计工单数量,分别统计排产、已完成的数量
  • 响应数据:
[
  {
    "orderType": "排产",
    "orderCount": 150
  },
  {
    "orderType": "已完成",
    "orderCount": 120
  }
]

5. 生产入库管理 (PrdInstockMainController)

Base URL: /prdInstockMain

5.1 分页查询

  • 接口路径: GET /prdInstockMain/list

  • 请求参数:

    • pageNum: 页码
    • pageSize: 每页条数
    • billNo: 单据编号(可选)
    • documentStatus: 单据状态(可选)
    • prdOrgName: 生产组织(可选)
    • billDate: 单据日期范围(可选)
  • 响应数据:

{
  "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
  • 请求体:
{
  "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
  • 接口描述: 统计今年的销售出库总量和生产报工总量以及采购入库单总量
  • 响应数据:
{
  "salesOutboundWeight": 15000.50,
  "productionInboundWeight": 18000.75,
  "salStockInWeight": 12000.30
}

5.7 月度产销对比

  • 接口路径: GET /prdInstockMain/getCountBySalOutAndPrdIn
  • 接口描述: 统计今年各月份的销售出库总量和生产报工总量
  • 响应数据:
[
  {
    "month": "1",
    "salesOutboundWeight": 1200.50,
    "productionInboundWeight": 1500.75
  },
  {
    "month": "2",
    "salesOutboundWeight": 1300.60,
    "productionInboundWeight": 1600.80
  }
]

5.8 一周报工重量

  • 接口路径: GET /prdInstockMain/getWeightToWeek
  • 接口描述: 一周内的报工重量
  • 响应数据:
[
  {
    "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