From 7b8ae93d47186c442ff890a1a83d108f115924c7 Mon Sep 17 00:00:00 2001
From: ningshuxia <ningshuxia0927@outlook.com>
Date: 星期一, 24 三月 2025 17:25:14 +0800
Subject: [PATCH] 快速建模,模型编辑 差不多

---
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/XhsProjectSimulationMgrPage.cs |   84 ++++++++++++++++++++++++++++++------------
 1 files changed, 60 insertions(+), 24 deletions(-)

diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/XhsProjectSimulationMgrPage.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/XhsProjectSimulationMgrPage.cs
index 1ec4c8a..d63e686 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/XhsProjectSimulationMgrPage.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/XhsProjectSimulationMgrPage.cs
@@ -1,5 +1,4 @@
-锘縰sing DevExpress.Drawing;
-using DevExpress.Utils.Svg;
+锘縰sing DevExpress.Utils.Svg;
 using DevExpress.XtraBars.Docking;
 using DevExpress.XtraBars.Docking2010.Views;
 using Yw.Vmo;
@@ -21,6 +20,7 @@
             this.simulationFunctionMgrCtrl1.ProjectSiteWorkingUpdateEvent += SimulationFunctionMgrCtrl1_ProjectSiteWorkingUpdateEvent;
             this.simulationFunctionMgrCtrl1.ProjectSiteWorkingRemoveEvent += SimulationFunctionMgrCtrl1_ProjectSiteWorkingRemoveEvent;
             this.simulationFunctionMgrCtrl1.ProjectSiteWorkingCheckedEvent += SimulationFunctionMgrCtrl1_ProjectSiteWorkingCheckedEvent;
+            this.simulationFunctionMgrCtrl1.ProjectSiteWorkingReloadEvent += SimulationFunctionMgrCtrl1_ProjectSiteWorkingReloadEvent;
             this.simulationFunctionMgrCtrl1.CreateProjectSiteSchemeEvent += SimulationFunctionMgrCtrl1_CreateProjectSiteSchemeEvent;
             this.simulationFunctionMgrCtrl1.ProjectSiteSchemeAppendEvent += SimulationFunctionMgrCtrl1_ProjectSiteSchemeAppendEvent;
             this.simulationFunctionMgrCtrl1.ProjectSiteSchemeUpdateEvent += SimulationFunctionMgrCtrl1_ProjectSiteSchemeUpdateEvent;
@@ -119,21 +119,37 @@
                 {
                     var page = new XhsProjectSimulationCorePage();
                     page.PageTitle.HeaderSvgImage = svgImage;
-                    page.AppendWorkingEvent += (working) =>
+                    page.GetModelEvent += (s) =>
                     {
-                        //澧炲姞宸ュ喌浜嬩欢
-                        this.simulationFunctionMgrCtrl1.AppendWorking(scheme, working);
-                    };
-                    page.SaveModelEvent += (rhs) =>
-                    {
-                        //淇濆瓨妯″瀷浜嬩欢
-                        return this.simulationFunctionMgrCtrl1.SaveModel(scheme, rhs);
+                        //鑾峰彇妯″瀷浜嬩欢
+                        return this.simulationFunctionMgrCtrl1.GetModel(scheme);
                     };
                     page.RefreshModelEvent += () =>
                     {
                         //鍒锋柊妯″瀷浜嬩欢
                         return this.simulationFunctionMgrCtrl1.RefreshModel(scheme);
                     };
+                    page.AppendWorkingEvent += (working) =>
+                    {
+                        //澧炲姞宸ュ喌浜嬩欢
+                        this.simulationFunctionMgrCtrl1.AppendWorking(scheme, working);
+                    };
+                    page.UpdateWorkingEvent += (working) =>
+                    {
+                        //鏇存柊宸ュ喌浜嬩欢
+                        this.simulationFunctionMgrCtrl1.UpdateWorking(scheme, working);
+                    };
+                    page.RemoveWorkingEvent += (working) =>
+                    {
+                        //绉婚櫎宸ュ喌浜嬩欢
+                        this.simulationFunctionMgrCtrl1.RemoveWorking(scheme, working);
+                    };
+                    page.ReloadWorkingEvent += (dict) =>
+                    {
+                        //閲嶈浇宸ュ喌浜嬩欢
+                        this.simulationFunctionMgrCtrl1.ReloadWorking(scheme, dict);
+                    };
+
                     page.UpdateSchemeEvent += (rhs) =>
                     {
                         //鏇存柊鏂规浜嬩欢
@@ -207,7 +223,7 @@
                 Modular = this.PageGuid.Modular,
                 MoudingType = eMoudingType.Tab,
                 Function = SimulationFunctionHelper.Simulation,
-                TagName = projectSite.ID.ToString()
+                TagName = $"{project.ID}-{projectSite.ID}-{scheme?.ID}"
             };
             var page = FindPage(guid);
             if (page == null)
@@ -237,7 +253,7 @@
                 Modular = this.PageGuid.Modular,
                 MoudingType = eMoudingType.Tab,
                 Function = SimulationFunctionHelper.Simulation,
-                TagName = projectSite.ID.ToString()
+                TagName = $"{project.ID}-{projectSite.ID}-{scheme?.ID}"
             };
             var page = FindPage(guid);
             if (page == null)
