Explorar o código

添加项目文件

Li Wen Jin hai 7 meses
achega
cd6ac4288d
Modificáronse 27 ficheiros con 2572 adicións e 0 borrados
  1. 25 0
      CollaborativePlatformProject.sln
  2. 15 0
      CollaborativePlatformProject/App.xaml
  3. 14 0
      CollaborativePlatformProject/App.xaml.cs
  4. 10 0
      CollaborativePlatformProject/AssemblyInfo.cs
  5. 58 0
      CollaborativePlatformProject/CollaborationPlatform/Entity/LVProjectInfoEntity.cs
  6. 58 0
      CollaborativePlatformProject/CollaborationPlatform/Entity/LVTeamMembersEntity.cs
  7. 51 0
      CollaborativePlatformProject/CollaborationPlatform/Entity/NotificationAnnouncement.cs
  8. 63 0
      CollaborativePlatformProject/CollaborationPlatform/Entity/TreeViewBind.cs
  9. 52 0
      CollaborativePlatformProject/CollaborationPlatform/Entity/UserInformationEntity.cs
  10. 365 0
      CollaborativePlatformProject/CollaborationPlatform/Form/HomepageForm.xaml
  11. 956 0
      CollaborativePlatformProject/CollaborationPlatform/Form/HomepageForm.xaml.cs
  12. 31 0
      CollaborativePlatformProject/CollaborationPlatform/Form/ProjectForm.xaml
  13. 39 0
      CollaborativePlatformProject/CollaborationPlatform/Form/ProjectForm.xaml.cs
  14. 65 0
      CollaborativePlatformProject/CollaborationPlatform/Form/ToolsForm.xaml
  15. 40 0
      CollaborativePlatformProject/CollaborationPlatform/Form/ToolsForm.xaml.cs
  16. 65 0
      CollaborativePlatformProject/CollaborationPlatform/Form/UploadDrawingForm.xaml
  17. 69 0
      CollaborativePlatformProject/CollaborationPlatform/Form/UploadDrawingForm.xaml.cs
  18. 80 0
      CollaborativePlatformProject/CollaborationPlatform/Util/CollaborationUtil.cs
  19. 76 0
      CollaborativePlatformProject/CollaborationPlatform/Util/LoginUtil.cs
  20. 24 0
      CollaborativePlatformProject/CollaborativePlatformProject.csproj
  21. 52 0
      CollaborativePlatformProject/CollaborativePlatformProject.csproj.user
  22. 16 0
      CollaborativePlatformProject/FormLibrary/CheckboxButton/CBButtonControls.xaml
  23. 79 0
      CollaborativePlatformProject/FormLibrary/CheckboxButton/CBButtonControls.xaml.cs
  24. 36 0
      CollaborativePlatformProject/FormLibrary/Project/ProjectControls.xaml
  25. 39 0
      CollaborativePlatformProject/FormLibrary/Project/ProjectControls.xaml.cs
  26. 97 0
      CollaborativePlatformProject/MainWindow.xaml
  27. 97 0
      CollaborativePlatformProject/MainWindow.xaml.cs

+ 25 - 0
CollaborativePlatformProject.sln

