From 8b2f98400842e022aefd5f2f935ca62239a75228 Mon Sep 17 00:00:00 2001
From: lixiaojun <1287241240@qq.com>
Date: 星期四, 25 七月 2024 12:06:34 +0800
Subject: [PATCH] 项目导入调试基本完成

---
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectDlg.cs                               |   14 +
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/05-ImportCompleted/ImportXhsProjectCompletedCtrl.Designer.cs |   24 +
 WinFrmUI/Yw.WinFrmUI.Core/08-wizard/WizardManager.cs                                                                  |   10 
 Desktop/HStation.Desktop.Xhs.Core/Login/LoginFrm.cs                                                                   |    8 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/HomeXhsProjectPage.cs                                                     |   43 ++++
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/01-project/HomeXhsProjectTreeListCtrl.Designer.cs                         |   21 +
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/02-map/MapViewProjectListContainer.cs                                     |   16 +
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectViewModel.cs                         |    5 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/04-GeneralProject/GenerateXhsProjectWizardPage.cs            |    5 
 Desktop/HStation.Desktop.Xhs.Core/Program.cs                                                                          |    4 
 Hydro/HStation.Hydro.Core/ParseHelper.cs                                                                              |    2 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/01-project/HomeXhsProjectTreeListCtrl.cs                                  |   19 +
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/03-property/HomeXhsProjectPropertyCtrl.cs                                 |   16 +
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/01-ModelFile/SelectXhsProjectModelFileWizardPage.Designer.cs |   11 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/05-ImportCompleted/ImportXhsProjectCompletedCtrl.resx        |   77 +++++++
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/05-ImportCompleted/ImportXhsProjectCompletedCtrl.cs          |    7 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/01-project/HomeXhsProjectTreeListCtrl.resx                                |   23 ++
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/02-map/MapViewProjectListContainer.Designer.cs                            |    7 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectManager.cs                           |   10 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/04-GeneralProject/ImportXhsProjectHelper.cs                  |  199 ++++++++++++-------
 Desktop/HStation.Desktop.Xhs.Core/Login/LoginFrm.Designer.cs                                                          |   14 
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/HomeXhsProjectPage.Designer.cs                                            |   23 +
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/03-property/HomeXhsProjectPropertyViewModel.cs                            |    9 
 23 files changed, 433 insertions(+), 134 deletions(-)

diff --git a/Desktop/HStation.Desktop.Xhs.Core/Login/LoginFrm.Designer.cs b/Desktop/HStation.Desktop.Xhs.Core/Login/LoginFrm.Designer.cs
index 347c07d..25c8efd 100644
--- a/Desktop/HStation.Desktop.Xhs.Core/Login/LoginFrm.Designer.cs
+++ b/Desktop/HStation.Desktop.Xhs.Core/Login/LoginFrm.Designer.cs
@@ -124,7 +124,7 @@
             layoutControl2.Controls.Add(txtLoginName);
             layoutControl2.Controls.Add(labTitle);
             layoutControl2.HiddenItems.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem9 });
-            layoutControl2.Location = new Point(662, 172);
+            layoutControl2.Location = new Point(693, 172);
             layoutControl2.Margin = new Padding(3, 2, 3, 2);
             layoutControl2.Name = "layoutControl2";
             layoutControl2.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new Rectangle(943, 480, 650, 400);
@@ -219,7 +219,7 @@
             // labTitle
             // 
             labTitle.Appearance.FontSizeDelta = 10;
-            labTitle.Appearance.ForeColor = Color.FromArgb(7, 63, 198);
+            labTitle.Appearance.ForeColor = Color.White;
             labTitle.Appearance.Options.UseFont = true;
             labTitle.Appearance.Options.UseForeColor = true;
             labTitle.Location = new Point(14, 13);
@@ -246,7 +246,7 @@
             // 
             // layoutControlGroup1
             // 
-            layoutControlGroup1.AppearanceGroup.BackColor = Color.FromArgb(0, 192, 192);
+            layoutControlGroup1.AppearanceGroup.BackColor = Color.FromArgb(80, 170, 220);
             layoutControlGroup1.AppearanceGroup.Options.UseBackColor = true;
             layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
             layoutControlGroup1.GroupBordersVisible = false;
@@ -374,7 +374,7 @@
             columnDefinition4.SizeType = SizeType.Absolute;
             columnDefinition4.Width = 306D;
             columnDefinition5.SizeType = SizeType.Absolute;
-            columnDefinition5.Width = 131D;
+            columnDefinition5.Width = 100D;
             Root.OptionsTableLayoutGroup.ColumnDefinitions.AddRange(new DevExpress.XtraLayout.ColumnDefinition[] { columnDefinition3, columnDefinition4, columnDefinition5 });
             rowDefinition6.Height = 59D;
             rowDefinition6.SizeType = SizeType.Absolute;
@@ -412,7 +412,7 @@
             // layoutControlItem2
             // 
             layoutControlItem2.Control = layoutControl2;
-            layoutControlItem2.Location = new Point(660, 170);
+            layoutControlItem2.Location = new Point(691, 170);
             layoutControlItem2.Name = "layoutControlItem2";
             layoutControlItem2.OptionsTableLayoutItem.ColumnIndex = 1;
             layoutControlItem2.OptionsTableLayoutItem.RowIndex = 2;
@@ -437,11 +437,11 @@
             // 
             // LoginFrm
             // 
-            Appearance.BackColor = Color.FromArgb(192, 192, 0);
+            Appearance.BackColor = Color.FromArgb(76, 132, 191);
             Appearance.Options.UseBackColor = true;
             AutoScaleDimensions = new SizeF(7F, 14F);
             AutoScaleMode = AutoScaleMode.Font;
-            BackgroundImageLayoutStore = ImageLayout.None;
+            BackgroundImageLayoutStore = ImageLayout.Stretch;
             BackgroundImageStore = Xhs.Core.Properties.Resources.loginbg;
             ClientSize = new Size(1097, 565);
             Controls.Add(layoutControl1);
diff --git a/Desktop/HStation.Desktop.Xhs.Core/Login/LoginFrm.cs b/Desktop/HStation.Desktop.Xhs.Core/Login/LoginFrm.cs
index d36f8d6..74737a8 100644
--- a/Desktop/HStation.Desktop.Xhs.Core/Login/LoginFrm.cs
+++ b/Desktop/HStation.Desktop.Xhs.Core/Login/LoginFrm.cs
@@ -56,10 +56,10 @@
         protected override void OnPaint(PaintEventArgs e)
         {
             base.OnPaint(e);
-            using (var pen = new Pen(Color.FromArgb(0, 122, 204), 1f))
-            {
-                e.Graphics.DrawRectangle(pen, 0.5f, 0.5f, this.Width - 1, this.Height - 1);
-            }
+            //using (var pen = new Pen(Color.FromArgb(0, 122, 204), 1f))
+            //{
+            //    e.Graphics.DrawRectangle(pen, 0.5f, 0.5f, this.Width - 1, this.Height - 1);
+            //}
         }
 
         //楠岃瘉
diff --git a/Desktop/HStation.Desktop.Xhs.Core/Program.cs b/Desktop/HStation.Desktop.Xhs.Core/Program.cs
index f1cd1aa..acc2b2d 100644
--- a/Desktop/HStation.Desktop.Xhs.Core/Program.cs
+++ b/Desktop/HStation.Desktop.Xhs.Core/Program.cs
@@ -50,7 +50,7 @@
 
                 //皮肤
                 //DevExpress.LookAndFeel.UserLookAndFeel.Default.SetSkinStyle(SkinStyle.WXICompact);
-                DevExpress.LookAndFeel.UserLookAndFeel.Default.SetSkinStyle(SkinStyle.Bezier);
+                DevExpress.LookAndFeel.UserLookAndFeel.Default.SetSkinStyle(SkinStyle.WXICompact);
 
                 // To customize application configuration such as set high DPI settings or default font,
                 // see https://aka.ms/applicationconfiguration.
@@ -61,7 +61,7 @@
                     return;
                 }
 
-                //Yw.FileFolderZipHelper.Zip(@"C:\Users\admin\Desktop\居家办公工作\RevitTest", @"C:\Users\admin\Desktop\居家办公工作\RevitTest.ywrvt");
+                Yw.FileFolderZipHelper.Zip(@"C:\Users\admin\Desktop\居家办公工作\压缩文件", @"C:\Users\admin\Desktop\居家办公工作\压缩文件.ywrvt");
 
 
                 //扫描全局DTO映射
