小程序-供应商功能文档.md 8.2 KB

供应商(Supplier)小程序功能文档

一、概述

供应商是生鲜/商品的批发商,使用小程序进行报价管理、价格发布、配送交接等操作。

主题色:活力橙 #ff976a
渐变色:linear-gradient(135deg, #ff976a 0%, #ff4444 100%)


二、功能模块

1. 账户与认证

功能 接口路径 方法 说明
账号密码登录 POST /api/mini/auth/login POST 输入用户名密码登录
微信一键登录 POST /api/mini/auth/sms-login POST 通过微信授权获取手机号登录
登出 POST /api/mini/auth/logout POST 退出当前登录状态
修改密码 POST /api/mini/user/change-password POST 自主修改登录密码
获取当前用户信息 GET /api/mini/auth/current-user GET 获取登录用户基本信息
获取个人资料 GET /api/mini/supplier/profile GET 获取供应商详细信息(含取货地址)
更新个人资料 PUT /api/mini/supplier/profile PUT 修改企业名称、联系人、手机号、取货地址

2. 地址管理

功能 接口路径 方法 说明
获取取货地址列表 /api/mini/supplier/addresses GET 获取供应商的取货地址
获取取货地址 /api/mini/supplier/pickup-addresses GET 获取专用取货地址列表
获取本区域供应商 /api/mini/common/suppliers GET 获取本区域其他供应商信息(用于参考)

说明:供应商主要管理取货地址(配送员到此处取货)。


3. 询价管理

功能 接口路径 方法 说明
获取询价单列表 /api/mini/supplier/inquiries GET 查看运营发布的询价单列表
获取询价单详情 /api/mini/supplier/inquiries/{inquiryId} GET 查看询价单商品明细及剩余报价时间

询价单状态说明

状态值 显示文本 说明
draft 草稿 运营创建但未发布
published 已发布 可进行报价
closed 已关闭 报价截止或已结束

4. 报价管理

功能 接口路径 方法 说明
提交报价 POST /api/mini/supplier/quotations POST 对询价单商品进行报价
更新报价 PUT /api/mini/supplier/quotations/{quotationId} PUT 修改已提交的报价(未审核时可修改)
获取报价列表 GET /api/mini/supplier/quotations GET 分页查询我的全部报价记录
获取报价详情 GET /api/mini/supplier/quotations/{quotationId} GET 查看报价详细信息

报价状态说明

状态值 显示文本 说明
pending 待审核 报价已提交,等待运营审核
approved 已通过 报价审核通过
rejected 已驳回 报价审核未通过

5. 价格清单

功能 接口路径 方法 说明
获取价格版本列表 GET /api/mini/supplier/price-lists GET 查看价格版本列表
获取价格清单详情 GET /api/mini/supplier/price-lists/{priceListId} GET 查看某版本价格明细

价格状态说明

状态值 显示文本 说明
draft 草稿 价格草稿状态
active 生效中 当前正在使用的价格版本
inactive 已失效 历史价格版本

6. 配送任务(取货交接)

功能 接口路径 方法 说明
获取取货任务列表 GET /api/mini/supplier/pickup-tasks GET 查看待取货的配送任务
获取取货任务详情 GET /api/mini/supplier/pickup-tasks/{taskId} GET 查看任务详细信息(配送员信息、订单明细)
确认取货 POST /api/mini/supplier/pickup-tasks/{taskId}/confirm POST 确认配送员已取货(交接确认)
获取配送任务 GET /api/mini/supplier/tasks GET 获取供应商关联的配送任务列表

取货任务状态说明

状态值 显示文本 说明
pending 待取货 等待配送员到达取货
picking 取货中 配送员正在取货
delivering 配送中 已交接,配送员配送中
completed 已完成 配送完成
cancelled 已取消 任务取消

7. 数据统计

功能 接口路径 方法 说明
仪表盘统计 GET /api/mini/supplier/dashboard/statistics GET 获取报价统计、任务统计等数据

8. 发票管理

功能 接口路径 方法 说明
获取发票列表 /api/web/invoices GET 分页查询发票记录
获取发票详情 /api/web/invoices/{invoiceId} GET 查看发票详细信息

说明:供应商主要查看发票记录,发票申请由客户发起。


9. 消息通知

功能 接口路径 方法 说明
获取消息列表 /api/message/list GET 分页查询系统消息
获取未读消息数 /api/message/unread-count GET 获取未读消息数量
发送消息 /api/message/send POST 给其他用户发送消息
全部标记已读 /api/message/mark-all-read POST 将所有消息标记为已读

三、页面结构

pages/supplier/
├── home/                    # 首页
│   └── home.vue            # 首页(报价入口、任务提醒)
├── inquiry/                 # 询价报价
│   ├── inquiry.vue         # 询价单列表
│   └── detail/             # 询价单详情
│       └── detail.vue      # 询价单详情页(可报价)
├── quotation/               # 报价管理
│   └── quotation.vue       # 我的报价列表
├── price-list/              # 价格表
│   └── price-list.vue      # 价格版本列表/详情
├── delivery/                # 配送任务
│   ├── delivery.vue        # 取货任务列表
│   └── detail.vue          # 取货任务详情
├── address/                 # 地址管理
│   └── address.vue         # 取货地址管理
└── profile/                 # 个人中心
    └── profile.vue         # 企业资料、设置

四、状态标签样式

// 待报价/待处理
.status-tag.warning { background: #fff7e6; color: #ff976a; }

// 报价中/进行中
.status-tag.primary { background: #e6f7ff; color: #1989fa; }

// 已通过/已完成
.status-tag.success { background: #f6ffed; color: #07c160; }

// 已驳回/已取消
.status-tag.danger { background: #fff1f0; color: #ee0a24; }

// 已结束/禁用
.status-tag.info { background: #f5f5f5; color: #999; }

五、交互规范

按钮样式

类型 样式 圆角
主要按钮 实心背景 $supplier-primary 24rpx
次要按钮 边框样式 24rpx
文字按钮 无背景无边框 -

报价操作

  • 报价截止时间实时显示倒计时
  • 提交报价后显示待审核状态
  • 审核通过/驳回后推送消息通知

取货交接

  • 配送员到达后确认取货
  • 可上传交接凭证照片
  • 填写交接备注

六、技术说明

  • 框架:uni-app + Vue3 + TypeScript
  • UI 组件:Vant Weapp
  • 状态管理:Pinia
  • 接口前缀: /api/mini/
  • 金额单位:API 传分(整数),前端展示元(除以100,保留2位小数)
  • 时间格式:前端展示 YYYY-MM-DD HH:mm:ss

七、典型业务流程

报价流程

1. 运营发布询价单(Web端)
      ↓
2. 供应商在小程序查看询价单
      ↓
3. 供应商填写商品报价
      ↓
4. 提交报价(状态:pending)
      ↓
5. 运营审核报价(Web端)
      ↓
6. 审核通过 → 报价生效 → 等待客户选择

取货交接流程

1. 运营分配配送任务给配送员
      ↓
2. 配送员到供应商处取货
      ↓
3. 供应商在小程序确认取货
      ↓
4. 交接完成,配送员开始配送