先描述修改后的優(yōu)勢(shì):
- 一致性:助力商品與原商品配送方式完全一致
- 減少錯(cuò)誤:避免手動(dòng)選擇導(dǎo)致的配送方式配置錯(cuò)誤
- 簡(jiǎn)化操作:商家創(chuàng)建助力商品時(shí)無(wú)需關(guān)心配送方式配置
- 邏輯合理:助力商品本來就是原商品的營(yíng)銷變體,配送方式應(yīng)該保持一致性
以下部分為主要修改點(diǎn)(完整修改后文件在附件)
一、后端代碼修改app\common\repositories\store\product\ProductAssistRepository.php
主要修改點(diǎn):
1. create方法中的修改:
添加了獲取原商品信息的代碼
從原商品繼承配送方式,而不是從前端數(shù)據(jù)獲取:
'delivery_way' => $originProduct['delivery_way'],
'delivery_free' => $originProduct['delivery_free'],2. edit方法中的修改:
添加了驗(yàn)證助力活動(dòng)是否存在的代碼
從數(shù)據(jù)庫(kù)中的產(chǎn)品信息獲取配送方式,而不是從前端數(shù)據(jù)獲取:
'delivery_way' => $res->product->delivery_way,
'delivery_free' => $res->product->delivery_free,二、商戶端代碼修改src\views\marketing\assist\assist_list\create.vue
主要修改內(nèi)容:
1. 移除配送方式選擇字段
刪除了原來的 el-checkbox-group 配送方式選擇組件
刪除了相關(guān)的配送方式驗(yàn)證規(guī)則
2. 添加配送方式顯示
添加了只讀的配送方式顯示文本
使用計(jì)算屬性 deliveryWayText 將配送方式代碼轉(zhuǎn)換為可讀文本
添加提示文字"(繼承自原商品的配送方式)"
3. 新增計(jì)算屬性
deliveryWayText: 將配送方式數(shù)組轉(zhuǎn)換為可讀文本
hasExpressDelivery: 判斷是否包含快遞配送,用于控制包郵和運(yùn)費(fèi)模板的顯示
4. 新增方法
getOriginProductDeliveryWay(): 在選擇商品后獲取原商品的配送方式
5. 樣式調(diào)整
添加了配送方式顯示文本的樣式
添加了說明文字的樣式
6. 數(shù)據(jù)流調(diào)整
在選擇商品時(shí)自動(dòng)獲取原商品的配送方式
在編輯時(shí)保持配送方式不變,不從前端修改
7. 配送方式映射
定義了 deliveryWayMap 將配送方式代碼映射為中文名稱
這樣修改后,前端界面將不再允許用戶選擇配送方式,而是自動(dòng)顯示原商品的配送方式,確保了前后端數(shù)據(jù)的一致性,也簡(jiǎn)化了用戶操作。