diff --git a/Hydro/HStation.Hydro.Core/ParseHelper.cs b/Hydro/HStation.Hydro.Core/ParseHelper.cs
index 13b9931..d51f43d 100644
--- a/Hydro/HStation.Hydro.Core/ParseHelper.cs
+++ b/Hydro/HStation.Hydro.Core/ParseHelper.cs
@@ -10,6 +10,8 @@
         /// </summary>
         public static Yw.Model.HydroModelInfo FromRevit(HStation.Model.RevitModel revitModel)
         {
+
+
             var hydro = new Yw.Model.HydroModelInfo();
             hydro.Name = revitModel.Name;
             hydro.Code = null;
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/01-project/HomeXhsProjectTreeListCtrl.Designer.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/01-project/HomeXhsProjectTreeListCtrl.Designer.cs
index 92cf493..0bbaac4 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/01-project/HomeXhsProjectTreeListCtrl.Designer.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/01-project/HomeXhsProjectTreeListCtrl.Designer.cs
@@ -30,6 +30,8 @@
         {
             components = new Container();
             ComponentResourceManager resources = new ComponentResourceManager(typeof(HomeXhsProjectTreeListCtrl));
+            DevExpress.Utils.SuperToolTip superToolTip1 = new DevExpress.Utils.SuperToolTip();
+            DevExpress.Utils.ToolTipItem toolTipItem1 = new DevExpress.Utils.ToolTipItem();
             layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
             btnImportProject = new DevExpress.XtraEditors.SimpleButton();
             treeList1 = new DevExpress.XtraTreeList.TreeList();
@@ -49,6 +51,7 @@
             layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
             layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
             layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
+            barBtnRefresh = new DevExpress.XtraBars.BarButtonItem();
             ((ISupportInitialize)layoutControl1).BeginInit();
             layoutControl1.SuspendLayout();
             ((ISupportInitialize)treeList1).BeginInit();
@@ -123,8 +126,8 @@
             barManager1.DockControls.Add(barDockControlLeft);
             barManager1.DockControls.Add(barDockControlRight);
             barManager1.Form = this;
-            barManager1.Items.AddRange(new DevExpress.XtraBars.BarItem[] { barBtnExpandAll, barBtnCollpseAll, barBtnSearchBox, barCkTreeLine });
-            barManager1.MaxItemId = 5;
+            barManager1.Items.AddRange(new DevExpress.XtraBars.BarItem[] { barBtnExpandAll, barBtnCollpseAll, barBtnSearchBox, barCkTreeLine, barBtnRefresh });
+            barManager1.MaxItemId = 6;
             // 
             // bar1
             // 
@@ -133,7 +136,7 @@
             bar1.DockCol = 0;
             bar1.DockRow = 0;
             bar1.DockStyle = DevExpress.XtraBars.BarDockStyle.Top;
-            bar1.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] { new DevExpress.XtraBars.LinkPersistInfo(barBtnExpandAll), new DevExpress.XtraBars.LinkPersistInfo(barBtnCollpseAll), new DevExpress.XtraBars.LinkPersistInfo(barBtnSearchBox), new DevExpress.XtraBars.LinkPersistInfo(barCkTreeLine) });
+            bar1.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] { new DevExpress.XtraBars.LinkPersistInfo(barBtnExpandAll), new DevExpress.XtraBars.LinkPersistInfo(barBtnCollpseAll), new DevExpress.XtraBars.LinkPersistInfo(barBtnSearchBox), new DevExpress.XtraBars.LinkPersistInfo(barCkTreeLine), new DevExpress.XtraBars.LinkPersistInfo(barBtnRefresh) });
             bar1.OptionsBar.AllowQuickCustomization = false;
             bar1.OptionsBar.DrawDragBorder = false;
             bar1.OptionsBar.MultiLine = true;
@@ -259,6 +262,17 @@
             layoutControlItem3.TextSize = new Size(0, 0);
             layoutControlItem3.TextVisible = false;
             // 
+            // barBtnRefresh
+            // 
+            barBtnRefresh.Caption = "鍒锋柊";
+            barBtnRefresh.Id = 5;
+            barBtnRefresh.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnRefresh.ImageOptions.SvgImage");
+            barBtnRefresh.Name = "barBtnRefresh";
+            toolTipItem1.Text = "鍒锋柊";
+            superToolTip1.Items.Add(toolTipItem1);
+            barBtnRefresh.SuperTip = superToolTip1;
+            barBtnRefresh.ItemClick += barBtnRefresh_ItemClick;
+            // 
             // HomeXhsProjectTreeListCtrl
             // 
             AutoScaleDimensions = new SizeF(7F, 14F);
@@ -304,5 +318,6 @@
         private DevExpress.XtraTreeList.Columns.TreeListColumn colName;
         private DevExpress.XtraEditors.SimpleButton btnImportProject;
         private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
+        private DevExpress.XtraBars.BarButtonItem barBtnRefresh;
     }
 }
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/01-project/HomeXhsProjectTreeListCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/01-project/HomeXhsProjectTreeListCtrl.cs
index 10f8c8d..ad71cb0 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/01-project/HomeXhsProjectTreeListCtrl.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/01-project/HomeXhsProjectTreeListCtrl.cs
@@ -15,6 +15,16 @@
         /// 閫夋嫨椤圭洰浜嬩欢
         /// </summary>
         public event Action<XhsProjectStdDto> SelectProjectEvent;
+
+        /// <summary>
+        /// 鍒锋柊鏁版嵁浜嬩欢
+        /// </summary>
+        public event Action RefreshDataEvent;
+
+        /// <summary>
+        /// 椤圭洰瀵煎叆瀹屾垚浜嬩欢
+        /// </summary>
+        public event Action<ImportXhsProjectViewModel> ImportProjectCompletedEvent;
         private List<HomeXhsProjectTreeViewModel> _allBindingList = null;//褰撳墠缁戝畾鍒楄〃
 
         /// <summary>
@@ -114,8 +124,15 @@
             dlg.SetBindingData();
             if (dlg.ShowDialog() == DialogResult.OK)
             {
-
+                this.ImportProjectCompletedEvent?.Invoke(dlg.ViewModel);
             }
         }
+
+        //鍒锋柊
+        private void barBtnRefresh_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        {
+            this.RefreshDataEvent?.Invoke();
+        }
+
     }
 }
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/01-project/HomeXhsProjectTreeListCtrl.resx b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/01-project/HomeXhsProjectTreeListCtrl.resx
index 0c10138..17e74c3 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/01-project/HomeXhsProjectTreeListCtrl.resx
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/01-project/HomeXhsProjectTreeListCtrl.resx
@@ -228,4 +228,27 @@
         Zz4L
 </value>
   </data>
+  <data name="barBtnRefresh.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
+        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAIkDAAAC77u/
+        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
+        LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5HcmVlbntmaWxsOiMwMzlD
+        MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
+        Y2l0eTowLjU7fQoJLnN0MXtkaXNwbGF5Om5vbmU7fQoJLnN0MntkaXNwbGF5OmlubGluZTtmaWxsOiMw
+        MzlDMjM7fQoJLnN0M3tkaXNwbGF5OmlubGluZTtmaWxsOiNEMTFDMUM7fQoJLnN0NHtkaXNwbGF5Omlu
+        bGluZTtmaWxsOiM3MjcyNzI7fQo8L3N0eWxlPg0KICA8ZyBpZD0iQ2hhbmdlVmlldyI+DQogICAgPHBh
+        dGggZD0iTTI0LjUsNy41QzIyLjMsNS4zLDE5LjMsNCwxNiw0QzEwLjEsNCw1LjEsOC4zLDQuMiwxNGg0
+        LjFjMC45LTMuNCw0LTYsNy43LTZjMi4yLDAsNC4yLDAuOSw1LjYsMi40TDE4LDE0ICAgaDUuN2g0LjFI
+        MjhWNEwyNC41LDcuNXogTTE2LDI0Yy0yLjIsMC00LjItMC45LTUuNi0yLjRMMTQsMThIOC4yaC00SDR2
+        MTBsMy41LTMuNUM5LjcsMjYuNywxMi43LDI4LDE2LDI4YzUuOSwwLDEwLjgtNC4zLDExLjgtMTAgICBo
+        LTQuMUMyMi44LDIxLjQsMTkuNywyNCwxNiwyNHoiIGNsYXNzPSJCbHVlIiAvPg0KICA8L2c+DQo8L3N2
+        Zz4L
+</value>
+  </data>
 </root>
\ No newline at end of file
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/02-map/MapViewProjectListContainer.Designer.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/02-map/MapViewProjectListContainer.Designer.cs
index bc6947c..64f56ca 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/02-map/MapViewProjectListContainer.Designer.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/02-map/MapViewProjectListContainer.Designer.cs
@@ -28,15 +28,15 @@
         /// </summary>
         private void InitializeComponent()
         {
-            webViewControl1 = new Yw.WinFrmUI.WebViewControl();
+            webViewControl1 = new WebViewControl();
             SuspendLayout();
             // 
             // webViewControl1
             // 
             webViewControl1.Dock = DockStyle.Fill;
-            webViewControl1.Location = new Point(0, 0);
+            webViewControl1.Location = new Point(1, 1);
             webViewControl1.Name = "webViewControl1";
-            webViewControl1.Size = new Size(150, 150);
+            webViewControl1.Size = new Size(148, 148);
             webViewControl1.TabIndex = 0;
             // 
             // MapViewProjectListContainer
@@ -45,6 +45,7 @@
             AutoScaleMode = AutoScaleMode.Font;
             Controls.Add(webViewControl1);
             Name = "MapViewProjectListContainer";
+            Padding = new Padding(1);
             ResumeLayout(false);
         }
 
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/02-map/MapViewProjectListContainer.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/02-map/MapViewProjectListContainer.cs
index c91fac5..58cf232 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/02-map/MapViewProjectListContainer.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/02-map/MapViewProjectListContainer.cs
@@ -40,6 +40,12 @@
         private bool _isInitialized;
 
         /// <summary>
