Files
guilixu-admin/.workbuddy/memory/2026-07-17.md
赵忠林 e9249c910f feat(shopOrder): 增加发货门店与配送店员选择功能
- 在发货类型非“无需发货”时新增发货门店下拉选择,支持加载门店列表
- 选择门店后自动回填发货地址及快递配送发货人信息
- 商家送货时新增配送店员下拉筛选,支持根据门店联动加载配送人员
- 配送店员选择后自动回填发货人姓名和电话
- 表单校验新增发货门店必填及配送店员在商家送货时必填规则
- 更新提交数据结构,包含发货门店ID与配送店员ID字段
- 订单详情页增加发货门店及配送店员展示字段
- 调整配送方式单选按钮顺序,快递配送与商家送货前置,无需发货后置
2026-07-17 04:11:45 +08:00

25 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 2026-07-17 工作日志
## 订单发货功能改进shopOrder / deliveryModal
分析了订单发货弹窗(`src/views/shop/shopOrder/components/deliveryModal.vue`)三种配送方式,按用户确认的改进方案实施了前端改动:
### 改动文件
1. `deliveryModal.vue`(核心)
- 新增「发货门店」下拉(复用 `listShopStore`),选中后自动回填:快递配送→发货人=门店名/电话=门店电话/地址=门店地址;商家送货→地址=门店地址。
- 商家送货(`deliveryType===2`)新增「配送店员」二级联动下拉(复用 `listShopStoreUser({storeId})`),选中店员自动回填发货人=店员名/联系方式=店员电话。
- 校验:发货门店必填(`deliveryType!==1`);配送店员必填(仅 `deliveryType===2`)。
- 提交时附带 `sendStoreId` / `deliveryUserId`
2. `api/shop/shopOrder/model/index.ts`:新增 `sendStoreId``deliveryUserId` 字段(为后端落库铺路)。
3. `orderInfo.vue`:发货信息卡片增加「发货门店」「配送店员」展示(可选链,后端返回 `storeName`/`deliveryUserName` 后自动生效,否则显示「未填写」)。
### 关键结论 / 待后端配合
- 门店、店员 list API 已存在,前端改动零后端依赖即可落地交互。
- **后端缺口(需补充)**`shop_order` 表需新增 `send_store_id``delivery_user_id` 字段存储门店/店员关联;否则下拉选了也存不进去。
- 登录用户 `User` 模型无 `storeId`,无法默认锁定当前门店,门店下拉需用户手动选择。
- 原「发货地址模板」需求因无现成后端接口,改用「门店作为发货地址模板」方案满足(复用门店 name/phone/address
## 配送方式排序调整
- 修改 `deliveryModal.vue` 配送方式 radio 按钮顺序:快递配送→商家送货→无需发货(原:快递配送→无需发货→商家送货),仅调换模板中 radio 排列顺序value 值不变。