@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.8.34408.163
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CollaborativePlatformProject", "CollaborativePlatformProject\CollaborativePlatformProject.csproj", "{FD407D74-0764-4D9F-A55E-96C12B89901A}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{FD407D74-0764-4D9F-A55E-96C12B89901A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{FD407D74-0764-4D9F-A55E-96C12B89901A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{FD407D74-0764-4D9F-A55E-96C12B89901A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{FD407D74-0764-4D9F-A55E-96C12B89901A}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {1FDE6586-1DCC-4576-A4D5-372C90D049D0}
+	EndGlobalSection
+EndGlobal

+ 15 - 0
CollaborativePlatformProject/App.xaml

@@ -0,0 +1,15 @@
+<Application x:Class="CollaborativePlatformProject.App"
+             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+             xmlns:local="clr-namespace:CollaborativePlatformProject"
+             StartupUri="MainWindow.xaml">
+    <Application.Resources>
+        <ResourceDictionary>
+            <ResourceDictionary.MergedDictionaries>
+                <ResourceDictionary Source="pack://application:,,,/LayUI.Wpf;component/Themes/Default.xaml" />
+                <ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/SkinDefault.xaml" />
+                <ResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Theme.xaml" />
+            </ResourceDictionary.MergedDictionaries>
+        </ResourceDictionary>
+    </Application.Resources>
+</Application>

+ 14 - 0
CollaborativePlatformProject/App.xaml.cs

@@ -0,0 +1,14 @@
+using System.Configuration;
+using System.Data;
+using System.Windows;
+
+namespace CollaborativePlatformProject
+{
+    /// <summary>
+    /// Interaction logic for App.xaml
+    /// </summary>
+    public partial class App : Application
+    {
+    }
+
+}

+ 10 - 0
CollaborativePlatformProject/AssemblyInfo.cs

@@ -0,0 +1,10 @@
+using System.Windows;
+
+[assembly: ThemeInfo(
+    ResourceDictionaryLocation.None,            //where theme specific resource dictionaries are located
+                                                //(used if a resource is not found in the page,
+                                                // or application resource dictionaries)
+    ResourceDictionaryLocation.SourceAssembly   //where the generic resource dictionary is located
+                                                //(used if a resource is not found in the page,
+                                                // app, or any theme specific resource dictionaries)
+)]

+ 58 - 0
CollaborativePlatformProject/CollaborationPlatform/Entity/LVProjectInfoEntity.cs

@@ -0,0 +1,58 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CollaborativePlatformProject.CollaborationPlatform.Entity
+{
+    /// <summary>
+    ///
+    /// <para>⽂件名(File Name):     LV项目信息实体类.cs</para>
+    ///
+    /// <para>描述(Description):     </para>
+    ///
+    /// <para>数据表(Tables):       nothing</para>
+    ///
+    /// <para>作者(Author):         Sun Zheng Ji</para>
+    ///
+    /// <para>⽇期(Create Date):     </para>
+    ///
+    /// 修改记录(Revision History):
+    ///     R1:
+    ///         修改作者:
+    ///         修改⽇期:
+    ///         修改理由:
+    ///
+    /// </summary>
+    public class LVProjectInfoEntity
+    {
+        /// <summary>
+        /// 项目内容
+        /// </summary>
+        /// <param name="lab"></param>
+        /// <param name="name"></param>
+        public LVProjectInfoEntity(string lab, string name)
+        {
+            Lab = lab;
+            Name = name;
+            Content = lab + name;
+        }
+
+        /// <summary>
+        /// 标题
+        /// </summary>
+        public string Lab { get; set; }
+
+        /// <summary>
+        /// 内容
+        /// </summary>
+
+        public string Name { get; set; }
+
+        /// <summary>
+        /// 总内容
+        /// </summary>
+        public string Content { get; set; }
+    }
+}

+ 58 - 0
CollaborativePlatformProject/CollaborationPlatform/Entity/LVTeamMembersEntity.cs

@@ -0,0 +1,58 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CollaborativePlatformProject.CollaborationPlatform.Entity
+{
+    /// <summary>
+    ///
+    /// <para>⽂件名(File Name):     LVTeamMembersEntity.cs</para>
+    ///
+    /// <para>描述(Description):     团队成员</para>
+    ///
+    /// <para>数据表(Tables):       nothing</para>
+    ///
+    /// <para>作者(Author):         Sun Zheng Ji</para>
+    ///
+    /// <para>⽇期(Create Date):     </para>
+    ///
+    /// 修改记录(Revision History):
+    ///     R1:
+    ///         修改作者:
+    ///         修改⽇期:
+    ///         修改理由:
+    ///
+    /// </summary>
+    public class LVTeamMembersEntity
+    {
+        /// <summary>
+        /// 项目内容
+        /// </summary>
+        /// <param name="lab"></param>
+        /// <param name="name"></param>
+        public LVTeamMembersEntity(string lab, string name)
+        {
+            Lab = lab;
+            Name = name;
+            Content = lab + name;
+        }
+
+        /// <summary>
+        /// 标题
+        /// </summary>
+        public string Lab { get; set; }
+
+        /// <summary>
+        /// 内容
+        /// </summary>
+
+        public string Name { get; set; }
+
+        /// <summary>
+        /// 总内容
+        /// </summary>
+        public string Content { get; set; }
+    }
+}

+ 51 - 0
CollaborativePlatformProject/CollaborationPlatform/Entity/NotificationAnnouncement.cs

@@ -0,0 +1,51 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CollaborativePlatformProject.CollaborationPlatform.Entity
+{
+    /// <summary>
+    ///
+    /// <para>⽂件名(File Name):     通知公告实体类.cs</para>
+    ///
+    /// <para>描述(Description):     </para>
+    ///
+    /// <para>数据表(Tables):       nothing</para>
+    ///
+    /// <para>作者(Author):         Sun Zheng Ji</para>
+    ///
+    /// <para>⽇期(Create Date):     </para>
+    ///
+    /// 修改记录(Revision History):
+    ///     R1:
+    ///         修改作者:
+    ///         修改⽇期:
+    ///         修改理由:
+    ///
+    /// </summary>
+    public class NotificationAnnouncement
+    {
+        /// <summary>
+        /// 消息类别
+        /// </summary>
+
+        public string MessageCategory { get; set; }
+
+        /// <summary>
+        /// 按钮名称
+        /// </summary>
+        public string BtnName { get; set; }
+
+        /// <summary>
+        /// 内容
+        /// </summary>
+        public string Content { get; set; }
+
+        /// <summary>
+        /// 具体内容
+        /// </summary>
+        public string SpecificContent { get; set; }
+    }
+}

+ 63 - 0
CollaborativePlatformProject/CollaborationPlatform/Entity/TreeViewBind.cs

@@ -0,0 +1,63 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CollaborativePlatformProject.CollaborationPlatform.Entity
+{
+
+    /// <summary>
+    ///
+    /// <para>⽂件名(File Name):     TreeViewBind.cs</para>
+    ///
+    /// <para>描述(Description):     点击项目下TreeViewBind的数据</para>
+    ///
+    /// <para>数据表(Tables):       nothing</para>
+    ///
+    /// <para>作者(Author):         Sun Zheng Ji</para>
+    ///
+    /// <para>⽇期(Create Date):     </para>
+    ///
+    /// 修改记录(Revision History):
+    ///     R1:
+    ///         修改作者:
+    ///         修改⽇期:
+    ///         修改理由:
+    ///
+    /// </summary>
+    public class TreeViewBind
+    {
+
+        /// <summary>
+        /// 名称
+        /// </summary>
+        public string Name { get; set; }
+
+        
+        public bool IsPro { get; set; }
+
+
+        /// <summary>
+        /// 子集
+        /// </summary>
+        public List<TreeViewBind> Children { get; set; }
+
+        public TreeViewBind(string name)
+        {
+            Name = name;
+        }
+
+        public TreeViewBind(string name, List<TreeViewBind> children)
+        {
+            Name = name;
+            Children = children;
+        }
+
+        public TreeViewBind(string name, bool isPro)
+        {
+            Name = name;
+            IsPro = isPro;
+        }
+    }
+}

+ 52 - 0
CollaborativePlatformProject/CollaborationPlatform/Entity/UserInformationEntity.cs

@@ -0,0 +1,52 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CollaborativePlatformProject.CollaborationPlatform.Entity
+{
+    /// <summary>
+    ///
+    /// <para>⽂件名(File Name):     UserInformationEntity.cs</para>
+    ///
+    /// <para>描述(Description):     用户信息</para>
+    ///
+    /// <para>数据表(Tables):        nothing</para>
+    ///
+    /// <para>作者(Author):          Sun Zheng Ji</para>
+    ///
+    /// <para>⽇期(Create Date):     2024年4月12日13:39:35</para>
+    ///
+    /// 修改记录(Revision History):
+    ///     R1:
+    ///         修改作者:
+    ///         修改⽇期:
+    ///         修改理由:
+    ///
+    /// </summary>
+    public class UserInformationEntity
+    {
+
+        /// <summary>
+        /// 用户信息
+        /// </summary>
+        /// <param name="userName"></param>
+        /// <param name="userPwd"></param>
+        public UserInformationEntity(string userName, string userPwd)
+        {
+            UserName = userName;
+            UserPwd = userPwd;
+        }
+
+        /// <summary>
+        /// 用户名
+        /// </summary>
+        public string UserName { get; set; }
+
+        /// <summary>
+        /// 密码
+        /// </summary>
+        public string UserPwd { get; set; }
+    }
+}

+ 365 - 0
CollaborativePlatformProject/CollaborationPlatform/Form/HomepageForm.xaml

@@ -0,0 +1,365 @@
+<Window x:Class="CollaborativePlatformProject.CollaborationPlatform.Form.HomepageForm"
+        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+        xmlns:local="clr-namespace:CollaborativePlatformProject.CollaborationPlatform.Form"
+        xmlns:HandyControl="clr-namespace:HandyControl.Controls;assembly=HandyControl"
+        xmlns:LayUI="clr-namespace:LayUI.Wpf.Controls;assembly=LayUI.Wpf"
+        mc:Ignorable="d"
+        AllowsTransparency="True"
+        Background=" Transparent"
+        WindowStartupLocation="CenterScreen"
+        WindowStyle="None"
+        Title="" Height="600" Width="800" ResizeMode="NoResize">
+    <LayUI:LayTitleBar Background="{DynamicResource Blue}"   CornerRadius="10"
+                       WindowState="{Binding WindowState, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
+        <LayUI:LayTitleBar.Header>
+            <Border Height="35">
+                <DockPanel>
+                    <TextBlock Margin="10,0" HorizontalAlignment="Left" VerticalAlignment="Center" Foreground="White"
+                               Text="协同平台" />
+                </DockPanel>
+            </Border>
+        </LayUI:LayTitleBar.Header>
+
+        <Border  CornerRadius="0 0 10 10" Background="White">
+            <StackPanel>
+                <DockPanel Background="{DynamicResource Blue}">
+
+                    <DockPanel Margin="5 10 0 10" Width="64" Height="64" HorizontalAlignment="Left" Background="AntiqueWhite" />
+
+                    <!--<Border BorderBrush="Gray" Width="64" Height="64" 
+                    Background="AntiqueWhite"  BorderThickness="0.5,0.5,0.5,0.5">
+                    <StackPanel  Orientation="Horizontal" FlowDirection="LeftToRight">
+                        <Border BorderBrush="Red"  BorderThickness="0,0.5,0.5,0.5">
+                            -->
+                    <!-- <Image Source="Assets/Image/logo.jpg" />-->
+                    <!--
+                        </Border>
+                        <Button Visibility="Collapsed" Content="新增项目" Height="30" Width="70" Margin="100,15,0,0" x:Name="create_Pro" Click="create_Pro_Click" />
+                    </StackPanel>
+                </Border>-->
+                </DockPanel>
+
+                <DockPanel Height="430">
+
+                    <!--最左边-->
+                    <StackPanel Width="120" Name="sp_left">
+
+                        <Menu Background="{DynamicResource Blue}" Height="430" Name="mu_leftMenu" FontFamily="黑体" FontSize="14">
+
+                            <MenuItem  Width="118" Height="40" Header="消息      "
+                                      PreviewMouseLeftButtonDown="message_Click"></MenuItem>
+
+                            <MenuItem Width="118" Height="40" Header="项目      "
+                                      PreviewMouseLeftButtonDown="project_Click"></MenuItem>
+
+                            <MenuItem Width="118" Height="40" Header="联系人    "
+                                      PreviewMouseLeftButtonDown="contacts_Click"></MenuItem>
+
+                            <MenuItem Width="118" Height="40" Header="图块大样库"
+                                      PreviewMouseLeftButtonDown="gallery_Click"></MenuItem>
+
+                            <MenuItem Width="118" Height="40" Header="工具库    "
+                                      PreviewMouseLeftButtonDown="tool_Click"></MenuItem>
+                        </Menu>
+                    </StackPanel>
+
+                    <!--消息-->
+                    <DockPanel Name="dp_message" Visibility="Collapsed">
+                        <!--中间-->
+                        <StackPanel Width="180" HorizontalAlignment="Left" Background="WhiteSmoke">
+                            <StackPanel>
+
+                                <DockPanel   Margin="0 0 0 0" Name="sp_hzNavigation" Height="30" Visibility="Collapsed">
+
+                                    <Menu>
+                                        <MenuItem Header="通知公告" Click="me_announcementClick" />
+                                        <MenuItem Header="项目" Click="me_projectClick" />
+                                        <MenuItem Header="系统" Click="me_systemClick" />
+                                    </Menu>
+                                </DockPanel>
+
+                                <StackPanel Background="WhiteSmoke"  Name="me_message">
+                                </StackPanel>
+                            </StackPanel>
+                        </StackPanel>
+                        <!--最右边-->
+                        <StackPanel Name="me_right"  Height="400"  Width="483"
+                                Margin="0 10 0 0"  HorizontalAlignment="Left">
+                        </StackPanel>
+                    </DockPanel>
+
+                    <!--项目-->
+                    <DockPanel Name="dp_project" Visibility="Collapsed">
+
+                        <!--中间-->
+                        <!--
+                    <StackPanel Width="180" Height="123" HorizontalAlignment="Left" Background="WhiteSmoke">
+                    </StackPanel>-->
+
+                        <Grid>
+
+                            <Grid.RowDefinitions>
+                                <RowDefinition Height="28" />
+                                <RowDefinition />
+                            </Grid.RowDefinitions>
+
+                            <Button Grid.Row="0" Width="180" Content="新增项目" Click="bt_addPro" />
+                            <!--中间-->
+                            <TreeView  Grid.Row="1" x:Name="tr_vw"  Visibility="Visible" PreviewMouseLeftButtonUp="tv_projectLeftButtonUp"
+                                  Width="180"  HorizontalAlignment="Left" Background="WhiteSmoke">
+                                <TreeView.ItemTemplate>
+                                    <HierarchicalDataTemplate ItemsSource="{Binding Children}">
+                                        <TextBlock Text="{Binding Name}" />
+                                    </HierarchicalDataTemplate>
+                                </TreeView.ItemTemplate>
+                            </TreeView>
+                        </Grid>
+
+                        <!--最右边-->
+                        <StackPanel
+                            Name="sp_info" Width="483" Margin="0 10 0 0"
+                            HorizontalAlignment="Left" Visibility="Collapsed">
+
+                            <ListView HorizontalAlignment="Left" Background="White" BorderThickness="0"
+                      VerticalAlignment="Top" ScrollViewer.HorizontalScrollBarVisibility="Hidden"
+                      ScrollViewer.VerticalScrollBarVisibility="Hidden" Width="483"
+                      x:Name="lv_projectInfo"  Height="300" d:ItemsSource="{d:SampleData ItemCount=5}" Visibility="Collapsed">
+
+                                <!--隐藏列头-->
+                                <ListView.Resources>
+                                    <Style TargetType="{x:Type GridViewColumnHeader}">
+                                        <Setter Property="Visibility" Value="Collapsed" />
+                                    </Style>
+                                </ListView.Resources>
+
+                                <ListView.ItemContainerStyle>
+                                    <Style TargetType="ListViewItem">
+                                        <Setter Property="Height" Value="35" />
+                                    </Style>
+                                </ListView.ItemContainerStyle>
+
+                                <ListView.View>
+                                    <GridView  x:Name="gridview">
+                                        <GridViewColumn  Width="190" x:Name="Column1">
+                                            <GridViewColumn.CellTemplate>
+                                                <DataTemplate>
+                                                    <TextBlock  HorizontalAlignment="Left" Height="20" TextWrapping="Wrap"
+                                                            Text="{Binding Content}"
+                                                            VerticalAlignment="Center" />
+                                                </DataTemplate>
+                                            </GridViewColumn.CellTemplate>
+                                        </GridViewColumn>
+
+                                        <GridViewColumn  Width="130" x:Name="Column2">
+                                            <GridViewColumn.CellTemplate>
+                                                <DataTemplate>
+
+                                                    <DockPanel>
+                                                        <Button  Tag="{Binding}" Content="修改" Click="btn_lv_update" FontSize="13" />
+                                                    </DockPanel>
+                                                </DataTemplate>
+                                            </GridViewColumn.CellTemplate>
+                                        </GridViewColumn>
+                                    </GridView>
+                                </ListView.View>
+                            </ListView>
+                        </StackPanel>
+
+                        <StackPanel Name="sp_work" Visibility="Collapsed" Height="428" Width="485" VerticalAlignment="Top">
+
+                            <StackPanel HorizontalAlignment="Center" Orientation="Horizontal">
+                                <TextBlock Text="本专业" FontSize="20" HorizontalAlignment="Center" VerticalAlignment="Center" PreviewMouseLeftButtonUp="pre_Click" />
+                                <TextBlock Text="/" Margin="0,0,0,0" FontSize="20" VerticalAlignment="Center" />
+                                <TextBlock Text="全专业" Margin="0,0,0,0" FontSize="20" VerticalAlignment="Center" PreviewMouseLeftButtonUp="all_Click" />
+                            </StackPanel>
+
+                            <TreeView x:Name="tr_is" Visibility="Visible" 
+                                      PreviewMouseLeftButtonUp="tr_is_PreviewMouseLeftButtonUp" 
+                                      Height="370" Width="485" HorizontalAlignment="Left">
+                                <TreeView.ItemTemplate>
+                                    <HierarchicalDataTemplate ItemsSource="{Binding Children}">
+                                        <TextBlock Text="{Binding Name}" />
+                                    </HierarchicalDataTemplate>
+                                </TreeView.ItemTemplate>
+                            </TreeView>
+
+                            <ScrollViewer x:Name="tr_all" Visibility="Collapsed" Height="370" 
+                                          HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Hidden">
+                                <StackPanel  x:Name="tr_all1" Orientation="Horizontal" Visibility="Visible">
+
+                                    <Border  BorderBrush="Green" BorderThickness="0.5" Width="200">
+
+                                        <StackPanel>
+
+                                            <TextBlock Text="建筑" HorizontalAlignment="Center" FontSize="25" Grid.Row="0" />
+                                            <TreeView  x:Name="tv_building" Height="336">
+                                                <TreeView.ItemTemplate>
+                                                    <HierarchicalDataTemplate ItemsSource="{Binding Children}">
+                                                        <TextBlock Text="{Binding Name}" />
+                                                    </HierarchicalDataTemplate>
+                                                </TreeView.ItemTemplate>
+                                            </TreeView>
+                                        </StackPanel>
+                                    </Border>
+                                    <Border  BorderBrush="Green" BorderThickness="0.5,0,0,0.5" Width="200">
+                                        <TextBlock Text="结构" HorizontalAlignment="Center" FontSize="25" />
+                                    </Border>
+                                    <Border  BorderBrush="Green" BorderThickness="0.5,0,0,0.5" Width="200">
+                                        <TextBlock Text="给排水" HorizontalAlignment="Center" FontSize="25" />
+                                    </Border>
+                                    <Border  BorderBrush="Green" BorderThickness="0.5,0,0,0.5" Width="200">
+                                        <TextBlock Text="暖通" HorizontalAlignment="Center" FontSize="25" />
+                                    </Border>
+                                    <Border  BorderBrush="Green" BorderThickness="0.5,0,0,0.5" Width="200">
+                                        <TextBlock Text="电气" HorizontalAlignment="Center" FontSize="25" />
+                                    </Border>
+                                </StackPanel>
+                            </ScrollViewer>
+
+                            <DockPanel>
+                                <Button Visibility="Collapsed" Name="bt_proBig"  Content="放大" 
+                                        HorizontalAlignment="Right" Margin="0 0 10 0" Click="bt_proBigClick"/>
+                            </DockPanel>
+                        </StackPanel>
+
+                        <StackPanel Name="sp_addPro" Visibility="Collapsed" Width="473" Margin="10 10 0 0">
+                            <StackPanel x:Name="gd_top" Orientation="Horizontal">
+                                <TextBlock Text="完整的项目信息有助于为您推送规范条文" Margin="0,10,10,10" />
+                                <CheckBox Content="不再提醒" Click="close_Click" Margin="10" />
+                            </StackPanel>
+
+                            <!--项目名称-->
+                            <DockPanel>
+                                <LayUI:LayTextBlock Width="80" FontSize="13" Margin="30 0 0 0" Text="项目名称:"  VerticalAlignment="Center"></LayUI:LayTextBlock>
+                                <TextBox Width="150" Height="25" HorizontalAlignment="Left" Margin="30 0 0 0" x:Name="pro_Name" />
+                            </DockPanel>
+
+                            <!--项目地址-->
+                            <DockPanel Margin="0 10 0 0">
+                                <LayUI:LayTextBlock Width="80" FontSize="13" Margin="30 0 0 0" Text="项目名称:"  VerticalAlignment="Center"></LayUI:LayTextBlock>
+                                <TextBox Width="150" Height="25" HorizontalAlignment="Left" Margin="30 0 0 0" x:Name="pro_status" />
+                            </DockPanel>
+
+                            <TextBlock Text="选择:" FontSize="13" Margin="0,10,0,0" />
+                            <TextBlock Text="组建团队:" FontSize="13" Margin="0,2,0,0" />
+
+                            <StackPanel Orientation="Vertical" Margin="20 0 0 0">
+                                <StackPanel Orientation="Horizontal" Margin="0,10,0,0">
+                                    <TextBlock Text="专业" Margin="20,0,0,0" VerticalAlignment="Center" FontSize="16" />
+                                    <TextBlock Text="人员" Margin="120,0,0,0" VerticalAlignment="Center" FontSize="16" />
+                                </StackPanel>
+                                <StackPanel Margin="5,20,0,0" Orientation="Horizontal">
+                                    <TextBlock Text="建筑" Margin="20,0,0,0" VerticalAlignment="Center" />
+                                    <Button Margin="120,0,0,0" Content="选择人员" x:Name="bd_btn"
+                                        Initialized="bd_Initialized" Click="bd_Click" Height="25" FontSize="8" Width="60">
+                                        <Button.ContextMenu>
+                                            <ContextMenu Name="contextMenu">
+                                                <MenuItem Header="选择通讯录" Name="savePage" Click="savePage_Click" />
+                                                <MenuItem Header="临时邀请" Name="saveFile" Click="saveFile_Click" />
+                                            </ContextMenu>
+                                        </Button.ContextMenu>
+                                    </Button>
+                                </StackPanel>
+                                <StackPanel Margin="5,10,0,0" Orientation="Horizontal">
+                                    <TextBlock Text="结构" Margin="20,0,0,0" VerticalAlignment="Center" />
+                                    <Button Margin="120,0,0,0" Content="选择人员" x:Name="bd_st"
+                                        Initialized="st_Initialized" Click="st_Click" Height="25" FontSize="8" Width="60">
+                                        <Button.ContextMenu>
+                                            <ContextMenu Name="st_mu">
+                                                <MenuItem Header="选择通讯录" Name="st_num" Click="savePage_Click" />
+                                                <MenuItem Header="临时邀请" Name="st_tm" Click="saveFile_Click" />
+                                            </ContextMenu>
+                                        </Button.ContextMenu>
+                                    </Button>
+                                </StackPanel>
+                                <StackPanel Margin="5,10,0,0" Orientation="Horizontal">
+                                    <TextBlock Text="给排水" Margin="20,0,0,0" VerticalAlignment="Center" />
+                                    <Button Margin="108,0,0,0" Content="选择人员" x:Name="bd_wt"
+                                        Initialized="wt_Initialized" Click="wt_Click" Height="25" FontSize="8" Width="60">
+                                        <Button.ContextMenu>
+                                            <ContextMenu Name="wt_mu">
+                                                <MenuItem Header="选择通讯录" Name="wt_num" Click="savePage_Click" />
+                                                <MenuItem Header="临时邀请" Name="wt_tm" Click="saveFile_Click" />
+                                            </ContextMenu>
+                                        </Button.ContextMenu>
+                                    </Button>
+                                </StackPanel>
+                                <StackPanel Margin="5,10,0,0" Orientation="Horizontal">
+                                    <TextBlock Text="暖通" Margin="20,0,0,0" VerticalAlignment="Center" />
+                                    <Button Margin="120,0,0,0" Content="选择人员" x:Name="bd_wm"
+                                        Initialized="wm_Initialized" Click="wm_Click" Height="25" FontSize="8" Width="60">
+                                        <Button.ContextMenu>
+                                            <ContextMenu Name="wm_mu">
+                                                <MenuItem Header="选择通讯录" Name="wm_num" Click="savePage_Click" />
+                                                <MenuItem Header="临时邀请" Name="wm_tm" Click="saveFile_Click" />
+                                            </ContextMenu>
+                                        </Button.ContextMenu>
+                                    </Button>
+                                </StackPanel>
+                                <StackPanel Margin="5,10,0,0" Orientation="Horizontal">
+                                    <TextBlock Text="电气" Margin="20,0,0,0" VerticalAlignment="Center" />
+                                    <Button Margin="120,0,0,0" Content="选择人员" x:Name="bd_ele"
+                                        Initialized="ele_Initialized" Click="ele_Click" Height="25" FontSize="8" Width="60">
+                                        <Button.ContextMenu>
+                                            <ContextMenu Name="ele_mu">
+                                                <MenuItem Header="选择通讯录" Name="ele_num" Click="savePage_Click" />
+                                                <MenuItem Header="临时邀请" Name="ele_tm" Click="saveFile_Click" />
+                                            </ContextMenu>
+                                        </Button.ContextMenu>
+                                    </Button>
+                                </StackPanel>
+                                <StackPanel Margin="5,0,0,0" Orientation="Horizontal">
+                                    <TextBlock Text="+" Margin="25,0,0,0" VerticalAlignment="Center" />
+                                </StackPanel>
+                            </StackPanel>
+                            <Button Content="提交" Width="50" Click="submit_Click" Margin="0,10,0,0" />
+                        </StackPanel>
+                    </DockPanel>
+
+                    <!--联系人-->
+                    <DockPanel Name="dp_contacts" Visibility="Collapsed">
+                        <StackPanel Name="sp_contacts" Width="180" HorizontalAlignment="Left" Background="WhiteSmoke">
+                        </StackPanel>
+
+                        <!--最右边-->
+                        <StackPanel Height="420"  VerticalAlignment="Top" Width="483"
+                                Margin="0 10 0 0"  HorizontalAlignment="Left">
+                        </StackPanel>
+                    </DockPanel>
+
+                    <!--工具库-->
+                    <DockPanel Name="dp_tools" Visibility="Collapsed">
+
+                        <StackPanel Name="sp_tools" Width="180" HorizontalAlignment="Left" Background="WhiteSmoke">
+                        </StackPanel>
+
+                        <!--最右边-->
+                        <StackPanel Height="420"  VerticalAlignment="Top" Width="483"
+                                Margin="0 10 0 0"  HorizontalAlignment="Left">
+
+                            <WrapPanel Name="wp_tools" Margin="0 0 0 0" Width="490"  Height="370" HorizontalAlignment="Left">
+                            </WrapPanel>
+                            <DockPanel>
+                                <Button HorizontalAlignment="Right" Margin="0 0 20 0" Width="110" Click="bt_addTools" Content="添加漂浮工具" />
+                            </DockPanel>
+                        </StackPanel>
+                    </DockPanel>
+                </DockPanel>
+                <Border  CornerRadius="0 0 10 10" Background="{DynamicResource Blue}">
+
+                    <DockPanel Height="37">
+                        <DockPanel Margin="113 0 0 0">
+
+                            <TextBlock   Text="青蓝规范小助手:" FontFamily="黑体" FontSize="18" Margin="10 0 0 0" VerticalAlignment="Center" HorizontalAlignment="Left" />
+                            <TextBox x:Name="tb_blue" Width="200" Height="30" Margin="10,0,0,0" />
+                            <Button Content="点我搜索" Width="90" HorizontalAlignment="Left" Height="30" Margin="10,0,0,0" FontSize="16" />
+                        </DockPanel>
+                    </DockPanel>
+                </Border>
+            </StackPanel>
+        </Border>
+    </LayUI:LayTitleBar>
+</Window>

+ 956 - 0
CollaborativePlatformProject/CollaborationPlatform/Form/HomepageForm.xaml.cs

@@ -0,0 +1,956 @@
+using HandyControl.Controls;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Diagnostics.Eventing.Reader;
+using System.Drawing.Printing;
+using System.Linq;
+using System.Reflection.Metadata;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Media.Media3D;
+using System.Windows.Shapes;
+using static System.Net.Mime.MediaTypeNames;
+using System.Xml.Linq;
+using Window = System.Windows.Window;
+using MessageBox = System.Windows.MessageBox;
+using System.Resources;
+using System.Windows.Interop;
+using CollaborativePlatformProject.CollaborationPlatform.Entity;
+using CollaborativePlatformProject.CollaborationPlatform.Util;
+using CollaborativePlatformProject.FormLibrary.CheckboxButton;
+using HandyControl.Interactivity;
+
+namespace CollaborativePlatformProject.CollaborationPlatform.Form
+{
+    /// <summary>
+    /// HomepageForm.xaml 的交互逻辑
+    /// </summary>
+    public partial class HomepageForm : Window
+    {
+        public HomepageForm()
+        {
+            InitializeComponent();
+        }
+
+        #region 最左边消息
+
+        /// <summary>
+        /// 消息
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void message_Click(object sender, MouseButtonEventArgs e)
+        {
+            SwitchMethod(sender as MenuItem, true);
+        }
+
+        /// <summary>
+        /// 项目下TreeView绑定的数据
+        /// </summary>
+        private List<TreeViewBind> treeViewBinds = new List<TreeViewBind>();
+
+        /// <summary>
+        /// 项目
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void project_Click(object sender, MouseButtonEventArgs e)
+        {
+            SwitchMethod(sender as MenuItem, false);
+            treeViewBinds = new List<TreeViewBind>();
+
+            treeViewBinds.Add(
+                new TreeViewBind("小学项目",
+                    new List<TreeViewBind>()
+                    {
+                        new TreeViewBind("一号楼",
+                            new List<TreeViewBind>()
+                            {
+                                new TreeViewBind("项目信息"),
+                                new TreeViewBind("团队成员"),
+                                new TreeViewBind("工作台", true),
+                                new TreeViewBind("自定义"),
+                                new TreeViewBind("+")
+                            }),
+                        new TreeViewBind("二号楼",
+                            new List<TreeViewBind>()
+                            {
+                                new TreeViewBind("项目信息"),
+                                new TreeViewBind("团队成员"),
+                                new TreeViewBind("工作台", true),
+                                new TreeViewBind("自定义"),
+                                new TreeViewBind("+")
+                            }),
+                        new TreeViewBind("三号楼",
+                            new List<TreeViewBind>()
+                            {
+                                new TreeViewBind("项目信息"),
+                                new TreeViewBind("团队成员"),
+                                new TreeViewBind("工作台", true),
+                                new TreeViewBind("自定义"),
+                                new TreeViewBind("+")
+                            })
+                    }));
+
+            tr_vw.ItemsSource = null;
+            tr_vw.ItemsSource = treeViewBinds;
+        }
+
+        /// <summary>
+        /// 联系人
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void contacts_Click(object sender, MouseButtonEventArgs e)
+        {
+            SwitchMethod(sender as MenuItem, false);
+
+            List<string> sLists = new List<string>() { "建筑负责人", "结构负责人", "给排水负责人" };
+            sp_contacts.Children.Clear();
+            foreach (string s in sLists)
+            {
+                Button button = new Button();
+                button.Content = s;
+                button.BorderThickness = new Thickness(0);
+                button.Width = 180;
+                button.Height = 30;
+                //button.Click += new RoutedEventHandler(toolnavigation_Click);
+                button.HorizontalContentAlignment = HorizontalAlignment.Left;
+                sp_contacts.Children.Add(button);
+            }
+        }
+
+        /// <summary>
+        /// 图库大样图
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void gallery_Click(object sender, MouseButtonEventArgs e)
+        {
+            SwitchMethod(sender as MenuItem, false);
+        }
+
+        /// <summary>
+        /// 工具库
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void tool_Click(object sender, MouseButtonEventArgs e)
+        {
+            SwitchMethod(sender as MenuItem, false);
+
+            List<string> sLists = new List<string>() { "平台图纸治理", "块处理", "大样处理", "图纸对比", "二维审查", "三维" };
+            sp_tools.Children.Clear();
+            foreach (string s in sLists)
+            {
+                Button button = new Button();
+                button.Content = s;
+                button.BorderThickness = new Thickness(0);
+                button.Width = 180;
+                button.Height = 30;
+                button.Click += new RoutedEventHandler(toolnavigation_Click);
+                button.HorizontalContentAlignment = HorizontalAlignment.Left;
+                sp_tools.Children.Add(button);
+            }
+
+            if (ToolsForm == null)
+            {
+                ToolsForm = new ToolsForm(this, ToolLists);
+                ToolsForm.Show();
+            }
+        }
+
+        /// <summary>
+        /// 设置最左测导航的颜色和上边导航的显隐
+        /// </summary>
+        /// <param name="menuItem"></param>
+        /// <param name="isHoShow"></param>
+        public void SwitchMethod(MenuItem menuItem, bool isHoShow)
+        {
+            if (isHoShow)
+            {
+                sp_hzNavigation.Visibility = Visibility.Visible;
+            }
+            else
+            {
+                sp_hzNavigation.Visibility = Visibility.Collapsed;
+            }
+
+            List<MenuItem> mis = CollaborationUtil.GetChildObjects<System.Windows.Controls.MenuItem>(mu_leftMenu);
+
+            foreach (MenuItem mi in mis)
+            {
+                mi.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#1E9FFF"));
+                if (mi.Header.ToString().Replace(" ", "").Equals("消息"))
+                {
+                    dp_message.Visibility = Visibility.Collapsed;
+                }
+                else if (mi.Header.ToString().Replace(" ", "").Equals("项目"))
+                {
+                    dp_project.Visibility = Visibility.Collapsed;
+                }
+                else if (mi.Header.ToString().Replace(" ", "").Equals("工具库"))
+                {
+                    dp_tools.Visibility = Visibility.Collapsed;
+                }
+                else if (mi.Header.ToString().Replace(" ", "").Equals("联系人"))
+                {
+                    dp_contacts.Visibility = Visibility.Collapsed;
+                }
+            }
+
+            if (menuItem.Header.ToString().Replace(" ", "").Equals("消息"))
+            {
+                dp_message.Visibility = Visibility.Visible;
+            }
+            else if (menuItem.Header.ToString().Replace(" ", "").Equals("项目"))
+            {
+                dp_project.Visibility = Visibility.Visible;
+            }
+            else if (menuItem.Header.ToString().Replace(" ", "").Equals("工具库"))
+            {
+                dp_tools.Visibility = Visibility.Visible;
+            }
+            else if (menuItem.Header.ToString().Replace(" ", "").Equals("联系人"))
+            {
+                dp_contacts.Visibility = Visibility.Visible;
+            }
+
+            menuItem.Background = new SolidColorBrush(Colors.Beige);
+            me_message.Children.Clear();
+        }
+
+        #endregion
+
+        #region 工具中间按钮
+
+        private ObservableCollection<CBButtonControlsData> ToolLists = new ObservableCollection<CBButtonControlsData>();
+
+        /// <summary>
+        /// 功能名字对应的功能数据
+        /// </summary>
+        private Dictionary<string, ObservableCollection<CBButtonControlsData>> ToolName_ToolDatas = new Dictionary<string, ObservableCollection<CBButtonControlsData>>()
+        {
+            {
+                "平台图纸治理",new ObservableCollection<CBButtonControlsData>()
+                {
+                    new CBButtonControlsData("功能1",false,""),
+                    new CBButtonControlsData("功能2",false,""),
+                    new CBButtonControlsData("功能3",false,""),
+                    new CBButtonControlsData("功能4",false,""),
+                    new CBButtonControlsData("功能5",false,""),
+                    new CBButtonControlsData("功能6",false,""),
+                    new CBButtonControlsData("功能7",false,""),
+                    new CBButtonControlsData("功能8",false,""),
+                }
+            },
+            {
+                "块处理",new ObservableCollection<CBButtonControlsData>()
+                {
+                    new CBButtonControlsData("处理1",false,""),
+                    new CBButtonControlsData("处理2",false,""),
+                    new CBButtonControlsData("处理3",false,""),
+                    new CBButtonControlsData("处理4",false,""),
+                    new CBButtonControlsData("处理5",false,""),
+                    new CBButtonControlsData("处理6",false,""),
+                    new CBButtonControlsData("处理7",false,""),
+                    new CBButtonControlsData("处理8",false,""),
+                }
+            },
+            {
+                "大样处理",new ObservableCollection<CBButtonControlsData>()
+                {
+                    new CBButtonControlsData("大样1",false,""),
+                    new CBButtonControlsData("大样2",false,""),
+                    new CBButtonControlsData("大样3",false,""),
+                    new CBButtonControlsData("大样4",false,""),
+                    new CBButtonControlsData("大样5",false,""),
+                    new CBButtonControlsData("大样6",false,""),
+                    new CBButtonControlsData("大样7",false,""),
+                    new CBButtonControlsData("大样8",false,""),
+                }
+            },
+            {
+                "图纸对比",new ObservableCollection<CBButtonControlsData>()
+                {
+                    new CBButtonControlsData("图纸对比",false,"")
+                }
+            },
+            {
+                "二维审查",new ObservableCollection<CBButtonControlsData>()
+                {
+                    new CBButtonControlsData("二维审查",false,"")
+                }
+            }, {
+                "三维",new ObservableCollection<CBButtonControlsData>()
+                {
+                    new CBButtonControlsData("三维",false,"")
+                }
+            },
+        };
+
+        private void toolnavigation_Click(object sender, RoutedEventArgs e)
+        {
+            Button button = sender as Button;
+
+            if (button != null && ToolName_ToolDatas.ContainsKey(button.Content.ToString()))
+            {
+                ObservableCollection<CBButtonControlsData> cbButtonControls = ToolName_ToolDatas[button.Content.ToString()];
+
+                wp_tools.Children.Clear();
+
+                foreach (var cbButtonControl in cbButtonControls)
+                {
+                    wp_tools.Children.Add(new CBButtonControls(cbButtonControl));
+                }
+            }
+        }
+
+        /// <summary>
+        /// 添加漂浮工具
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void bt_addTools(object sender, RoutedEventArgs e)
+        {
+            foreach (var tool in ToolName_ToolDatas)
+            {
+                foreach (var value in tool.Value)
+                {
+                    if (!value.CbIsCheck)
+                    {
+                        if (ToolLists.Where(x => x.Guid.Equals(value.Guid)).Count() > 0)
+                        {
+                            for (int i = 0; i < ToolLists.Count; i++)
+                            {
+                                if (ToolLists[i].Guid.Equals(value.Guid))
+                                {
+                                    ToolLists.RemoveAt(i);
+                                    i--;
+                                }
+                            }
+                        }
+                    }
+                    else
+                    {
+                        if (ToolLists.Where(x => x.Guid.Equals(value.Guid)).Count() > 0) continue;
+                        ToolLists.Add(value);
+                    }
+                }
+            }
+        }
+
+        /// <summary>
+        /// 悬浮窗窗体
+        /// </summary>
+        public ToolsForm ToolsForm;
+
+        /// <summary>
+        /// 悬浮窗
+        /// </summary>
+        private ObservableCollection<LVProjectInfoEntity> ToolDatas = new ObservableCollection<LVProjectInfoEntity>()
+        {
+            new LVProjectInfoEntity("图纸对比", ""),
+            new LVProjectInfoEntity("超模全解析", ""),
+            new LVProjectInfoEntity("超模数字化建模", "")
+        };
+
+        #endregion
+
+        #region 中间的按钮
+
+        private void General_Click(object sender, MouseButtonEventArgs e)
+        {
+        }
+
+        #endregion
+
+        #region 横向通知消息栏
+
+        private List<Button> menuItems = new List<Button>();
+
+        /// <summary>
+        /// 通知公告数据
+        /// </summary>
+        private List<NotificationAnnouncement> notificationDatas = new List<NotificationAnnouncement>();
+
+        /// <summary>
+        /// 通知公告
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void me_announcementClick(object sender, RoutedEventArgs e)
+        {
+            notificationDatas = new List<NotificationAnnouncement>();
+
+            for (int i = 0; i < new List<string>() { "国博城项目建筑图纸更新", "北京大兴项目结构图纸更新", "绿地项目人防图纸更新" }.Count; i++)
+            {
+                NotificationAnnouncement notificationAnnouncement = new NotificationAnnouncement();
+                notificationAnnouncement.MessageCategory = "通知公告";
+
+                if (i == 0)
+                {
+                    notificationAnnouncement.Content = "国博城项目总消息";
+                    notificationAnnouncement.SpecificContent = "按甲方要求,国博城项目务必在4月15号之前完成报审版。";
+                }
+                else if (i == 1)
+                {
+                    notificationAnnouncement.Content = "北京大兴项目总消息";
+                    notificationAnnouncement.SpecificContent = "按甲方要求,北京大兴项目务必在4月22号之前完成报审版。";
+                }
+                else if (i == 2)
+                {
+                    notificationAnnouncement.Content = "绿地项目总消息";
+                    notificationAnnouncement.SpecificContent = "按甲方要求,绿地项目务必在4月30号之前完成报审版。";
+                }
+
+                notificationDatas.Add(notificationAnnouncement);
+            }
+
+            me_message.Children.Clear();
+            foreach (var notificationData in notificationDatas)
+            {
+                Button button = new Button();
+                button.Content = notificationData.Content;
+                button.BorderThickness = new Thickness(0);
+                button.Width = 180;
+                button.Height = 30;
+                button.Click += new RoutedEventHandler(messageBtnClick);
+                button.Tag = notificationData;
+                button.HorizontalContentAlignment = HorizontalAlignment.Left;
+                me_message.Children.Add(button);
+            }
+        }
+
+        /// <summary>
+        /// 项目
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void me_projectClick(object sender, RoutedEventArgs e)
+        {
+            notificationDatas = new List<NotificationAnnouncement>();
+            foreach (var xiangmu in new List<string>() { "国博城项目建筑图纸更新", "北京大兴项目结构图纸更新", "绿地项目人防图纸更新" })
+            {
+                NotificationAnnouncement notificationAnnouncement = new NotificationAnnouncement();
+                notificationAnnouncement.Content = xiangmu;
+                notificationAnnouncement.MessageCategory = "项目消息";
+
+                if (xiangmu.Equals("国博城项目建筑图纸更新"))
+                {
+                    notificationAnnouncement.SpecificContent = "国博城项目建筑1#楼3层更新。";
+                }
+                else if (xiangmu.Equals("北京大兴项目结构图纸更新"))
+                {
+                    notificationAnnouncement.SpecificContent = "北京大兴项目结构2#楼1层墙柱平法图更新。";
+                }
+                else if (xiangmu.Equals("绿地项目人防图纸更新"))
+                {
+                    notificationAnnouncement.SpecificContent = "绿地项目地下人防图更新。";
+                }
+
+                notificationDatas.Add(notificationAnnouncement);
+            }
+
+            me_message.Children.Clear();
+            foreach (var notificationData in notificationDatas)
+            {
+                Button button = new Button();
+                button.Content = notificationData.Content;
+                button.BorderThickness = new Thickness(0);
+                button.Width = 180;
+                button.Height = 30;
+                button.Click += new RoutedEventHandler(messageBtnClick);
+                button.Tag = notificationData;
+                button.HorizontalContentAlignment = HorizontalAlignment.Left;
+                me_message.Children.Add(button);
+            }
+        }
+
+        /// <summary>
+        /// 系统
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void me_systemClick(object sender, RoutedEventArgs e)
+        {
+            NotificationAnnouncement notificationAnnouncement = new NotificationAnnouncement();
+            notificationAnnouncement.Content = "系统更新";
+            notificationAnnouncement.SpecificContent = "交互平台版本更新至2.0版本/n   本次更新了:/n    1.主界面消息分组。/n    2.修改了登陆界面。/n   请及时更新!!";
+            notificationAnnouncement.MessageCategory = "系统消息";
+            NotificationAnnouncement notificationAnnouncement2 = new NotificationAnnouncement();
+            notificationAnnouncement2.Content = "停服升级";
+            notificationAnnouncement2.SpecificContent = "交互平台版本将在4月13日8点20分至4月13日8点50分进行停服更新/n本次停服更新不会导致您的数据丢失。";
+            notificationAnnouncement2.MessageCategory = "系统消息";
+            notificationDatas = new List<NotificationAnnouncement>()
+            {
+                notificationAnnouncement,
+                notificationAnnouncement2
+        };
+
+            me_message.Children.Clear();
+            foreach (var notificationData in notificationDatas)
+            {
+                Button button = new Button();
+                button.Content = notificationData.Content;
+                button.BorderThickness = new Thickness(0);
+                button.Width = 180;
+                button.Height = 30;
+                button.Click += new RoutedEventHandler(messageBtnClick);
+                button.Tag = notificationData;
+                button.HorizontalContentAlignment = HorizontalAlignment.Left;
+                me_message.Children.Add(button);
+            }
+        }
+
+        /// <summary>
+        /// 具体消息按钮
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void messageBtnClick(object sender, RoutedEventArgs e)
+        {
+            me_right.Children.Clear();
+            Button button = sender as Button;
+
+            NotificationAnnouncement announcement = button.Tag as NotificationAnnouncement;
+
+            List<string> specificContent = announcement.SpecificContent.Split("/n").ToList();
+
+            foreach (var specificConten in specificContent)
+            {
+                TextBlock textBlock = new TextBlock();
+                textBlock.Text = specificConten;
+                textBlock.FontSize = 15;
+                textBlock.FontFamily = new FontFamily("黑体");
+                me_right.Children.Add(textBlock);
+            }
+
+            if (announcement.MessageCategory.Equals("项目消息"))
+            {
+                DockPanel dockPanel = new DockPanel();
+                dockPanel.Margin = new Thickness(0, 10, 30, 0);
+                dockPanel.HorizontalAlignment = HorizontalAlignment.Right;
+
+                TextBlock textBlock = new TextBlock();
+                textBlock.Text = "查看";
+                textBlock.FontSize = 13;
+                textBlock.Foreground = new SolidColorBrush(Colors.Green);
+                textBlock.TextDecorations = TextDecorations.Underline;
+                textBlock.Margin = new Thickness(0, 0, 10, 0);
+                textBlock.FontFamily = new FontFamily("黑体");
+
+                dockPanel.Children.Add(textBlock);
+
+                TextBlock textBlock2 = new TextBlock();
+                textBlock2.Text = "忽略";
+                textBlock2.FontSize = 13;
+                textBlock2.FontFamily = new FontFamily("黑体");
+
+                textBlock2.Foreground = new SolidColorBrush(Colors.Green);
+                textBlock2.TextDecorations = TextDecorations.Underline;
+                dockPanel.Children.Add(textBlock2);
+                me_right.Children.Add(dockPanel);
+            }
+        }
+
+        #endregion
+
+        #region 项目中间部分
+
+        /// <summary>
+        /// 项目信息示例
+        /// </summary>
+        private ObservableCollection<LVProjectInfoEntity> lvProjects = new ObservableCollection<LVProjectInfoEntity>()
+        {
+            new LVProjectInfoEntity("项目名称:", "北京大兴项目"),
+            new LVProjectInfoEntity("项目业态:", "住宅"),
+            new LVProjectInfoEntity("项目地址:", "山东省济南市"),
+            new LVProjectInfoEntity("项目团队:", "项目团队")
+        };
+
+        /// <summary>
+        /// 项目信息示例
+        /// </summary>
+        private ObservableCollection<LVTeamMembersEntity> lvTeamMemberss = new ObservableCollection<LVTeamMembersEntity>()
+        {
+            new LVTeamMembersEntity("主管:", "李明"),
+            new LVTeamMembersEntity("建筑组员:", "李明"),
+            new LVTeamMembersEntity("结构组员:", "张修"),
+            new LVTeamMembersEntity("给排水组员:", "邢华"),
+            new LVTeamMembersEntity("暖通组员:", "杨程"),
+            new LVTeamMembersEntity("电气组员:", "欧瑞"),
+        };
+
+        /// <summary>
+        /// 项目TreeView
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void tv_projectLeftButtonUp(object sender, MouseButtonEventArgs e)
+        {
+            #region 隐藏所有的无用控件
+
+            lv_projectInfo.Visibility = Visibility.Collapsed;
+            sp_info.Visibility = Visibility.Collapsed;
+            sp_work.Visibility = Visibility.Collapsed;
+            sp_addPro.Visibility = Visibility.Collapsed;
+
+            #endregion
+
+            TreeViewBind treeView = tr_vw.SelectedItem as TreeViewBind;
+            if (treeView == null) return;
+
+            string name = treeView.Name;
+
+            if (name.Equals("项目信息"))
+            {
+                sp_info.Visibility = Visibility.Visible;
+                lv_projectInfo.Visibility = Visibility.Visible;
+                lv_projectInfo.ItemsSource = null;
+                lv_projectInfo.ItemsSource = lvProjects;
+            }
+            else if (name.Equals("团队成员"))
+            {
+                sp_info.Visibility = Visibility.Visible;
+                lv_projectInfo.Visibility = Visibility.Visible;
+                lv_projectInfo.ItemsSource = null;
+                lv_projectInfo.ItemsSource = lvTeamMemberss;
+            }
+            else if (name.Equals("工作台"))
+            {
+                sp_work.Visibility = Visibility.Visible;
+                tr_is.ItemsSource = null;
+                if (!treeView.IsPro)
+                {
+                    List<TreeViewBind> TreeViewDatas = new List<TreeViewBind>();
+
+                    TreeViewDatas.Add(new TreeViewBind("小学项目", new List<TreeViewBind>() { new TreeViewBind("新建图纸") }));
+
+                    this.tr_is.ItemsSource = TreeViewDatas;
+                }
+                else
+                {
+                    this.tr_is.ItemsSource = TreeViewDatas;
+                }
+            }
+            else if (name.Equals("自定义"))
+            {
+            }
+        }
+
+        /// <summary>
+        /// lv内修改按钮
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void btn_lv_update(object sender, RoutedEventArgs e)
+        {
+            Button button = sender as Button;
+            LVProjectInfoEntity lvProjectInfo = button.Tag as LVProjectInfoEntity;
+            if (lvProjectInfo != null)
+            {
+            }
+        }
+
+        /// <summary>
+        /// 上传图纸
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void Button_Click(object sender, RoutedEventArgs e)
+        {
+            TreeViewBind treeViewBind = TreeViewDatas.First(s => s.Name.Equals("小学项目 一号楼"));
+            UploadDrawingForm upWindow = new UploadDrawingForm(TreeViewDatas);
+
+            foreach (var item in treeViewBind.Children)
+            {
+                if (item.Name.Equals("上传新图")) continue;
+                upWindow.str.Add(item.Name);
+            }
+
+            upWindow.ShowDialog();
+
+            this.tr_is.ItemsSource = null;
+            this.tr_is.ItemsSource = TreeViewDatas;
+        }
+
+        #region 工作台
+
+        /// <summary>
+        ///  工作台数据绑定
+        /// </summary>
+        public static ObservableCollection<TreeViewBind> TreeViewDatas = new ObservableCollection<TreeViewBind>()
+        {
+            new TreeViewBind("小学项目 一号楼",
+                new List<TreeViewBind>()
+                {
+                    new TreeViewBind("上传图纸")
+                })
+        };
+
+        /// <summary>
+        /// 版本名称
+        /// </summary>
+        private List<string> ProVersions = new List<string>();
+
+        /// <summary>
+        /// 本专业
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void pre_Click(object sender, MouseButtonEventArgs e)
+        {
+            tr_all.Visibility = Visibility.Collapsed;
+            tr_is.Visibility = Visibility.Visible;
+            bt_proBig.Visibility = Visibility.Collapsed;
+        }
+
+        /// <summary>
+        /// 全专业
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void all_Click(object sender, MouseButtonEventArgs e)
+        {
+            tr_is.Visibility = Visibility.Collapsed;
+            tr_all.Visibility = Visibility.Visible;
+            tv_building.ItemsSource = null;
+            tv_building.ItemsSource = TreeViewDatas;
+            bt_proBig.Visibility = Visibility.Visible;
+        }
+
+        /// <summary>
+        /// treeview点击
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void tr_is_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
+        {
+            TreeViewBind treeView = tr_is.SelectedItem as TreeViewBind;
+
+            //切换展开和下拉
+            if (treeView == null)
+            {
+                return;
+            }
+            if (tr_is.ItemContainerGenerator.ContainerFromItem(treeView) is TreeViewItem currentItem)
+            {
+                if (!currentItem.IsExpanded)
+                {
+                    currentItem.IsExpanded = true;
+                }
+                else
+                {
+                    currentItem.IsExpanded = false;
+                }
+            }
+
+            if (treeView.Name.Contains("更新图纸"))
+            {
+                TreeViewBind treeViewBind = TreeViewDatas.First(s => s.Name.Equals("小学项目 一号楼"));
+                UploadDrawingForm upWindow = new UploadDrawingForm(TreeViewDatas);
+
+                foreach (var item in treeViewBind.Children)
+                {
+                    if (item.Name.Equals("治理图纸")) break;
+                    upWindow.str.Add(item.Name);
+                }
+                upWindow.ShowDialog();
+                string t7 = DateTime.Now.ToShortTimeString();
+                string t3 = DateTime.Now.ToLongDateString() + t7;
+
+                string proVersion = "";
+
+                if (ProVersions.Contains(t3 + "版本"))
+                {
+                    int proVersionIndex = 0;
+
+                    for (int i = 0; i < 100; i++)
+                    {
+                        int j = i + 1;
+
+                        if (ProVersions.Contains(t3 + "(" + j + ")" + "版本"))
+                        {
+                            continue;
+                        }
+                        else
+                        {
+                            proVersionIndex = i + 1;
+                            break;
+                        }
+                    }
+
+                    proVersion = t3 + "(" + proVersionIndex + ")" + "版本";
+                }
+                else
+                {
+                    proVersion = t3 + "版本";
+                }
+
+                ProVersions.Add(proVersion);
+                TreeViewBind TreeViewBind1 = new TreeViewBind(proVersion, new List<TreeViewBind>()
+                    {
+                        new TreeViewBind("原图"),
+                        new TreeViewBind("对比图"),
+                        new TreeViewBind("治理图纸", new List<TreeViewBind>()
+                        {
+                            new TreeViewBind("F1"),
+                            new TreeViewBind("F2",
+                                new List<TreeViewBind>()
+                                {
+                                    new TreeViewBind("墙柱"),
+                                    new TreeViewBind("门窗"),
+                                    new TreeViewBind("功能区标签"),
+                                    new TreeViewBind("未命名")
+                                })
+                        })
+                    });
+
+                int index = CollaborationUtil.GetIndexByTreeView("更新图纸", TreeViewDatas.FirstOrDefault().Children);
+                TreeViewDatas.FirstOrDefault().Children.Insert(index, TreeViewBind1);
+
+                this.tr_is.ItemsSource = null;
+                this.tr_is.ItemsSource = TreeViewDatas;
+            }
+            else if (treeView.Name.Contains("上传图纸"))
+            {
+                string t7 = DateTime.Now.ToShortTimeString();
+                string t3 = DateTime.Now.ToLongDateString() + t7;
+
+                ProVersions.Add(t3 + "版本");
+                TreeViewBind TreeViewBind1 = new TreeViewBind(t3 + "版本", new List<TreeViewBind>()
+                {
+                    new TreeViewBind("原图"),
+                    new TreeViewBind("治理图纸", new List<TreeViewBind>()
+                    {
+                        new TreeViewBind("F1"),
+                        new TreeViewBind("F2",
+                            new List<TreeViewBind>()
+                            {
+                                new TreeViewBind("墙柱"),
+                                new TreeViewBind("门窗"),
+                                new TreeViewBind("功能区标签"),
+                                new TreeViewBind("未命名")
+                            })
+                    })
+                });
+                TreeViewDatas.FirstOrDefault().Children.Insert(0, TreeViewBind1);
+                TreeViewDatas.FirstOrDefault().Children.Add(new TreeViewBind("更新图纸"));
+
+                for (int i = 0; i < TreeViewDatas.FirstOrDefault().Children.Count; i++)
+                {
+                    if (TreeViewDatas.FirstOrDefault().Children[i].Name.Equals("上传图纸"))
+                    {
+                        TreeViewDatas.FirstOrDefault().Children.RemoveAt(i);
+                        i--;
+                        break;
+                    }
+                }
+
+                tr_is.ItemsSource = null;
+                tr_is.ItemsSource = TreeViewDatas;
+            }
+        }
+
+        /// <summary>
+        /// 放大
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void bt_proBigClick(object sender, RoutedEventArgs e)
+        {
+            ProjectForm projectForm = new ProjectForm(this, TreeViewDatas);
+
+            this.Hide();
+            projectForm.ShowDialog();
+            this.Show();
+        }
+
+        #endregion
+
+        #region 新增项目
+
+        private void bt_addPro(object sender, RoutedEventArgs e)
+        {
+            #region 隐藏所有的无用控件
+
+            lv_projectInfo.Visibility = Visibility.Collapsed;
+            sp_info.Visibility = Visibility.Collapsed;
+            sp_work.Visibility = Visibility.Collapsed;
+
+            #endregion
+
+            sp_addPro.Visibility = Visibility.Visible;
+        }
+
+        private void close_Click(object sender, RoutedEventArgs e)
+        {
+            gd_top.Visibility = Visibility.Collapsed;
+        }
+
+        private void bd_Initialized(object sender, EventArgs e)
+        {
+        }
+
+        private void st_Initialized(object sender, EventArgs e)
+        {
+        }
+
+        private void wt_Initialized(object sender, EventArgs e)
+        {
+        }
+
+        private void wm_Initialized(object sender, EventArgs e)
+        {
+        }
+
+        private void ele_Initialized(object sender, EventArgs e)
+        {
+        }
+
+        private void submit_Click(object sender, RoutedEventArgs e)
+        {
+        }
+
+        private void saveFile_Click(object sender, RoutedEventArgs e)
+        {
+        }
+
+        private void savePage_Click(object sender, RoutedEventArgs e)
+        {
+        }
+
+        private void ele_Click(object sender, RoutedEventArgs e)
+        {
+        }
+
+        private void wm_Click(object sender, RoutedEventArgs e)
+        {
+        }
+
+        private void wt_Click(object sender, RoutedEventArgs e)
+        {
+        }
+
+        private void st_Click(object sender, RoutedEventArgs e)
+        {
+        }
+
+        private void bd_Click(object sender, RoutedEventArgs e)
+        {
+        }
+
+        #endregion
+
+        #endregion
+    }
+}

+ 31 - 0
CollaborativePlatformProject/CollaborationPlatform/Form/ProjectForm.xaml

@@ -0,0 +1,31 @@
+<Window x:Class="CollaborativePlatformProject.CollaborationPlatform.Form.ProjectForm"
+        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+        xmlns:local="clr-namespace:CollaborativePlatformProject.CollaborationPlatform.Form"
+        xmlns:HandyControl="clr-namespace:HandyControl.Controls;assembly=HandyControl"
+    xmlns:LayUI="clr-namespace:LayUI.Wpf.Controls;assembly=LayUI.Wpf"
+    xmlns:project="clr-namespace:CollaborativePlatformProject.FormLibrary.Project"
+    mc:Ignorable="d"
+    AllowsTransparency="True"
+    Background=" Transparent"
+    WindowStartupLocation="CenterScreen"
+    WindowStyle="None"
+    Title="" SizeToContent="WidthAndHeight" ResizeMode="NoResize" Closed="ProjectForm_OnClosed">
+    <LayUI:LayTitleBar Background="{DynamicResource Blue}"   CornerRadius="10"
+                   WindowState="{Binding WindowState, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
+        <LayUI:LayTitleBar.Header>
+            <Border Height="35">
+                <DockPanel>
+                    <TextBlock Margin="10,0" HorizontalAlignment="Left" VerticalAlignment="Center" Foreground="White"
+                           Text="项目信息" />
+                </DockPanel>
+            </Border>
+        </LayUI:LayTitleBar.Header>
+
+        <StackPanel Name="sp_pro" Background="White">
+          
+        </StackPanel>
+    </LayUI:LayTitleBar>
+</Window>

+ 39 - 0
CollaborativePlatformProject/CollaborationPlatform/Form/ProjectForm.xaml.cs

@@ -0,0 +1,39 @@
+using CollaborativePlatformProject.FormLibrary.Project;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Shapes;
+using CollaborativePlatformProject.CollaborationPlatform.Entity;
+
+namespace CollaborativePlatformProject.CollaborationPlatform.Form
+{
+    /// <summary>
+    /// ProjectForm.xaml 的交互逻辑
+    /// </summary>
+    public partial class ProjectForm : Window
+    {
+        public ObservableCollection<TreeViewBind> TreeViewDatas;
+        private HomepageForm HomepageForm;
+        public ProjectForm(HomepageForm homepageForm, ObservableCollection<TreeViewBind> treeViewDatas)
+        {
+            InitializeComponent();
+            TreeViewDatas = treeViewDatas;
+            HomepageForm = homepageForm;
+            sp_pro.Children.Add(new ProjectControls(treeViewDatas));
+        }
+
+        private void ProjectForm_OnClosed(object sender, EventArgs e)
+        {
+        }
+    }
+}

+ 65 - 0
CollaborativePlatformProject/CollaborationPlatform/Form/ToolsForm.xaml

@@ -0,0 +1,65 @@
+<Window x:Class="CollaborativePlatformProject.CollaborationPlatform.Form.ToolsForm"
+        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+        xmlns:local="clr-namespace:CollaborativePlatformProject.CollaborationPlatform.Form"
+
+        xmlns:HandyControl="clr-namespace:HandyControl.Controls;assembly=HandyControl"
+        xmlns:LayUI="clr-namespace:LayUI.Wpf.Controls;assembly=LayUI.Wpf"
+        mc:Ignorable="d"
+        AllowsTransparency="True"
+        Background=" Transparent"
+        WindowStartupLocation="CenterScreen"
+        WindowStyle="None"
+        Title="" SizeToContent="WidthAndHeight" ResizeMode="NoResize" Closed="ToolsForm_OnClosed">
+    <LayUI:LayTitleBar Background="{DynamicResource Blue}"   CornerRadius="10"
+                       WindowState="{Binding WindowState, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
+        <LayUI:LayTitleBar.Header>
+            <Border Height="35">
+                <DockPanel>
+                    <TextBlock Margin="10,0" HorizontalAlignment="Left" VerticalAlignment="Center" Foreground="White"
+                               Text="功能工具" />
+                </DockPanel>
+            </Border>
+        </LayUI:LayTitleBar.Header>
+
+        <Border  CornerRadius="0 0 10 10" Background="White">
+
+            <StackPanel Width="250" Height="400" Margin="0 0 0 10">
+                <ListView HorizontalAlignment="Left" Background="White" BorderThickness="0"
+                      VerticalAlignment="Top" ScrollViewer.HorizontalScrollBarVisibility="Hidden"
+                      ScrollViewer.VerticalScrollBarVisibility="Hidden" Width="250"
+                      x:Name="lv_projectInfo"  Height="400" Visibility="Visible" d:ItemsSource="{d:SampleData ItemCount=5}">
+
+                    <!--隐藏列头-->
+                    <ListView.Resources>
+                        <Style TargetType="{x:Type GridViewColumnHeader}">
+                            <Setter Property="Visibility" Value="Collapsed" />
+                        </Style>
+                    </ListView.Resources>
+
+                    <ListView.ItemContainerStyle>
+                        <Style TargetType="ListViewItem">
+                            <Setter Property="Height" Value="35" />
+                        </Style>
+                    </ListView.ItemContainerStyle>
+
+                    <ListView.View>
+                        <GridView  x:Name="gridview">
+                            <GridViewColumn  Width="190" x:Name="Column1">
+                                <GridViewColumn.CellTemplate>
+                                    <DataTemplate>
+                                        <TextBlock  HorizontalAlignment="Left" Height="20" TextWrapping="Wrap"
+                                                Text="{Binding BtnName}"
+                                                VerticalAlignment="Center" />
+                                    </DataTemplate>
+                                </GridViewColumn.CellTemplate>
+                            </GridViewColumn>
+                        </GridView>
+                    </ListView.View>
+                </ListView>
+            </StackPanel>
+        </Border>
+    </LayUI:LayTitleBar>
+</Window>

+ 40 - 0
CollaborativePlatformProject/CollaborationPlatform/Form/ToolsForm.xaml.cs

@@ -0,0 +1,40 @@
+using CollaborativePlatformProject.FormLibrary.CheckboxButton;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Shapes;
+
+namespace CollaborativePlatformProject.CollaborationPlatform.Form
+{
+    /// <summary>
+    /// ToolsForm.xaml 的交互逻辑
+    /// </summary>
+    public partial class ToolsForm : Window
+    {
+        private HomepageForm HomepageForm;
+
+        public ToolsForm(HomepageForm homepageForm, ObservableCollection<CBButtonControlsData> entities)
+        {
+            InitializeComponent();
+
+            lv_projectInfo.ItemsSource = null;
+            lv_projectInfo.ItemsSource = entities;
+            HomepageForm = homepageForm;
+        }
+
+        private void ToolsForm_OnClosed(object? sender, EventArgs e)
+        {
+            HomepageForm.ToolsForm = null;
+        }
+    }
+}

+ 65 - 0
CollaborativePlatformProject/CollaborationPlatform/Form/UploadDrawingForm.xaml

@@ -0,0 +1,65 @@
+<Window x:Class="CollaborativePlatformProject.CollaborationPlatform.Form.UploadDrawingForm"
+        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+        xmlns:HandyControl="clr-namespace:HandyControl.Controls;assembly=HandyControl"
+        xmlns:LayUI="clr-namespace:LayUI.Wpf.Controls;assembly=LayUI.Wpf"
+        mc:Ignorable="d"
+        AllowsTransparency="True"
+        Background=" Transparent"
+        WindowStartupLocation="CenterScreen"
+        WindowStyle="None"
+        Title="" SizeToContent="WidthAndHeight" ResizeMode="NoResize">
+    <LayUI:LayTitleBar Background="{DynamicResource Blue}"   CornerRadius="10"
+                       WindowState="{Binding WindowState, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
+        <LayUI:LayTitleBar.Header>
+            <Border Height="35">
+                <DockPanel>
+                    <TextBlock Margin="10,0" HorizontalAlignment="Left" VerticalAlignment="Center" Foreground="White"
+                               Text="图纸上传" />
+                </DockPanel>
+            </Border>
+        </LayUI:LayTitleBar.Header>
+
+        <StackPanel Background="White">
+            <!--图纸名称-->
+            <DockPanel Margin="0 20 0 0" HorizontalAlignment="Left">
+                <LayUI:LayTextBlock  FontSize="15" Margin="20 0 0 0" Text="图纸名称:"  VerticalAlignment="Center" />
+
+                <LayUI:LayTextBox Name="tb_dwgName" LayUI:Watermark="" Margin="0 0 20 0" Height="20" HorizontalAlignment="Left" Width="200" />
+            </DockPanel>
+
+            <!--账户密码-->
+            <DockPanel Margin="0 20 0 0" HorizontalAlignment="Left">
+                <LayUI:LayTextBlock  FontSize="15" Margin="20 0 0 0" Text="是否与前版本对比:"  VerticalAlignment="Center" />
+
+                <RadioButton Content="是" IsChecked="True"  Click="ButtonBase_OnClick"/>
+                <RadioButton Content="否" Click="ButtonBase_OnClick" Margin="10 0 0 0" />
+            </DockPanel>
+
+            <StackPanel Name="sp_contrast"  Visibility="Visible">
+                <!--对比图纸-->
+                <DockPanel Margin="0 20 0 0" HorizontalAlignment="Left">
+                    <LayUI:LayTextBlock  FontSize="15" Margin="35 0 0 0"  Text="对比图纸:"  VerticalAlignment="Center" />
+
+                    <LayUI:LayTextBox Name="tb_dwg2Name" LayUI:Watermark="" Height="20"  HorizontalAlignment="Left" Width="185" />
+                </DockPanel>
+                <LayUI:LayTextBlock TextWrapping="Wrap"  Foreground="Blue" Width="270"  FontSize="15" Margin="35 10 0 0" Text="注:图纸对比时需对图纸数据进行治理,过程中可能需要人工干预,请关注运行 进展。"  VerticalAlignment="Center" />
+
+                <!--对比范围-->
+                <DockPanel Margin="0 20 0 0" HorizontalAlignment="Left">
+                    <LayUI:LayTextBlock  FontSize="15" Margin="35 0 0 0"  Text="对比范围:"  VerticalAlignment="Center" />
+                    <ComboBox Width="150" Name="cb_range"></ComboBox>
+                </DockPanel>
+            </StackPanel>
+
+            <LayUI:LayTextBlock  FontSize="15" Margin="20 50 0 0"  Text="更新日志:"  VerticalAlignment="Center" />
+            <Border Height="100" Width="180" Margin="20 0 0 0">
+                <TextBox Height="100" Width="180" HorizontalAlignment="Left" TextWrapping="Wrap" Background="WhiteSmoke" />
+            </Border>
+
+            <Button Width="80" Margin="0 20 0 10" VerticalAlignment ="Bottom" Click="Button_Click" Content="上传" />
+        </StackPanel>
+    </LayUI:LayTitleBar>
+</Window>

+ 69 - 0
CollaborativePlatformProject/CollaborationPlatform/Form/UploadDrawingForm.xaml.cs

@@ -0,0 +1,69 @@
+using CollaborativePlatformProject.CollaborationPlatform.Entity;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Shapes;
+
+namespace CollaborativePlatformProject.CollaborationPlatform.Form
+{
+    /// <summary>
+    /// UploadDrawingForm.xaml 的交互逻辑
+    /// </summary>
+    public partial class UploadDrawingForm : Window
+    {
+        private ObservableCollection<TreeViewBind> TreeViews = new ObservableCollection<TreeViewBind>();
+
+        public UploadDrawingForm(ObservableCollection<TreeViewBind> treeViews)
+        {
+            InitializeComponent();
+            cb_range.ItemsSource = new List<string> { "全图对比", "指定图层对比" };
+            TreeViews = treeViews;
+        }
+
+        private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
+        {
+            RadioButton radioButton = sender as RadioButton;
+
+            if (radioButton.Content.Equals("是"))
+            {
+                sp_contrast.Visibility = Visibility.Visible;
+            }
+            else
+            {
+                sp_contrast.Visibility = Visibility.Collapsed;
+            }
+
+        }
+
+
+        public List<string> str = new List<string>();
+
+        private void Button_Click(object sender, RoutedEventArgs e)
+        {
+            string name = tb_dwgName.Text;
+            string dbname = tb_dwg2Name.Text;
+
+            TreeViewBind treeViewBind = new TreeViewBind(name, new List<TreeViewBind>() { new TreeViewBind("原图纸"), new TreeViewBind(dbname + "对比图") });
+
+            for (int i = 0; i < TreeViews.Count; i++)
+            {
+                if (TreeViews[i].Name.Equals("项目002"))
+                {
+                    TreeViews[i].Children.Add(treeViewBind);
+                }
+            }
+            this.Close();
+        }
+
+    }
+}

+ 80 - 0
CollaborativePlatformProject/CollaborationPlatform/Util/CollaborationUtil.cs

@@ -0,0 +1,80 @@
+using CollaborativePlatformProject.CollaborationPlatform.Entity;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Media;
+
+namespace CollaborativePlatformProject.CollaborationPlatform.Util
+{
+    /// <summary>
+    ///
+    /// <para>⽂件名(File Name):     CollaborationUtil.cs</para>
+    ///
+    /// <para>描述(Description):     协同工具工具类</para>
+    ///
+    /// <para>数据表(Tables):        nothing</para>
+    ///
+    /// <para>作者(Author):          Sun Zheng Ji</para>
+    ///
+    /// <para>⽇期(Create Date):     2024年4月18日10:06:56</para>
+    ///
+    /// 修改记录(Revision History):
+    ///     R1:
+    ///         修改作者:
+    ///         修改⽇期:
+    ///         修改理由:
+    ///
+    /// </summary>
+    public static class CollaborationUtil
+    {
+        /// <summary>
+        /// 获得指定元素的所有子元素
+        /// </summary>
+        /// <typeparam name="T"></typeparam>
+        /// <param name="obj"></param>
+        /// <returns></returns>
+        public static List<T> GetChildObjects<T>(DependencyObject obj) where T : FrameworkElement
+        {
+            DependencyObject child = null;
+            List<T> childList = new List<T>();
+
+            for (int i = 0; i <= VisualTreeHelper.GetChildrenCount(obj) - 1; i++)
+            {
+                child = VisualTreeHelper.GetChild(obj, i);
+
+                if (child is T)
+                {
+                    childList.Add((T)child);
+                }
+                childList.AddRange(GetChildObjects<T>(child));
+            }
+            return childList;
+        }
+
+
+
+        /// <summary>
+        /// 获取名字在集合中的下标
+        /// </summary>
+        /// <param name="name"></param>
+        /// <param name="treeViews"></param>
+        /// <returns></returns>
+        public static int GetIndexByTreeView(string name,List<TreeViewBind> treeViews )
+        {
+            for (int i = 0; i < treeViews.Count; i++)
+            {
+                if (treeViews[i].Name.Equals(name))
+                {
+                    return i;
+                }
+                
+            }
+
+            return -1;
+        }
+
+    }
+}

+ 76 - 0
CollaborativePlatformProject/CollaborationPlatform/Util/LoginUtil.cs

@@ -0,0 +1,76 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using CollaborativePlatformProject.CollaborationPlatform.Entity;
+
+namespace CollaborativePlatformProject.CollaborationPlatform.Util
+{
+    /// <summary>
+    ///
+    /// <para>⽂件名(File Name):    LoginUtil.cs</para>
+    ///
+    /// <para>描述(Description):    登陆工具类</para>
+    ///
+    /// <para>数据表(Tables):       nothing</para>
+    ///
+    /// <para>作者(Author):         Sun Zheng Ji</para>
+    ///
+    /// <para>⽇期(Create Date):     2024年4月12日13:37:</para>
+    ///
+    /// 修改记录(Revision History):
+    ///     R1:
+    ///         修改作者:
+    ///         修改⽇期:
+    ///         修改理由:
+    ///
+    /// </summary>
+    public class LoginUtil
+    {
+        /// <summary>
+        /// 用户名和密码
+        /// </summary>
+        public static List<UserInformationEntity> UserInfos = new List<UserInformationEntity>(){new UserInformationEntity("1","1")};
+
+        /// <summary>
+        /// 验证登陆
+        /// </summary>
+        /// <param name="userName"></param>
+        /// <param name="pwd"></param>
+        /// <returns></returns>
+        public static bool VerifyLoginMethod(string userName, string pwd)
+        {
+            bool success = false;
+
+            foreach (var userInfo in UserInfos)
+            {
+                if (userInfo.UserName.Equals(userName) && userInfo.UserPwd.Equals(pwd))
+                {
+                    success = true;
+                    break;
+                }
+            }
+
+            return success;
+        }
+
+        /// <summary>
+        /// 注册
+        /// </summary>
+        /// <returns></returns>
+        public static bool RegisterMethod(string userName, string pwd)
+        {
+            try
+            {
+                UserInfos.Add(new UserInformationEntity(userName, pwd));
+            }
+            catch (Exception e)
+            {
+                return false;
+            }
+
+            return true;
+        }
+    }
+}

+ 24 - 0
CollaborativePlatformProject/CollaborativePlatformProject.csproj

@@ -0,0 +1,24 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <OutputType>WinExe</OutputType>
+    <TargetFramework>net6.0-windows</TargetFramework>
+    <Nullable>enable</Nullable>
+    <ImplicitUsings>enable</ImplicitUsings>
+    <UseWPF>true</UseWPF>
+  </PropertyGroup>
+
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
+    <WarningLevel>0</WarningLevel>
+  </PropertyGroup>
+
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
+    <WarningLevel>0</WarningLevel>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <PackageReference Include="HandyControl" Version="3.5.1" />
+    <PackageReference Include="LayUI.Wpf" Version="1.0.2.240407" />
+  </ItemGroup>
+
+</Project>

+ 52 - 0
CollaborativePlatformProject/CollaborativePlatformProject.csproj.user

@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup />
+  <ItemGroup>
+    <ApplicationDefinition Update="App.xaml">
+      <SubType>Designer</SubType>
+    </ApplicationDefinition>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Update="CollaborationPlatform\Form\HomepageForm.xaml.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Update="CollaborationPlatform\Form\ProjectForm.xaml.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Update="CollaborationPlatform\Form\ToolsForm.xaml.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Update="CollaborationPlatform\Form\UploadDrawingForm.xaml.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Update="FormLibrary\CheckboxButton\CBButtonControls.xaml.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Update="FormLibrary\Project\ProjectControls.xaml.cs">
+      <SubType>Code</SubType>
+    </Compile>
+  </ItemGroup>
+  <ItemGroup>
+    <Page Update="CollaborationPlatform\Form\HomepageForm.xaml">
+      <SubType>Designer</SubType>
+    </Page>
+    <Page Update="CollaborationPlatform\Form\ProjectForm.xaml">
+      <SubType>Designer</SubType>
+    </Page>
+    <Page Update="CollaborationPlatform\Form\ToolsForm.xaml">
+      <SubType>Designer</SubType>
+    </Page>
+    <Page Update="CollaborationPlatform\Form\UploadDrawingForm.xaml">
+      <SubType>Designer</SubType>
+    </Page>
+    <Page Update="FormLibrary\CheckboxButton\CBButtonControls.xaml">
+      <SubType>Designer</SubType>
+    </Page>
+    <Page Update="FormLibrary\Project\ProjectControls.xaml">
+      <SubType>Designer</SubType>
+    </Page>
+    <Page Update="MainWindow.xaml">
+      <SubType>Designer</SubType>
+    </Page>
+  </ItemGroup>
+</Project>

+ 16 - 0
CollaborativePlatformProject/FormLibrary/CheckboxButton/CBButtonControls.xaml

@@ -0,0 +1,16 @@
+<UserControl x:Class="CollaborativePlatformProject.FormLibrary.CheckboxButton.CBButtonControls"
+             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+             xmlns:local="clr-namespace:CollaborativePlatformProject.FormLibrary.CheckboxButton"
+             mc:Ignorable="d" Width="80" Height="80" Background="Transparent">
+    <StackPanel PreviewMouseLeftButtonUp="UIElement_OnPreviewMouseLeftButtonUp">
+
+        <StackPanel Margin="5" Height="32" Width="32" Background="Aquamarine">
+        </StackPanel>
+
+        <TextBlock Name="tb_name" HorizontalAlignment="Center" />
+        <CheckBox  Name="cb_check" Click="Cb_check_OnClick" Margin="0 5 0 0" HorizontalAlignment="Center" />
+    </StackPanel>
+</UserControl>

+ 79 - 0
CollaborativePlatformProject/FormLibrary/CheckboxButton/CBButtonControls.xaml.cs

@@ -0,0 +1,79 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace CollaborativePlatformProject.FormLibrary.CheckboxButton
+{
+    /// <summary>
+    /// CBButtonControls.xaml 的交互逻辑
+    /// </summary>
+    public partial class CBButtonControls : UserControl
+    {
+        public CBButtonControlsData CbButtonControls;
+
+        public CBButtonControls(CBButtonControlsData cbButtonControls)
+        {
+            InitializeComponent();
+            CbButtonControls = cbButtonControls;
+            tb_name.Text = CbButtonControls.BtnName;
+            cb_check.IsChecked = CbButtonControls.CbIsCheck;
+        }
+
+        private void UIElement_OnPreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
+        {
+            if ((bool)cb_check.IsChecked)
+            {
+                cb_check.IsChecked = false;
+            }
+            else
+            {
+                cb_check.IsChecked = true;
+            }
+            CbButtonControls.CbIsCheck = (bool)cb_check.IsChecked;
+
+        }
+
+        private void Cb_check_OnClick(object sender, RoutedEventArgs e)
+        {
+            if ((bool)cb_check.IsChecked)
+            {
+                cb_check.IsChecked = false;
+            }
+            else
+            {
+                cb_check.IsChecked = true;
+            }
+            CbButtonControls.CbIsCheck = (bool)cb_check.IsChecked;
+        }
+    }
+
+    public class CBButtonControlsData
+    {
+        public CBButtonControlsData(string btnName, bool cbIsCheck, string imgPath)
+        {
+            BtnName = btnName;
+            CbIsCheck = cbIsCheck;
+            ImgPath = imgPath;
+            Guid = System.Guid.NewGuid().ToString();
+        }
+
+        public string Guid { get; set; }
+
+        public string BtnName { get; set; }
+
+        public bool CbIsCheck { get; set; } = false;
+
+        public string ImgPath { get; set; }
+    }
+}

+ 36 - 0
CollaborativePlatformProject/FormLibrary/Project/ProjectControls.xaml

@@ -0,0 +1,36 @@
+<UserControl x:Class="CollaborativePlatformProject.FormLibrary.Project.ProjectControls"
+             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
+             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
+             xmlns:local="clr-namespace:CollaborativePlatformProject.FormLibrary.Project"
+             mc:Ignorable="d" Width="800" Height="550">
+    <StackPanel Orientation="Horizontal">
+        <Border  BorderBrush="Green" BorderThickness="0.5,0,0,0.5" Width="200">
+
+            <StackPanel>
+
+                <TextBlock Text="建筑" HorizontalAlignment="Center" FontSize="25" Grid.Row="0"/>
+                <TreeView  x:Name="tv_building" Height="518">
+                    <TreeView.ItemTemplate>
+                        <HierarchicalDataTemplate ItemsSource="{Binding Children}">
+                            <TextBlock Text="{Binding Name}"/>
+                        </HierarchicalDataTemplate>
+                    </TreeView.ItemTemplate>
+                </TreeView>
+            </StackPanel>
+        </Border>
+        <Border  BorderBrush="Green" BorderThickness="0.5,0,0,0.5" Width="200">
+            <TextBlock Text="结构" HorizontalAlignment="Center" FontSize="25"/>
+        </Border>
+        <Border  BorderBrush="Green" BorderThickness="0.5,0,0,0.5" Width="200">
+            <TextBlock Text="给排水" HorizontalAlignment="Center" FontSize="25"/>
+        </Border>
+        <Border  BorderBrush="Green" BorderThickness="0.5,0,0,0.5" Width="200">
+            <TextBlock Text="暖通" HorizontalAlignment="Center" FontSize="25"/>
+        </Border>
+        <Border  BorderBrush="Green" BorderThickness="0.5,0,0,0.5" Width="200">
+            <TextBlock Text="电气" HorizontalAlignment="Center" FontSize="25"/>
+        </Border>
+    </StackPanel>
+</UserControl>

+ 39 - 0
CollaborativePlatformProject/FormLibrary/Project/ProjectControls.xaml.cs

@@ -0,0 +1,39 @@
+using CollaborativePlatformProject.CollaborationPlatform.Entity;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace CollaborativePlatformProject.FormLibrary.Project
+{
+    /// <summary>
+    /// ProjectControls.xaml 的交互逻辑
+    /// </summary>
+    public partial class ProjectControls : UserControl
+    {
+        public string pro_Name;
+
+        /// <summary>
+        /// 树状图数据
+        /// </summary>
+        public ObservableCollection<TreeViewBind> TreeViewDatas;
+
+        public ProjectControls(ObservableCollection<TreeViewBind> treeViewDatas)
+        {
+            InitializeComponent();
+            TreeViewDatas = treeViewDatas;
+            this.tv_building.ItemsSource = TreeViewDatas;
+        }
+    }
+}

+ 97 - 0
CollaborativePlatformProject/MainWindow.xaml

@@ -0,0 +1,97 @@
+<Window x:Class="CollaborativePlatformProject.MainWindow"
+        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+        xmlns:local="clr-namespace:CollaborativePlatformProject"
+        xmlns:HandyControl="clr-namespace:HandyControl.Controls;assembly=HandyControl"
+        xmlns:LayUI="clr-namespace:LayUI.Wpf.Controls;assembly=LayUI.Wpf"
+        mc:Ignorable="d"
+        AllowsTransparency="True"
+        Background=" Transparent"
+        WindowStartupLocation="CenterScreen"
+        WindowStyle="None"
+        Title="" Height="500" Width="350" ResizeMode="NoResize">
+
+    <LayUI:LayTitleBar Background="{DynamicResource Blue}"   CornerRadius="10"
+                       WindowState="{Binding WindowState, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
+
+        <Border  CornerRadius="0 0 10 10" Background="White">
+            <StackPanel>
+                <StackPanel Background="{DynamicResource Blue}" Height="150">
+                    <Canvas Background="White" Width="80" Height="80">
+                        <Image  Width="80" Height="80" Panel.ZIndex="0">
+                            <Image.Clip>
+                                <EllipseGeometry RadiusX="40" RadiusY="40" Center="40,40" />
+                            </Image.Clip>
+                        </Image>
+                    </Canvas>
+
+                    <TextBlock Margin="0 10 0 0" Text="协同登录平台"  HorizontalAlignment="Center" Foreground="Wheat" FontSize="18" />
+                </StackPanel>
+
+                <StackPanel Name="sp_Login" Margin="0 50 0 0" Visibility="Visible">
+                    <!--账户密码-->
+                    <DockPanel>
+                        <LayUI:LayTextBlock Width="70" FontSize="18" Margin="30 0 0 0" Text="账号:"  VerticalAlignment="Center"></LayUI:LayTextBlock>
+                        <LayUI:LayTextBox Name="tb_userName" LayUI:Watermark="请输入账号" HorizontalAlignment="Left" Width="200"></LayUI:LayTextBox>
+                    </DockPanel>
+                    <DockPanel Margin=" 0 30 0 0">
+                        <LayUI:LayTextBlock Width="70" FontSize="18" Margin="30 0 0 0" Text="密码:" VerticalAlignment="Center"></LayUI:LayTextBlock>
+                        <LayUI:LayPasswordBox Name="tb_userPwd" HorizontalAlignment="Left" Width="200"></LayUI:LayPasswordBox>
+                        <!--<TextBox HorizontalAlignment="Left" Width="200"></TextBox>-->
+                    </DockPanel>
+                    <!--登陆按钮-->
+                    <DockPanel Margin=" 0 38 0 0">
+                        <LayUI:LayButton HorizontalAlignment="Left" Height="30" Margin="50 0 0 0" Content="登陆" FontSize="15"
+                                     Click="LoginLayButton_Click" />
+                        <LayUI:LayButton HorizontalAlignment="Left" Height="30" Margin="60 0 0 0" Content="注册" FontSize="15"
+                                     Click="RegisterLayButton_Click" />
+                    </DockPanel>
+
+                    <DockPanel Margin="0 20 0 0">
+                        <LayUI:LayButton HorizontalAlignment="Right" Height="30" Margin="0 0 38 0" Click="TemporaryLogin_Click" Content="临时登陆" FontSize="15"></LayUI:LayButton>
+                    </DockPanel>
+                </StackPanel>
+
+                <StackPanel Name="sp_Register" Margin="0 50 0 0" Visibility="Collapsed">
+                    <!--账户密码-->
+                    <DockPanel>
+                        <LayUI:LayTextBlock Width="70" FontSize="18" Margin="30 0 0 0" Text="账号:" VerticalAlignment="Center"></LayUI:LayTextBlock>
+                        <LayUI:LayTextBox Name="tb_rguserName" LayUI:Watermark="请输入账号" HorizontalAlignment="Left" Width="200"></LayUI:LayTextBox>
+                    </DockPanel>
+                    <DockPanel Margin=" 0 30 0 0">
+                        <LayUI:LayTextBlock Width="70" FontSize="18" Margin="30 0 0 0" Text="密码:" VerticalAlignment="Center"></LayUI:LayTextBlock>
+                        <LayUI:LayPasswordBox Name="tb_rguserPwd" HorizontalAlignment="Left" Width="200"></LayUI:LayPasswordBox>
+                        <!--<TextBox HorizontalAlignment="Left" Width="200"></TextBox>-->
+                    </DockPanel>
+
+                    <DockPanel Margin=" 0 30 0 0">
+                        <LayUI:LayTextBlock Width="70" FontSize="18" Margin="30 0 0 0" Text="密码:" VerticalAlignment="Center"></LayUI:LayTextBlock>
+                        <LayUI:LayPasswordBox Name="tb_rgconuserPwd" LayUI:Watermark="请确认密码" HorizontalAlignment="Left" Width="200"></LayUI:LayPasswordBox>
+                        <!--<TextBox HorizontalAlignment="Left" Width="200"></TextBox>-->
+                    </DockPanel>
+
+                    <DockPanel Margin="0 20 0 0">
+                        <LayUI:LayButton HorizontalAlignment="Center" Height="30"  Content="注册" FontSize="15"></LayUI:LayButton>
+                    </DockPanel>
+                </StackPanel>
+
+                <StackPanel Name="sp_temporaryLogin" Margin="0 100 0 0"  Visibility="Collapsed">
+
+                    <!--账户密码-->
+                    <DockPanel>
+                        <LayUI:LayTextBlock Width="70" FontSize="18" Margin="30 0 0 0" Text="邀请码:"  VerticalAlignment="Center"></LayUI:LayTextBlock>
+                        <LayUI:LayTextBox Name="tb_InvitationCode" LayUI:Watermark="请输入邀请码" HorizontalAlignment="Left" Width="200"></LayUI:LayTextBox>
+                    </DockPanel>
+
+                    <DockPanel Margin="0 50 0 0">
+                        <LayUI:LayButton HorizontalAlignment="Right" Height="30" Margin="0 0 38 0" Click="TemporaryLogin2_Click" Content="登陆" FontSize="15"></LayUI:LayButton>
+                    </DockPanel>
+
+
+                </StackPanel>
+            </StackPanel>
+        </Border>
+    </LayUI:LayTitleBar>
+</Window>

+ 97 - 0
CollaborativePlatformProject/MainWindow.xaml.cs

@@ -0,0 +1,97 @@
+using System.Linq;
+using System.Text;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using CollaborativePlatformProject.CollaborationPlatform.Form;
+using CollaborativePlatformProject.CollaborationPlatform.Util;
+
+namespace CollaborativePlatformProject
+{
+    /// <summary>
+    /// Interaction logic for MainWindow.xaml
+    /// </summary>
+    public partial class MainWindow : Window
+    {
+        public MainWindow()
+        {
+            InitializeComponent();
+            this.WindowStartupLocation = WindowStartupLocation.CenterScreen;
+        }
+
+        /// <summary>
+        /// 登陆
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void LoginLayButton_Click(object sender, RoutedEventArgs e)
+        {
+            //获取用户名和密码
+            string userName = tb_userName.Text;
+            string userPwd = tb_userPwd.Text;
+
+            //验证登陆
+            if (LoginUtil.VerifyLoginMethod(userName, userPwd))
+            {
+                HomepageForm homepageForm = new HomepageForm();
+                homepageForm.Show();
+                this.Close();
+            }
+            else
+            {
+                //登陆事变
+                MessageBox.Show("用户名或密码错误!", "提示", MessageBoxButton.OK, MessageBoxImage.Information, MessageBoxResult.None);
+            }
+        }
+
+        /// <summary>
+        /// 注册
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void RegisterLayButton_Click(object sender, RoutedEventArgs e)
+        {
+
+        }
+
+
+        /// <summary>
+        /// 临时登陆按下
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void TemporaryLogin_Click(object sender, RoutedEventArgs e)
+        {
+            sp_Login.Visibility = Visibility.Collapsed;
+            sp_Register.Visibility = Visibility.Collapsed;
+            sp_temporaryLogin.Visibility = Visibility.Visible;
+        }
+        /// <summary>
+        /// 临时登陆-确定
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void TemporaryLogin2_Click(object sender, RoutedEventArgs e)
+        {
+            List<string> temporaryLogins = new List<string>() { "550632" };
+
+            if (!string.IsNullOrEmpty(tb_InvitationCode.Text) && temporaryLogins.Contains(tb_InvitationCode.Text))
+            {
+                HomepageForm homepageForm = new HomepageForm();
+                homepageForm.Show();
+                this.Close();
+            }
+            else
+            {
+                //登陆事变
+                MessageBox.Show("邀请码错误!", "提示", MessageBoxButton.OK, MessageBoxImage.Information, MessageBoxResult.None);
+            }
+        }
+    }
+}