+        /// 鏄剧ず杈规
+        /// </summary>
+        [Browsable(true)]
+        public bool ShowBoder { get; set; }
+
+        /// <summary>
         /// 鍒濆璇濆鍣�
         /// </summary>
         public async Task InitialContainer()
@@ -112,6 +118,14 @@
             return await this.webViewControl1.EvaluateScriptAsync<bool>("cancelSelectProject()");
         }
 
-
+        //缁樺埗杈规
+        protected override void OnPaint(PaintEventArgs e)
+        {
+            base.OnPaint(e);
+            if (this.ShowBoder)
+            {
+                this.DrawBorder(e, Color.LightGray);
+            }
+        }
     }
 }
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/03-property/HomeXhsProjectPropertyCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/03-property/HomeXhsProjectPropertyCtrl.cs
index 1e8b682..4c4df2d 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/03-property/HomeXhsProjectPropertyCtrl.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/03-property/HomeXhsProjectPropertyCtrl.cs
@@ -14,8 +14,13 @@
             InitializeComponent();
             this.layoutControl1.SetupLayoutControl();
             SetDescriptionVisible(false);//榛樿璁剧疆灞炴�ф弿杩伴潰鏉夸笉鏄剧ず
+            this.barBtnDirect.Visibility = BarItemVisibility.Never;
         }
 
+        /// <summary>
+        /// 璺宠浆浜嬩欢
+        /// </summary>
+        public event Action<XhsProjectStdDto> JumpDirectEvent;
 
         /// <summary>
         /// 缁戝畾瀵硅薄
@@ -38,11 +43,11 @@
         {
             if (this.SelectedObject == null)
             {
-
+                this.barBtnDirect.Visibility = BarItemVisibility.Never;
             }
             else
             {
-
+                this.barBtnDirect.Visibility = BarItemVisibility.Always;
             }
         }
 
@@ -239,7 +244,12 @@
         //璺宠浆
         private void barBtnDirect_ItemClick(object sender, ItemClickEventArgs e)
         {
-            XtraMessageBox.Show("姝e湪寮�鍙戜腑...");
+            if (this.SelectedObject == null)
+            {
+                return;
+            }
+            JumpDirectEvent?.Invoke(this.SelectedObject.Project);
+
         }
     }
 }
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/03-property/HomeXhsProjectPropertyViewModel.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/03-property/HomeXhsProjectPropertyViewModel.cs
index 29a4480..b1f8286 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/03-property/HomeXhsProjectPropertyViewModel.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/03-property/HomeXhsProjectPropertyViewModel.cs
@@ -26,6 +26,8 @@
             this.Flags = Yw.Untity.FlagsHelper.ToString(rhs.Flags);
             this.TagName = rhs.TagName;
             this.Description = rhs.Description;
+
+            this.Project = rhs;
         }
 
         /// <summary>
@@ -120,8 +122,11 @@
         [MultiText]
         public string Description { get; set; }
 
-
-
+        /// <summary>
+        /// 
+        /// </summary>
+        [Browsable(false)]
+        public XhsProjectStdDto Project { get; set; }
 
 
 
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/HomeXhsProjectPage.Designer.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/HomeXhsProjectPage.Designer.cs
index eb19de8..415fe83 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/HomeXhsProjectPage.Designer.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/HomeXhsProjectPage.Designer.cs
@@ -83,6 +83,8 @@
             mapViewProjectListContainer1.Location = new Point(2, 152);
             mapViewProjectListContainer1.Margin = new Padding(3, 2, 3, 2);
             mapViewProjectListContainer1.Name = "mapViewProjectListContainer1";
+            mapViewProjectListContainer1.Padding = new Padding(1);
+            mapViewProjectListContainer1.ShowBoder = true;
             mapViewProjectListContainer1.Size = new Size(1059, 523);
             mapViewProjectListContainer1.TabIndex = 5;
             // 
@@ -91,7 +93,7 @@
             docPnlProperty.Controls.Add(dockPanel2_Container);
             docPnlProperty.Dock = DevExpress.XtraBars.Docking.DockingStyle.Right;
             docPnlProperty.ID = new Guid("0d30d696-5f24-4dbd-8e4c-6fb7a9881d07");
-            docPnlProperty.Location = new Point(859, 0);
+            docPnlProperty.Location = new Point(858, 1);
             docPnlProperty.Margin = new Padding(3, 2, 3, 2);
             docPnlProperty.Name = "docPnlProperty";
             docPnlProperty.Options.AllowDockBottom = false;
@@ -102,7 +104,7 @@
             docPnlProperty.Options.FloatOnDblClick = false;
             docPnlProperty.Options.ShowCloseButton = false;
             docPnlProperty.OriginalSize = new Size(200, 200);
-            docPnlProperty.Size = new Size(200, 523);
+            docPnlProperty.Size = new Size(200, 521);
             docPnlProperty.Text = "灞炴�у垪琛�";
             // 
             // dockPanel2_Container
@@ -111,7 +113,7 @@
             dockPanel2_Container.Location = new Point(4, 26);
             dockPanel2_Container.Margin = new Padding(3, 2, 3, 2);
             dockPanel2_Container.Name = "dockPanel2_Container";
-            dockPanel2_Container.Size = new Size(193, 494);
+            dockPanel2_Container.Size = new Size(193, 492);
             dockPanel2_Container.TabIndex = 0;
             // 
             // homeXhsProjectPropertyCtrl1
@@ -120,15 +122,16 @@
             homeXhsProjectPropertyCtrl1.Location = new Point(0, 0);
             homeXhsProjectPropertyCtrl1.Name = "homeXhsProjectPropertyCtrl1";
             homeXhsProjectPropertyCtrl1.SelectedObject = null;
-            homeXhsProjectPropertyCtrl1.Size = new Size(193, 494);
+            homeXhsProjectPropertyCtrl1.Size = new Size(193, 492);
             homeXhsProjectPropertyCtrl1.TabIndex = 0;
+            homeXhsProjectPropertyCtrl1.JumpDirectEvent += homeXhsProjectPropertyCtrl1_JumpDirectEvent;
             // 
             // docPnlProject
             // 
             docPnlProject.Controls.Add(dockPanel1_Container);
             docPnlProject.Dock = DevExpress.XtraBars.Docking.DockingStyle.Left;
             docPnlProject.ID = new Guid("43abbf3a-fbf6-435d-bed9-7131b4a87877");
-            docPnlProject.Location = new Point(0, 0);
+            docPnlProject.Location = new Point(1, 1);
             docPnlProject.Margin = new Padding(3, 2, 3, 2);
             docPnlProject.Name = "docPnlProject";
             docPnlProject.Options.AllowDockBottom = false;
@@ -139,7 +142,7 @@
             docPnlProject.Options.FloatOnDblClick = false;
             docPnlProject.Options.ShowCloseButton = false;
             docPnlProject.OriginalSize = new Size(200, 200);
-            docPnlProject.Size = new Size(200, 523);
+            docPnlProject.Size = new Size(200, 521);
             docPnlProject.Text = "椤圭洰鍒楄〃";
             // 
             // dockPanel1_Container
@@ -148,7 +151,7 @@
             dockPanel1_Container.Location = new Point(3, 26);
             dockPanel1_Container.Margin = new Padding(3, 2, 3, 2);
             dockPanel1_Container.Name = "dockPanel1_Container";
-            dockPanel1_Container.Size = new Size(193, 494);
+            dockPanel1_Container.Size = new Size(193, 492);
             dockPanel1_Container.TabIndex = 0;
             // 
             // homeXhsProjectTreeListCtrl1
@@ -156,9 +159,11 @@
             homeXhsProjectTreeListCtrl1.Dock = DockStyle.Fill;
             homeXhsProjectTreeListCtrl1.Location = new Point(0, 0);
             homeXhsProjectTreeListCtrl1.Name = "homeXhsProjectTreeListCtrl1";
-            homeXhsProjectTreeListCtrl1.Size = new Size(193, 494);
+            homeXhsProjectTreeListCtrl1.Size = new Size(193, 492);
             homeXhsProjectTreeListCtrl1.TabIndex = 0;
             homeXhsProjectTreeListCtrl1.SelectProjectEvent += homeXhsProjectTreeListCtrl1_SelectProjectEvent;
