|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using System.ComponentModel;
|
using System.Data;
|
using System.Drawing;
|
using System.Linq;
|
using System.Reflection;
|
using System.Text;
|
using System.Threading.Tasks;
|
using System.Windows.Forms;
|
|
namespace IStation.WinFrmUI.CalcErQu
|
{
|
public partial class CalcWizardMainContainter : DocumentPage
|
{
|
public CalcWizardMainContainter()
|
{
|
InitializeComponent();
|
|
this.PageTitle.Caption = "优化方案";
|
this.SurfaceGuid = new SurfaceGuid()
|
{
|
Modular = eModular.CalcErQu2,
|
Function = this.PageTitle.Caption
|
};
|
}
|
pageCalcResult pageCalcResult = null;
|
pageCalcParas pageCalcParas = null;
|
private void CalcWizardMainContainter_Load(object sender, EventArgs e)
|
{
|
pageCalcParas = new pageCalcParas();
|
pageCalcParas.Name = "pageCalcParas";
|
pageCalcParas.Dock = DockStyle.Fill;
|
pageCalcParas.OnNextPageEvent += () =>
|
{
|
GoToPage2();
|
};
|
this.Controls.Add(pageCalcParas);
|
|
pageCalcParas.InitialDataSource();
|
}
|
public override void InitialDataSource()
|
{
|
base.InitialDataSource();
|
|
|
}
|
|
|
|
private string _lastAnaRequestStr = string.Empty;
|
|
private void GoToPage2()
|
{
|
if (pageCalcResult == null)
|
{
|
pageCalcResult = new pageCalcResult();
|
pageCalcResult.Name = "pageCalcResult";
|
pageCalcResult.Dock = DockStyle.Fill;
|
pageCalcResult.SetAnaType(Wizard.eAnaPrjType.Opt);
|
pageCalcResult.OnBeforePageEvent += () =>
|
{
|
GoToPage1();
|
};
|
this.Controls.Add(pageCalcResult);
|
}
|
|
var anaRequest = pageCalcParas.GetAnaRequest();
|
if (anaRequest == null)
|
return;
|
|
var currentJson = JsonHelper.Object2Json(anaRequest);
|
if (!_lastAnaRequestStr.Equals(currentJson) || pageCalcParas.IsReCalc())
|
{
|
_lastAnaRequestStr = currentJson;
|
IStation.WinFrmUI.WaitFrmHelper.ShowWaitForm(this);
|
pageCalcResult.AnaOptResult(anaRequest, pageCalcParas.IsTemp(), pageCalcParas.IsUsePredictRecord(), (bol) =>
|
{
|
IStation.WinFrmUI.WaitFrmHelper.HideWaitForm(this);
|
if (bol)
|
{
|
pageCalcParas.Hide();
|
pageCalcResult.Show();
|
}
|
});
|
}
|
else
|
{
|
pageCalcParas.Hide();
|
pageCalcResult.Show();
|
}
|
}
|
|
|
|
|
|
private void GoToPage1()
|
{
|
if (pageCalcResult != null)
|
{
|
pageCalcResult.Hide();
|
}
|
pageCalcParas.Show();
|
}
|
}
|
}
|