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