+            homeXhsProjectTreeListCtrl1.RefreshDataEvent += homeXhsProjectTreeListCtrl1_RefreshDataEvent;
+            homeXhsProjectTreeListCtrl1.ImportProjectCompletedEvent += homeXhsProjectTreeListCtrl1_ImportProjectCompletedEvent;
             // 
             // tileControl1
             // 
@@ -179,7 +184,7 @@
             // tileItemForProject
             // 
             tileItemForProject.AllowHtmlText = DevExpress.Utils.DefaultBoolean.True;
-            tileItemForProject.AppearanceItem.Normal.BackColor = Color.FromArgb(185, 209, 234);
+            tileItemForProject.AppearanceItem.Normal.BackColor = Color.FromArgb(185, 180, 234);
             tileItemForProject.AppearanceItem.Normal.FontSizeDelta = 6;
             tileItemForProject.AppearanceItem.Normal.Options.UseBackColor = true;
             tileItemForProject.AppearanceItem.Normal.Options.UseFont = true;
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/HomeXhsProjectPage.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/HomeXhsProjectPage.cs
index 63e1256..9ef0baf 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/HomeXhsProjectPage.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/01-home/HomeXhsProjectPage.cs
@@ -24,6 +24,18 @@
             await this.mapViewProjectListContainer1.InitialContainer();
         }
 
+        /// <summary>
+        /// 鍒锋柊鏁版嵁
+        /// </summary>
+        public override async void RefreshData()
+        {
+            base.RefreshData();
+            _allProjectList = await _bllProjectStd.Value.GetAll();
+            this.tileItemForProject.Text = (_allProjectList == null ? 0 : _allProjectList.Count).ToString();
+            await this.mapViewProjectListContainer1.SetProjectList(_allProjectList);
+            this.homeXhsProjectTreeListCtrl1.SetBindingData(_allProjectList);
+        }
+
         //鍦板浘鍔犺浇瀹屾垚
         private async void MapViewProjectListContainer1_LoadCompletedEvent()
         {
@@ -39,6 +51,37 @@
             this.homeXhsProjectPropertyCtrl1.SelectedObject = vm;
         }
 
+        //瀵煎叆瀹屾垚浜嬩欢
+        private void homeXhsProjectTreeListCtrl1_ImportProjectCompletedEvent(ImportXhsProjectViewModel obj)
+        {
+            RefreshData();
+        }
 
+        //璺宠浆浜嬩欢
+        private async void homeXhsProjectPropertyCtrl1_JumpDirectEvent(XhsProjectStdDto obj)
+        {
+            var guid = new PageGuid()
+            {
+                Modular = "Bimface",
+                MoudingType = Yw.WinFrmUI.Page.eMoudingType.Tab,
+                Function = "BimfaceView",
+                TagName = obj.ID.ToString()
+            };
+
+            if (!IsExistPage(guid, true))
+            {
+                var page = new ViewXhsProjectBimfacePage();
+                await page.SetBindingData(obj.ID);
+                CreatePage(page, guid);
+            }
+
+
+        }
+
+        //鍒锋柊鏁版嵁浜嬩欢
+        private void homeXhsProjectTreeListCtrl1_RefreshDataEvent()
+        {
+            RefreshData();
+        }
     }
 }
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectDlg.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectDlg.cs
index 591fbd3..750e9b1 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectDlg.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectDlg.cs
@@ -9,14 +9,24 @@
             InitializeComponent();
         }
 
+
+        private readonly ImportXhsProjectViewModel _vm = new();
         private ImportXhsProjectManager _wizard;
+
+        /// <summary>
+        /// 
+        /// </summary>
+        public ImportXhsProjectViewModel ViewModel
+        {
+            get { return _vm; }
+        }
 
         /// <summary>
         /// 
         /// </summary>
         public void SetBindingData()
         {
-            _wizard = new ImportXhsProjectManager();
+            _wizard = new ImportXhsProjectManager(_vm);
             _wizard.SelectedPageChangedEvent += _wizard_SelectedPageChangedEvent;
             _wizard.SelectedPageStateChangedEvent += _wizard_SelectedPageStateChangedEvent; ;
             _wizard.InitialManager(new IWizardPage<ImportXhsProjectViewModel>[] {
@@ -27,7 +37,6 @@
                 this.importXhsProjectCompletedWizardPage
             });
         }
-
 
         //閫夋嫨椤甸潰鏀瑰彉
         private void _wizard_SelectedPageChangedEvent(IWizardPage<ImportXhsProjectViewModel> page, int index)
@@ -95,6 +104,7 @@
             }
         }
 
+        //姝e湪鍏抽棴
         private void ImportXhsProjectDlg_FormClosing(object sender, FormClosingEventArgs e)
         {
             if (_wizard != null)
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectManager.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectManager.cs
index e3728ef..c60c3d6 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectManager.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectManager.cs
@@ -5,9 +5,11 @@
     /// </summary>
     public class ImportXhsProjectManager : WizardManager<ImportXhsProjectViewModel>
     {
-
-
-
-
+        /// <summary>
+        /// 
+        /// </summary>
+        public ImportXhsProjectManager(ImportXhsProjectViewModel t) : base(t)
+        {
+        }
     }
 }
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectViewModel.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectViewModel.cs
index db9c215..6d36024 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectViewModel.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectViewModel.cs
@@ -110,6 +110,11 @@
         /// </summary>
         public bool BimfaceConverted { get; set; }
 
+        /// <summary>
+        /// 鏄惁鍙戝竷
+        /// </summary>
+        public bool IsPublished { get; set; }
+
         #endregion
 
         #region 绗簲姝ラ」鐩鍏ュ畬鎴�
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/01-ModelFile/SelectXhsProjectModelFileWizardPage.Designer.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/01-ModelFile/SelectXhsProjectModelFileWizardPage.Designer.cs
index 0654bc2..64afc1e 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/01-ModelFile/SelectXhsProjectModelFileWizardPage.Designer.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/01-ModelFile/SelectXhsProjectModelFileWizardPage.Designer.cs
@@ -60,7 +60,7 @@
             // 
             // btnEditSelectModelFile
             // 
-            btnEditSelectModelFile.Location = new Point(30, 241);
+            btnEditSelectModelFile.Location = new Point(30, 232);
             btnEditSelectModelFile.Name = "btnEditSelectModelFile";
             btnEditSelectModelFile.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton() });
             btnEditSelectModelFile.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
@@ -97,22 +97,23 @@
             layoutControlItem1.Location = new Point(0, 202);
             layoutControlItem1.Name = "layoutControlItem1";
             layoutControlItem1.OptionsTableLayoutItem.RowIndex = 1;
-            layoutControlItem1.Padding = new DevExpress.XtraLayout.Utils.Padding(20, 20, 2, 2);
+            layoutControlItem1.Padding = new DevExpress.XtraLayout.Utils.Padding(20, 20, 20, 2);
             layoutControlItem1.Size = new Size(921, 65);
             layoutControlItem1.Text = "閫夋嫨妯″瀷鏂囦欢";
             layoutControlItem1.TextLocation = DevExpress.Utils.Locations.Top;
-            layoutControlItem1.TextSize = new Size(120, 24);
+            layoutControlItem1.TextSize = new Size(0, 0);
+            layoutControlItem1.TextVisible = false;
             // 
             // dxErrorProvider1
             // 
             dxErrorProvider1.ContainerControl = this;
             // 
-            // SelectXhsProjectModelFileCtrl
+            // SelectXhsProjectModelFileWizardPage
             // 
             AutoScaleDimensions = new SizeF(7F, 14F);
             AutoScaleMode = AutoScaleMode.Font;
             Controls.Add(layoutControl1);
-            Name = "SelectXhsProjectModelFileCtrl";
+            Name = "SelectXhsProjectModelFileWizardPage";
             Size = new Size(941, 591);
             ((ISupportInitialize)layoutControl1).EndInit();
             layoutControl1.ResumeLayout(false);
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/04-GeneralProject/GenerateXhsProjectWizardPage.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/04-GeneralProject/GenerateXhsProjectWizardPage.cs
index 0cac22f..cadf451 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/04-GeneralProject/GenerateXhsProjectWizardPage.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/04-GeneralProject/GenerateXhsProjectWizardPage.cs
@@ -36,6 +36,11 @@
                  // this.progressBarControl1.Properties.Step = current;
                  // this.progressBarControl1.PerformStep();
              });
