# 供应商(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 # 企业资料、设置 ``` --- ## 四、状态标签样式 ```scss // 待报价/待处理 .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. 交接完成,配送员开始配送 ```