/// <summary> /// 视图状态转换 /// </summary> /// <param name="viewState">审核控件视图状态</param> public void GotoState(AuditFormViewState viewState) { switch (viewState) { case AuditFormViewState.AuditStart: { IsShowAuditButtonPnl = false; IsShowAuditTypePnl = true; //IsShowList = true; IsShowForm = false; IsShowEndAuditPnl = false; IsShowSelectAuditPersonPnl = false; IsFixedFlow = true; break; } case AuditFormViewState.FreeAuditStart: { IsShowAuditButtonPnl = false; IsShowAuditTypePnl = true; //IsShowList = true; IsShowForm = false; IsShowEndAuditPnl = false; IsShowSelectAuditPersonPnl = true; IsFixedFlow = false; break; } case AuditFormViewState.Auditing: { IsShowAuditButtonPnl = true; //IsShowList = true; IsShowForm = true; IsShowAuditTypePnl = false; IsShowEndAuditPnl = false; IsShowSelectAuditPersonPnl = false; break; } case AuditFormViewState.FreeAuditing: { IsShowAuditTypePnl = false; IsShowAuditButtonPnl = true; //IsShowList = true; IsShowForm = true; IsShowEndAuditPnl = true; IsShowSelectAuditPersonPnl = true; break; } case AuditFormViewState.End: { IsShowAuditButtonPnl = false; IsShowAuditTypePnl = false; IsShowForm = false; IsShowEndAuditPnl = false; IsShowSelectAuditPersonPnl = false; //IsShowList = true; break; } default: { TempPanel.Visibility = Visibility.Visible; break; } } }
/// <summary> /// 判断是否可能用自选流程或提单人可以撤回流程 /// </summary> private void GetIsFreeFlowAndIsCancel(AuditFormViewState viewState) { SMT.Saas.Tools.FlowWFService.ServiceClient client = new ServiceClient(); client.IsFreeFlowAndIsCancelAsync(AuditEntity.ModelCode, SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.UserPosts[0].CompanyID); client.IsFreeFlowAndIsCancelCompleted += (obj, e) => { // 判断是否可能用自选流程或提单人可以撤回流程 // string[0]=1 可以用自选流程 // string[1]=1 提交人可以撤回流程,当前登录人=提单人才可以撤回,而且该单还是在审核中的 if (e.Error == null) { if (e.Result[0] == "1") { IsCanCancel = true; //RdbAuditFree.Visibility = Visibility.Visible; //EndAuditPnl.Visibility = Visibility.Visible; //SelectAuditPersonPnl.Visibility = Visibility.Visible; } else { IsCanCancel = false; //RdbAuditFree.Visibility = Visibility.Collapsed; //EndAuditPnl.Visibility = Visibility.Collapsed; //SelectAuditPersonPnl.Visibility = Visibility.Collapsed; } if (e.Result[1] == "1") { IsUserFreeFlow = true; } #region 是否使用自选流程 if (IsUserFreeFlow) {//使用自选流程 GotoState(viewState); //RdbAuditFree.Visibility = Visibility.Visible; //EndAuditPnl.Visibility = Visibility.Visible; //SelectAuditPersonPnl.Visibility = Visibility.Visible; } else { //RdbAuditFree.Visibility = Visibility.Collapsed; //EndAuditPnl.Visibility = Visibility.Collapsed; //SelectAuditPersonPnl.Visibility = Visibility.Collapsed; if (AuditFormViewState.AuditStart == viewState) { IsShowAuditButtonPnl = false; IsShowAuditTypePnl = true; //IsShowList = true; IsShowForm = false; IsShowEndAuditPnl = false; IsShowSelectAuditPersonPnl = false; IsFixedFlow = true; RdbAuditFree.Visibility = Visibility.Collapsed; EndAuditPnl.Visibility = Visibility.Collapsed; SelectAuditPersonPnl.Visibility = Visibility.Collapsed; } } #endregion } }; }