+            if (!_importResult)
+            {
+                this.progressBarControl1.Position = 0;
+                this.itemForProgress.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
+            }
             _isInitialize = true;
             this.PageStateChangedEvent?.Invoke();
         }
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/04-GeneralProject/ImportXhsProjectHelper.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/04-GeneralProject/ImportXhsProjectHelper.cs
index 7c6e082..3322c13 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/04-GeneralProject/ImportXhsProjectHelper.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/04-GeneralProject/ImportXhsProjectHelper.cs
@@ -1,4 +1,6 @@
-锘縰sing DevExpress.XtraScheduler.VCalendar;
+锘縰sing DevExpress.XtraEditors;
+using static DevExpress.XtraEditors.XtraInputBox;
+using static System.Windows.Forms.VisualStyles.VisualStyleElement.Window;
 
 namespace HStation.WinFrmUI
 {
@@ -20,7 +22,9 @@
         public static async Task<bool> Import(ImportXhsProjectViewModel vm, Action<string> feedBackMsg, Action<int, int> feedBackProgress)
         {
 
-            #region 涓存椂鏂囦欢澶勭悊
+            #region 绗竴姝� 涓存椂鏂囦欢澶勭悊锛堣繘搴�5%锛�
+
+            feedBackMsg?.Invoke("寮�濮嬪鍏ラ」鐩�...");
 
             //涓存椂鏂囦欢澶硅矾寰�
             var tempFolder = Path.Combine(Yw.Service.ConfigHelper.DataPath, HStation.Settings.XhsParasHelper.Xhs.DataFolder, _tempFolder);
@@ -32,24 +36,26 @@
             //鍒涘缓涓存椂鏂囦欢澶�
             Directory.CreateDirectory(tempFolder);
 
+            feedBackProgress?.Invoke(100, 5);
+
             #endregion
 
-            #region 鍘嬬缉鏂囦欢瑙f瀽
+            #region 绗簩姝� 鍘嬬缉鏂囦欢瑙f瀽 锛堣繘搴�10%锛�
 
             feedBackMsg?.Invoke("姝e湪瑙f瀽妯″瀷鏂囦欢...");
             var bol = Yw.FileFolderZipHelper.UnZip(vm.ZipFile, tempFolder, null);
             if (!bol)
             {
                 feedBackMsg?.Invoke("妯″瀷鏂囦欢瑙f瀽澶辫触锛侊紒锛�");
-                return bol;
+                return false;
             }
 
             var tempFolderInfo = new DirectoryInfo(tempFolder);
             var allFileInfoList = tempFolderInfo.GetFiles();
             if (allFileInfoList == null || allFileInfoList.Count() < 1)
             {
-                feedBackMsg?.Invoke("妯″瀷鏂囦欢瑙f瀽澶辫触锛侊紒锛�");
-                return bol;
+                feedBackMsg?.Invoke("妯″瀷鏂囦欢鏍煎紡閿欒锛侊紒锛�");
+                return false;
             }
 
             feedBackMsg?.Invoke("妯″瀷鏂囦欢瑙f瀽鎴愬姛銆傘�傘��");
@@ -58,18 +64,24 @@
 
             #endregion
 
-            #region 姘村姏缁撴瀯鏂囦欢
+            #region 绗笁姝� 瑙f瀽姘村姏缁撴瀯鏂囦欢 锛堣繘搴�15%锛�
 
             feedBackMsg?.Invoke("姝e湪瑙f瀽姘村姏缁撴瀯鏂囦欢...");
             var jsonFileInfo = allFileInfoList.Where(x => x.Extension == ".json").FirstOrDefault();
             if (jsonFileInfo == null)
             {
-                feedBackMsg?.Invoke("姘村姏缁撴瀯鏂囦欢瑙f瀽澶辫触锛侊紒锛�");
+                feedBackMsg?.Invoke("姘村姏缁撴瀯鏂囦欢鏍煎紡閿欒锛侊紒锛�");
                 return false;
             }
 
             var jsonText = File.ReadAllText(jsonFileInfo.FullName);
             var revitModel = JsonHelper.Json2Object<HStation.Model.RevitModel>(jsonText);
+            if (revitModel == null)
+            {
+                feedBackMsg?.Invoke("姘村姏缁撴瀯鏂囦欢鏍煎紡閿欒锛侊紒锛�");
+                return false;
+            }
+
             var hydroInfo = HStation.Hydro.ParseHelper.FromRevit(revitModel);
             if (hydroInfo == null)
             {
@@ -77,27 +89,27 @@
                 return false;
             }
 
-            var bllHydro = new Lazy<Yw.BLL.HydroModelInfo>(() => new Yw.BLL.HydroModelInfo());
-            var hydroId = await bllHydro.Value.Save(hydroInfo);
+            var bllHydroInfo = new Yw.BLL.HydroModelInfo();
+            var hydroId = await bllHydroInfo.Save(hydroInfo);
             if (hydroId < 1)
             {
-                feedBackMsg?.Invoke("姘村姏缁撴瀯淇濆瓨澶辫触锛侊紒锛�");
+                feedBackMsg?.Invoke("姘村姏缁撴瀯淇℃伅淇濆瓨澶辫触锛侊紒锛�");
                 return false;
             }
 
             feedBackMsg?.Invoke("姘村姏缁撴瀯鏂囦欢瑙f瀽鎴愬姛銆傘�傘��");
 
-            feedBackProgress?.Invoke(100, 20);
+            feedBackProgress?.Invoke(100, 15);
 
             vm.HydroID = hydroId;
 
             #endregion
 
-            #region 鍒涘缓淇濆瓨椤圭洰
+            #region 绗洓姝� 鍒涘缓椤圭洰锛堣繘搴� 20%锛�
 
             feedBackMsg?.Invoke("姝e湪鍒涘缓椤圭洰...");
 
-            var bllXhsProject = new Lazy<BLL.XhsProjectExtensions>(() => new BLL.XhsProjectExtensions());
+            var bllXhsProjectExtensions = new Lazy<BLL.XhsProjectExtensions>(() => new BLL.XhsProjectExtensions());
 
             var project = new AddXhsProjectExtensionsInput();
             project.NO = vm.NO;
@@ -115,7 +127,7 @@
                 }
             };
 
-            var projectId = await bllXhsProject.Value.Insert(project);
+            var projectId = await bllXhsProjectExtensions.Value.Insert(project);
             if (projectId < 1)
             {
                 feedBackMsg?.Invoke("椤圭洰鍒涘缓澶辫触锛侊紒锛�");
@@ -126,19 +138,24 @@
 
             vm.ProjectID = projectId;
 
-            feedBackProgress?.Invoke(100, 25);
+            feedBackProgress?.Invoke(100, 20);
 
             #endregion
 
-            #region 鍏宠仈姘村姏妯″瀷
+            #region 绗簲姝� 鍏宠仈姘村姏缁撴瀯妯″瀷锛堣繘搴� 25%锛�
 
-            var bllXhsProjectSite = new Lazy<BLL.XhsProjectSite>(() => new BLL.XhsProjectSite());
-            var allProjectSiteList = await bllXhsProjectSite.Value.GetByProjectID(projectId);
-            var projectSiteId = allProjectSiteList.First().ID;
+            var bllXhsProjectSite = new BLL.XhsProjectSiteStd();
+            var projectSite = await bllXhsProjectSite.GetDefaultByProjectID(projectId);
+            if (projectSite == null)
+            {
+                feedBackMsg?.Invoke("椤圭洰绔欎俊鎭敊璇�...");
+                return false;
+            }
 
-            vm.ProjectSiteID = projectSiteId;
+            var projectSiteId = projectSite.ID;
+            vm.ProjectSiteID = projectSite.ID;
 
-            feedBackMsg?.Invoke("姝e湪鍏宠仈姘村姏妯″瀷...");
+            feedBackMsg?.Invoke("姝e湪鍏宠仈姘村姏缁撴瀯妯″瀷...");
 
             var hydroRelation = new Yw.Dto.AddHydroModelRelationInput();
             hydroRelation.ObjectType = HStation.Xhs.DataType.XhsProjectSite;
@@ -148,23 +165,23 @@
             hydroRelation.Content = null;
             hydroRelation.Description = null;
 
-            var bllHydroRelation = new Lazy<Yw.BLL.HydroModelRelation>(() => new Yw.BLL.HydroModelRelation());
-            var hydroRelationId = await bllHydroRelation.Value.Insert(hydroRelation);
+            var bllHydroRelation = new Yw.BLL.HydroModelRelation();
+            var hydroRelationId = await bllHydroRelation.Insert(hydroRelation);
             if (hydroRelationId < 1)
             {
-                feedBackMsg?.Invoke("鍏宠仈姘村姏妯″瀷澶辫触锛侊紒锛�");
+                feedBackMsg?.Invoke("鍏宠仈姘村姏缁撴瀯妯″瀷澶辫触锛侊紒锛�");
                 return false;
             }
 
-            feedBackMsg?.Invoke("鍏宠仈姘村姏鎴愬姛銆傘�傘��");
-
             vm.HydroRelationID = hydroRelationId;
 
-            feedBackProgress?.Invoke(100, 30);
+            feedBackMsg?.Invoke("鍏宠仈姘村姏缁撴瀯妯″瀷鎴愬姛銆傘�傘��");
+
+            feedBackProgress?.Invoke(100, 25);
 
             #endregion
 
-            #region 璁剧疆鍦板浘浣嶇疆
+            #region 绗叚姝� 璁剧疆鍦板浘浣嶇疆锛堣繘搴� 30%锛�
 
             feedBackMsg?.Invoke("姝e湪璁剧疆鍦板浘浣嶇疆...");
 
@@ -186,53 +203,51 @@
                 }
                 else
                 {
+                    vm.MapInfoID = mapInfoId;
                     feedBackMsg?.Invoke("璁剧疆鍦板浘浣嶇疆鎴愬姛銆傘�傘��");
                 }
             }
             else
             {
-                feedBackMsg?.Invoke("璁剧疆鍦板浘浣嶇疆澶辫触锛侊紒锛�");
+                feedBackMsg?.Invoke("鏈缃湴鍥句綅缃俊鎭紒锛侊紒");
             }
 
