public static async Task <INavigationResult> NavigateAsync(this IPageLink pageLink, INavigationParameters?parameters = null, bool?useNavigationModal = null, bool animated = true) { var navigationService = (pageLink as PageLink) !.NavigationService; foreach (var page in pageLink.PageTypes) { if (page == null) { continue; } var validationResult = await PerformValidation(page, navigationService, parameters); if (validationResult != null) { return(validationResult); } } var fullPath = pageLink.FullPath; var navigationResult = await navigationService.NavigateAsync(fullPath, parameters, useNavigationModal, animated); return(navigationResult); }
public static IPageLink Pop(this IPageLink pageLink, int popCount = 1) { var page = ".."; for (var i = 0; i < popCount; ++i) { pageLink.AppendSegment(page); } return(pageLink); }
private void InitData(string projectId, string projectName, string projectSyscode, string projectType) { projectType = projectType.ToLower(); //机构类型 h 总公司;hd 总公司部门;b 分公司;bd 分公司部门;zgxmb 直管项目部;fgsxmb 分公司项目部 #region 项目预警 IList listWarningTarget = MGWBS.GWBSSrv.GetProjectWarningTargetInfo(projectId, projectSyscode, projectType); Color warningTargetBySafeColor = (Color)listWarningTarget[0]; Color warningTargetByQualityColor = (Color)listWarningTarget[1]; Color warningTargetByDurationColor = (Color)listWarningTarget[2]; Color warningTargetByCostColor = (Color)listWarningTarget[3]; decimal warningTargetBySafe = decimal.Round((decimal)listWarningTarget[4], 4); decimal warningTargetByQuality = decimal.Round((decimal)listWarningTarget[5], 4); decimal warningTargetByDuration = decimal.Round((decimal)listWarningTarget[6], 4); decimal warningTargetByCostRealProfit = decimal.Round((decimal)listWarningTarget[7], 4); //成本指标:实际/平均实际利润率 decimal warningTargetByCostResTurnedOver = decimal.Round((decimal)listWarningTarget[8], 4); //成本指标:实际/平均责任上缴比率 int projectCount = Convert.ToInt32(listWarningTarget[9]); //在建项目总个数 string projectConstractstage = listWarningTarget[10].ToString(); bool projectHasData = Convert.ToBoolean(listWarningTarget[11]); int readyProjectCount = Convert.ToInt32(listWarningTarget[12]); //准备项目总个数 int basicProjectCount = Convert.ToInt32(listWarningTarget[13]); //基础项目总个数 int structProjectCount = Convert.ToInt32(listWarningTarget[14]); //结构项目总个数 int fitupProjectCount = Convert.ToInt32(listWarningTarget[15]); //装修项目总个数 int endingProjectCount = Convert.ToInt32(listWarningTarget[16]); //收尾项目总个数 Chart2.Series[0].Points[0].Color = warningTargetBySafeColor; //安全 Chart2.Series[0].Points[1].Color = warningTargetByQualityColor; //质量 Chart2.Series[0].Points[2].Color = warningTargetByCostColor; //成本 Chart2.Series[0].Points[3].Color = warningTargetByDurationColor; //工期 //Chart2.Series[0].Points[0].ToolTip = ModelToolTip(1, warningTargetBySafeColor);//安全 //Chart2.Series[0].Points[1].ToolTip = ModelToolTip(2, warningTargetByQualityColor);//质量 //Chart2.Series[0].Points[2].ToolTip = ModelToolTip(3, warningTargetByCostColor);//成本 //Chart2.Series[0].Points[3].ToolTip = ModelToolTip(4, warningTargetByDurationColor);//工期 //lblSafeDesc.InnerHtml = ModelToolTip(1, warningTargetBySafeColor) + "," + GetWaringDesc(1, projectType, projectHasData, warningTargetBySafeColor, warningTargetBySafe, 0); //lblSafeDesc.Style.Add("color", warningTargetBySafeColor.Name); //lblQualityDesc.InnerHtml = ModelToolTip(2, warningTargetByQualityColor) + "," + GetWaringDesc(2, projectType, projectHasData, warningTargetByQualityColor, warningTargetByQuality, 0); //lblQualityDesc.Style.Add("color", warningTargetByQualityColor.Name); //lblCostDesc.InnerHtml = ModelToolTip(3, warningTargetByCostColor) + "," + GetWaringDesc(3, projectType, projectHasData, warningTargetByCostColor, warningTargetByCostRealProfit, warningTargetByCostResTurnedOver); //lblCostDesc.Style.Add("color", warningTargetByCostColor.Name); //lblDurationDesc.InnerHtml = ModelToolTip(4, warningTargetByDurationColor) + "," + GetWaringDesc(4, projectType, projectHasData, warningTargetByDurationColor, warningTargetByDuration, 0); //lblDurationDesc.Style.Add("color", warningTargetByDurationColor.Name); TextAnnotation t = (TextAnnotation)Chart2.Annotations["txtProjectCount"]; if (projectType == "h" || projectType == "b") { t.Text = "在建 " + projectCount + "个\n\n准备" + readyProjectCount + " 基础" + basicProjectCount + "\n\n结构" + structProjectCount + " 装修" + fitupProjectCount + "\n\n收尾" + endingProjectCount + ""; } else { int maxStrLen = 11; string projectConstractstageStr = "施工阶段:" + projectConstractstage; string projectConstractstageStr1 = ""; if (projectConstractstageStr.Length > maxStrLen) { projectConstractstageStr1 = projectConstractstageStr.Substring(maxStrLen); projectConstractstageStr = projectConstractstageStr.Substring(0, maxStrLen) + "\n\n"; } while (projectConstractstageStr1.Length > maxStrLen) { projectConstractstageStr += projectConstractstageStr1.Substring(0, maxStrLen) + "\n\n"; projectConstractstageStr1 = projectConstractstageStr1.Substring(maxStrLen); } projectConstractstageStr += projectConstractstageStr1; t.Text = projectConstractstageStr; } #endregion #region 统计指标 ComponentArt.Web.UI.TabStripTab tabPage1 = new ComponentArt.Web.UI.TabStripTab(); tabPage1.ID = "tabPage1"; tabPage1.Text = "月度成本情况分析图"; tabPage1.TextAlign = ComponentArt.Web.UI.TextAlign.Center; tabPage1.TextWrap = false; tabPage1.PageViewId = "View_1"; ComponentArt.Web.UI.TabStripTab tabPage2 = new ComponentArt.Web.UI.TabStripTab(); tabPage2.ID = "tabPage2"; tabPage2.Text = "累计成本情况分析图"; tabPage2.TextAlign = ComponentArt.Web.UI.TextAlign.Center; tabPage2.TextWrap = false; tabPage2.PageViewId = "View_2"; TabPageLink.Tabs.Add(tabPage1); TabPageLink.Tabs.Add(tabPage2); TabPageLink.SelectedTab = tabPage1; PageView view = new PageView(); view.BorderColor = Color.Transparent; view.ID = "View_1"; string controlPath = "~/UserControls/CostAnalysisFigure.ascx"; IPageLink viewControl = (IPageLink)LoadPageControl(controlPath); viewControl.ProjectSyscode = projectSyscode; view.Controls.Add((UserControl)viewControl); PageView view2 = new PageView(); view2.ID = "View_2"; controlPath = "~/UserControls/ProfitChart.ascx"; IPageLink viewControl2 = (IPageLink)LoadPageControl(controlPath); viewControl2.ProjectSyscode = projectSyscode; view2.Controls.Add((UserControl)viewControl2); MPLinkControl.PageViews.Add(view); MPLinkControl.PageViews.Add(view2); if (projectType == "zgxmb" || projectType == "fgsxmb") { ComponentArt.Web.UI.TabStripTab tabPage3 = new ComponentArt.Web.UI.TabStripTab(); tabPage3.Text = "项目基本信息"; tabPage3.TextAlign = ComponentArt.Web.UI.TextAlign.Center; tabPage3.TextWrap = false; tabPage3.PageViewId = "View_3"; TabPageLink.Tabs.Add(tabPage3); PageView view3 = new PageView(); view3.ID = "View_3"; controlPath = "~/UserControls/ProjectBaseInfo.ascx"; IPageLink viewControl3 = (IPageLink)LoadPageControl(controlPath); viewControl3.ProjectId = projectId; view3.Controls.Add((UserControl)viewControl3); MPLinkControl.PageViews.Add(view3); } MPLinkControl.SelectedIndex = 0; #endregion }
public static IPageLink Push <TViewModel>(this IPageLink pageLink, object?parameter = null) where TViewModel : BaseViewModel { var page = ToPageName <TViewModel>(); return(pageLink.AppendSegment(page, typeof(TViewModel), parameter)); }