Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        public static IPageLink Pop(this IPageLink pageLink, int popCount = 1)
        {
            var page = "..";

            for (var i = 0; i < popCount; ++i)
            {
                pageLink.AppendSegment(page);
            }
            return(pageLink);
        }
Esempio n. 3
0
    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
    }
Esempio n. 4
0
        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));
        }