-            feedBackMsg?.Invoke("璁剧疆鍦板浘浣嶇疆瀹屾垚銆傘�傘��");
 
-            feedBackProgress?.Invoke(100, 40);
+            feedBackProgress?.Invoke(100, 30);
 
             #endregion
 
-            #region 涓婁紶Revit妯″瀷
+            #region 绗竷姝� 涓婁紶Revit妯″瀷鏂囦欢锛堣繘搴� 45%锛�
 
             feedBackMsg?.Invoke("姝e湪瑙f瀽Revit妯″瀷鏂囦欢...");
             var rvtFileInfo = allFileInfoList.Where(x => x.Extension == ".rvt").FirstOrDefault();
             if (rvtFileInfo == null)
             {
                 feedBackMsg?.Invoke("Revit妯″瀷鏂囦欢瑙f瀽澶辫触锛侊紒锛�");
-            }
-
-            //var bimfaceId = await Yw.WinFrmUI.BimfaceHelper.UploadFile(rvtFileInfo.FullName);
-            var bimfaceId = 10000869537010;
-            if (bimfaceId < 1)
-            {
-                feedBackMsg?.Invoke("Revit妯″瀷鏂囦欢涓婁紶澶辫触锛侊紒锛�");
+                feedBackMsg?.Invoke("椤圭洰瀵煎叆缁撴潫銆傘�傘��");
                 return true;
             }
 
-            feedBackMsg?.Invoke("瑙f瀽Revit妯″瀷鏂囦欢鎴愬姛銆傘�傘��");
-
-
-
-            feedBackProgress?.Invoke(100, 60);
+            var bimfaceId = await Yw.WinFrmUI.BimfaceHelper.UploadFile(rvtFileInfo.FullName);//涓婁紶
+            //var bimfaceId = 10000869537010; //娴嬭瘯鐢ㄤ緥
+            if (bimfaceId < 1)
+            {
+                feedBackMsg?.Invoke("Revit妯″瀷鏂囦欢涓婁紶澶辫触锛侊紒锛�");
+                feedBackMsg?.Invoke("椤圭洰瀵煎叆缁撴潫銆傘�傘��");
+                return true;
+            }
 
             vm.BimfaceId = bimfaceId;
 
+            feedBackMsg?.Invoke("瑙f瀽Revit妯″瀷鏂囦欢鎴愬姛銆傘�傘��");
+
+            feedBackProgress?.Invoke(100, 45);
 
             #endregion
 
-            #region 淇濆瓨Bimface鏂囦欢
+            #region 绗叓姝� 淇濆瓨Bimface鏂囦欢 锛堣繘搴� 50%锛�
 
             feedBackMsg?.Invoke("姝e湪淇濆瓨Bimface鏂囦欢...");
-
-            var bllBimfaceFile = new Yw.BLL.BimfaceFile();
 
             var bimfaceFile = new Yw.Dto.AddBimfaceFileInput();
             bimfaceFile.BimfaceId = bimfaceId.ToString();
@@ -243,26 +258,26 @@
             bimfaceFile.FileSuffix = rvtFileInfo.Extension;
             bimfaceFile.FileSize = string.Format("{0}MB", System.Math.Ceiling(rvtFileInfo.Length / 1024.0 / 1024.0));
 
+            var bllBimfaceFile = new Yw.BLL.BimfaceFile();
             var bimfaceFileId = await bllBimfaceFile.Insert(bimfaceFile);
             if (bimfaceFileId < 1)
             {
                 feedBackMsg?.Invoke("Bimface鏂囦欢淇濆瓨澶辫触锛侊紒锛�");
+                feedBackMsg?.Invoke("椤圭洰瀵煎叆缁撴潫銆傘�傘��");
                 return true;
             }
+            vm.BimfaceFileID = bimfaceFileId;
 
             feedBackMsg?.Invoke("Bimface鏂囦欢淇濆瓨鎴愬姛銆傘�傘��");
 
-            feedBackProgress?.Invoke(100, 70);
-
-            vm.BimfaceFileID = bimfaceFileId;
+            feedBackProgress?.Invoke(100, 50);
 
             #endregion
 
-            #region 鍏宠仈Bimface鏂囦欢
+            #region 绗節姝� 鍏宠仈Bimface鏂囦欢锛堣繘搴� 55%锛�
 
             feedBackMsg?.Invoke("姝e湪鍏宠仈Bimface鏂囦欢...");
 
-            var bllBimfaceRelation = new Yw.BLL.BimfaceFileRelation();
             var bimfaceRelation = new Yw.Dto.AddBimfaceFileRelationInput();
             bimfaceRelation.ObjectType = HStation.Xhs.DataType.XhsProjectSite;
             bimfaceRelation.ObjectID = projectSiteId;
@@ -270,54 +285,90 @@
             bimfaceRelation.Purpose = Yw.Bimface.Purpose.Simulation;
             bimfaceRelation.Description = vm.Description;
 
+            var bllBimfaceRelation = new Yw.BLL.BimfaceFileRelation();
             var bimfaceRelationId = await bllBimfaceRelation.Insert(bimfaceRelation);
             if (bimfaceRelationId < 1)
             {
                 feedBackMsg?.Invoke("Bimface鏂囦欢鍏宠仈澶辫触锛侊紒锛�");
+                feedBackMsg?.Invoke("椤圭洰瀵煎叆缁撴潫銆傘�傘��");
                 return true;
             }
-            feedBackMsg?.Invoke("Bimface鏂囦欢鍏宠仈鎴愬姛銆傘�傘��");
-
-            feedBackProgress?.Invoke(100, 80);
-
             vm.BimfaceFileRelationID = bimfaceRelationId;
+            feedBackMsg?.Invoke("Bimface鏂囦欢鍏宠仈鎴愬姛銆傘�傘��");
+            feedBackProgress?.Invoke(100, 55);
 
             #endregion
 
-            #region 鍙戣捣bimface杞崲
+            #region 绗節姝� 鍙戣捣bimface杞崲锛堣繘搴� 80%锛�
 
             feedBackMsg?.Invoke("姝e湪杩涜Bimface妯″瀷杞婚噺鍖�...");
