private void SetOperationButton() { OperationControlStatusHelper.SetAllButtonNotEnabled(ButtonPannel); btnRefresh.IsEnabled = true; if (CurrentSOVM.BaseInfoVM.Status == SOStatus.Split || CurrentSOVM.BaseInfoVM.Status == SOStatus.Abandon || CurrentSOVM.BaseInfoVM.Status == SOStatus.SystemCancel || CurrentSOVM.BaseInfoVM.Status == SOStatus.Reject) { btnPrintSO.IsEnabled = true; } if (CurrentSOVM.BaseInfoVM.Status == SOStatus.Origin) { btnForceAudit.IsEnabled = btnAudit.IsEnabled = AbandonButtonSet = btnHoldSO.IsEnabled = btnSplitInvoice.IsEnabled = btnPrintSO.IsEnabled = true; btnAuditNetPayAndSO.IsEnabled = CurrentSOVM.BaseInfoVM.IsNet ?? false; if (CurrentSOVM.BaseInfoVM.SplitType == SOSplitType.Customer || CurrentSOVM.BaseInfoVM.SplitType == SOSplitType.Force) { btnSplit.IsEnabled = true; btnAudit.IsEnabled = btnForceAudit.IsEnabled = btnAuditNetPayAndSO.IsEnabled = false; } } else if (CurrentSOVM.BaseInfoVM.Status == SOStatus.WaitingOutStock) { btnCancelAudit.IsEnabled = btnHoldSO.IsEnabled = AbandonButtonSet = btnPrintSO.IsEnabled = true; } else if (CurrentSOVM.BaseInfoVM.Status == SOStatus.WaitingManagerAudit) { btnForceManagerAudit.IsEnabled = btnCancelAudit.IsEnabled = btnManagerAudit.IsEnabled = btnHoldSO.IsEnabled = btnPrintSO.IsEnabled = true; } else if (CurrentSOVM.BaseInfoVM.Status == SOStatus.OutStock) { btnSplitInvoice.IsEnabled = btnPrintSO.IsEnabled = btnHoldSO.IsEnabled = true; } if (CurrentSOVM.InvoiceInfoVM.IsVAT == true) { btnHoldSO.IsEnabled = true; } if (CurrentSOVM.ShippingInfoVM.StockType == BizEntity.Invoice.StockType.MET) { btnSplit.IsEnabled = btnCancelAudit.IsEnabled = false; switch (CurrentSOVM.BaseInfoVM.Status) { case SOStatus.WaitingOutStock: btnSplitInvoice.IsEnabled = AbandonButtonSet = btnHoldSO.IsEnabled = false; break; case SOStatus.OutStock: btnSplitInvoice.IsEnabled = false; break; default: break; } } if (CurrentSOVM != null && CurrentSOVM.BaseInfoVM != null && CurrentSOVM.BaseInfoVM.Status == SOStatus.OutStock) { new OtherDomainQueryFacade(Page).GetSOIncomeBySOSysNo(SOSysNo, (soIncomeInfo) => { CurrentSOIncomeInfo = soIncomeInfo; if (CurrentSOVM.BaseInfoVM.SOType != SOType.PhysicalCard)//礼品卡订单不允许报关申报作废 { btnReportedFaulure.IsEnabled = true; } }); } else { btnReportedFaulure.IsEnabled = false; } if (btnAbandon.IsEnabled) { new OtherDomainQueryFacade(Page).GetSOIncomeBySOSysNo(SOSysNo, (soIncomeInfo) => { CurrentSOIncomeInfo = soIncomeInfo; SOFacade.ConfirmOperationSubSO(CurrentSOVM, SetAbandon, SetAOAbondon); }); } if (CurrentSOVM != null && CurrentSOVM.BaseInfoVM != null && CurrentSOVM.BaseInfoVM.Status == SOStatus.Reject) { btnHoldSO.IsEnabled = false; } btnSplit.Visibility = System.Windows.Visibility.Collapsed; btnSplitInvoice.Visibility = System.Windows.Visibility.Collapsed; }