先描述修改后的优势:
- 一致性:助力商品与原商品配送方式完全一致
- 减少错误:避免手动选择导致的配送方式配置错误
- 简化操作:商家创建助力商品时无需关心配送方式配置
- 逻辑合理:助力商品本来就是原商品的营销变体,配送方式应该保持一致性
以下部分为主要修改点(完整修改后文件在附件)
一、后端代码修改app\common\repositories\store\product\ProductAssistRepository.php
主要修改点:
1. create方法中的修改:
添加了获取原商品信息的代码
从原商品继承配送方式,而不是从前端数据获取:
'delivery_way' => $originProduct['delivery_way'],
'delivery_free' => $originProduct['delivery_free'],2. edit方法中的修改:
添加了验证助力活动是否存在的代码
从数据库中的产品信息获取配送方式,而不是从前端数据获取:
'delivery_way' => $res->product->delivery_way,
'delivery_free' => $res->product->delivery_free,二、商户端代码修改src\views\marketing\assist\assist_list\create.vue
主要修改内容:
1. 移除配送方式选择字段
删除了原来的 el-checkbox-group 配送方式选择组件
删除了相关的配送方式验证规则
2. 添加配送方式显示
添加了只读的配送方式显示文本
使用计算属性 deliveryWayText 将配送方式代码转换为可读文本
添加提示文字"(继承自原商品的配送方式)"
3. 新增计算属性
deliveryWayText: 将配送方式数组转换为可读文本
hasExpressDelivery: 判断是否包含快递配送,用于控制包邮和运费模板的显示
4. 新增方法
getOriginProductDeliveryWay(): 在选择商品后获取原商品的配送方式
5. 样式调整
添加了配送方式显示文本的样式
添加了说明文字的样式
6. 数据流调整
在选择商品时自动获取原商品的配送方式
在编辑时保持配送方式不变,不从前端修改
7. 配送方式映射
定义了 deliveryWayMap 将配送方式代码映射为中文名称
这样修改后,前端界面将不再允许用户选择配送方式,而是自动显示原商品的配送方式,确保了前后端数据的一致性,也简化了用户操作。