-            //var bimfaceTranslateStatus = await Yw.WinFrmUI.BimfaceHelper.TranslateRvtFile(bimfaceId);
-            //if (bimfaceTranslateStatus != Yw.BIMFace.eTranslateStatus.Success)
-            //{
-            //    await Yw.WinFrmUI.BimfaceHelper.WaitFileTranslateStatusUntilSuccess(bimfaceId, 3000);
-            //}
-            await Yw.WinFrmUI.BimfaceHelper.WaitFileTranslateStatusUntilSuccess(bimfaceId, 3000);
-            feedBackMsg?.Invoke("Bimface妯″瀷杞婚噺鍖栧畬鎴愩�傘�傘��");
+            var bimfaceTranslateStatus = await Yw.WinFrmUI.BimfaceHelper.TranslateRvtFile(bimfaceId);//鍙戣捣杞崲
+            //var bimfaceTranslateStatus = Yw.BIMFace.eTranslateStatus.Processing;//娴嬭瘯浠g爜
+            feedBackProgress?.Invoke(100, 60);
+            if (bimfaceTranslateStatus != Yw.BIMFace.eTranslateStatus.Success)
+            {
+                var dlgResult = XtraMessageBox.Show("Bimface妯″瀷杞婚噺鍖栭渶瑕佷竴瀹氱殑鏃堕棿锛屾槸鍚︾户缁瓑寰咃紵", "璇㈤棶", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
+                if (dlgResult == DialogResult.Yes)
+                {
+                    await Yw.WinFrmUI.BimfaceHelper.WaitFileTranslateStatusUntilSuccess(bimfaceId, 3000);
+                    vm.BimfaceConverted = true;
+                    feedBackMsg?.Invoke("Bimface妯″瀷杞婚噺鍖栧畬鎴愩�傘�傘��");
+                }
+                else
+                {
+                    feedBackMsg?.Invoke("璺宠繃Bimface妯″瀷杞婚噺鍖栫瓑寰呫�傘�傘��");
+                }
+            }
+            else
+            {
+                vm.BimfaceConverted = true;
+                feedBackMsg?.Invoke("Bimface妯″瀷杞婚噺鍖栧畬鎴愩�傘�傘��");
+            }
+
+            feedBackProgress?.Invoke(100, 80);
+
+            #endregion
+
+            #region 绗崄姝� 鏇存柊Bimface鏂囦欢鐘舵�侊紙杩涘害 90%锛�
+
+            feedBackMsg?.Invoke("姝e湪鏇存柊Bimface鏂囦欢鐘舵��...");
+            bol = await bllBimfaceFile.UpdateFileStatus(bimfaceFileId, (int)Yw.Bimface.eFileStatus.ConvertSucceed);
+            if (bol)
+            {
+                feedBackMsg?.Invoke("Bimface鏂囦欢鐘舵�佹洿鏂版垚鍔熴�傘�傘��");
+            }
+            else
+            {
+                feedBackMsg?.Invoke("Bimface鏂囦欢鐘舵�佹洿鏂板け璐ワ紒锛侊紒");
+                feedBackMsg?.Invoke("椤圭洰瀵煎叆缁撴潫銆傘�傘��");
+                return true;
+            }
 
             feedBackProgress?.Invoke(100, 90);
 
             #endregion
 
-            #region 鏇存柊鏂囦欢鐘舵��
+            #region 绗崄涓�姝� 椤圭洰鍙戝竷锛堣繘搴� 100%锛�
 
-            feedBackMsg?.Invoke("姝e湪鏇存柊Bimface鏂囦欢鐘舵��...");
-            bol = await bllBimfaceFile.UpdateFileStatus(bimfaceFileId, (int)Yw.Bimface.eFileStatus.ConvertSucceed);
-
-            if (bol)
+            feedBackMsg?.Invoke("姝e湪鍙戝竷椤圭洰...");
+            var bllXhsProject = new BLL.XhsProject();
+            bol = await bllXhsProject.Publish(projectId);
+            if (!bol)
             {
-                feedBackMsg?.Invoke("姝e湪Bimface鏂囦欢鐘舵�佹洿鏂版垚鍔熴�傘�傘��");
+                feedBackMsg?.Invoke("椤圭洰鍙戝竷澶辫触...");
             }
             else
             {
-                feedBackMsg?.Invoke("姝e湪Bimface鏂囦欢鐘舵�佹洿鏂板け璐ワ紒锛侊紒");
+                vm.IsPublished = true;
+                feedBackMsg?.Invoke("椤圭洰鍙戝竷鎴愬姛...");
             }
 
             feedBackProgress?.Invoke(100, 100);
-
+            feedBackMsg?.Invoke("椤圭洰瀵煎叆缁撴潫銆傘�傘��");
+            return true;
             #endregion
 
-            return true;
+
 
         }
 
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/05-ImportCompleted/ImportXhsProjectCompletedCtrl.Designer.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/05-ImportCompleted/ImportXhsProjectCompletedCtrl.Designer.cs
index 7521c96..356e935 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/05-ImportCompleted/ImportXhsProjectCompletedCtrl.Designer.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/05-ImportCompleted/ImportXhsProjectCompletedCtrl.Designer.cs
@@ -37,6 +37,7 @@
             stepItemForBimfaceUpload = new DevExpress.XtraEditors.StepProgressBarItem();
             stepItemForBimfaceRelation = new DevExpress.XtraEditors.StepProgressBarItem();
             stepItemForBimfaceTranslate = new DevExpress.XtraEditors.StepProgressBarItem();
+            stepItemForPublish = new DevExpress.XtraEditors.StepProgressBarItem();
             ((ISupportInitialize)stepProgressBar1).BeginInit();
             SuspendLayout();
             // 
@@ -51,6 +52,7 @@
             stepProgressBar1.Items.Add(stepItemForBimfaceUpload);
             stepProgressBar1.Items.Add(stepItemForBimfaceRelation);
             stepProgressBar1.Items.Add(stepItemForBimfaceTranslate);
+            stepProgressBar1.Items.Add(stepItemForPublish);
             stepProgressBar1.Location = new Point(0, 0);
             stepProgressBar1.Name = "stepProgressBar1";
             stepProgressBar1.Orientation = Orientation.Vertical;
@@ -96,11 +98,11 @@
             // 
             // stepItemForBimfaceUpload
             // 
-            stepItemForBimfaceUpload.ContentBlock1.ActiveStateImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("stepItemForUpload.ContentBlock1.ActiveStateImageOptions.SvgImage");
-            stepItemForBimfaceUpload.ContentBlock1.InactiveStateImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("stepItemForUpload.ContentBlock1.InactiveStateImageOptions.SvgImage");
+            stepItemForBimfaceUpload.ContentBlock1.ActiveStateImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("stepItemForBimfaceUpload.ContentBlock1.ActiveStateImageOptions.SvgImage");
+            stepItemForBimfaceUpload.ContentBlock1.InactiveStateImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("stepItemForBimfaceUpload.ContentBlock1.InactiveStateImageOptions.SvgImage");
             stepItemForBimfaceUpload.ContentBlock2.Caption = "涓婁紶Revit妯″瀷";
             stepItemForBimfaceUpload.Name = "stepItemForBimfaceUpload";
-            stepItemForBimfaceUpload.Options.Indicator.ActiveStateImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("stepItemForUpload.Options.Indicator.ActiveStateImageOptions.SvgImage");
+            stepItemForBimfaceUpload.Options.Indicator.ActiveStateImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("stepItemForBimfaceUpload.Options.Indicator.ActiveStateImageOptions.SvgImage");
             stepItemForBimfaceUpload.Options.Indicator.ActiveStateImageOptions.SvgImageSize = new Size(24, 24);
             // 
             // stepItemForBimfaceRelation
@@ -114,12 +116,21 @@
             // 
             // stepItemForBimfaceTranslate
             // 
-            stepItemForBimfaceTranslate.ContentBlock1.ActiveStateImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("stepForBimfaceTranslate.ContentBlock1.ActiveStateImageOptions.SvgImage");
-            stepItemForBimfaceTranslate.ContentBlock1.InactiveStateImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("stepForBimfaceTranslate.ContentBlock1.InactiveStateImageOptions.SvgImage");
+            stepItemForBimfaceTranslate.ContentBlock1.ActiveStateImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("stepItemForBimfaceTranslate.ContentBlock1.ActiveStateImageOptions.SvgImage");
+            stepItemForBimfaceTranslate.ContentBlock1.InactiveStateImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("stepItemForBimfaceTranslate.ContentBlock1.InactiveStateImageOptions.SvgImage");
             stepItemForBimfaceTranslate.ContentBlock2.Caption = "BIMFACE杞婚噺鍖�";
             stepItemForBimfaceTranslate.Name = "stepItemForBimfaceTranslate";
-            stepItemForBimfaceTranslate.Options.Indicator.ActiveStateImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("stepForBimfaceTranslate.Options.Indicator.ActiveStateImageOptions.SvgImage");
+            stepItemForBimfaceTranslate.Options.Indicator.ActiveStateImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("stepItemForBimfaceTranslate.Options.Indicator.ActiveStateImageOptions.SvgImage");
             stepItemForBimfaceTranslate.Options.Indicator.ActiveStateImageOptions.SvgImageSize = new Size(24, 24);
+            // 
+            // stepItemForPublish
+            // 
+            stepItemForPublish.ContentBlock1.ActiveStateImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("stepItemForPublish.ContentBlock1.ActiveStateImageOptions.SvgImage");
+            stepItemForPublish.ContentBlock1.InactiveStateImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("stepItemForPublish.ContentBlock1.InactiveStateImageOptions.SvgImage");
+            stepItemForPublish.ContentBlock2.Caption = "椤圭洰鍙戝竷";
+            stepItemForPublish.Name = "stepItemForPublish";
+            stepItemForPublish.Options.Indicator.ActiveStateImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("stepItemForPublish.Options.Indicator.ActiveStateImageOptions.SvgImage");
+            stepItemForPublish.Options.Indicator.ActiveStateImageOptions.SvgImageSize = new Size(24, 24);
             // 
             // ImportXhsProjectCompletedCtrl
             // 
@@ -142,5 +153,6 @@
         private DevExpress.XtraEditors.StepProgressBarItem stepItemForBimfaceUpload;
         private DevExpress.XtraEditors.StepProgressBarItem stepItemForBimfaceRelation;
         private DevExpress.XtraEditors.StepProgressBarItem stepItemForBimfaceTranslate;