@@ -252,29 +268,49 @@
             ctrl.UpdateWorkingCheckedList(working, hasChecked);
         }
 
+        //椤圭洰绔欏伐鍐甸�夋嫨閲嶈浇浜嬩欢
+        private void SimulationFunctionMgrCtrl1_ProjectSiteWorkingReloadEvent
+            (
+                XhsProjectVmo project,
+                XhsProjectSiteVmo projectSite,
+                XhsSchemeVmo scheme,
+                Dictionary<HydroWorkingVmo, bool> dict
+            )
+        {
+            var guid = new PageGuid()
+            {
+                Modular = this.PageGuid.Modular,
+                MoudingType = eMoudingType.Tab,
+                Function = SimulationFunctionHelper.Simulation,
+                TagName = $"{project.ID}-{projectSite.ID}-{scheme?.ID}"
+            };
+            var page = FindPage(guid);
+            if (page == null)
+            {
+                return;
+            }
+            var ctrl = page as XhsProjectSimulationCorePage;
+            if (ctrl == null)
+            {
+                return;
+            }
+            ctrl.ReloadWorkingCheckedList(dict);
+        }
+
         //椤圭洰绔欐柟妗堝垱寤轰簨浠�
         private void SimulationFunctionMgrCtrl1_CreateProjectSiteSchemeEvent
             (
                 XhsProjectVmo project,
                 XhsProjectSiteVmo projectSite,
                 Yw.Model.HydroModelInfo hydroInfo,
+                List<XhsSchemeVmo> allSchemeList,
                 SvgImage svgImage
             )
         {
-            //WaitFormHelper.ShowWaitForm(this.FindForm(), "姝e湪鍔犺浇妯″瀷锛岃绋嶄警...");
-            //var dlg = new AddXhsSchemeDlg();
-            //dlg.Shown += delegate { WaitFormHelper.HideWaitForm(this.FindForm()); };
-            //dlg.ReloadDataEvent += (rhs) =>
-            //{
-            //    this.simulationFunctionMgrCtrl1.AppendScheme(rhs);
-            //};
-            //dlg.SetBindingData(project, projectSite, hydroInfo);
-            //dlg.ShowDialog();
-
-            WaitFormHelper.ShowWaitForm(this.FindForm(), "姝e湪鍔犺浇妯″瀷锛岃绋嶄警...");
+            WaitFormHelper.ShowWaitForm(this.FindForm(), "姝e湪鍔犺浇锛岃绋嶄警...");
             var dlg = new CreateXhsSchemeDlg();
             dlg.Shown += delegate { WaitFormHelper.HideWaitForm(this.FindForm()); };
-            dlg.SetBindingData(project, projectSite, hydroInfo);
+            dlg.SetBindingData(project, projectSite, hydroInfo, allSchemeList);
             dlg.ReloadDataEvent += (rhs) =>
             {
                 this.simulationFunctionMgrCtrl1.AppendScheme(rhs);

--
Gitblit v1.9.3