SAP Spartacus 基于行项目的订单取消功能(order cancel)实现
進入Order History頁面:
http://localhost:4200/electronics-spa/en/USD/my-account/order/00001075
點擊 Cancel Items:
這個按鈕會路由到一個 cancel 頁面去:
選擇要cancel的行項目:
selector:cx-cancel-order
點擊Continue按鈕后的處理函數:continue($event)
continue函數里,進行另一個路由跳轉:
這說明Commerce Cloud 訂單取消是基于行項目的:
form 的提交請求按鈕,沒有具體實現,類型為submit,因此需要去最上層,找到form的實現:
cx-cancel-order-confirmation節點下面,有form節點:
cx-cancel-order-confirmation
下圖第26行的submit函數,即submit按鈕點擊后的處理函數。
cancer-order-confirmation.component.ts
this.userOrderService.cancelOrder
CancelOrderConfirmationComponent里的實現代碼:
save() {const orderCode = this.form.value.orderCode;const entries = this.form.value.entries;const inputs = Object.keys(entries).filter((entryNumber) => entries[entryNumber] > 0).map((entryNumber) => ({orderEntryNumber: Number(entryNumber),quantity: entries[entryNumber],}));this.form.reset();this.userOrderService.cancelOrder(orderCode, {cancellationRequestEntryInputs: inputs,});this.userOrderService.getCancelOrderSuccess().pipe(first(Boolean)).subscribe(() => this.afterSave(orderCode));}訂單取消成功后,狀態變為Cancelled:
An invoice has been sent by email.
cancellationAndReturn
更多Jerry的原創文章,盡在:“汪子熙”:
總結
以上是生活随笔為你收集整理的SAP Spartacus 基于行项目的订单取消功能(order cancel)实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 福彩3d计算公式特准 3d直选100%中
- 下一篇: 华为手机怎么设置语言为英文