+        private DevExpress.XtraEditors.StepProgressBarItem stepItemForPublish;
     }
 }
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/05-ImportCompleted/ImportXhsProjectCompletedCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/05-ImportCompleted/ImportXhsProjectCompletedCtrl.cs
index 4403a0a..58db84c 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/05-ImportCompleted/ImportXhsProjectCompletedCtrl.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/05-ImportCompleted/ImportXhsProjectCompletedCtrl.cs
@@ -40,7 +40,12 @@
                             if (vm.BimfaceFileRelationID.HasValue)
                             {
                                 this.stepProgressBar1.SelectNext();
-                                if (vm.BimfaceConverted)
+                                if (!vm.BimfaceConverted)
+                                {
+                                    this.stepItemForBimfaceTranslate.ContentBlock2.Description = "璺宠繃Bimface杞婚噺鍖栫瓑寰�...";
+                                }
+                                this.stepProgressBar1.SelectNext();
+                                if (vm.IsPublished)
                                 {
                                     this.stepProgressBar1.SelectNext();
                                 }
diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/05-ImportCompleted/ImportXhsProjectCompletedCtrl.resx b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/05-ImportCompleted/ImportXhsProjectCompletedCtrl.resx
index b7807a2..e92c7d7 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/05-ImportCompleted/ImportXhsProjectCompletedCtrl.resx
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/05-ImportCompleted/ImportXhsProjectCompletedCtrl.resx
@@ -430,7 +430,7 @@
         ZWVuIiAvPg0KICA8L2c+DQo8L3N2Zz4L
 </value>
   </data>
-  <data name="stepItemForUpload.ContentBlock1.ActiveStateImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <data name="stepItemForBimfaceUpload.ContentBlock1.ActiveStateImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
         LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
@@ -446,7 +446,7 @@
         VjMweiBNMTYsMjJ2LThoM2wtNC02bC00LDZoM3Y4SDE2eiIgY2xhc3M9IkJsdWUiIC8+DQo8L3N2Zz4L
 </value>
   </data>
-  <data name="stepItemForUpload.ContentBlock1.InactiveStateImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <data name="stepItemForBimfaceUpload.ContentBlock1.InactiveStateImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
         LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
@@ -462,7 +462,7 @@
         VjMweiBNMTYsMjJ2LThoM2wtNC02bC00LDZoM3Y4SDE2eiIgY2xhc3M9IkJsdWUiIC8+DQo8L3N2Zz4L
 </value>
   </data>
-  <data name="stepItemForUpload.Options.Indicator.ActiveStateImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <data name="stepItemForBimfaceUpload.Options.Indicator.ActiveStateImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
         LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
@@ -556,7 +556,7 @@
         ZWVuIiAvPg0KICA8L2c+DQo8L3N2Zz4L
 </value>
   </data>
-  <data name="stepForBimfaceTranslate.ContentBlock1.ActiveStateImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <data name="stepItemForBimfaceTranslate.ContentBlock1.ActiveStateImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
         LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
@@ -572,7 +572,7 @@
         VjJIOHogTTEwLDE2aDh2M2w2LTRsLTYtNHYzaC04VjE2eiIgY2xhc3M9IkJsdWUiIC8+DQo8L3N2Zz4L
 </value>
   </data>
-  <data name="stepForBimfaceTranslate.ContentBlock1.InactiveStateImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <data name="stepItemForBimfaceTranslate.ContentBlock1.InactiveStateImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
         LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
@@ -588,7 +588,72 @@
         VjJIOHogTTEwLDE2aDh2M2w2LTRsLTYtNHYzaC04VjE2eiIgY2xhc3M9IkJsdWUiIC8+DQo8L3N2Zz4L
 </value>
   </data>
-  <data name="stepForBimfaceTranslate.Options.Indicator.ActiveStateImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <data name="stepItemForBimfaceTranslate.Options.Indicator.ActiveStateImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
+        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAK4CAAAC77u/
+        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
+        LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5HcmVlbntmaWxsOiMwMzlD
+        MjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
+        Y2l0eTowLjU7fQoJLnN0MXtkaXNwbGF5Om5vbmU7fQoJLnN0MntkaXNwbGF5OmlubGluZTtmaWxsOiMw
+        MzlDMjM7fQoJLnN0M3tkaXNwbGF5OmlubGluZTtmaWxsOiNEMTFDMUM7fQoJLnN0NHtkaXNwbGF5Omlu
+        bGluZTtmaWxsOiM3MjcyNzI7fQo8L3N0eWxlPg0KICA8ZyBpZD0iTWFya0NvbXBsZXRlIj4NCiAgICA8
+        cG9seWdvbiBwb2ludHM9IjI3LDQgMTEsMjAgNSwxNCAyLDE3IDExLDI2IDMwLDcgICIgY2xhc3M9Ikdy
+        ZWVuIiAvPg0KICA8L2c+DQo8L3N2Zz4L
+</value>
+  </data>
+  <data name="stepItemForPublish.ContentBlock1.ActiveStateImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
+        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAKEDAAAC77u/
+        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
+        ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz
+        OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp
+        dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IlVzZXIiPg0KICAgIDxwYXRoIGQ9Ik0xMCw5LjljLTAu
+        MSwwLjUsMC4yLDAuOSwwLjQsMS40YzAuMiwwLjUtMC4xLDEuNywwLjksMS42YzAsMCwwLDAuMSwwLDAu
+        MmMwLjYsMi4zLDIsNC45LDQuNyw0LjkgICBjMi43LDAsNC4yLTIuNiw0LjctNC45YzAsMCwwLTAuMSww
+        LTAuMWMxLDAuMSwwLjYtMS4xLDAuOS0xLjZjMC4yLTAuNSwwLjQtMC45LDAuMy0xLjRjLTAuMS0wLjQt
+        MC40LTAuNC0wLjUtMC4zICAgYzEuOC00LjktMS4xLTQuNy0xLjEtNC43UzIwLDIsMTQuOCwyQzEwLDIs
+        OS40LDYsMTAuNSw5LjZDMTAuNCw5LjYsMTAuMSw5LjcsMTAsOS45eiIgY2xhc3M9IkJsYWNrIiAvPg0K
+        ICAgIDxwYXRoIGQ9Ik0yMCwxOGMtMC44LDEuNS0yLjEsNC00LDRjLTEuOSwwLTMuMi0yLjUtNC00Yy0y
+        LjMsMy41LTgsMS04LDguNVYzMGgyNHYtMy41QzI4LDE5LjEsMjIuMywyMS40LDIwLDE4eiIgY2xhc3M9
+        IkJsYWNrIiAvPg0KICA8L2c+DQo8L3N2Zz4L
+</value>
+  </data>
+  <data name="stepItemForPublish.ContentBlock1.InactiveStateImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
+        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAKEDAAAC77u/
+        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
+        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
+        ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz
+        OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp
+        dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IlVzZXIiPg0KICAgIDxwYXRoIGQ9Ik0xMCw5LjljLTAu
+        MSwwLjUsMC4yLDAuOSwwLjQsMS40YzAuMiwwLjUtMC4xLDEuNywwLjksMS42YzAsMCwwLDAuMSwwLDAu
+        MmMwLjYsMi4zLDIsNC45LDQuNyw0LjkgICBjMi43LDAsNC4yLTIuNiw0LjctNC45YzAsMCwwLTAuMSww
+        LTAuMWMxLDAuMSwwLjYtMS4xLDAuOS0xLjZjMC4yLTAuNSwwLjQtMC45LDAuMy0xLjRjLTAuMS0wLjQt
+        MC40LTAuNC0wLjUtMC4zICAgYzEuOC00LjktMS4xLTQuNy0xLjEtNC43UzIwLDIsMTQuOCwyQzEwLDIs
+        OS40LDYsMTAuNSw5LjZDMTAuNCw5LjYsMTAuMSw5LjcsMTAsOS45eiIgY2xhc3M9IkJsYWNrIiAvPg0K
+        ICAgIDxwYXRoIGQ9Ik0yMCwxOGMtMC44LDEuNS0yLjEsNC00LDRjLTEuOSwwLTMuMi0yLjUtNC00Yy0y
+        LjMsMy41LTgsMS04LDguNVYzMGgyNHYtMy41QzI4LDE5LjEsMjIuMywyMS40LDIwLDE4eiIgY2xhc3M9
+        IkJsYWNrIiAvPg0KICA8L2c+DQo8L3N2Zz4L
+</value>
+  </data>
+  <data name="stepItemForPublish.Options.Indicator.ActiveStateImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
         LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
diff --git a/WinFrmUI/Yw.WinFrmUI.Core/08-wizard/WizardManager.cs b/WinFrmUI/Yw.WinFrmUI.Core/08-wizard/WizardManager.cs
index b2b5557..aea5889 100644
--- a/WinFrmUI/Yw.WinFrmUI.Core/08-wizard/WizardManager.cs
+++ b/WinFrmUI/Yw.WinFrmUI.Core/08-wizard/WizardManager.cs
@@ -5,6 +5,14 @@
     /// </summary>
     public class WizardManager<T> : IWizardManager<T> where T : class, new()
     {
+        /// <summary>
+        /// 
+        /// </summary>
+        public WizardManager(T t)
+        {
+            _vm = t;
+        }
+
 
         #region 浜嬩欢
 
@@ -65,7 +73,7 @@
         /// <summary>
         /// vm瀵硅薄
         /// </summary>
-        protected readonly T _vm = new();
+        protected readonly T _vm = null;
 
         #endregion
 

--
Gitblit v1.9.3