From dbafcedefd3840d48b978de50141a15cffcc1e09 Mon Sep 17 00:00:00 2001
From: lu <99954486@qq.com>
Date: 星期五, 25 十月 2024 09:59:33 +0800
Subject: [PATCH] Merge branch 'master' of http://43.142.96.171:8080/r/~tjx/GsMesClient

---
 DevApp/Gs.DevApp/App.config                                     |  168 
 DevApp/Gs.DevApp/ToolBox/MsgHelper.cs                           |   14 
 DevApp/Gs.DevApp/ToolBox/LogHelper.cs                           |   39 
 DevApp/Gs.DevApp/packages.config                                |   42 
 DevApp/Gs.DevApp/DevFrm/User/UserSetPwd.cs                      |   46 
 DevApp/Gs.DevApp/DevFrm/Sys/Organization.cs                     |  206 
 DevApp/Gs.DevApp/UserControl/UcLookCk.resx                      |  244 
 DevApp/Gs.DevApp/DevFrm/Sys/Organization.resx                   |  244 
 DevApp/Gs.DevApp/DevFrm/Warehouse/Models/MesInvItemArn.cs       |  215 
 DevApp/Gs.DevApp/DevFrm/QC/Models/MesSysLookupTypes.cs          |  144 
 DevApp/Gs.DevApp/DevFrm/Sys/SysMenu.cs                          |  257 
 DevApp/Gs.DevApp/DevFrm/Sys/SysMenu.resx                        |  244 
 DevApp/Gs.DevApp/DevFrm/Sys/DocNoRule.cs                        |  224 
 DevApp/Gs.DevApp/TestForm/XtraForm1.resx                        |  289 
 DevApp/Gs.DevApp/DevFrm/FrmMain.resx                            |  796 +-
 DevApp/Gs.DevApp/DevFrm/Sys/FileSelector.cs                     |   79 
 DevApp/Gs.DevApp/DevFrm/Sys/EasyRptDesign.resx                  |  313 
 DevApp/Gs.DevApp/DevFrm/Warehouse/Models/MesDepotSections.cs    |   86 
 DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs                       |  526 
 DevApp/Gs.DevApp/TestForm/XtraForm1.cs                          |   74 
 DevApp/Gs.DevApp/DevFrm/QC/Models/MesSysLookups.cs              |    7 
 DevApp/Gs.DevApp/UserControl/UcLookSupplier.resx                |  244 
 DevApp/Gs.DevApp/DevFrm/Sys/EasyRptDesign.cs                    |   85 
 DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesUnit.cs                |  107 
 DevApp/Gs.DevApp/Properties/Settings.Designer.cs                |    9 
 DevApp/Gs.DevApp/UserControl/SelectCgMx.cs                      |   84 
 DevApp/Gs.DevApp/UserControl/UcComBox.cs                        |   34 
 DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_MesInvItemArn.resx        |  244 
 DevApp/Gs.DevApp/Entity/ReturnModel.cs                          |   57 
 DevApp/Gs.DevApp/DevFrm/User/Role.resx                          |  244 
 DevApp/Gs.DevApp/DevFrm/User/User.resx                          |  289 
 DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesItemType.resx          |  244 
 DevApp/Gs.DevApp/DevFrm/Warehouse/Models/MesDepots.cs           |  241 
 DevApp/Gs.DevApp/DevFrm/User/User.cs                            |  205 
 DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Supplier.resx             |  244 
 DevApp/Gs.DevApp/Properties/Resources.resx                      | 1251 ++-
 DevApp/Gs.DevApp/UserControl/ShowFilter.cs                      |  153 
 DevApp/Gs.DevApp/DevFrm/Sys/SysLog.resx                         |  244 
 DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_MesInvItemArn.cs          |  294 
 DevApp/Gs.DevApp/DevFrm/Sys/SysLog.cs                           |   75 
 DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Department.resx           |  244 
 DevApp/Gs.DevApp/ToolBox/UpdateParentEventArgs.cs               |    8 
 DevApp/Gs.DevApp/Properties/Settings.settings                   |   47 
 DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesUnit.resx              |  244 
 DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Staff.cs                  |  115 
 DevApp/Gs.DevApp/DevFrm/Sys/DocNoRule.resx                      |  244 
 DevApp/Gs.DevApp/DevFrm/FrmLogin.resx                           |  289 
 DevApp/Gs.DevApp/DevFrm/Warehouse/Models/MesInvItemArnDetail.cs |  227 
 DevApp/Gs.DevApp/DevFrm/Rpt/RptPreview.resx                     |  244 
 DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_MesRohIn.resx             |  244 
 DevApp/Gs.DevApp/UserControl/ShowDialogForm.resx                |  244 
 DevApp/Gs.DevApp/DevFrm/QC/Frm_MesSysLookups.cs                 |  278 
 DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesWorkshop.resx          |  244 
 DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Holidy.resx               |  244 
 DevApp/Gs.DevApp/Gs.DevApp.csproj.user                          |    2 
 DevApp/Gs.DevApp/DevFrm/Sys/EasyCode.cs                         |  798 +
 DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesItemType.cs            |  107 
 DevApp/Gs.DevApp/Gs.DevApp.csproj                               | 1298 +-
 DevApp/Gs.DevApp/UserControl/UcComBox.resx                      |  244 
 DevApp/Gs.DevApp/UserControl/UcLookSupplier.cs                  |   72 
 DevApp/Gs.DevApp/Entity/PageQueryModel.cs                       |   42 
 DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_MesDepot.resx             |  244 
 DevApp/Gs.DevApp/UserControl/UcToolBarMenu.cs                   |  580 
 DevApp/Gs.DevApp/Properties/AssemblyInfo.cs                     |    4 
 DevApp/Gs.DevApp/UserControl/ShowRptWizard.cs                   |   41 
 DevApp/Gs.DevApp/UserControl/UcPageBar.cs                       |  110 
 DevApp/Gs.DevApp/DevFrm/User/Role.cs                            |  311 
 DevApp/Gs.DevApp/DevFrm/QC/Frm_MesSysLookups.Designer.cs        |   75 
 DevApp/Gs.DevApp/UserControl/ShowFilter.resx                    |  244 
 DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesPosition.resx          |  244 
 DevApp/Gs.DevApp/UserControl/ShowDialogForm.cs                  |  147 
 DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Holidy.cs                 |  223 
 DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesItems.resx             |  244 
 DevApp/Gs.DevApp/DevFrm/Sys/EasyCode.resx                       |  244 
 DevApp/Gs.DevApp/Entity/XlsOutModel.cs                          |   24 
 DevApp/Gs.DevApp/UserControl/SelectCgMx.resx                    |  244 
 DevApp/Gs.DevApp/UserControl/UcPageBar.resx                     |  244 
 DevApp/Gs.DevApp/UserControl/UcToolBarMenu.resx                 | 1212 +-
 DevApp/Gs.DevApp/Program.cs                                     |   25 
 DevApp/Gs.DevApp/Properties/Resources.Designer.cs               |  223 
 DevApp/Gs.DevApp/UserControl/ShowRptWizard.resx                 |  244 
 DevApp/Gs.DevApp/DevFrm/FrmMain.cs                              |  226 
 DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Staff.resx                |  244 
 DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesPosition.cs            |  106 
 DevApp/Gs.DevApp/DevFrm/User/UserSelectRole.cs                  |  171 
 DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Supplier.cs               |  113 
 DevApp/Gs.DevApp/DevFrm/QC/Frm_MesSysLookups.resx               |  244 
 DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_MesDepot.cs               |  271 
 DevApp/Gs.DevApp/DevFrm/User/UserSetPwd.resx                    |  289 
 /dev/null                                                       |    0 
 DevApp/Gs.DevApp/DevFrm/FrmLogin.cs                             |  163 
 DevApp/Gs.DevApp/UserControl/UcLookCk.cs                        |   73 
 DevApp/Gs.DevApp/Entity/LoginInfoModel.cs                       |   43 
 DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesItems.cs               |  114 
 DevApp/Gs.DevApp/DevFrm/Rpt/RptPreview.cs                       |   73 
 DevApp/Gs.DevApp/DevFrm/User/UserSelectRole.resx                |  244 
 DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Department.cs             |  112 
 DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesWorkshop.cs            |  265 
 DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_MesRohIn.cs               |  122 
 99 files changed, 11,835 insertions(+), 10,049 deletions(-)

diff --git a/DevApp/Gs.DevApp/App.config b/DevApp/Gs.DevApp/App.config
index 2912061..4987eb1 100644
--- a/DevApp/Gs.DevApp/App.config
+++ b/DevApp/Gs.DevApp/App.config
@@ -1,87 +1,87 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <configuration>
-  <configSections>
-    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System">
-      <section name="DevExpress.LookAndFeel.Design.AppSettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
-    </sectionGroup>
-    <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-      <section name="Gs.DevApp.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
-    </sectionGroup>
-    <section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.122.23.1, Culture=neutral, PublicKeyToken=89b483f429c47342" />
-  </configSections>
-  <applicationSettings>
-    <DevExpress.LookAndFeel.Design.AppSettings>
-      <setting name="DPIAwarenessMode" serializeAs="String">
-        <value>System</value>
-      </setting>
-      <setting name="RegisterBonusSkins" serializeAs="String">
-        <value>True</value>
-      </setting>
-    </DevExpress.LookAndFeel.Design.AppSettings>
-  </applicationSettings>
-  <startup>
-    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
-  </startup>
-  <appSettings>
-    <add key="WebApiUrl" value="http://localhost:5263/"/>
-    <!--<add key="WebApiUrl" value="http://192.168.1.145:81/" />-->
-    <add key="LogPath" value="logs" />
-    <add key="ProductName" value="骞挎繁绉戞妧 G-MES V2.0" />
-    <add key="PageSize" value="50" />
-    <add key="Version" value="0.1" />
-    <add key="IsAutoUpdater" value="0" />
-    <add key="AutoUpdaterXml" value="https://dianbei.top/AutoUpdater/AutoUpdater.xml" />
-  </appSettings>
-  <userSettings>
-    <Gs.DevApp.Properties.Settings>
-      <setting name="userName" serializeAs="String">
-        <value />
-      </setting>
-      <setting name="userPwd" serializeAs="String">
-        <value />
-      </setting>
-      <setting name="remember" serializeAs="String">
-        <value>False</value>
-      </setting>
-      <setting name="orgGuid" serializeAs="String">
-        <value />
-      </setting>
-      <setting name="fontSize" serializeAs="String">
-        <value>10</value>
-      </setting>
-      <setting name="fontName" serializeAs="String">
-        <value>Tahoma</value>
-      </setting>
-    </Gs.DevApp.Properties.Settings>
-  </userSettings>
-  <system.web>
-    <membership defaultProvider="ClientAuthenticationMembershipProvider">
-      <providers>
-        <add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" />
-      </providers>
-    </membership>
-    <roleManager defaultProvider="ClientRoleProvider" enabled="true">
-      <providers>
-        <add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400" />
-      </providers>
-    </roleManager>
-  </system.web>
-  <system.data>
-    <DbProviderFactories>
-      <remove invariant="Oracle.ManagedDataAccess.Client" />
-      <add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver" type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.122.23.1, Culture=neutral, PublicKeyToken=89b483f429c47342" />
-    </DbProviderFactories>
-  </system.data>
-  <runtime>
-    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
-      <dependentAssembly>
-        <assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
-      </dependentAssembly>
-      <dependentAssembly>
-        <assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
-        <bindingRedirect oldVersion="0.0.0.0-4.0.1.2" newVersion="4.0.1.2" />
-      </dependentAssembly>
-    </assemblyBinding>
-  </runtime>
+    <configSections>
+        <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System">
+            <section name="DevExpress.LookAndFeel.Design.AppSettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
+        </sectionGroup>
+        <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+            <section name="Gs.DevApp.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
+        </sectionGroup>
+        <section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.122.23.1, Culture=neutral, PublicKeyToken=89b483f429c47342" />
+    </configSections>
+    <applicationSettings>
+        <DevExpress.LookAndFeel.Design.AppSettings>
+            <setting name="DPIAwarenessMode" serializeAs="String">
+                <value>System</value>
+            </setting>
+            <setting name="RegisterBonusSkins" serializeAs="String">
+                <value>True</value>
+            </setting>
+        </DevExpress.LookAndFeel.Design.AppSettings>
+    </applicationSettings>
+    <startup>
+        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
+    </startup>
+    <appSettings>
+        <add key="WebApiUrl" value="http://localhost:5263/" />
+        <!--<add key="WebApiUrl" value="http://192.168.1.145:81/" />-->
+        <add key="LogPath" value="logs" />
+        <add key="ProductName" value="骞挎繁绉戞妧 G-MES V2.0" />
+        <add key="PageSize" value="50" />
+        <add key="Version" value="0.1" />
+        <add key="IsAutoUpdater" value="0" />
+        <add key="AutoUpdaterXml" value="https://dianbei.top/AutoUpdater/AutoUpdater.xml" />
+    </appSettings>
+    <userSettings>
+        <Gs.DevApp.Properties.Settings>
+            <setting name="userName" serializeAs="String">
+                <value />
+            </setting>
+            <setting name="userPwd" serializeAs="String">
+                <value />
+            </setting>
+            <setting name="remember" serializeAs="String">
+                <value>False</value>
+            </setting>
+            <setting name="orgGuid" serializeAs="String">
+                <value />
+            </setting>
+            <setting name="fontSize" serializeAs="String">
+                <value>10</value>
+            </setting>
+            <setting name="fontName" serializeAs="String">
+                <value>Tahoma</value>
+            </setting>
+        </Gs.DevApp.Properties.Settings>
+    </userSettings>
+    <system.web>
+        <membership defaultProvider="ClientAuthenticationMembershipProvider">
+            <providers>
+                <add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" />
+            </providers>
+        </membership>
+        <roleManager defaultProvider="ClientRoleProvider" enabled="true">
+            <providers>
+                <add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400" />
+            </providers>
+        </roleManager>
+    </system.web>
+    <system.data>
+        <DbProviderFactories>
+            <remove invariant="Oracle.ManagedDataAccess.Client" />
+            <add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver" type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.122.23.1, Culture=neutral, PublicKeyToken=89b483f429c47342" />
+        </DbProviderFactories>
+    </system.data>
+    <runtime>
+        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+            <dependentAssembly>
+                <assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+                <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
+            </dependentAssembly>
+            <dependentAssembly>
+                <assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
+                <bindingRedirect oldVersion="0.0.0.0-4.0.1.2" newVersion="4.0.1.2" />
+            </dependentAssembly>
+        </assemblyBinding>
+    </runtime>
 </configuration>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Department.cs b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Department.cs
index 4ff0207..988a092 100644
--- a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Department.cs
+++ b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Department.cs
@@ -1,52 +1,55 @@
-锘縰sing DevExpress.XtraEditors;
-using DevExpress.XtraGrid.Views.Base;
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using System.Windows.Forms;
+using DevExpress.XtraEditors;
 using DevExpress.XtraGrid.Views.Grid;
-using DevExpress.XtraGrid.Views.Grid.ViewInfo;
 using Gs.DevApp.Entity;
 using Gs.DevApp.ToolBox;
+using Gs.DevApp.UserControl;
 using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.Data;
-using System.Drawing;
-using System.Windows.Forms;
 
 namespace Gs.DevApp.DevFrm
 {
-    public partial class Frm_Department : DevExpress.XtraEditors.XtraForm
+    public partial class Frm_Department : XtraForm
     {
-        string _webServiceName = "MesCustomerManager/";
-        List<FilterEntity> _filterList = new List<FilterEntity>();
+        private List<FilterEntity> _filterList = new List<FilterEntity>();
+        private readonly string _webServiceName = "MesCustomerManager/";
+
         public Frm_Department()
         {
             InitializeComponent();
-            this.toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
-            this.toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
+            toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
+            toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
             gcMain.MouseDoubleClick += GcMain_MouseDoubleClick;
-            gridView1.CustomDrawRowIndicator += GridView1_CustomDrawRowIndicator;
+            gridView1.CustomDrawRowIndicator +=
+                GridView1_CustomDrawRowIndicator;
             getPageList(1, UtilityHelper.GetPageSize());
             pageBar1.PagerEvent += PageBar1_PagerEvent;
         }
-        private void GridView1_CustomDrawRowIndicator(object sender, RowIndicatorCustomDrawEventArgs e)
+
+        private void GridView1_CustomDrawRowIndicator(object sender,
+            RowIndicatorCustomDrawEventArgs e)
         {
             if (e.Info.IsRowIndicator && e.RowHandle >= 0)
-            {
                 e.Info.DisplayText = (e.RowHandle + 1).ToString();
-            }
         }
+
         /// <summary>
-        /// 鍙屽嚮浜嬩欢
+        ///     鍙屽嚮浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void GcMain_MouseDoubleClick(object sender, MouseEventArgs e)
         {
-            string rowGuid = Gs.DevApp.ToolBox.UtilityHelper.GetCurrentDoubleRow(gridView1, e, "guid");
+            var rowGuid =
+                UtilityHelper.GetCurrentDoubleRow(gridView1, e, "guid");
             if (!string.IsNullOrEmpty(rowGuid))
                 getModel(rowGuid, false, 999);
         }
+
         /// <summary>
-        /// 鍒嗛〉浜嬩欢
+        ///     鍒嗛〉浜嬩欢
         /// </summary>
         /// <param name="curPage"></param>
         /// <param name="pageSize"></param>
@@ -54,19 +57,21 @@
         {
             getPageList(curPage, pageSize);
         }
+
         /// <summary>
-        /// 鏌ヨ浜嬩欢
+        ///     鏌ヨ浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnQueryClick(object sender, EventArgs e)
         {
-            Gs.DevApp.UserControl.ShowFilter frm = new Gs.DevApp.UserControl.ShowFilter(gridView1.Columns, _filterList);
+            var frm = new ShowFilter(gridView1.Columns, _filterList);
             frm.UpdateParent += Frm_UpdateParent;
             frm.ShowDialog();
         }
+
         /// <summary>
-        /// 鏌ヨ鍥炶皟
+        ///     鏌ヨ鍥炶皟
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -75,8 +80,9 @@
             _filterList = e.FilterList;
             getPageList(1, pageBar1.RowsCount);
         }
+
         /// <summary>
-        /// 鍒锋柊浜嬩欢
+        ///     鍒锋柊浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -85,70 +91,76 @@
             UtilityHelper.JumpToTab(xtraTabControl1, 0);
             getPageList(1, UtilityHelper.GetPageSize());
         }
+
         /// <summary>
-        /// 
         /// </summary>
         /// <param name="curPage">绗嚑椤�</param>
         /// <param name="pageSize">姣忛〉鍑犳潯</param>
         private void getPageList(int curPage, int pageSize)
         {
-            System.Text.StringBuilder _sbSqlWhere = new System.Text.StringBuilder();
-            foreach (FilterEntity itm in _filterList)
-            {
-                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'");
-            }
-            PageQueryModel pgq = new PageQueryModel(curPage, pageSize, "create_date", "asc", "", _sbSqlWhere.ToString());
-            string json = JsonConvert.SerializeObject(pgq);
+            var _sbSqlWhere = new StringBuilder();
+            foreach (var itm in _filterList)
+                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" +
+                                   itm.fileValue + "'");
+            var pgq = new PageQueryModel(curPage, pageSize, "create_date",
+                "asc", "", _sbSqlWhere.ToString());
+            var json = JsonConvert.SerializeObject(pgq);
             try
             {
-                string strReturn = UtilityHelper.HttpPost("", _webServiceName+"GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
-                DataTable dt = dd.rtnData.list;
+                var strReturn = UtilityHelper.HttpPost("",
+                    _webServiceName + "GetListPage", json);
+                var dd = UtilityHelper.ReturnToTablePage(strReturn);
+                var dt = dd.rtnData.list;
                 gcMain.BindingContext = new BindingContext();
                 gcMain.DataSource = dt;
                 gcMain.ForceInitialize();
-                int dddd = dd.rtnData.pages;//鎬婚〉
+                var dddd = dd.rtnData.pages; //鎬婚〉
                 pageBar1.TotalPages = dddd;
-                pageBar1.RecordCount = dd.rtnData.total;//璁板綍鎬绘暟
-                pageBar1.CurrentPage = curPage;//褰撳墠椤�
-                pageBar1.RowsCount = pageSize;//姣忛〉鏄剧ず
+                pageBar1.RecordCount = dd.rtnData.total; //璁板綍鎬绘暟
+                pageBar1.CurrentPage = curPage; //褰撳墠椤�
+                pageBar1.RowsCount = pageSize; //姣忛〉鏄剧ず
                 pageBar1.setTxt();
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
+
         private void getModel(string strGuid, bool isEdit, int tabIdx)
         {
             if (string.IsNullOrEmpty(strGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             UtilityHelper.JumpToTab(xtraTabControl1, tabIdx);
             var _obj = new
             {
-                guid = strGuid,//涓诲缓
+                guid = strGuid //涓诲缓
             };
             try
             {
-                string strJson = UtilityHelper.HttpPost("", _webServiceName+"GetModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                var strJson = UtilityHelper.HttpPost("",
+                    _webServiceName + "GetModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
-                    dynamic dy = _rtn.rtnData;
+                    var dy = _rtn.rtnData;
                     lbGuid.Text = strGuid;
-                    UtilityHelper.SetValueByObj(this.panel1.Controls, dy, isEdit);
+                    UtilityHelper.SetValueByObj(panel1.Controls, dy, isEdit);
                 }
                 else
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                {
+                    MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
     }
-}
-
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Department.resx b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Department.resx
index 1af7de1..bfad99e 100644
--- a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Department.resx
+++ b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Department.resx
@@ -1,120 +1,134 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
             <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
             </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Holidy.cs b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Holidy.cs
index 0b76db8..b5a0442 100644
--- a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Holidy.cs
+++ b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Holidy.cs
@@ -1,82 +1,92 @@
-锘縰sing DevExpress.XtraEditors.Controls;
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using System.Windows.Forms;
+using DevExpress.XtraEditors;
+using DevExpress.XtraEditors.Controls;
 using DevExpress.XtraGrid.Views.Grid;
 using Gs.DevApp.Entity;
 using Gs.DevApp.ToolBox;
+using Gs.DevApp.UserControl;
 using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.Data;
-using System.Windows.Forms;
 
 namespace Gs.DevApp.DevFrm
 {
-    public partial class Frm_Holidy : DevExpress.XtraEditors.XtraForm
+    public partial class Frm_Holidy : XtraForm
     {
-        string _webServiceName = "Holiday/";
-        List<FilterEntity> _filterList = new List<FilterEntity>();
+        private List<FilterEntity> _filterList = new List<FilterEntity>();
+        private readonly string _webServiceName = "Holiday/";
+
         public Frm_Holidy()
         {
             InitializeComponent();
             getTree();
-            this.toolBarMenu1.btnAddClick += ToolBarMenu1_btnAddClick;
-            this.toolBarMenu1.btnSaveClick += ToolBarMenu1_btnSaveClick;
-            this.toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
-            this.toolBarMenu1.btnDelClick += ToolBarMenu1_btnDelClick1;
-            this.toolBarMenu1.btnEscClick += ToolBarMenu1_btnEscClick;
-            this.toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
-            this.toolBarMenu1.btnChkClick += ToolBarMenu1_btnChkClick;
-            this.toolBarMenu1.btnFChkClick += ToolBarMenu1_btnFChkClick;
+            toolBarMenu1.btnAddClick += ToolBarMenu1_btnAddClick;
+            toolBarMenu1.btnSaveClick += ToolBarMenu1_btnSaveClick;
+            toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
+            toolBarMenu1.btnDelClick += ToolBarMenu1_btnDelClick1;
+            toolBarMenu1.btnEscClick += ToolBarMenu1_btnEscClick;
+            toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
+            toolBarMenu1.btnChkClick += ToolBarMenu1_btnChkClick;
+            toolBarMenu1.btnFChkClick += ToolBarMenu1_btnFChkClick;
             gcMain.MouseDoubleClick += GcMain_MouseDoubleClick;
-            gridView1.CustomDrawRowIndicator += GridView1_CustomDrawRowIndicator;
+            gridView1.CustomDrawRowIndicator +=
+                GridView1_CustomDrawRowIndicator;
             getPageList(1, UtilityHelper.GetPageSize());
             pageBar1.PagerEvent += PageBar1_PagerEvent;
         }
 
-        private void GridView1_CustomDrawRowIndicator(object sender, RowIndicatorCustomDrawEventArgs e)
+        private void GridView1_CustomDrawRowIndicator(object sender,
+            RowIndicatorCustomDrawEventArgs e)
         {
             if (e.Info.IsRowIndicator && e.RowHandle >= 0)
-            {
                 e.Info.DisplayText = (e.RowHandle + 1).ToString();
-            }
         }
+
         /// <summary>
-        /// 鍙嶅鏍�
+        ///     鍙嶅鏍�
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         /// <exception cref="NotImplementedException"></exception>
         private void ToolBarMenu1_btnFChkClick(object sender, EventArgs e)
         {
-            this.toolBarMenu1.guidKey = "";
+            toolBarMenu1.guidKey = "";
             string rowGuid, rowName;
-            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_name, gridView1);
-            this.toolBarMenu1.guidKey = rowGuid;
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1,
+                lbGuid, txt_name, gridView1);
+            toolBarMenu1.guidKey = rowGuid;
         }
+
         /// <summary>
-        /// 瀹℃牳浜嬩欢
+        ///     瀹℃牳浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnChkClick(object sender, EventArgs e)
         {
-            this.toolBarMenu1.guidKey = "";
+            toolBarMenu1.guidKey = "";
             string rowGuid, rowName;
-            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_name, gridView1);
-            this.toolBarMenu1.guidKey = rowGuid;
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1,
+                lbGuid, txt_name, gridView1);
+            toolBarMenu1.guidKey = rowGuid;
         }
+
         /// <summary>
-        /// 鍙屽嚮浜嬩欢
+        ///     鍙屽嚮浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void GcMain_MouseDoubleClick(object sender, MouseEventArgs e)
         {
-            string rowGuid = Gs.DevApp.ToolBox.UtilityHelper.GetCurrentDoubleRow(gridView1, e, "guid");
+            var rowGuid =
+                UtilityHelper.GetCurrentDoubleRow(gridView1, e, "guid");
             if (!string.IsNullOrEmpty(rowGuid))
                 getModel(rowGuid, false, 999);
         }
+
         /// <summary>
-        /// 鍒嗛〉浜嬩欢
+        ///     鍒嗛〉浜嬩欢
         /// </summary>
         /// <param name="curPage"></param>
         /// <param name="pageSize"></param>
@@ -84,19 +94,21 @@
         {
             getPageList(curPage, pageSize);
         }
+
         /// <summary>
-        /// 鏌ヨ浜嬩欢
+        ///     鏌ヨ浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnQueryClick(object sender, EventArgs e)
         {
-            Gs.DevApp.UserControl.ShowFilter frm = new Gs.DevApp.UserControl.ShowFilter(gridView1.Columns, _filterList);
+            var frm = new ShowFilter(gridView1.Columns, _filterList);
             frm.UpdateParent += Frm_UpdateParent;
             frm.ShowDialog();
         }
+
         /// <summary>
-        /// 鏌ヨ鍥炶皟
+        ///     鏌ヨ鍥炶皟
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -107,7 +119,7 @@
         }
 
         /// <summary>
-        /// 鍙栨秷浜嬩欢
+        ///     鍙栨秷浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -115,45 +127,52 @@
         {
             UtilityHelper.JumpToTab(xtraTabControl1, 0);
         }
+
         /// <summary>
-        /// 鍒犻櫎浜嬩欢
+        ///     鍒犻櫎浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnDelClick1(object sender, EventArgs e)
         {
             string rowGuid, rowName;
-            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_name, gridView1);
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1,
+                lbGuid, txt_name, gridView1);
             if (string.IsNullOrEmpty(rowGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + rowName + "銆戯紝纭畾鍒犻櫎鍚楋紵"))
                 return;
             var _obj = new
             {
-                guidList = rowGuid,//涓诲缓
+                guidList = rowGuid //涓诲缓
             };
-            string strJson = "";
+            var strJson = "";
             try
             {
-                strJson = UtilityHelper.HttpPost("", _webServiceName+"DeleteModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                strJson = UtilityHelper.HttpPost("",
+                    _webServiceName + "DeleteModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
                     UtilityHelper.JumpToTab(xtraTabControl1, 0);
                     getPageList(1, UtilityHelper.GetPageSize());
                 }
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+
+                MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
+
         /// <summary>
-        /// 鍒锋柊浜嬩欢
+        ///     鍒锋柊浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -164,7 +183,7 @@
         }
 
         /// <summary>
-        /// 鏂板浜嬩欢
+        ///     鏂板浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -172,145 +191,159 @@
         {
             UtilityHelper.JumpToTab(xtraTabControl1, 1);
             lbGuid.Text = "";
-            UtilityHelper.CleanValueByControl(this.panel1.Controls, true);
+            UtilityHelper.CleanValueByControl(panel1.Controls, true);
         }
+
         /// <summary>
-        /// 淇濆瓨浜嬩欢
+        ///     淇濆瓨浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnSaveClick(object sender, EventArgs e)
         {
             toolBarMenu1.isSetBtn = false;
-            if (txt_workshopNo.EditValue == null || string.IsNullOrEmpty(txt_workshopNo.EditValue.ToString()))
+            if (txt_workshopNo.EditValue == null ||
+                string.IsNullOrEmpty(txt_workshopNo.EditValue.ToString()))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浜х嚎锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浜х嚎锛�");
                 txt_workshopNo.Focus();
                 return;
             }
+
             if (string.IsNullOrEmpty(txt_name.Text.Trim()))
             {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("鍚嶇О涓嶈兘涓虹┖锛�");
+                MsgHelper.Warning("鍚嶇О涓嶈兘涓虹┖锛�");
                 txt_name.Focus();
                 return;
             }
+
             if (txt_begTime.Value.Date > txt_endTime.Value.Date)
             {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("寮�濮嬫椂闂翠笉鑳藉ぇ浜庣粨鏉熸椂闂达紒");
+                MsgHelper.Warning("寮�濮嬫椂闂翠笉鑳藉ぇ浜庣粨鏉熸椂闂达紒");
                 txt_begTime.Focus();
                 return;
             }
+
             var _obj = new
             {
-                guid = lbGuid.Text.Trim(),//涓诲缓
+                guid = lbGuid.Text.Trim(), //涓诲缓
                 name = txt_name.Text.Trim(),
                 time1 = txt_begTime.Value.Date,
                 time2 = txt_endTime.Value.Date,
-                workshopNo = txt_workshopNo.EditValue.ToString(),
+                workshopNo = txt_workshopNo.EditValue.ToString()
             };
             try
             {
-                string strJson = UtilityHelper.HttpPost("", _webServiceName+"EditModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                var strJson = UtilityHelper.HttpPost("",
+                    _webServiceName + "EditModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
+                MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
                 if (_rtn.rtnCode > 0)
                 {
                     lbGuid.Text = _rtn.rtnData;
                     toolBarMenu1.isSetBtn = true;
-                    UtilityHelper.ChangeEnableByControl(this.panel1.Controls, false);
+                    UtilityHelper.ChangeEnableByControl(panel1.Controls, false);
                 }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
+
         /// <summary>
-        /// 
         /// </summary>
         /// <param name="curPage">绗嚑椤�</param>
         /// <param name="pageSize">姣忛〉鍑犳潯</param>
         private void getPageList(int curPage, int pageSize)
         {
-            System.Text.StringBuilder _sbSqlWhere = new System.Text.StringBuilder();
-            foreach (FilterEntity itm in _filterList)
-            {
-                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'");
-            }
-            PageQueryModel pgq = new PageQueryModel(curPage, pageSize, "begTime", "asc", "", _sbSqlWhere.ToString());
-            string json = JsonConvert.SerializeObject(pgq);
+            var _sbSqlWhere = new StringBuilder();
+            foreach (var itm in _filterList)
+                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" +
+                                   itm.fileValue + "'");
+            var pgq = new PageQueryModel(curPage, pageSize, "begTime", "asc",
+                "", _sbSqlWhere.ToString());
+            var json = JsonConvert.SerializeObject(pgq);
             try
             {
-                string strReturn = UtilityHelper.HttpPost("", _webServiceName + "GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
-                DataTable dt = dd.rtnData.list;
+                var strReturn = UtilityHelper.HttpPost("",
+                    _webServiceName + "GetListPage", json);
+                var dd = UtilityHelper.ReturnToTablePage(strReturn);
+                var dt = dd.rtnData.list;
                 gcMain.BindingContext = new BindingContext();
                 gcMain.DataSource = dt;
                 gcMain.ForceInitialize();
-                int dddd = dd.rtnData.pages;//鎬婚〉
+                var dddd = dd.rtnData.pages; //鎬婚〉
                 pageBar1.TotalPages = dddd;
-                pageBar1.RecordCount = dd.rtnData.total;//璁板綍鎬绘暟
-                pageBar1.CurrentPage = curPage;//褰撳墠椤�
-                pageBar1.RowsCount = pageSize;//姣忛〉鏄剧ず
+                pageBar1.RecordCount = dd.rtnData.total; //璁板綍鎬绘暟
+                pageBar1.CurrentPage = curPage; //褰撳墠椤�
+                pageBar1.RowsCount = pageSize; //姣忛〉鏄剧ず
                 pageBar1.setTxt();
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
+
         private void getModel(string strGuid, bool isEdit, int tabIdx)
         {
             if (string.IsNullOrEmpty(strGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             UtilityHelper.JumpToTab(xtraTabControl1, tabIdx);
             var _obj = new
             {
-                guid = strGuid,//涓诲缓
+                guid = strGuid //涓诲缓
             };
             try
             {
-                string strJson = UtilityHelper.HttpPost("", _webServiceName + "GetModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                var strJson = UtilityHelper.HttpPost("",
+                    _webServiceName + "GetModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
-                    dynamic dy = _rtn.rtnData;
+                    var dy = _rtn.rtnData;
                     lbGuid.Text = strGuid;
-                    UtilityHelper.SetValueByObj(this.panel1.Controls, dy, isEdit);
+                    UtilityHelper.SetValueByObj(panel1.Controls, dy, isEdit);
                 }
                 else
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                {
+                    MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
 
         private void getTree()
         {
-            PageQueryModel pgq = new PageQueryModel(1, 999999, "workshop_no", "asc", "notree", " and is_Status=1");
-            string json = JsonConvert.SerializeObject(pgq);
+            var pgq = new PageQueryModel(1, 999999, "workshop_no", "asc",
+                "notree", " and is_Status=1");
+            var json = JsonConvert.SerializeObject(pgq);
             try
             {
-                string strReturn = UtilityHelper.HttpPost("", "MesWorkshopManager/GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
-                DataTable dt = dd.rtnData.list;
+                var strReturn = UtilityHelper.HttpPost("",
+                    "MesWorkshopManager/GetListPage", json);
+                var dd = UtilityHelper.ReturnToTablePage(strReturn);
+                var dt = dd.rtnData.list;
                 txt_workshopNo.Properties.DataSource = dt;
                 txt_workshopNo.Properties.DisplayMember = "name"; // 鏄剧ず鐨勫垪
-                txt_workshopNo.Properties.ValueMember = "itemNo";     // 瀹為檯鍊肩殑鍒�
-                txt_workshopNo.Properties.TextEditStyle = TextEditStyles.DisableTextEditor;
+                txt_workshopNo.Properties.ValueMember = "itemNo"; // 瀹為檯鍊肩殑鍒�
+                txt_workshopNo.Properties.TextEditStyle =
+                    TextEditStyles.DisableTextEditor;
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
     }
-
-
-}
-
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Holidy.resx b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Holidy.resx
index 1af7de1..bfad99e 100644
--- a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Holidy.resx
+++ b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Holidy.resx
@@ -1,120 +1,134 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
             <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
             </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesItemType.cs b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesItemType.cs
index 4806761..f699ba4 100644
--- a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesItemType.cs
+++ b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesItemType.cs
@@ -1,55 +1,59 @@
-using Gs.DevApp.Entity;
-using Gs.DevApp.ToolBox;
-using Newtonsoft.Json;
 using System;
 using System.Collections.Generic;
-using System.Data;
 using System.Drawing;
+using System.Text;
 using System.Windows.Forms;
+using DevExpress.XtraEditors;
+using Gs.DevApp.Entity;
+using Gs.DevApp.ToolBox;
+using Gs.DevApp.UserControl;
+using Newtonsoft.Json;
 
 namespace Gs.DevApp.DevFrm
 {
-    public partial class Frm_MesItemType  : DevExpress.XtraEditors.XtraForm
+    public partial class Frm_MesItemType : XtraForm
     {
-        string _webServiceName = "MesItemTypeManager/";
-        List<FilterEntity> _filterList = new List<FilterEntity>();
-        public Frm_MesItemType ()
+        private List<FilterEntity> _filterList = new List<FilterEntity>();
+        private readonly string _webServiceName = "MesItemTypeManager/";
+
+        public Frm_MesItemType()
         {
             InitializeComponent();
-            this.toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
-            this.toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
+            toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
+            toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
             gcMain.MouseDoubleClick += GcMain_MouseDoubleClick;
             getPageList(1, UtilityHelper.GetPageSize());
             pageBar1.PagerEvent += PageBar1_PagerEvent;
             gridView1.CustomDrawRowIndicator += (s, e) =>
             {
                 if (e.Info.IsRowIndicator && e.RowHandle >= 0)
-                {
                     e.Info.DisplayText = (e.RowHandle + 1).ToString();
-                }
             };
             gridView1.CustomDrawEmptyForeground += (s, e) =>
             {
-                string str = "鏆傛湭鏌ユ壘鍒板尮閰嶇殑鏁版嵁!";
-                Font f = new Font("寰蒋闆呴粦", 16);
-                Rectangle r = new Rectangle(gridView1.GridControl.Width / 2 - 100, e.Bounds.Top + 45, e.Bounds.Right - 5, e.Bounds.Height - 5);
+                var str = "鏆傛湭鏌ユ壘鍒板尮閰嶇殑鏁版嵁!";
+                var f = new Font("寰蒋闆呴粦", 16);
+                var r = new Rectangle(gridView1.GridControl.Width / 2 - 100,
+                    e.Bounds.Top + 45, e.Bounds.Right - 5, e.Bounds.Height - 5);
                 e.Graphics.DrawString(str, f, Brushes.Gray, r);
             };
         }
 
         /// <summary>
-        /// 鍙屽嚮浜嬩欢
+        ///     鍙屽嚮浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void GcMain_MouseDoubleClick(object sender, MouseEventArgs e)
         {
-            string rowGuid = Gs.DevApp.ToolBox.UtilityHelper.GetCurrentDoubleRow(gridView1, e, "guid");
+            var rowGuid =
+                UtilityHelper.GetCurrentDoubleRow(gridView1, e, "guid");
             if (!string.IsNullOrEmpty(rowGuid))
                 getModel(rowGuid, false, 999);
         }
+
         /// <summary>
-        /// 鍒嗛〉浜嬩欢
+        ///     鍒嗛〉浜嬩欢
         /// </summary>
         /// <param name="curPage"></param>
         /// <param name="pageSize"></param>
@@ -57,19 +61,21 @@
         {
             getPageList(curPage, pageSize);
         }
+
         /// <summary>
-        /// 鏌ヨ浜嬩欢
+        ///     鏌ヨ浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnQueryClick(object sender, EventArgs e)
         {
-            Gs.DevApp.UserControl.ShowFilter frm = new Gs.DevApp.UserControl.ShowFilter(gridView1.Columns, _filterList);
+            var frm = new ShowFilter(gridView1.Columns, _filterList);
             frm.UpdateParent += Frm_UpdateParent;
             frm.ShowDialog();
         }
+
         /// <summary>
-        /// 鏌ヨ鍥炶皟
+        ///     鏌ヨ鍥炶皟
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -78,8 +84,9 @@
             _filterList = e.FilterList;
             getPageList(1, pageBar1.RowsCount);
         }
+
         /// <summary>
-        /// 鍒锋柊浜嬩欢
+        ///     鍒锋柊浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -90,41 +97,41 @@
         }
 
         /// <summary>
-        /// 
         /// </summary>
         /// <param name="curPage">绗嚑椤�</param>
         /// <param name="pageSize">姣忛〉鍑犳潯</param>
         private void getPageList(int curPage, int pageSize)
         {
-            System.Text.StringBuilder _sbSqlWhere = new System.Text.StringBuilder();
-            foreach (FilterEntity itm in _filterList)
-            {
-                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'");
-            }
-            PageQueryModel pgq = new PageQueryModel(curPage, pageSize, "create_date", "asc", "", _sbSqlWhere.ToString());
-            string json = JsonConvert.SerializeObject(pgq);
+            var _sbSqlWhere = new StringBuilder();
+            foreach (var itm in _filterList)
+                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" +
+                                   itm.fileValue + "'");
+            var pgq = new PageQueryModel(curPage, pageSize, "create_date",
+                "asc", "", _sbSqlWhere.ToString());
+            var json = JsonConvert.SerializeObject(pgq);
             try
             {
-                string strReturn = UtilityHelper.HttpPost("", _webServiceName + "GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
-                DataTable dt = dd.rtnData.list;
+                var strReturn = UtilityHelper.HttpPost("",
+                    _webServiceName + "GetListPage", json);
+                var dd = UtilityHelper.ReturnToTablePage(strReturn);
+                var dt = dd.rtnData.list;
                 gcMain.BindingContext = new BindingContext();
                 gcMain.DataSource = dt;
                 gcMain.ForceInitialize();
-                int dddd = dd.rtnData.pages;//鎬婚〉
+                var dddd = dd.rtnData.pages; //鎬婚〉
                 pageBar1.TotalPages = dddd;
-                pageBar1.RecordCount = dd.rtnData.total;//璁板綍鎬绘暟
-                pageBar1.CurrentPage = curPage;//褰撳墠椤�
-                pageBar1.RowsCount = pageSize;//姣忛〉鏄剧ず
+                pageBar1.RecordCount = dd.rtnData.total; //璁板綍鎬绘暟
+                pageBar1.CurrentPage = curPage; //褰撳墠椤�
+                pageBar1.RowsCount = pageSize; //姣忛〉鏄剧ず
                 pageBar1.setTxt();
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
+
         /// <summary>
-        /// 
         /// </summary>
         /// <param name="strGuid">涓婚敭</param>
         /// <param name="isEdit">鏄惁鍙紪杈�</param>
@@ -133,31 +140,35 @@
         {
             if (string.IsNullOrEmpty(strGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             UtilityHelper.JumpToTab(xtraTabControl1, tabIdx);
             var _obj = new
             {
-                guid = strGuid,//涓诲缓
+                guid = strGuid //涓诲缓
             };
             try
             {
-                string strJson = UtilityHelper.HttpPost("", _webServiceName + "GetModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                var strJson = UtilityHelper.HttpPost("",
+                    _webServiceName + "GetModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
-                    dynamic dy = _rtn.rtnData;
+                    var dy = _rtn.rtnData;
                     lbGuid.Text = strGuid;
-                    UtilityHelper.SetValueByObj(this.panel1.Controls, dy, isEdit);
-
+                    UtilityHelper.SetValueByObj(panel1.Controls, dy, isEdit);
                 }
                 else
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                {
+                    MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
     }
diff --git a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesItemType.resx b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesItemType.resx
index d58980a..4795337 100644
--- a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesItemType.resx
+++ b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesItemType.resx
@@ -1,120 +1,134 @@
 <?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
             <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
             </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesItems.cs b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesItems.cs
index 608435d..32e162b 100644
--- a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesItems.cs
+++ b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesItems.cs
@@ -1,58 +1,59 @@
-锘縰sing DevExpress.XtraGrid.Views.Grid;
-using DevExpress.XtraGrid.Views.Grid.ViewInfo;
+锘縰sing System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Text;
+using System.Windows.Forms;
+using DevExpress.XtraEditors;
 using Gs.DevApp.Entity;
 using Gs.DevApp.ToolBox;
+using Gs.DevApp.UserControl;
 using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.Data;
-using System.Drawing;
-using System.Windows.Forms;
 
 namespace Gs.DevApp.DevFrm
 {
-    public partial class Frm_MesItems : DevExpress.XtraEditors.XtraForm
+    public partial class Frm_MesItems : XtraForm
     {
-        string _webServiceName = "MesItemsManager/";
-        List<FilterEntity> _filterList = new List<FilterEntity>();
+        private List<FilterEntity> _filterList = new List<FilterEntity>();
+        private readonly string _webServiceName = "MesItemsManager/";
+
         public Frm_MesItems()
         {
             InitializeComponent();
-            this.toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
-            this.toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
+            toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
+            toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
             gcMain.MouseDoubleClick += GcMain_MouseDoubleClick;
             getPageList(1, UtilityHelper.GetPageSize());
             pageBar1.PagerEvent += PageBar1_PagerEvent;
             gridView1.CustomDrawRowIndicator += (s, e) =>
             {
                 if (e.Info.IsRowIndicator && e.RowHandle >= 0)
-                {
                     e.Info.DisplayText = (e.RowHandle + 1).ToString();
-                }
             };
             gridView1.CustomDrawEmptyForeground += (s, e) =>
             {
-                string str = "鏆傛湭鏌ユ壘鍒板尮閰嶇殑鏁版嵁!";
-                Font f = new Font("寰蒋闆呴粦", 16);
-                Rectangle r = new Rectangle(gridView1.GridControl.Width / 2 - 100, e.Bounds.Top + 45, e.Bounds.Right - 5, e.Bounds.Height - 5);
+                var str = "鏆傛湭鏌ユ壘鍒板尮閰嶇殑鏁版嵁!";
+                var f = new Font("寰蒋闆呴粦", 16);
+                var r = new Rectangle(gridView1.GridControl.Width / 2 - 100,
+                    e.Bounds.Top + 45, e.Bounds.Right - 5, e.Bounds.Height - 5);
                 e.Graphics.DrawString(str, f, Brushes.Gray, r);
             };
-           
         }
 
         /// <summary>
-        /// 鍙屽嚮浜嬩欢
+        ///     鍙屽嚮浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void GcMain_MouseDoubleClick(object sender, MouseEventArgs e)
         {
-            string rowGuid = Gs.DevApp.ToolBox.UtilityHelper.GetCurrentDoubleRow(gridView1, e, "guid");
+            var rowGuid =
+                UtilityHelper.GetCurrentDoubleRow(gridView1, e, "guid");
             if (!string.IsNullOrEmpty(rowGuid))
                 getModel(rowGuid, false, 999);
         }
+
         /// <summary>
-        /// 鍒嗛〉浜嬩欢
+        ///     鍒嗛〉浜嬩欢
         /// </summary>
         /// <param name="curPage"></param>
         /// <param name="pageSize"></param>
@@ -60,19 +61,21 @@
         {
             getPageList(curPage, pageSize);
         }
+
         /// <summary>
-        /// 鏌ヨ浜嬩欢
+        ///     鏌ヨ浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnQueryClick(object sender, EventArgs e)
         {
-            Gs.DevApp.UserControl.ShowFilter frm = new Gs.DevApp.UserControl.ShowFilter(gridView1.Columns, _filterList);
+            var frm = new ShowFilter(gridView1.Columns, _filterList);
             frm.UpdateParent += Frm_UpdateParent;
             frm.ShowDialog();
         }
+
         /// <summary>
-        /// 鏌ヨ鍥炶皟
+        ///     鏌ヨ鍥炶皟
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -83,7 +86,7 @@
         }
 
         /// <summary>
-        /// 鍒锋柊浜嬩欢
+        ///     鍒锋柊浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -92,73 +95,76 @@
             UtilityHelper.JumpToTab(xtraTabControl1, 0);
             getPageList(1, UtilityHelper.GetPageSize());
         }
-       
+
         /// <summary>
-        /// 
         /// </summary>
         /// <param name="curPage">绗嚑椤�</param>
         /// <param name="pageSize">姣忛〉鍑犳潯</param>
         private void getPageList(int curPage, int pageSize)
         {
-            System.Text.StringBuilder _sbSqlWhere = new System.Text.StringBuilder();
-            foreach (FilterEntity itm in _filterList)
-            {
-                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'");
-            }
-            PageQueryModel pgq = new PageQueryModel(curPage, pageSize, "item_no", "asc", "", _sbSqlWhere.ToString());
-            string json = JsonConvert.SerializeObject(pgq);
+            var _sbSqlWhere = new StringBuilder();
+            foreach (var itm in _filterList)
+                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" +
+                                   itm.fileValue + "'");
+            var pgq = new PageQueryModel(curPage, pageSize, "item_no", "asc",
+                "", _sbSqlWhere.ToString());
+            var json = JsonConvert.SerializeObject(pgq);
             try
             {
-                string strReturn = UtilityHelper.HttpPost("", _webServiceName+"GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
-                DataTable dt = dd.rtnData.list;
+                var strReturn = UtilityHelper.HttpPost("",
+                    _webServiceName + "GetListPage", json);
+                var dd = UtilityHelper.ReturnToTablePage(strReturn);
+                var dt = dd.rtnData.list;
                 gcMain.BindingContext = new BindingContext();
                 gcMain.DataSource = dt;
                 gcMain.ForceInitialize();
-                int dddd = dd.rtnData.pages;//鎬婚〉
+                var dddd = dd.rtnData.pages; //鎬婚〉
                 pageBar1.TotalPages = dddd;
-                pageBar1.RecordCount = dd.rtnData.total;//璁板綍鎬绘暟
-                pageBar1.CurrentPage = curPage;//褰撳墠椤�
-                pageBar1.RowsCount = pageSize;//姣忛〉鏄剧ず
+                pageBar1.RecordCount = dd.rtnData.total; //璁板綍鎬绘暟
+                pageBar1.CurrentPage = curPage; //褰撳墠椤�
+                pageBar1.RowsCount = pageSize; //姣忛〉鏄剧ず
                 pageBar1.setTxt();
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
+
         private void getModel(string strGuid, bool isEdit, int tabIdx)
         {
             if (string.IsNullOrEmpty(strGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             UtilityHelper.JumpToTab(xtraTabControl1, tabIdx);
             var _obj = new
             {
-                guid = strGuid,//涓诲缓
+                guid = strGuid //涓诲缓
             };
             try
             {
-                string strJson = UtilityHelper.HttpPost("", _webServiceName+"GetModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                var strJson = UtilityHelper.HttpPost("",
+                    _webServiceName + "GetModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
-                    dynamic dy = _rtn.rtnData;
+                    var dy = _rtn.rtnData;
                     lbGuid.Text = strGuid;
-                    UtilityHelper.SetValueByObj(this.panel1.Controls, dy, isEdit);
-
+                    UtilityHelper.SetValueByObj(panel1.Controls, dy, isEdit);
                 }
                 else
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                {
+                    MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
-
     }
-}
-
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesItems.resx b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesItems.resx
index 1af7de1..bfad99e 100644
--- a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesItems.resx
+++ b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesItems.resx
@@ -1,120 +1,134 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
             <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
             </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesPosition.cs b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesPosition.cs
index eb6383b..515c969 100644
--- a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesPosition.cs
+++ b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesPosition.cs
@@ -1,55 +1,59 @@
-using Gs.DevApp.Entity;
-using Gs.DevApp.ToolBox;
-using Newtonsoft.Json;
 using System;
 using System.Collections.Generic;
-using System.Data;
 using System.Drawing;
+using System.Text;
 using System.Windows.Forms;
+using DevExpress.XtraEditors;
+using Gs.DevApp.Entity;
+using Gs.DevApp.ToolBox;
+using Gs.DevApp.UserControl;
+using Newtonsoft.Json;
 
 namespace Gs.DevApp.DevFrm
 {
-    public partial class Frm_MesPosition  : DevExpress.XtraEditors.XtraForm
+    public partial class Frm_MesPosition : XtraForm
     {
-        string _webServiceName = "MesPositionManager/";
-        List<FilterEntity> _filterList = new List<FilterEntity>();
-        public Frm_MesPosition ()
+        private List<FilterEntity> _filterList = new List<FilterEntity>();
+        private readonly string _webServiceName = "MesPositionManager/";
+
+        public Frm_MesPosition()
         {
             InitializeComponent();
-            this.toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
-            this.toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
+            toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
+            toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
             gcMain.MouseDoubleClick += GcMain_MouseDoubleClick;
             getPageList(1, UtilityHelper.GetPageSize());
             pageBar1.PagerEvent += PageBar1_PagerEvent;
             gridView1.CustomDrawRowIndicator += (s, e) =>
             {
                 if (e.Info.IsRowIndicator && e.RowHandle >= 0)
-                {
                     e.Info.DisplayText = (e.RowHandle + 1).ToString();
-                }
             };
             gridView1.CustomDrawEmptyForeground += (s, e) =>
             {
-                string str = "鏆傛湭鏌ユ壘鍒板尮閰嶇殑鏁版嵁!";
-                Font f = new Font("寰蒋闆呴粦", 16);
-                Rectangle r = new Rectangle(gridView1.GridControl.Width / 2 - 100, e.Bounds.Top + 45, e.Bounds.Right - 5, e.Bounds.Height - 5);
+                var str = "鏆傛湭鏌ユ壘鍒板尮閰嶇殑鏁版嵁!";
+                var f = new Font("寰蒋闆呴粦", 16);
+                var r = new Rectangle(gridView1.GridControl.Width / 2 - 100,
+                    e.Bounds.Top + 45, e.Bounds.Right - 5, e.Bounds.Height - 5);
                 e.Graphics.DrawString(str, f, Brushes.Gray, r);
             };
         }
 
         /// <summary>
-        /// 鍙屽嚮浜嬩欢
+        ///     鍙屽嚮浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void GcMain_MouseDoubleClick(object sender, MouseEventArgs e)
         {
-            string rowGuid = Gs.DevApp.ToolBox.UtilityHelper.GetCurrentDoubleRow(gridView1, e, "guid");
+            var rowGuid =
+                UtilityHelper.GetCurrentDoubleRow(gridView1, e, "guid");
             if (!string.IsNullOrEmpty(rowGuid))
                 getModel(rowGuid, false, 999);
         }
+
         /// <summary>
-        /// 鍒嗛〉浜嬩欢
+        ///     鍒嗛〉浜嬩欢
         /// </summary>
         /// <param name="curPage"></param>
         /// <param name="pageSize"></param>
@@ -57,19 +61,21 @@
         {
             getPageList(curPage, pageSize);
         }
+
         /// <summary>
-        /// 鏌ヨ浜嬩欢
+        ///     鏌ヨ浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnQueryClick(object sender, EventArgs e)
         {
-            Gs.DevApp.UserControl.ShowFilter frm = new Gs.DevApp.UserControl.ShowFilter(gridView1.Columns, _filterList);
+            var frm = new ShowFilter(gridView1.Columns, _filterList);
             frm.UpdateParent += Frm_UpdateParent;
             frm.ShowDialog();
         }
+
         /// <summary>
-        /// 鏌ヨ鍥炶皟
+        ///     鏌ヨ鍥炶皟
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -80,7 +86,7 @@
         }
 
         /// <summary>
-        /// 鍒锋柊浜嬩欢
+        ///     鍒锋柊浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -91,41 +97,41 @@
         }
 
         /// <summary>
-        /// 
         /// </summary>
         /// <param name="curPage">绗嚑椤�</param>
         /// <param name="pageSize">姣忛〉鍑犳潯</param>
         private void getPageList(int curPage, int pageSize)
         {
-            System.Text.StringBuilder _sbSqlWhere = new System.Text.StringBuilder();
-            foreach (FilterEntity itm in _filterList)
-            {
-                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'");
-            }
-            PageQueryModel pgq = new PageQueryModel(curPage, pageSize, "position_name", "asc", "", _sbSqlWhere.ToString());
-            string json = JsonConvert.SerializeObject(pgq);
+            var _sbSqlWhere = new StringBuilder();
+            foreach (var itm in _filterList)
+                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" +
+                                   itm.fileValue + "'");
+            var pgq = new PageQueryModel(curPage, pageSize, "position_name",
+                "asc", "", _sbSqlWhere.ToString());
+            var json = JsonConvert.SerializeObject(pgq);
             try
             {
-                string strReturn = UtilityHelper.HttpPost("", _webServiceName + "GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
-                DataTable dt = dd.rtnData.list;
+                var strReturn = UtilityHelper.HttpPost("",
+                    _webServiceName + "GetListPage", json);
+                var dd = UtilityHelper.ReturnToTablePage(strReturn);
+                var dt = dd.rtnData.list;
                 gcMain.BindingContext = new BindingContext();
                 gcMain.DataSource = dt;
                 gcMain.ForceInitialize();
-                int dddd = dd.rtnData.pages;//鎬婚〉
+                var dddd = dd.rtnData.pages; //鎬婚〉
                 pageBar1.TotalPages = dddd;
-                pageBar1.RecordCount = dd.rtnData.total;//璁板綍鎬绘暟
-                pageBar1.CurrentPage = curPage;//褰撳墠椤�
-                pageBar1.RowsCount = pageSize;//姣忛〉鏄剧ず
+                pageBar1.RecordCount = dd.rtnData.total; //璁板綍鎬绘暟
+                pageBar1.CurrentPage = curPage; //褰撳墠椤�
+                pageBar1.RowsCount = pageSize; //姣忛〉鏄剧ず
                 pageBar1.setTxt();
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
+
         /// <summary>
-        /// 
         /// </summary>
         /// <param name="strGuid">涓婚敭</param>
         /// <param name="isEdit">鏄惁鍙紪杈�</param>
@@ -134,31 +140,35 @@
         {
             if (string.IsNullOrEmpty(strGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             UtilityHelper.JumpToTab(xtraTabControl1, tabIdx);
             var _obj = new
             {
-                guid = strGuid,//涓诲缓
+                guid = strGuid //涓诲缓
             };
             try
             {
-                string strJson = UtilityHelper.HttpPost("", _webServiceName + "GetModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                var strJson = UtilityHelper.HttpPost("",
+                    _webServiceName + "GetModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
-                    dynamic dy = _rtn.rtnData;
+                    var dy = _rtn.rtnData;
                     lbGuid.Text = strGuid;
-                    UtilityHelper.SetValueByObj(this.panel1.Controls, dy, isEdit);
-
+                    UtilityHelper.SetValueByObj(panel1.Controls, dy, isEdit);
                 }
                 else
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                {
+                    MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
     }
diff --git a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesPosition.resx b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesPosition.resx
index d58980a..4795337 100644
--- a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesPosition.resx
+++ b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesPosition.resx
@@ -1,120 +1,134 @@
 <?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
             <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
             </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesUnit.cs b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesUnit.cs
index 821c8bc..b0e1983 100644
--- a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesUnit.cs
+++ b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesUnit.cs
@@ -1,55 +1,59 @@
-using Gs.DevApp.Entity;
-using Gs.DevApp.ToolBox;
-using Newtonsoft.Json;
 using System;
 using System.Collections.Generic;
-using System.Data;
 using System.Drawing;
+using System.Text;
 using System.Windows.Forms;
+using DevExpress.XtraEditors;
+using Gs.DevApp.Entity;
+using Gs.DevApp.ToolBox;
+using Gs.DevApp.UserControl;
+using Newtonsoft.Json;
 
 namespace Gs.DevApp.DevFrm
 {
-    public partial class Frm_MesUnit  : DevExpress.XtraEditors.XtraForm
+    public partial class Frm_MesUnit : XtraForm
     {
-        string _webServiceName = "MesUnitManager/";
-        List<FilterEntity> _filterList = new List<FilterEntity>();
-        public Frm_MesUnit ()
+        private List<FilterEntity> _filterList = new List<FilterEntity>();
+        private readonly string _webServiceName = "MesUnitManager/";
+
+        public Frm_MesUnit()
         {
             InitializeComponent();
-            this.toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
-            this.toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
+            toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
+            toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
             gcMain.MouseDoubleClick += GcMain_MouseDoubleClick;
             getPageList(1, UtilityHelper.GetPageSize());
             pageBar1.PagerEvent += PageBar1_PagerEvent;
             gridView1.CustomDrawRowIndicator += (s, e) =>
             {
                 if (e.Info.IsRowIndicator && e.RowHandle >= 0)
-                {
                     e.Info.DisplayText = (e.RowHandle + 1).ToString();
-                }
             };
             gridView1.CustomDrawEmptyForeground += (s, e) =>
             {
-                string str = "鏆傛湭鏌ユ壘鍒板尮閰嶇殑鏁版嵁!";
-                Font f = new Font("寰蒋闆呴粦", 16);
-                Rectangle r = new Rectangle(gridView1.GridControl.Width / 2 - 100, e.Bounds.Top + 45, e.Bounds.Right - 5, e.Bounds.Height - 5);
+                var str = "鏆傛湭鏌ユ壘鍒板尮閰嶇殑鏁版嵁!";
+                var f = new Font("寰蒋闆呴粦", 16);
+                var r = new Rectangle(gridView1.GridControl.Width / 2 - 100,
+                    e.Bounds.Top + 45, e.Bounds.Right - 5, e.Bounds.Height - 5);
                 e.Graphics.DrawString(str, f, Brushes.Gray, r);
             };
         }
 
         /// <summary>
-        /// 鍙屽嚮浜嬩欢
+        ///     鍙屽嚮浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void GcMain_MouseDoubleClick(object sender, MouseEventArgs e)
         {
-            string rowGuid = Gs.DevApp.ToolBox.UtilityHelper.GetCurrentDoubleRow(gridView1, e, "guid");
+            var rowGuid =
+                UtilityHelper.GetCurrentDoubleRow(gridView1, e, "guid");
             if (!string.IsNullOrEmpty(rowGuid))
                 getModel(rowGuid, false, 999);
         }
+
         /// <summary>
-        /// 鍒嗛〉浜嬩欢
+        ///     鍒嗛〉浜嬩欢
         /// </summary>
         /// <param name="curPage"></param>
         /// <param name="pageSize"></param>
@@ -57,19 +61,21 @@
         {
             getPageList(curPage, pageSize);
         }
+
         /// <summary>
-        /// 鏌ヨ浜嬩欢
+        ///     鏌ヨ浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnQueryClick(object sender, EventArgs e)
         {
-            Gs.DevApp.UserControl.ShowFilter frm = new Gs.DevApp.UserControl.ShowFilter(gridView1.Columns, _filterList);
+            var frm = new ShowFilter(gridView1.Columns, _filterList);
             frm.UpdateParent += Frm_UpdateParent;
             frm.ShowDialog();
         }
+
         /// <summary>
-        /// 鏌ヨ鍥炶皟
+        ///     鏌ヨ鍥炶皟
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -80,7 +86,7 @@
         }
 
         /// <summary>
-        /// 鍒锋柊浜嬩欢
+        ///     鍒锋柊浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -89,42 +95,43 @@
             UtilityHelper.JumpToTab(xtraTabControl1, 0);
             getPageList(1, UtilityHelper.GetPageSize());
         }
+
         /// <summary>
-        /// 
         /// </summary>
         /// <param name="curPage">绗嚑椤�</param>
         /// <param name="pageSize">姣忛〉鍑犳潯</param>
         private void getPageList(int curPage, int pageSize)
         {
-            System.Text.StringBuilder _sbSqlWhere = new System.Text.StringBuilder();
-            foreach (FilterEntity itm in _filterList)
-            {
-                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'");
-            }
-            PageQueryModel pgq = new PageQueryModel(curPage, pageSize, "fname", "asc", "", _sbSqlWhere.ToString());
-            string json = JsonConvert.SerializeObject(pgq);
+            var _sbSqlWhere = new StringBuilder();
+            foreach (var itm in _filterList)
+                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" +
+                                   itm.fileValue + "'");
+            var pgq = new PageQueryModel(curPage, pageSize, "fname", "asc", "",
+                _sbSqlWhere.ToString());
+            var json = JsonConvert.SerializeObject(pgq);
             try
             {
-                string strReturn = UtilityHelper.HttpPost("", _webServiceName + "GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
-                DataTable dt = dd.rtnData.list;
+                var strReturn = UtilityHelper.HttpPost("",
+                    _webServiceName + "GetListPage", json);
+                var dd = UtilityHelper.ReturnToTablePage(strReturn);
+                var dt = dd.rtnData.list;
                 gcMain.BindingContext = new BindingContext();
                 gcMain.DataSource = dt;
                 gcMain.ForceInitialize();
-                int dddd = dd.rtnData.pages;//鎬婚〉
+                var dddd = dd.rtnData.pages; //鎬婚〉
                 pageBar1.TotalPages = dddd;
-                pageBar1.RecordCount = dd.rtnData.total;//璁板綍鎬绘暟
-                pageBar1.CurrentPage = curPage;//褰撳墠椤�
-                pageBar1.RowsCount = pageSize;//姣忛〉鏄剧ず
+                pageBar1.RecordCount = dd.rtnData.total; //璁板綍鎬绘暟
+                pageBar1.CurrentPage = curPage; //褰撳墠椤�
+                pageBar1.RowsCount = pageSize; //姣忛〉鏄剧ず
                 pageBar1.setTxt();
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
+
         /// <summary>
-        /// 
         /// </summary>
         /// <param name="strGuid">涓婚敭</param>
         /// <param name="isEdit">鏄惁鍙紪杈�</param>
@@ -133,31 +140,35 @@
         {
             if (string.IsNullOrEmpty(strGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             UtilityHelper.JumpToTab(xtraTabControl1, tabIdx);
             var _obj = new
             {
-                guid = strGuid,//涓诲缓
+                guid = strGuid //涓诲缓
             };
             try
             {
-                string strJson = UtilityHelper.HttpPost("", _webServiceName + "GetModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                var strJson = UtilityHelper.HttpPost("",
+                    _webServiceName + "GetModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
-                    dynamic dy = _rtn.rtnData;
+                    var dy = _rtn.rtnData;
                     lbGuid.Text = strGuid;
-                    UtilityHelper.SetValueByObj(this.panel1.Controls, dy, isEdit);
-
+                    UtilityHelper.SetValueByObj(panel1.Controls, dy, isEdit);
                 }
                 else
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                {
+                    MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
     }
diff --git a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesUnit.resx b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesUnit.resx
index d58980a..4795337 100644
--- a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesUnit.resx
+++ b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesUnit.resx
@@ -1,120 +1,134 @@
 <?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
             <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
             </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesWorkshop.cs b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesWorkshop.cs
index 168372a..de1b9d1 100644
--- a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesWorkshop.cs
+++ b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesWorkshop.cs
@@ -1,63 +1,70 @@
-using Gs.DevApp.Entity;
-using Gs.DevApp.ToolBox;
-using Newtonsoft.Json;
-using Newtonsoft.Json.Linq;
 using System;
 using System.Collections.Generic;
 using System.Data;
 using System.Drawing;
+using System.Text;
 using System.Windows.Forms;
+using DevExpress.XtraEditors;
+using DevExpress.XtraEditors.Controls;
+using DevExpress.XtraGrid.Views.Grid;
+using Gs.DevApp.Entity;
+using Gs.DevApp.ToolBox;
+using Gs.DevApp.UserControl;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 
 namespace Gs.DevApp.DevFrm
 {
-    public partial class Frm_MesWorkshop : DevExpress.XtraEditors.XtraForm
+    public partial class Frm_MesWorkshop : XtraForm
     {
-        string _webServiceName = "MesWorkshopManager/";
-        List<FilterEntity> _filterList = new List<FilterEntity>();
+        private List<FilterEntity> _filterList = new List<FilterEntity>();
+        private readonly string _webServiceName = "MesWorkshopManager/";
+
         public Frm_MesWorkshop()
         {
             InitializeComponent();
-            this.toolBarMenu1.btnAddClick += ToolBarMenu1_btnAddClick;
-            this.toolBarMenu1.btnEdtClick += ToolBarMenu1_btnEdtClick;
-            this.toolBarMenu1.btnSaveClick += ToolBarMenu1_btnSaveClick;
-            this.toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
-            this.toolBarMenu1.btnDelClick += ToolBarMenu1_btnDelClick1;
-            this.toolBarMenu1.btnEscClick += ToolBarMenu1_btnEscClick;
-            this.toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
-            this.toolBarMenu1.btnChkClick += ToolBarMenu1_btnChkClick;
-            this.toolBarMenu1.btnFChkClick += ToolBarMenu1_btnFChkClick;
+            toolBarMenu1.btnAddClick += ToolBarMenu1_btnAddClick;
+            toolBarMenu1.btnEdtClick += ToolBarMenu1_btnEdtClick;
+            toolBarMenu1.btnSaveClick += ToolBarMenu1_btnSaveClick;
+            toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
+            toolBarMenu1.btnDelClick += ToolBarMenu1_btnDelClick1;
+            toolBarMenu1.btnEscClick += ToolBarMenu1_btnEscClick;
+            toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
+            toolBarMenu1.btnChkClick += ToolBarMenu1_btnChkClick;
+            toolBarMenu1.btnFChkClick += ToolBarMenu1_btnFChkClick;
             gcMain.MouseDoubleClick += GcMain_MouseDoubleClick;
             getPageList(1, UtilityHelper.GetPageSize());
             pageBar1.PagerEvent += PageBar1_PagerEvent;
             gridView1.CustomDrawRowIndicator += (s, e) =>
             {
                 if (e.Info.IsRowIndicator && e.RowHandle >= 0)
-                {
                     e.Info.DisplayText = (e.RowHandle + 1).ToString();
-                }
             };
             gridView1.CustomDrawEmptyForeground += (s, e) =>
             {
-                string str = "鏆傛湭鏌ユ壘鍒板尮閰嶇殑鏁版嵁!";
-                Font f = new Font("寰蒋闆呴粦", 16);
-                Rectangle r = new Rectangle(gridView1.GridControl.Width / 2 - 100, e.Bounds.Top + 45, e.Bounds.Right - 5, e.Bounds.Height - 5);
+                var str = "鏆傛湭鏌ユ壘鍒板尮閰嶇殑鏁版嵁!";
+                var f = new Font("寰蒋闆呴粦", 16);
+                var r = new Rectangle(gridView1.GridControl.Width / 2 - 100,
+                    e.Bounds.Top + 45, e.Bounds.Right - 5, e.Bounds.Height - 5);
                 e.Graphics.DrawString(str, f, Brushes.Gray, r);
             };
         }
 
         /// <summary>
-        /// 鍙屽嚮浜嬩欢
+        ///     鍙屽嚮浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void GcMain_MouseDoubleClick(object sender, MouseEventArgs e)
         {
-            string rowGuid = Gs.DevApp.ToolBox.UtilityHelper.GetCurrentDoubleRow(gridView1, e, "guid");
+            var rowGuid =
+                UtilityHelper.GetCurrentDoubleRow(gridView1, e, "guid");
             if (!string.IsNullOrEmpty(rowGuid))
                 getModel(rowGuid, false, 999);
         }
+
         /// <summary>
-        /// 鍒嗛〉浜嬩欢
+        ///     鍒嗛〉浜嬩欢
         /// </summary>
         /// <param name="curPage"></param>
         /// <param name="pageSize"></param>
@@ -65,19 +72,21 @@
         {
             getPageList(curPage, pageSize);
         }
+
         /// <summary>
-        /// 鏌ヨ浜嬩欢
+        ///     鏌ヨ浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnQueryClick(object sender, EventArgs e)
         {
-            Gs.DevApp.UserControl.ShowFilter frm = new Gs.DevApp.UserControl.ShowFilter(gridView1.Columns, _filterList);
+            var frm = new ShowFilter(gridView1.Columns, _filterList);
             frm.UpdateParent += Frm_UpdateParent;
             frm.ShowDialog();
         }
+
         /// <summary>
-        /// 鏌ヨ鍥炶皟
+        ///     鏌ヨ鍥炶皟
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -86,33 +95,38 @@
             _filterList = e.FilterList;
             getPageList(1, pageBar1.RowsCount);
         }
+
         /// <summary>
-        /// 鍙嶅鏍�
+        ///     鍙嶅鏍�
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         /// <exception cref="NotImplementedException"></exception>
         private void ToolBarMenu1_btnFChkClick(object sender, EventArgs e)
         {
-            this.toolBarMenu1.guidKey = "";
+            toolBarMenu1.guidKey = "";
             string rowGuid, rowName;
-            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_name, gridView1);
-            this.toolBarMenu1.guidKey = rowGuid;
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1,
+                lbGuid, txt_name, gridView1);
+            toolBarMenu1.guidKey = rowGuid;
         }
+
         /// <summary>
-        /// 瀹℃牳浜嬩欢
+        ///     瀹℃牳浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnChkClick(object sender, EventArgs e)
         {
-            this.toolBarMenu1.guidKey = "";
+            toolBarMenu1.guidKey = "";
             string rowGuid, rowName;
-            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_name, gridView1);
-            this.toolBarMenu1.guidKey = rowGuid;
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1,
+                lbGuid, txt_name, gridView1);
+            toolBarMenu1.guidKey = rowGuid;
         }
+
         /// <summary>
-        /// 鍙栨秷浜嬩欢
+        ///     鍙栨秷浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -122,43 +136,48 @@
         }
 
         /// <summary>
-        /// 鍒犻櫎浜嬩欢
+        ///     鍒犻櫎浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnDelClick1(object sender, EventArgs e)
         {
             string rowGuid = "", rowName = "";
-            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_name, gridView1);
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1,
+                lbGuid, txt_name, gridView1);
             if (string.IsNullOrEmpty(rowGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + rowName + "銆戯紝纭畾鍒犻櫎鍚楋紵"))
                 return;
-            List<string> lst = new List<string>();
+            var lst = new List<string>();
             lst.Add(rowGuid);
             var _obj = lst;
             try
             {
-                string strJson = UtilityHelper.HttpPost("", _webServiceName + "DeleteModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                var strJson = UtilityHelper.HttpPost("",
+                    _webServiceName + "DeleteModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
                     UtilityHelper.JumpToTab(xtraTabControl1, 0);
                     getPageList(1, UtilityHelper.GetPageSize());
                 }
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+
+                MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
 
         /// <summary>
-        /// 鍒锋柊浜嬩欢
+        ///     鍒锋柊浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -167,24 +186,28 @@
             UtilityHelper.JumpToTab(xtraTabControl1, 0);
             getPageList(1, UtilityHelper.GetPageSize());
         }
+
         /// <summary>
-        /// 淇敼浜嬩欢
+        ///     淇敼浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnEdtClick(object sender, EventArgs e)
         {
             string rowGuid = "", rowName = "";
-            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_name, gridView1);
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1,
+                lbGuid, txt_name, gridView1);
             if (string.IsNullOrEmpty(rowGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             getModel(rowGuid, true, 1);
         }
+
         /// <summary>
-        /// 鏂板浜嬩欢
+        ///     鏂板浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -192,13 +215,14 @@
         {
             UtilityHelper.JumpToTab(xtraTabControl1, 1);
             lbGuid.Text = "";
-            List<DevExpress.XtraGrid.Views.Grid.GridView> gridViews = new List<DevExpress.XtraGrid.Views.Grid.GridView>();
+            var gridViews = new List<GridView>();
             gridViews.Add(gvMx1);
-            UtilityHelper.CleanValueByControl(this.panel1.Controls, true, gridViews);
-            Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gcMx1, gvMx1);
+            UtilityHelper.CleanValueByControl(panel1.Controls, true, gridViews);
+            UtilityHelper.SetDefaultTable(gcMx1, gvMx1);
         }
+
         /// <summary>
-        /// 淇濆瓨浜嬩欢
+        ///     淇濆瓨浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -207,37 +231,38 @@
             toolBarMenu1.isSetBtn = false;
             if (string.IsNullOrEmpty(txt_workshopNo.Text.Trim()))
             {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("缂栧彿涓嶈兘涓虹┖锛�");
+                MsgHelper.Warning("缂栧彿涓嶈兘涓虹┖锛�");
                 txt_workshopNo.Focus();
                 return;
             }
+
             if (string.IsNullOrEmpty(txt_name.Text.Trim()))
             {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("鍚嶇О涓嶈兘涓虹┖锛�");
+                MsgHelper.Warning("鍚嶇О涓嶈兘涓虹┖锛�");
                 txt_name.Focus();
                 return;
             }
+
             gvMx1.CloseEditor();
             gvMx1.UpdateCurrentRow();
-            List<dynamic> lst = new List<dynamic>();
-            for (int i = 0; i < gvMx1.DataRowCount; i++)
+            var lst = new List<dynamic>();
+            for (var i = 0; i < gvMx1.DataRowCount; i++)
             {
-                DataRow row = gvMx1.GetDataRow(i);
+                var row = gvMx1.GetDataRow(i);
                 if (row != null)
-                {
                     lst.Add(new
                     {
                         guid = row["guid"].ToString(),
                         lineNo = row["lineNo"].ToString(),
                         name = row["name"].ToString(),
                         remark = row["remark"].ToString(),
-                        isStatus = row["isStatus"].ToString(),
+                        isStatus = row["isStatus"].ToString()
                     });
-                }
             }
+
             var _obj = new
             {
-                guid = lbGuid.Text.Trim(),//涓诲缓
+                guid = lbGuid.Text.Trim(), //涓诲缓
                 workshopNo = txt_workshopNo.Text.Trim(),
                 name = txt_name.Text.Trim(),
                 remark = txt_remark.Text.Trim(),
@@ -246,90 +271,96 @@
             };
             try
             {
-                string strJson = UtilityHelper.HttpPost("", _webServiceName + "EditModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                var strJson = UtilityHelper.HttpPost("",
+                    _webServiceName + "EditModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
+                MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
                 if (_rtn.rtnCode > 0)
                 {
                     lbGuid.Text = _rtn.rtnData;
                     toolBarMenu1.isSetBtn = true;
-                    List<DevExpress.XtraGrid.Views.Grid.GridView> gridViews = new List<DevExpress.XtraGrid.Views.Grid.GridView>();
+                    var gridViews = new List<GridView>();
                     gridViews.Add(gvMx1);
-                    UtilityHelper.ChangeEnableByControl(this.panel1.Controls, false, gridViews);
+                    UtilityHelper.ChangeEnableByControl(panel1.Controls, false,
+                        gridViews);
                 }
-
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
 
         /// <summary>
-        /// 
         /// </summary>
         /// <param name="curPage">绗嚑椤�</param>
         /// <param name="pageSize">姣忛〉鍑犳潯</param>
         private void getPageList(int curPage, int pageSize)
         {
-            System.Text.StringBuilder _sbSqlWhere = new System.Text.StringBuilder();
-            foreach (FilterEntity itm in _filterList)
-            {
-                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'");
-            }
-            PageQueryModel pgq = new PageQueryModel(curPage, pageSize, "create_date", "asc", "", _sbSqlWhere.ToString());
-            string json = JsonConvert.SerializeObject(pgq);
+            var _sbSqlWhere = new StringBuilder();
+            foreach (var itm in _filterList)
+                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" +
+                                   itm.fileValue + "'");
+            var pgq = new PageQueryModel(curPage, pageSize, "create_date",
+                "asc", "", _sbSqlWhere.ToString());
+            var json = JsonConvert.SerializeObject(pgq);
             try
             {
-                string strReturn = UtilityHelper.HttpPost("", _webServiceName + "GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
-                DataTable dt = dd.rtnData.list;
+                var strReturn = UtilityHelper.HttpPost("",
+                    _webServiceName + "GetListPage", json);
+                var dd = UtilityHelper.ReturnToTablePage(strReturn);
+                var dt = dd.rtnData.list;
                 gcMain.BindingContext = new BindingContext();
                 gcMain.DataSource = dt;
                 gcMain.ForceInitialize();
-                int dddd = dd.rtnData.pages;//鎬婚〉
+                var dddd = dd.rtnData.pages; //鎬婚〉
                 pageBar1.TotalPages = dddd;
-                pageBar1.RecordCount = dd.rtnData.total;//璁板綍鎬绘暟
-                pageBar1.CurrentPage = curPage;//褰撳墠椤�
-                pageBar1.RowsCount = pageSize;//姣忛〉鏄剧ず
+                pageBar1.RecordCount = dd.rtnData.total; //璁板綍鎬绘暟
+                pageBar1.CurrentPage = curPage; //褰撳墠椤�
+                pageBar1.RowsCount = pageSize; //姣忛〉鏄剧ず
                 pageBar1.setTxt();
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
+
         private void getModel(string strGuid, bool isEdit, int tabIdx)
         {
             if (string.IsNullOrEmpty(strGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             UtilityHelper.JumpToTab(xtraTabControl1, tabIdx);
             var _obj = new
             {
-                guid = strGuid,//涓诲缓
+                guid = strGuid //涓诲缓
             };
             try
             {
-                string strJson = UtilityHelper.HttpPost("", _webServiceName + "GetModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                var strJson = UtilityHelper.HttpPost("",
+                    _webServiceName + "GetModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
-                    dynamic dy = _rtn.rtnData;
+                    var dy = _rtn.rtnData;
                     lbGuid.Text = strGuid;
-                    List<DevExpress.XtraGrid.Views.Grid.GridView> gridViews = new List<DevExpress.XtraGrid.Views.Grid.GridView>();
+                    var gridViews = new List<GridView>();
                     gridViews.Add(gvMx1);
-                    UtilityHelper.SetValueByObj(this.panel1.Controls, dy, isEdit, gridViews);
-                    JObject _job = JObject.Parse(strJson);
-                    JArray array = new JArray();
+                    UtilityHelper.SetValueByObj(panel1.Controls, dy, isEdit,
+                        gridViews);
+                    var _job = JObject.Parse(strJson);
+                    var array = new JArray();
                     var d = _job["rtnData"]["list"];
-                    foreach (var a in d)
-                    {
-                        array.Add(a);
-                    }
-                    DataTable dt = JsonConvert.DeserializeObject<DataTable>(array.ToString());
+                    foreach (var a in d) array.Add(a);
+                    var dt =
+                        JsonConvert.DeserializeObject<DataTable>(
+                            array.ToString());
                     if (dt.Rows.Count > 0)
                     {
                         gcMx1.BindingContext = new BindingContext();
@@ -338,45 +369,47 @@
                     }
                     else
                     {
-                        Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gcMx1, gvMx1);
+                        UtilityHelper.SetDefaultTable(gcMx1, gvMx1);
                     }
                 }
                 else
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                {
+                    MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
 
-        private void repositoryItemButtonEdit1_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
+        private void repositoryItemButtonEdit1_ButtonClick(object sender,
+            ButtonPressedEventArgs e)
         {
-            int rowhandle = gvMx1.FocusedRowHandle;
+            var rowhandle = gvMx1.FocusedRowHandle;
             if (rowhandle < 0)
                 return;
             if (e.Button.Index == 0)
             {
-                DataRow dr = gvMx1.GetDataRow(rowhandle);
-                string mxGuid = dr["guid"].ToString();
+                var dr = gvMx1.GetDataRow(rowhandle);
+                var mxGuid = dr["guid"].ToString();
                 if (!MsgHelper.AskQuestion("浣犻�夋嫨浜�1鏉℃暟鎹紝纭畾鍒犻櫎鍚楋紵"))
                     return;
-                string strJson = "";
-                List<string> lst = new List<string>();
+                var strJson = "";
+                var lst = new List<string>();
                 lst.Add(mxGuid);
                 try
                 {
-                    strJson = UtilityHelper.HttpPost("", _webServiceName + "DeleteModelMx", JsonConvert.SerializeObject(lst));
-                    ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
-                    if (_rtn.rtnCode > 0)
-                    {
-                        getModel(lbGuid.Text, true, 1);
-                    }
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                    strJson = UtilityHelper.HttpPost("",
+                        _webServiceName + "DeleteModelMx",
+                        JsonConvert.SerializeObject(lst));
+                    var _rtn = UtilityHelper.ReturnToDynamic(strJson);
+                    if (_rtn.rtnCode > 0) getModel(lbGuid.Text, true, 1);
+                    MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
                 }
                 catch (Exception ex)
                 {
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                    MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
                 }
             }
         }
diff --git a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesWorkshop.resx b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesWorkshop.resx
index d58980a..4795337 100644
--- a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesWorkshop.resx
+++ b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_MesWorkshop.resx
@@ -1,120 +1,134 @@
 <?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
             <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
             </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Staff.cs b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Staff.cs
index c3f9a98..cc8ebde 100644
--- a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Staff.cs
+++ b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Staff.cs
@@ -1,51 +1,55 @@
-锘� using DevExpress.XtraGrid.Views.Grid;
-using DevExpress.XtraGrid.Views.Grid.ViewInfo;
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using System.Windows.Forms;
+using DevExpress.XtraEditors;
+using DevExpress.XtraGrid.Views.Grid;
 using Gs.DevApp.Entity;
 using Gs.DevApp.ToolBox;
+using Gs.DevApp.UserControl;
 using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.Data;
-using System.Drawing;
-using System.Windows.Forms;
 
 namespace Gs.DevApp.DevFrm
 {
-    public partial class Frm_Staff : DevExpress.XtraEditors.XtraForm
+    public partial class Frm_Staff : XtraForm
     {
-        string _webServiceName = "MesStaffManager/";
-        List<FilterEntity> _filterList = new List<FilterEntity>();
+        private List<FilterEntity> _filterList = new List<FilterEntity>();
+        private readonly string _webServiceName = "MesStaffManager/";
+
         public Frm_Staff()
         {
             InitializeComponent();
-            this.toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
-            this.toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
+            toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
+            toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
             gcMain.MouseDoubleClick += GcMain_MouseDoubleClick;
-            gridView1.CustomDrawRowIndicator += GridView1_CustomDrawRowIndicator;
+            gridView1.CustomDrawRowIndicator +=
+                GridView1_CustomDrawRowIndicator;
             getPageList(1, UtilityHelper.GetPageSize());
             pageBar1.PagerEvent += PageBar1_PagerEvent;
         }
-        private void GridView1_CustomDrawRowIndicator(object sender, RowIndicatorCustomDrawEventArgs e)
+
+        private void GridView1_CustomDrawRowIndicator(object sender,
+            RowIndicatorCustomDrawEventArgs e)
         {
             if (e.Info.IsRowIndicator && e.RowHandle >= 0)
-            {
                 e.Info.DisplayText = (e.RowHandle + 1).ToString();
-            }
         }
-       
+
         /// <summary>
-        /// 鍙屽嚮浜嬩欢
+        ///     鍙屽嚮浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void GcMain_MouseDoubleClick(object sender, MouseEventArgs e)
         {
-            string rowGuid = Gs.DevApp.ToolBox.UtilityHelper.GetCurrentDoubleRow(gridView1, e, "guid");
+            var rowGuid =
+                UtilityHelper.GetCurrentDoubleRow(gridView1, e, "guid");
             if (!string.IsNullOrEmpty(rowGuid))
                 getModel(rowGuid, false, 999);
         }
+
         /// <summary>
-        /// 鍒嗛〉浜嬩欢
+        ///     鍒嗛〉浜嬩欢
         /// </summary>
         /// <param name="curPage"></param>
         /// <param name="pageSize"></param>
@@ -53,19 +57,21 @@
         {
             getPageList(curPage, pageSize);
         }
+
         /// <summary>
-        /// 鏌ヨ浜嬩欢
+        ///     鏌ヨ浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnQueryClick(object sender, EventArgs e)
         {
-            Gs.DevApp.UserControl.ShowFilter frm = new Gs.DevApp.UserControl.ShowFilter(gridView1.Columns, _filterList);
+            var frm = new ShowFilter(gridView1.Columns, _filterList);
             frm.UpdateParent += Frm_UpdateParent;
             frm.ShowDialog();
         }
+
         /// <summary>
-        /// 鏌ヨ鍥炶皟
+        ///     鏌ヨ鍥炶皟
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -75,9 +81,9 @@
             getPageList(1, pageBar1.RowsCount);
         }
 
-      
+
         /// <summary>
-        /// 鍒锋柊浜嬩欢
+        ///     鍒锋柊浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -86,71 +92,76 @@
             UtilityHelper.JumpToTab(xtraTabControl1, 0);
             getPageList(1, UtilityHelper.GetPageSize());
         }
-       
+
         /// <summary>
-        /// 
         /// </summary>
         /// <param name="curPage">绗嚑椤�</param>
         /// <param name="pageSize">姣忛〉鍑犳潯</param>
         private void getPageList(int curPage, int pageSize)
         {
-            System.Text.StringBuilder _sbSqlWhere = new System.Text.StringBuilder();
-            foreach (FilterEntity itm in _filterList)
-            {
-                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'");
-            }
-            PageQueryModel pgq = new PageQueryModel(curPage, pageSize, "create_date", "asc", "", _sbSqlWhere.ToString());
-            string json = JsonConvert.SerializeObject(pgq);
+            var _sbSqlWhere = new StringBuilder();
+            foreach (var itm in _filterList)
+                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" +
+                                   itm.fileValue + "'");
+            var pgq = new PageQueryModel(curPage, pageSize, "create_date",
+                "asc", "", _sbSqlWhere.ToString());
+            var json = JsonConvert.SerializeObject(pgq);
             try
             {
-                string strReturn = UtilityHelper.HttpPost("", _webServiceName+ "GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
-                DataTable dt = dd.rtnData.list;
+                var strReturn = UtilityHelper.HttpPost("",
+                    _webServiceName + "GetListPage", json);
+                var dd = UtilityHelper.ReturnToTablePage(strReturn);
+                var dt = dd.rtnData.list;
                 gcMain.BindingContext = new BindingContext();
                 gcMain.DataSource = dt;
                 gcMain.ForceInitialize();
-                int dddd = dd.rtnData.pages;//鎬婚〉
+                var dddd = dd.rtnData.pages; //鎬婚〉
                 pageBar1.TotalPages = dddd;
-                pageBar1.RecordCount = dd.rtnData.total;//璁板綍鎬绘暟
-                pageBar1.CurrentPage = curPage;//褰撳墠椤�
-                pageBar1.RowsCount = pageSize;//姣忛〉鏄剧ず
+                pageBar1.RecordCount = dd.rtnData.total; //璁板綍鎬绘暟
+                pageBar1.CurrentPage = curPage; //褰撳墠椤�
+                pageBar1.RowsCount = pageSize; //姣忛〉鏄剧ず
                 pageBar1.setTxt();
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
+
         private void getModel(string strGuid, bool isEdit, int tabIdx)
         {
             if (string.IsNullOrEmpty(strGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             UtilityHelper.JumpToTab(xtraTabControl1, tabIdx);
             var _obj = new
             {
-                guid = strGuid,//涓诲缓
+                guid = strGuid //涓诲缓
             };
             try
             {
-                string strJson = UtilityHelper.HttpPost("", _webServiceName+"GetModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                var strJson = UtilityHelper.HttpPost("",
+                    _webServiceName + "GetModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
-                    dynamic dy = _rtn.rtnData;
+                    var dy = _rtn.rtnData;
                     lbGuid.Text = strGuid;
-                    UtilityHelper.SetValueByObj(this.panel1.Controls, dy, isEdit);
+                    UtilityHelper.SetValueByObj(panel1.Controls, dy, isEdit);
                 }
                 else
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                {
+                    MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
     }
-}
-
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Staff.resx b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Staff.resx
index 1af7de1..bfad99e 100644
--- a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Staff.resx
+++ b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Staff.resx
@@ -1,120 +1,134 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
             <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
             </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Supplier.cs b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Supplier.cs
index 98f7585..1f872d5 100644
--- a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Supplier.cs
+++ b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Supplier.cs
@@ -1,49 +1,55 @@
 锘縰sing System;
-using System.Data;
-using System.Windows.Forms;
-using Gs.DevApp.ToolBox;
-using Gs.DevApp.Entity;
-using Newtonsoft.Json;
-using DevExpress.XtraGrid.Views.Grid.ViewInfo;
-using DevExpress.XtraGrid.Views.Grid;
 using System.Collections.Generic;
+using System.Text;
+using System.Windows.Forms;
+using DevExpress.XtraEditors;
+using DevExpress.XtraGrid.Views.Grid;
+using Gs.DevApp.Entity;
+using Gs.DevApp.ToolBox;
+using Gs.DevApp.UserControl;
+using Newtonsoft.Json;
 
 namespace Gs.DevApp.DevFrm
 {
-    public partial class Frm_Supplier : DevExpress.XtraEditors.XtraForm
+    public partial class Frm_Supplier : XtraForm
     {
-        string _webServiceName = "MesSupplierManager/";
-        List<FilterEntity> _filterList = new List<FilterEntity>();
+        private List<FilterEntity> _filterList = new List<FilterEntity>();
+        private readonly string _webServiceName = "MesSupplierManager/";
+
         public Frm_Supplier()
         {
             InitializeComponent();
-            this.toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
-            this.toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
+            toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
+            toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
             gcMain.MouseDoubleClick += GcMain_MouseDoubleClick;
-            gridView1.CustomDrawRowIndicator += GridView1_CustomDrawRowIndicator;
+            gridView1.CustomDrawRowIndicator +=
+                GridView1_CustomDrawRowIndicator;
             getPageList(1, UtilityHelper.GetPageSize());
             pageBar1.PagerEvent += PageBar1_PagerEvent;
         }
-        private void GridView1_CustomDrawRowIndicator(object sender, RowIndicatorCustomDrawEventArgs e)
+
+        private void GridView1_CustomDrawRowIndicator(object sender,
+            RowIndicatorCustomDrawEventArgs e)
         {
             if (e.Info.IsRowIndicator && e.RowHandle >= 0)
-            {
                 e.Info.DisplayText = (e.RowHandle + 1).ToString();
-            }
         }
+
         /// <summary>
-        /// 鍙屽嚮浜嬩欢
+        ///     鍙屽嚮浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void GcMain_MouseDoubleClick(object sender, MouseEventArgs e)
         {
-            string rowGuid = Gs.DevApp.ToolBox.UtilityHelper.GetCurrentDoubleRow(gridView1, e, "guid");
+            var rowGuid =
+                UtilityHelper.GetCurrentDoubleRow(gridView1, e, "guid");
             if (!string.IsNullOrEmpty(rowGuid))
                 getModel(rowGuid, false, 999);
         }
+
         /// <summary>
-        /// 鍒嗛〉浜嬩欢
+        ///     鍒嗛〉浜嬩欢
         /// </summary>
         /// <param name="curPage"></param>
         /// <param name="pageSize"></param>
@@ -51,19 +57,21 @@
         {
             getPageList(curPage, pageSize);
         }
+
         /// <summary>
-        /// 鏌ヨ浜嬩欢
+        ///     鏌ヨ浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnQueryClick(object sender, EventArgs e)
         {
-            Gs.DevApp.UserControl.ShowFilter frm = new Gs.DevApp.UserControl.ShowFilter(gridView1.Columns, _filterList);
+            var frm = new ShowFilter(gridView1.Columns, _filterList);
             frm.UpdateParent += Frm_UpdateParent;
             frm.ShowDialog();
         }
+
         /// <summary>
-        /// 鏌ヨ鍥炶皟
+        ///     鏌ヨ鍥炶皟
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -72,8 +80,9 @@
             _filterList = e.FilterList;
             getPageList(1, pageBar1.RowsCount);
         }
+
         /// <summary>
-        /// 鍒锋柊浜嬩欢
+        ///     鍒锋柊浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -82,70 +91,76 @@
             UtilityHelper.JumpToTab(xtraTabControl1, 0);
             getPageList(1, UtilityHelper.GetPageSize());
         }
+
         /// <summary>
-        /// 
         /// </summary>
         /// <param name="curPage">绗嚑椤�</param>
         /// <param name="pageSize">姣忛〉鍑犳潯</param>
         private void getPageList(int curPage, int pageSize)
         {
-            System.Text.StringBuilder _sbSqlWhere = new System.Text.StringBuilder();
-            foreach (FilterEntity itm in _filterList)
-            {
-                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'");
-            }
-            PageQueryModel pgq = new PageQueryModel(curPage, pageSize, "create_date", "asc", "", _sbSqlWhere.ToString());
-            string json = JsonConvert.SerializeObject(pgq);
+            var _sbSqlWhere = new StringBuilder();
+            foreach (var itm in _filterList)
+                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" +
+                                   itm.fileValue + "'");
+            var pgq = new PageQueryModel(curPage, pageSize, "create_date",
+                "asc", "", _sbSqlWhere.ToString());
+            var json = JsonConvert.SerializeObject(pgq);
             try
             {
-                string strReturn = UtilityHelper.HttpPost("", _webServiceName+"GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
-                DataTable dt = dd.rtnData.list;
+                var strReturn = UtilityHelper.HttpPost("",
+                    _webServiceName + "GetListPage", json);
+                var dd = UtilityHelper.ReturnToTablePage(strReturn);
+                var dt = dd.rtnData.list;
                 gcMain.BindingContext = new BindingContext();
                 gcMain.DataSource = dt;
                 gcMain.ForceInitialize();
-                int dddd = dd.rtnData.pages;//鎬婚〉
+                var dddd = dd.rtnData.pages; //鎬婚〉
                 pageBar1.TotalPages = dddd;
-                pageBar1.RecordCount = dd.rtnData.total;//璁板綍鎬绘暟
-                pageBar1.CurrentPage = curPage;//褰撳墠椤�
-                pageBar1.RowsCount = pageSize;//姣忛〉鏄剧ず
+                pageBar1.RecordCount = dd.rtnData.total; //璁板綍鎬绘暟
+                pageBar1.CurrentPage = curPage; //褰撳墠椤�
+                pageBar1.RowsCount = pageSize; //姣忛〉鏄剧ず
                 pageBar1.setTxt();
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
+
         private void getModel(string strGuid, bool isEdit, int tabIdx)
         {
             if (string.IsNullOrEmpty(strGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             UtilityHelper.JumpToTab(xtraTabControl1, tabIdx);
             var _obj = new
             {
-                guid = strGuid,//涓诲缓
+                guid = strGuid //涓诲缓
             };
             try
             {
-                string strJson = UtilityHelper.HttpPost("", _webServiceName+"GetModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                var strJson = UtilityHelper.HttpPost("",
+                    _webServiceName + "GetModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
-                    dynamic dy = _rtn.rtnData;
+                    var dy = _rtn.rtnData;
                     lbGuid.Text = strGuid;
-                    UtilityHelper.SetValueByObj(this.panel1.Controls, dy, isEdit);
+                    UtilityHelper.SetValueByObj(panel1.Controls, dy, isEdit);
                 }
                 else
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                {
+                    MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
     }
-}
-
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Supplier.resx b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Supplier.resx
index 1af7de1..bfad99e 100644
--- a/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Supplier.resx
+++ b/DevApp/Gs.DevApp/DevFrm/BasicData/Frm_Supplier.resx
@@ -1,120 +1,134 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
             <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
             </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/FrmLogin.cs b/DevApp/Gs.DevApp/DevFrm/FrmLogin.cs
index b368561..e70806d 100644
--- a/DevApp/Gs.DevApp/DevFrm/FrmLogin.cs
+++ b/DevApp/Gs.DevApp/DevFrm/FrmLogin.cs
@@ -1,41 +1,46 @@
-锘縰sing Gs.DevApp.ToolBox;
-using Newtonsoft.Json;
-using System;
-using System.Windows.Forms;
-using Gs.DevApp.Entity;
-using Newtonsoft.Json.Linq;
-using System.Data;
+锘縰sing System;
 using System.Configuration;
-using AutoUpdaterDotNET;
 using System.Linq;
+using System.Windows.Forms;
+using AutoUpdaterDotNET;
+using DevExpress.XtraEditors;
+using Gs.DevApp.Entity;
+using Gs.DevApp.Properties;
+using Gs.DevApp.ToolBox;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 
 namespace Gs.DevApp.DevFrm
 {
-    public partial class FrmLogin : DevExpress.XtraEditors.XtraForm
+    public partial class FrmLogin : XtraForm
     {
         public FrmLogin()
         {
             InitializeComponent();
-            if (ConfigurationManager.AppSettings["IsAutoUpdater"].ToString() == "1")
+            if (ConfigurationManager.AppSettings["IsAutoUpdater"] == "1")
                 _autoUpdate();
             else
                 getTree();
-            this.Text = lbVersion.Text = ConfigurationManager.AppSettings["ProductName"].ToString();
+            Text = lbVersion.Text =
+                ConfigurationManager.AppSettings["ProductName"];
             btnLogin.Click += BtnLogin_Click;
             btnCancel.Click += BtnCancel_Click;
         }
+
         /// <summary>
-        /// 璇诲彇缁勭粐
+        ///     璇诲彇缁勭粐
         /// </summary>
         private void getTree()
         {
-            PageQueryModel pgq = new PageQueryModel(1, 999999, "factory", "asc", "", " and IS_STATUS=1");
-            string json = JsonConvert.SerializeObject(pgq);
+            var pgq = new PageQueryModel(1, 999999, "factory", "asc", "",
+                " and IS_STATUS=1");
+            var json = JsonConvert.SerializeObject(pgq);
             try
             {
-                string strReturn = UtilityHelper.HttpPost("", "Organization/GetListPage", json);
-                ReturnModel<PageListModel> rtn = UtilityHelper.ReturnToTablePage(strReturn);
-                DataTable dt = rtn.rtnData.list;
+                var strReturn = UtilityHelper.HttpPost("",
+                    "Organization/GetListPage", json);
+                var rtn = UtilityHelper.ReturnToTablePage(strReturn);
+                var dt = rtn.rtnData.list;
                 comOrg.DataSource = dt;
                 comOrg.DisplayMember = "name";
                 comOrg.ValueMember = "guid";
@@ -44,38 +49,41 @@
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
-                this.Close();
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                Close();
                 Application.Exit();
             }
         }
+
         private void BtnCancel_Click(object sender, EventArgs e)
         {
-            if (MsgHelper.AskQuestion("纭畾瑕侀��鍑虹郴缁熷悧?"))
-            {
-                Application.Exit();
-            }
+            if (MsgHelper.AskQuestion("纭畾瑕侀��鍑虹郴缁熷悧?")) Application.Exit();
         }
+
         private void BtnLogin_Click(object sender, EventArgs e)
         {
             if (string.IsNullOrEmpty(txtUser.Text.Trim()))
             {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("鐧诲綍璐﹀彿涓嶈兘涓虹┖锛�");
+                MsgHelper.Warning("鐧诲綍璐﹀彿涓嶈兘涓虹┖锛�");
                 txtUser.Focus();
                 return;
             }
+
             if (string.IsNullOrEmpty(txtPwd.Text.Trim()))
             {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("瀵嗙爜涓嶈兘涓虹┖锛�");
+                MsgHelper.Warning("瀵嗙爜涓嶈兘涓虹┖锛�");
                 txtUser.Focus();
                 return;
             }
-            if (comOrg.SelectedValue == null || string.IsNullOrEmpty(comOrg.SelectedValue.ToString().Trim()))
+
+            if (comOrg.SelectedValue == null ||
+                string.IsNullOrEmpty(comOrg.SelectedValue.ToString().Trim()))
             {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("缁勭粐鏈烘瀯涓嶈兘涓虹┖锛�");
+                MsgHelper.Warning("缁勭粐鏈烘瀯涓嶈兘涓虹┖锛�");
                 txtUser.Focus();
                 return;
             }
+
             var _obj = new
             {
                 accountPwd = txtPwd.Text.Trim(),
@@ -84,70 +92,81 @@
             };
             try
             {
-                string strJson = UtilityHelper.HttpPost("", "User/UserLogin", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                var strJson = UtilityHelper.HttpPost("", "User/UserLogin",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
                 JObject _login = _rtn.rtnData;
                 if (_rtn.rtnCode > 0)
                 {
-                    Properties.Settings.Default.userName = (ckRemember.Checked ? txtUser.Text.Trim() : "");
-                    Properties.Settings.Default.userPwd = (ckRemember.Checked ? txtPwd.Text.Trim() : "");
-                    Properties.Settings.Default.orgGuid = (ckRemember.Checked ? comOrg.SelectedValue.ToString() : "");
-                    Properties.Settings.Default.remember = ckRemember.Checked;
-                    Properties.Settings.Default.Save();
-                    LoginInfoModel.CurrentUser.LoginUserGuid = _login["loginGuid"].ToString();
-                    LoginInfoModel.CurrentUser.LoginOrgGuid = _login["loginOrgGuid"].ToString();
-                    LoginInfoModel.CurrentUser.LoginTime = DateTime.Now.ToString("yyyy-MM-dd hh:mm");
-                    LoginInfoModel.CurrentUser.LoginFactory = _login["loginFactory"].ToString();
-                    this.DialogResult = DialogResult.OK;
+                    Settings.Default.userName = ckRemember.Checked
+                        ? txtUser.Text.Trim()
+                        : "";
+                    Settings.Default.userPwd =
+                        ckRemember.Checked ? txtPwd.Text.Trim() : "";
+                    Settings.Default.orgGuid = ckRemember.Checked
+                        ? comOrg.SelectedValue.ToString()
+                        : "";
+                    Settings.Default.remember = ckRemember.Checked;
+                    Settings.Default.Save();
+                    LoginInfoModel.CurrentUser.LoginUserGuid =
+                        _login["loginGuid"].ToString();
+                    LoginInfoModel.CurrentUser.LoginOrgGuid =
+                        _login["loginOrgGuid"].ToString();
+                    LoginInfoModel.CurrentUser.LoginTime =
+                        DateTime.Now.ToString("yyyy-MM-dd hh:mm");
+                    LoginInfoModel.CurrentUser.LoginFactory =
+                        _login["loginFactory"].ToString();
+                    DialogResult = DialogResult.OK;
                 }
                 else
                 {
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
-                    this.DialogResult = DialogResult.None;
+                    MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                    DialogResult = DialogResult.None;
                 }
             }
             catch (Exception ex)
             {
-                this.DialogResult = DialogResult.Cancel;
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                DialogResult = DialogResult.Cancel;
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
+
         /// <summary>
-        /// 璇诲彇璁颁綇瀵嗙爜
+        ///     璇诲彇璁颁綇瀵嗙爜
         /// </summary>
         private void _getRemember()
         {
             try
             {
-                if (Properties.Settings.Default.remember)
+                if (Settings.Default.remember)
                 {
-                    txtUser.Text = Properties.Settings.Default.userName;
-                    txtPwd.Text = Properties.Settings.Default.userPwd;
-                    comOrg.SelectedValue = Properties.Settings.Default.orgGuid;
+                    txtUser.Text = Settings.Default.userName;
+                    txtPwd.Text = Settings.Default.userPwd;
+                    comOrg.SelectedValue = Settings.Default.orgGuid;
                     ckRemember.Checked = true;
                 }
             }
             catch (Exception ex)
             {
-
                 MessageBox.Show(ex.Message);
             }
-
         }
+
         private void _autoUpdate()
         {
-            string _version = ConfigurationManager.AppSettings["Version"];
+            var _version = ConfigurationManager.AppSettings["Version"];
             AutoUpdater.InstalledVersion = new Version(_version);
-            AutoUpdater.Start(ConfigurationManager.AppSettings["AutoUpdaterXml"].ToString());
+            AutoUpdater.Start(
+                ConfigurationManager.AppSettings["AutoUpdaterXml"]);
             AutoUpdater.CheckForUpdateEvent += AutoUpdater_CheckForUpdateEvent;
         }
+
         private void AutoUpdater_CheckForUpdateEvent(UpdateInfoEventArgs args)
         {
-
             if (args == null || string.IsNullOrEmpty(args.DownloadURL))
             {
                 MsgHelper.ShowError("璇诲彇鑷姩鏇存柊澶辫触锛屾棤娉曠櫥褰曪紝璇疯仈绯荤鐞嗗憳锛�");
-                this.Close();
+                Close();
                 Application.Exit();
                 return;
             }
@@ -157,48 +176,54 @@
                 getTree();
                 return;
             }
-            string _strMsg = string.Format($@"鏈夋柊鐗堟湰 {args.CurrentVersion} 鍙敤锛屾偍浣跨敤鐨勬槸 {args.InstalledVersion}鐗堟湰锛岃繖鏄繀闇�鐨勬洿鏂帮紝鎸夆�滄槸锛圷锛夆�濆紑濮嬫洿鏂板簲鐢ㄧ▼搴忋��");
+
+            var _strMsg =
+                string.Format(
+                    $@"鏈夋柊鐗堟湰 {args.CurrentVersion} 鍙敤锛屾偍浣跨敤鐨勬槸 {args.InstalledVersion}鐗堟湰锛岃繖鏄繀闇�鐨勬洿鏂帮紝鎸夆�滄槸锛圷锛夆�濆紑濮嬫洿鏂板簲鐢ㄧ▼搴忋��");
             if (!MsgHelper.AskQuestion(_strMsg))
             {
-                this.Close();
+                Close();
                 Application.Exit();
                 return;
             }
+
             try
             {
                 if (AutoUpdater.DownloadUpdate(args))
                 {
-                    Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
+                    var config =
+                        ConfigurationManager.OpenExeConfiguration(
+                            ConfigurationUserLevel.None);
                     if (config != null)
                     {
-                        AppSettingsSection appSettings = (AppSettingsSection)config.GetSection("appSettings");
+                        var appSettings =
+                            (AppSettingsSection)config.GetSection(
+                                "appSettings");
                         if (appSettings.Settings.AllKeys.Contains("Version"))
-                        {
-                            appSettings.Settings["Version"].Value = args.CurrentVersion;
-                        }
+                            appSettings.Settings["Version"].Value =
+                                args.CurrentVersion;
                         else
-                        {
-                            appSettings.Settings.Add("Version", args.CurrentVersion);
-                        }
+                            appSettings.Settings.Add("Version",
+                                args.CurrentVersion);
                         config.Save(ConfigurationSaveMode.Modified);
                         ConfigurationManager.RefreshSection("appSettings");
                     }
+
                     Application.Exit();
                 }
                 else
                 {
                     MsgHelper.ShowError("璇诲彇鑷姩鏇存柊澶辫触锛屾棤娉曠櫥褰曪紝璇疯仈绯荤鐞嗗憳锛�");
-                    this.Close();
+                    Close();
                     Application.Exit();
-                    return;
                 }
             }
             catch (Exception exception)
             {
-                MsgHelper.ShowError(exception.Message + "锛�" + exception.GetType().ToString());
-                this.Close();
+                MsgHelper.ShowError(exception.Message + "锛�" +
+                                    exception.GetType());
+                Close();
                 Application.Exit();
-                return;
             }
         }
     }
diff --git a/DevApp/Gs.DevApp/DevFrm/FrmLogin.resx b/DevApp/Gs.DevApp/DevFrm/FrmLogin.resx
index 2e477c9..72286e6 100644
--- a/DevApp/Gs.DevApp/DevFrm/FrmLogin.resx
+++ b/DevApp/Gs.DevApp/DevFrm/FrmLogin.resx
@@ -1,140 +1,159 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
+            <xsd:complexType>
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
+            </xsd:complexType>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <assembly alias="System.Drawing"
+              name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
+    <data name="btnCancel.ImageOptions.Image"
+          type="System.Drawing.Bitmap, System.Drawing"
+          mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>
+            iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABF0RVh0VGl0
+            bGUAQ2xvc2U7RXhpdDsFGf+FAAAArElEQVQ4T7XSOwoCQRCE4c0E8XEDQTMRA+/gTTykGBuYGm6olxBE
+            tP1LHGl1WoZVg2+DYrqYZrYys6/cPvVibk38teBUkkUFNcbYuGyFCXYuyxYcMYSyPlSi4fY9m+KMsECW
+            aEF5D2m4gzUeZ6MC8SXZYflU4K8taZ2nc1GBH+4i3eStJFdwwABpWNf268xwQVggW4zgd1aJnnbvsrBA
+            9JyvWfGPVOx3Bc1ZdQWpA3U147gCvgAAAABJRU5ErkJggg==
+        </value>
     </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
+    <data name="btnLogin.ImageOptions.Image"
+          type="System.Drawing.Bitmap, System.Drawing"
+          mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>
+            iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACB0RVh0VGl0
+            bGUATmV3O05ld0VtcGxveWVlO05ld1BlcnNvbjveWVScAAAA3ElEQVQ4T5WOPQ5BQRSF3wYsgohCJXRq
+            PRWJJaktgFLUOjsQ0egURKEgaj/NOEfuyJl5E4/iy8y5c7+Tyc6LruI0O+cKUbEVnUkhxhd4ycOcDUdL
+            cgVjULKcK1AxyCbwJBPLuYKiH/iCm+VkgZf0VJlcKJNUgRZ9sshkRpkEBRr8AmiCJ/Ay75z9XED64GQM
+            bPZGnSDYAsUjqFgmZXAAPWZ1goDHBngAfnsDqqAGtjbjW12duGBui9+YqhMXnKPlFCd14oJ9tJxip05c
+            0AFrcLdlhbMVaKsTFPyPy16LX4vunIH/egAAAABJRU5ErkJggg==
+        </value>
     </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
-  <data name="btnCancel.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABF0RVh0VGl0
-        bGUAQ2xvc2U7RXhpdDsFGf+FAAAArElEQVQ4T7XSOwoCQRCE4c0E8XEDQTMRA+/gTTykGBuYGm6olxBE
-        tP1LHGl1WoZVg2+DYrqYZrYys6/cPvVibk38teBUkkUFNcbYuGyFCXYuyxYcMYSyPlSi4fY9m+KMsECW
-        aEF5D2m4gzUeZ6MC8SXZYflU4K8taZ2nc1GBH+4i3eStJFdwwABpWNf268xwQVggW4zgd1aJnnbvsrBA
-        9JyvWfGPVOx3Bc1ZdQWpA3U147gCvgAAAABJRU5ErkJggg==
-</value>
-  </data>
-  <data name="btnLogin.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACB0RVh0VGl0
-        bGUATmV3O05ld0VtcGxveWVlO05ld1BlcnNvbjveWVScAAAA3ElEQVQ4T5WOPQ5BQRSF3wYsgohCJXRq
-        PRWJJaktgFLUOjsQ0egURKEgaj/NOEfuyJl5E4/iy8y5c7+Tyc6LruI0O+cKUbEVnUkhxhd4ycOcDUdL
-        cgVjULKcK1AxyCbwJBPLuYKiH/iCm+VkgZf0VJlcKJNUgRZ9sshkRpkEBRr8AmiCJ/Ay75z9XED64GQM
-        bPZGnSDYAsUjqFgmZXAAPWZ1goDHBngAfnsDqqAGtjbjW12duGBui9+YqhMXnKPlFCd14oJ9tJxip05c
-        0AFrcLdlhbMVaKsTFPyPy16LX4vunIH/egAAAABJRU5ErkJggg==
-</value>
-  </data>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/FrmMain.cs b/DevApp/Gs.DevApp/DevFrm/FrmMain.cs
index dee96e6..7c67fdc 100644
--- a/DevApp/Gs.DevApp/DevFrm/FrmMain.cs
+++ b/DevApp/Gs.DevApp/DevFrm/FrmMain.cs
@@ -1,37 +1,47 @@
-锘縰sing DevExpress.XtraBars.Navigation;
-using DevExpress.XtraTab;
-using System;
+锘縰sing System;
 using System.Collections.Generic;
+using System.ComponentModel;
+using System.Configuration;
 using System.Data;
 using System.Drawing;
 using System.Reflection;
 using System.Windows.Forms;
-using Gs.DevApp.ToolBox;
-using Newtonsoft.Json;
+using DevExpress.XtraBars;
+using DevExpress.XtraBars.FluentDesignSystem;
+using DevExpress.XtraBars.Navigation;
+using DevExpress.XtraTab;
+using DevExpress.XtraTab.ViewInfo;
+using Gs.DevApp.DevFrm.Sys;
+using Gs.DevApp.DevFrm.User;
 using Gs.DevApp.Entity;
+using Gs.DevApp.ToolBox;
+using Gs.DevApp.UserControl;
+using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 
 namespace Gs.DevApp.DevFrm
 {
-    public partial class FrmMain : DevExpress.XtraBars.FluentDesignSystem.FluentDesignForm
+    public partial class FrmMain : FluentDesignForm
     {
-        private static Dictionary<string, XtraTabPage> TabPageDic = new Dictionary<string, XtraTabPage>();
+        private static readonly Dictionary<string, XtraTabPage> TabPageDic =
+            new Dictionary<string, XtraTabPage>();
+
         public FrmMain()
         {
             InitializeComponent();
-            this.Text = System.Configuration.ConfigurationSettings.AppSettings.Get("ProductName").ToString();
+            Text = ConfigurationSettings.AppSettings.Get("ProductName");
             tab.CloseButtonClick += Tab_CloseButtonClick;
             tooLoading.Click += TooLoading_Click;
             barPwd.ItemClick += BarPwd_ItemClick;
             barExit.ItemClick += BarExit_ItemClick;
-            this.FormClosing += FrmMain_FormClosing;
-            this.barEasy.ItemClick += BarEasy_ItemClick;
+            FormClosing += FrmMain_FormClosing;
+            barEasy.ItemClick += BarEasy_ItemClick;
             getTree();
         }
 
-        private void BarEasy_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        private void BarEasy_ItemClick(object sender, ItemClickEventArgs e)
         {
-            DevFrm.Sys.EasyCode frm = new Sys.EasyCode();
+            var frm = new EasyCode();
             frm.ShowDialog();
         }
 
@@ -39,155 +49,169 @@
         {
             if (MsgHelper.AskQuestion("纭畾瑕侀��鍑虹郴缁熷悧?"))
             {
-                int i = _userOut();
+                var i = _userOut();
                 if (i > 0)
                 {
-                    this.FormClosing -= new FormClosingEventHandler(this.FrmMain_FormClosing);
+                    FormClosing -= FrmMain_FormClosing;
                     Application.Exit();
                 }
                 else
-                    e.Cancel = true;//鍙栨秷銆傝繑鍥炵獥浣�
+                {
+                    e.Cancel = true; //鍙栨秷銆傝繑鍥炵獥浣�
+                }
             }
             else
-                e.Cancel = true;//鍙栨秷銆傝繑鍥炵獥浣�
+            {
+                e.Cancel = true; //鍙栨秷銆傝繑鍥炵獥浣�
+            }
         }
 
         /// <summary>
-        /// 閫�鍑�
+        ///     閫�鍑�
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
-        private void BarExit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        private void BarExit_ItemClick(object sender, ItemClickEventArgs e)
         {
             if (MsgHelper.AskQuestion("纭畾瑕侀��鍑虹郴缁熷悧?"))
             {
-                int i = _userOut();
+                var i = _userOut();
                 if (i > 0)
                 {
-                    this.FormClosing -= new FormClosingEventHandler(this.FrmMain_FormClosing);
+                    FormClosing -= FrmMain_FormClosing;
                     Application.Exit();
                 }
             }
         }
 
         /// <summary>
-        /// 璁剧疆鐢ㄦ埛瀵嗙爜
+        ///     璁剧疆鐢ㄦ埛瀵嗙爜
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
-        private void BarPwd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        private void BarPwd_ItemClick(object sender, ItemClickEventArgs e)
         {
-            User.UserSetPwd frm = new User.UserSetPwd(LoginInfoModel.CurrentUser.LoginUserGuid);
+            var frm = new UserSetPwd(LoginInfoModel.CurrentUser.LoginUserGuid);
             frm.ShowDialog();
         }
 
         /// <summary>
-        /// 閲嶆柊鍔犺浇绯荤粺
+        ///     閲嶆柊鍔犺浇绯荤粺
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void TooLoading_Click(object sender, EventArgs e)
         {
-            int i = 100;
-            Gs.DevApp.UserControl.ShowDialogForm sdf = new Gs.DevApp.UserControl.ShowDialogForm("鎻愮ず", "", "璇疯�愬績绛夊�欙紝姝e湪鎿嶄綔涓紒");
-            for (int j = 0; j < i; j++)
-            {
-                sdf.SetCaption("鎵ц杩涘害锛�" + (j) + "/" + i.ToString() + "锛�");
-            }
+            var i = 100;
+            var sdf = new ShowDialogForm("鎻愮ず", "", "璇疯�愬績绛夊�欙紝姝e湪鎿嶄綔涓紒");
+            for (var j = 0; j < i; j++)
+                sdf.SetCaption("鎵ц杩涘害锛�" + j + "/" + i + "锛�");
             sdf.Close();
             getTree();
         }
+
         private void getTree()
         {
             toolTime.Text = "鐧诲綍鏃堕棿" + LoginInfoModel.CurrentUser.LoginTime;
             var _obj = new
             {
                 userGuid = LoginInfoModel.CurrentUser.LoginUserGuid,
-                orgGuid = LoginInfoModel.CurrentUser.LoginOrgGuid,
+                orgGuid = LoginInfoModel.CurrentUser.LoginOrgGuid
             };
             try
             {
-                string strJson = UtilityHelper.HttpPost("", "User/GetUserLoginInfo", JsonConvert.SerializeObject(_obj));
-                JObject _job = JObject.Parse(strJson);
-                string rtnCode = _job["rtnCode"].ToString();
+                var strJson = UtilityHelper.HttpPost("",
+                    "User/GetUserLoginInfo", JsonConvert.SerializeObject(_obj));
+                var _job = JObject.Parse(strJson);
+                var rtnCode = _job["rtnCode"].ToString();
                 if (int.Parse(rtnCode) > 0)
                 {
-                    this.acrd.Clear();
+                    acrd.Clear();
                     barMsg.Caption = _job["rtnData"]["loginMsg"].ToString();
-                    JArray array = new JArray();
+                    var array = new JArray();
                     var d = _job["rtnData"]["list"];
-                    foreach (var a in d)
-                    {
-                        array.Add(a);
-                    }
-                    System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmMain));
-                    DataTable dt = JsonConvert.DeserializeObject<DataTable>(array.ToString());
-                    DataRow[] drGrp = dt.Select("upGuid is null");
+                    foreach (var a in d) array.Add(a);
+                    var resources =
+                        new ComponentResourceManager(typeof(FrmMain));
+                    var dt =
+                        JsonConvert.DeserializeObject<DataTable>(
+                            array.ToString());
+                    var drGrp = dt.Select("upGuid is null");
                     int gdx = 0, idx = 0;
-                    foreach (DataRow _dy in drGrp)
+                    foreach (var _dy in drGrp)
                     {
-                        AccordionControlElement _grp = this.acrd.AddGroup();
-                        _grp.ImageOptions.Image = UtilityHelper.GetImgFromResource(_dy["icon"].ToString(), 1);
+                        var _grp = acrd.AddGroup();
+                        _grp.ImageOptions.Image =
+                            UtilityHelper.GetImgFromResource(
+                                _dy["icon"].ToString(), 1);
                         _grp.Name = _dy["guid"].ToString();
-                        _grp.Style = DevExpress.XtraBars.Navigation.ElementStyle.Group;
+                        _grp.Style = ElementStyle.Group;
                         _grp.Text = _dy["name"].ToString();
-                        _grp.Tag = _dy["formPath"].ToString();//瀛樿矾寰勶紝绫诲悕
+                        _grp.Tag = _dy["formPath"].ToString(); //瀛樿矾寰勶紝绫诲悕
                         _grp.Click += _grp_Click;
                         if (gdx == 0)
                             _grp.Expanded = true;
-                        DataRow[] drItem = dt.Select("upGuid='" + _dy["guid"].ToString() + "'");
-                        foreach (DataRow _dy2 in drItem)
+                        var drItem = dt.Select("upGuid='" + _dy["guid"] + "'");
+                        foreach (var _dy2 in drItem)
                         {
-                            AccordionControlElement _itm = this.acrd.AddItem();
-                            _itm.ImageOptions.Image = UtilityHelper.GetImgFromResource(_dy2["icon"].ToString(), 2);
+                            var _itm = acrd.AddItem();
+                            _itm.ImageOptions.Image =
+                                UtilityHelper.GetImgFromResource(
+                                    _dy2["icon"].ToString(), 2);
                             _itm.Name = _dy2["guid"].ToString();
-                            _itm.Style = DevExpress.XtraBars.Navigation.ElementStyle.Item;
+                            _itm.Style = ElementStyle.Item;
                             _itm.Text = _dy2["name"].ToString();
-                            _itm.Appearance.Normal.Font = new System.Drawing.Font("Tahoma", 10F);
-                            _itm.Tag = _dy2["formPath"].ToString();//瀛樿矾寰勶紝绫诲悕
+                            _itm.Appearance.Normal.Font =
+                                new Font("Tahoma", 10F);
+                            _itm.Tag = _dy2["formPath"].ToString(); //瀛樿矾寰勶紝绫诲悕
                             _itm.Click += _grp_Click;
                             _grp.Elements.Add(_itm);
                             if (idx == 0 && tab.TabPages.Count <= 0)
                             {
-                                string tabPageName = _itm.Name + "_page";
-                                string tabText = _itm.Text;//褰撳墠閫夐」鍗¢〉Text鏍囬
-                                string newFormName = _itm.Tag.ToString();//瀛樿矾寰勶紝绫诲悕
-                                Image imgIcon = _itm.Image;
-                                AddTabpage(tab, tabPageName, tabText, newFormName, imgIcon);
+                                var tabPageName = _itm.Name + "_page";
+                                var tabText = _itm.Text; //褰撳墠閫夐」鍗¢〉Text鏍囬
+                                var newFormName = _itm.Tag.ToString(); //瀛樿矾寰勶紝绫诲悕
+                                var imgIcon = _itm.Image;
+                                AddTabpage(tab, tabPageName, tabText,
+                                    newFormName, imgIcon);
                             }
+
                             idx++;
-                        };
+                        }
+
+                        ;
                         gdx++;
                     }
                 }
                 else
                 {
-                    ToolBox.MsgHelper.ShowError("鎻愮ず锛氬垵濮嬪寲澶辫触锛岃鑱旂郴绠$悊鍛橈紒");
+                    MsgHelper.ShowError("鎻愮ず锛氬垵濮嬪寲澶辫触锛岃鑱旂郴绠$悊鍛橈紒");
                 }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.ShowError("鎻愮ず锛�" + ex.Message);
+                MsgHelper.ShowError("鎻愮ず锛�" + ex.Message);
             }
         }
+
         /// <summary>
-        /// 宸︿晶鑿滃崟鐐瑰嚮
+        ///     宸︿晶鑿滃崟鐐瑰嚮
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void _grp_Click(object sender, EventArgs e)
         {
-            AccordionControlElement _acd = (AccordionControlElement)sender;
+            var _acd = (AccordionControlElement)sender;
             if (_acd.Elements.Count > 0) return;
-            string tabPageName = _acd.Name + "_page";
-            string tabText = _acd.Text;
-            string newFormName = _acd.Tag.ToString();
-            Image imgIcon = _acd.Image;
+            var tabPageName = _acd.Name + "_page";
+            var tabText = _acd.Text;
+            var newFormName = _acd.Tag.ToString();
+            var imgIcon = _acd.Image;
             AddTabpage(tab, tabPageName, tabText, newFormName, imgIcon);
         }
 
         /// <summary>
-        /// 鍏抽棴閫夐」鍗�
+        ///     鍏抽棴閫夐」鍗�
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -195,26 +219,25 @@
         {
             RemoveTabPage(tab, e);
         }
+
         /// <summary>
-        /// 鏂板閫夐」鍗¢〉
+        ///     鏂板閫夐」鍗¢〉
         /// </summary>
         /// <param name="tabControl">閫夐」鍗℃帶浠�</param>
         /// <param name="tabPageName">褰撴湡閫夐」鍗¢〉name鍚嶇О</param>
         /// <param name="tabText">褰撳墠閫夐」鍗¢〉Text鏍囬</param>
         /// <param name="newFormName">褰撳墠閫夐」鍗′腑鐨勬柊绐椾綋璺緞锛岀被鍚�</param>
-        public void AddTabpage(XtraTabControl tabControl, string tabPageName, string tabText, string newFormName, Image imgIcon)
+        public void AddTabpage(XtraTabControl tabControl, string tabPageName,
+            string tabText, string newFormName, Image imgIcon)
         {
-            if (IsTabpageExsit(tabControl, tabPageName))
-            {
-                return;
-            }
-            XtraTabPage newPage = new XtraTabPage();
+            if (IsTabpageExsit(tabControl, tabPageName)) return;
+            var newPage = new XtraTabPage();
             newPage.Name = tabPageName;
             newPage.Text = tabText;
             newPage.Tooltip = newPage.Name;
-            newPage.Appearance.Header.Font = (tab.Appearance.Font);
+            newPage.Appearance.Header.Font = tab.Appearance.Font;
             newPage.ImageOptions.Image = imgIcon;
-            Form fm = AddNewForm(newFormName);
+            var fm = AddNewForm(newFormName);
             if (fm != null)
             {
                 newPage.Controls.Add(fm);
@@ -225,7 +248,7 @@
         }
 
         /// <summary>
-        /// 绉婚櫎閫夐」鍗¢〉
+        ///     绉婚櫎閫夐」鍗¢〉
         /// </summary>
         /// <param name="tabControl"></param>
         /// <param name="tabPageName"></param>
@@ -234,13 +257,13 @@
         {
             if (TabPageDic.Count <= 1)
             {
-                ToolBox.MsgHelper.Warning("璇疯嚦灏戜繚鐣欎竴涓姛鑳斤紒");
+                MsgHelper.Warning("璇疯嚦灏戜繚鐣欎竴涓姛鑳斤紒");
                 return;
             }
-            DevExpress.XtraTab.ViewInfo.ClosePageButtonEventArgs args = (DevExpress.XtraTab.ViewInfo.ClosePageButtonEventArgs)e;
-            string name = args.Page.Tooltip;
+
+            var args = (ClosePageButtonEventArgs)e;
+            var name = args.Page.Tooltip;
             foreach (XtraTabPage item in tabControl.TabPages)
-            {
                 if (item.Name == name)
                 {
                     tabControl.TabPages.Remove(item);
@@ -248,42 +271,43 @@
                     TabPageDic.Remove(name);
                     return;
                 }
-            }
         }
 
         /// <summary>
-        /// 鍒ゆ柇閫夐」鍗℃槸鍚﹀凡缁忓瓨鍦�
+        ///     鍒ゆ柇閫夐」鍗℃槸鍚﹀凡缁忓瓨鍦�
         /// </summary>
         /// <param name="tabControl">閫夐」鍗℃帶浠�</param>
         /// <param name="tabPageName">閫夐」鍗″悕绉�</param>
         /// <returns></returns>
-        private bool IsTabpageExsit(XtraTabControl tabControl, string tabPageName)
+        private bool IsTabpageExsit(XtraTabControl tabControl,
+            string tabPageName)
         {
             foreach (var item in TabPageDic)
-            {
                 if (item.Key == tabPageName)
                 {
                     tabControl.SelectedTabPage = item.Value;
                     return true;
                 }
-            }
+
             return false;
         }
 
         /// <summary>
-        /// 鍦ㄩ�夐」鍗′腑鐢熸垚绐椾綋
+        ///     鍦ㄩ�夐」鍗′腑鐢熸垚绐椾綋
         /// </summary>
         /// <param name="form">绐椾綋鍚嶇О</param>
         private Form AddNewForm(string formName)
         {
             try
             {
-                Form newForm = (Form)Assembly.GetExecutingAssembly().CreateInstance(formName);
+                var newForm = (Form)Assembly.GetExecutingAssembly()
+                    .CreateInstance(formName);
                 if (newForm == null)
                 {
-                    Gs.DevApp.ToolBox.MsgHelper.ShowError("璇锋鏌ユ槸鍚﹀紑閫氫簡璇ユā鍧楋紒");
+                    MsgHelper.ShowError("璇锋鏌ユ槸鍚﹀紑閫氫簡璇ユā鍧楋紒");
                     return null;
                 }
+
                 newForm.FormBorderStyle = FormBorderStyle.None;
                 newForm.TopLevel = false;
                 newForm.ControlBox = false;
@@ -293,8 +317,9 @@
             }
             catch (Exception)
             {
-                Gs.DevApp.ToolBox.MsgHelper.ShowError("璇锋鏌ユ槸鍚﹀紑閫氫簡璇ユā鍧楋紒");
+                MsgHelper.ShowError("璇锋鏌ユ槸鍚﹀紑閫氫簡璇ユā鍧楋紒");
             }
+
             return null;
         }
 
@@ -302,23 +327,24 @@
         {
             var _obj = new
             {
-                userGuid = LoginInfoModel.CurrentUser.LoginUserGuid,
+                userGuid = LoginInfoModel.CurrentUser.LoginUserGuid
             };
             try
             {
-                string strJson = UtilityHelper.HttpPost("", "User/UserOut", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                var strJson = UtilityHelper.HttpPost("", "User/UserOut",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                     return _rtn.rtnCode;
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnData.outMsg);
+                MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnData.outMsg);
                 return _rtn.rtnCode;
             }
             catch (Exception ex)
             {
-                this.DialogResult = DialogResult.Cancel;
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                DialogResult = DialogResult.Cancel;
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
                 return -1;
             }
         }
     }
-}
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/FrmMain.resx b/DevApp/Gs.DevApp/DevFrm/FrmMain.resx
index 0023e70..74b3563 100644
--- a/DevApp/Gs.DevApp/DevFrm/FrmMain.resx
+++ b/DevApp/Gs.DevApp/DevFrm/FrmMain.resx
@@ -1,385 +1,421 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
+            <xsd:complexType>
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
+            </xsd:complexType>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <metadata name="statusStrip1.TrayLocation"
+              type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+        <value>284, 17</value>
+    </metadata>
+    <assembly alias="System.Drawing"
+              name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
+    <data name="barButtonItem4.ImageOptions.Image"
+          type="System.Drawing.Bitmap, System.Drawing"
+          mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>
+            iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+            dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAASdEVYdFRpdGxlAFVzZXI7UGVyc29uO0y2ImUAAAJ+
+            SURBVDhPdZJrSFNxGMb/c7nUTDMvNc2onG4aJBKSq22OYUtXCoolZFAiXanIpc7NSYMKI3W6WmalEnZF
+            zCK7QpiyfVgSJMQktDAMCi8l1KfKfDrv8TCs1gPP//zP+/6e58s5DAAzq0J5WzIXs+PrRMy6KXLPNePW
+            /m7bjvH2vRk9pWuDVjI/oix/2DeH8a5VS5hZGZb/8oYF4302jHXvg6veAKMyfDQtWlIgFomE6Jx8BeoV
+            Et4bopj4ekXe27EeIy5kM5QnM5zMXYXmknQ0bAyEPDwgW8jy8hXMU/BtS+6vrqPrYcqMRd1uNd71OvDJ
+            fQ7VGRGQBbEmgePlr4BZ1Etfd9lK8O2DG/h4Hz+GO/BzqBkdR7SIYcwhYLz8FigCWNFzZxU3HsZnjx2T
+            rjOY7jOjoTh1JoixdAHj5beAdFif2vt95AFmvE58ddVg8GIhDLLQu8Lap/8WxASLda1l+XBdOoCeE1mo
+            0sURlBvIHQvmfQm/BYnS2KJyc/XQZaMeD205qC+Ix660aBSX7vfqZbJCAeP1T8GhNas7b27RY/DNCF64
+            HqGxcjusO1VoddTimduDW3nbcJBjBPzPArVGU+512OHRqNFmtcIzMQ3raTtO1TkxMDmNFlMlPJkaEEPs
+            3wWSO4+fTAxcaUF/igL2pCRolUq8n5rCKGedSoUmhYLfEUMsZXwFUqk05wt3eXW1HZ2xy/E0IQFOsRgm
+            rZY33WlGO2KIpYyvIMdgcHJP7r8/i3sRS+BOSUa/XI62kEW86U4z2hFDEjJzBXHx8drG887JmiwdKkIW
+            zlqWRc+WRUXimGC604x2xBBLGV+BIO5PZXLOifNM7/5mxHJZsN86BZo6ADxq2AAAAABJRU5ErkJggg==
+        </value>
     </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
+    <data name="barButtonItem4.ImageOptions.LargeImage"
+          type="System.Drawing.Bitmap, System.Drawing"
+          mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>
+            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
+        </value>
     </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>284, 17</value>
-  </metadata>
-  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
-  <data name="barButtonItem4.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
-        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAASdEVYdFRpdGxlAFVzZXI7UGVyc29uO0y2ImUAAAJ+
-        SURBVDhPdZJrSFNxGMb/c7nUTDMvNc2onG4aJBKSq22OYUtXCoolZFAiXanIpc7NSYMKI3W6WmalEnZF
-        zCK7QpiyfVgSJMQktDAMCi8l1KfKfDrv8TCs1gPP//zP+/6e58s5DAAzq0J5WzIXs+PrRMy6KXLPNePW
-        /m7bjvH2vRk9pWuDVjI/oix/2DeH8a5VS5hZGZb/8oYF4302jHXvg6veAKMyfDQtWlIgFomE6Jx8BeoV
-        Et4bopj4ekXe27EeIy5kM5QnM5zMXYXmknQ0bAyEPDwgW8jy8hXMU/BtS+6vrqPrYcqMRd1uNd71OvDJ
-        fQ7VGRGQBbEmgePlr4BZ1Etfd9lK8O2DG/h4Hz+GO/BzqBkdR7SIYcwhYLz8FigCWNFzZxU3HsZnjx2T
-        rjOY7jOjoTh1JoixdAHj5beAdFif2vt95AFmvE58ddVg8GIhDLLQu8Lap/8WxASLda1l+XBdOoCeE1mo
-        0sURlBvIHQvmfQm/BYnS2KJyc/XQZaMeD205qC+Ix660aBSX7vfqZbJCAeP1T8GhNas7b27RY/DNCF64
-        HqGxcjusO1VoddTimduDW3nbcJBjBPzPArVGU+512OHRqNFmtcIzMQ3raTtO1TkxMDmNFlMlPJkaEEPs
-        3wWSO4+fTAxcaUF/igL2pCRolUq8n5rCKGedSoUmhYLfEUMsZXwFUqk05wt3eXW1HZ2xy/E0IQFOsRgm
-        rZY33WlGO2KIpYyvIMdgcHJP7r8/i3sRS+BOSUa/XI62kEW86U4z2hFDEjJzBXHx8drG887JmiwdKkIW
-        zlqWRc+WRUXimGC604x2xBBLGV+BIO5PZXLOifNM7/5mxHJZsN86BZo6ADxq2AAAAABJRU5ErkJggg==
-</value>
-  </data>
-  <data name="barButtonItem4.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        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
-</value>
-  </data>
-  <assembly alias="DevExpress.Data.v22.2" name="DevExpress.Data.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
-  <data name="barSubItem2.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjIsIFZlcnNpb249MjIuMi4z
-        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
-        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAKIDAAAC77u/
-        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
-        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
-        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
-        Y2U9InByZXNlcnZlIiBpZD0iQ2xlYXJUYWJsZVN0eWxlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6
-        bmV3IDAgMCAzMiAzMiI+DQogIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CgkuQmx1ZXtmaWxsOiMxMTc3
-        RDc7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNp
-        dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgY2xhc3M9InN0MCI+DQogICAgPHBhdGggZD0iTTI4LDEwaC04
-        VjRoOFYxMHogTTI0LjYsMTQuOWMwLjYtMC42LDEuNC0wLjksMi4yLTAuOWMwLjQsMCwwLjgsMC4xLDEu
-        MiwwLjJWMTJoLTh2NmgxLjVMMjQuNiwxNC45eiBNMCwyNiAgIGg4di02SDBWMjZ6IE0xNC45LDI0LjZs
-        My4xLTMuMVYyMGgtOHY2aDQuMUMxNC4zLDI1LjUsMTQuNSwyNSwxNC45LDI0LjZ6IiBjbGFzcz0iQmxh
-        Y2siIC8+DQogIDwvZz4NCiAgPHBhdGggZD0iTTAsNGg4djZIMFY0eiBNMCwxOGg4di02SDBWMTh6IE0x
-        MCwxMGg4VjRoLThWMTB6IE0xMCwxOGg4di02aC04VjE4eiBNMTksMjMuM0wxNi4zLDI2ICBjLTAuNCww
-        LjQtMC40LDEuMiwwLDEuNmw0LDRjMC40LDAuNCwxLjIsMC40LDEuNiwwbDIuNy0yLjdMMTksMjMuM3oi
-        IGNsYXNzPSJCbHVlIiAvPg0KICA8cGF0aCBkPSJNMzEuNywyMC40bC00LTRjLTAuNC0wLjQtMS4yLTAu
-        NC0xLjYsMGwtNi4xLDYuMWw1LjYsNS42bDYuMS02LjFDMzIuMSwyMS41LDMyLjEsMjAuOCwzMS43LDIw
-        LjR6IiBjbGFzcz0iUmVkIiAvPg0KPC9zdmc+Cw==
-</value>
-  </data>
-  <data name="barAbout.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
-        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAOdEVYdFRpdGxlAERldGFpbHM7NJb/TAAAAxBJREFU
-        OE9VkXlIk3Ecxl+bOadzzZzHDt3cZrrpNI95L102zUqXbUqXpGJmRdldYHSY5VGWGWgWFl3KKkzICAr/
-        8KA/ah1kohl2G4kGSdFl9PR7X1tsL3zgfXif53l/3++PAvAfQxCPSpFxjUkSTnesL/tLpNfM56E81nKK
-        opzsffY4iFQpNyQ9iP99rX4ONmaoUaCTY+5sl98qD+eDcg6LZ++14SCS/d0aVsZJUThPAb2MiygBG0Xz
-        wv4Ec1hQuDhV23ttOIh4Iad9VYIUmZpAVG0vxYPbTehq2oYEgeu4lEV12nttOIgob5cD8UK3P5/H3mNq
-        /D4m+xtx73wpdsR5TwawqAv2XhsOwos9I8A0V/zz66eP+DbShtGeSvQ2F2BrlOfkLCcq2t5rw1FQlOfB
-        XK11qLsDE9ZGPGsvw+XtqciRuz8l35IIKkIgQUBgE5yY4CWzkLxTzoSA3Zmqto7KYvRd3AdLeQaKktUI
-        1uSMSRPLx+T62t+S2J1vfcLWtPJEifOJ340O0g87ROCiqTUI7rUXq7E/S4uj5nByAxEIjV8HtakTYaut
-        KDk2imBzF2Rpp+EdWtDHFcbr6LCzVuwa2WKSTFjr8vDm2k7sWZqGTrL99MxiJhxZ8g6FNR/IYYHCw8NQ
-        mHogSqoBX248QxfMKk/xutS914DXlm0YasiCZX0cinUahCTvgibfivCiEajzB5iw0twLWfZdiPUt8FTm
-        DdIFkpOLfV73NxXiRfNyPDuSgCcVsbi6SQWlvhaaomEm3Ng+fQI67L+oE6IFFvCDcn/RBcpzOX4/Rlq3
-        YPB4OvqrE/H4UAw6tqoQkbKZmTl4xUMozH1Mgf+imxClX4dP4gl4yLL6pwuyfZmCgWodnlYl4FGFFnd2
-        q2FauIRZGD3zKctLpqD+yiD89JfhqSmDu2RBHV0g2KDln72wTIiWpUKcNQrRZPRDfaYPylICERltZBYm
-        IjOLDRby53omzPXPuMXxjdPQBfT9exNCCdH/iCHEEnRsXmAJL8Bwg69Y9oqvzJvykC4edBen1U+HKdZf
-        4c3590llwYcAAAAASUVORK5CYII=
-</value>
-  </data>
-  <data name="barAbout.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
-        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAOdEVYdFRpdGxlAERldGFpbHM7NJb/TAAACa9JREFU
-        WEeVlwlUlOUax2djkE0QHGZhmAFkQGCQdWAGkH2HEEUIVAaXAoJEVEBcyysuWYrKAbQ0uyq55FKhJ81c
-        SAtNzAXJo0kaKYJSkRleJe7/Pt8kNtJ3u+c+5/wO8PA9z///fO/7ft8MB8Dfkqwy4SSNEnASiDhngXO0
-        k2BOpELQMFYhaAmTC1p0DoKtwTJ+dKCEzwkg2Hr8HaxJYxJdBZzq4nhG/JVUDytMDXdCQZwnChJ9MTV2
-        DDJ0KkSqRiBAzK/xs+dzmGDr899gTQ7CRDwzuYtJ2pRgycDKqZGYnxGIglh35GiVSPOVIlEtQcIYBUJd
-        beFjzy+gEh7BZWrZeg6FNTkIEzS5KNnd/OGqqeGoSFNDHyRC2mgLxDoNQ4iDAP72fKjFQgQ6WiFaKeiP
-        cRK0hjny86lUwNSz9TWGNTkIE7Tm5fmRLngtW4OXdGKkqoSIVvARKuPBV8SF+wgOPG15SNc4IkLJR4CU
-        iyApH/4SfhaV89n6GsOaHISJKKXg8pIsDeYkuWG8lwUiHfnQSngYM5ILDxL3suMiL16NUw2LECLnwdOO
-        Q3ku/MT8g1RuxtbXGNbkIBTcCIWg77UcHfQ6GcIcTaCR8mg6AXztGfiYnxuBu8316Dm3EWtmJsObjCkt
-        OMz/7lG9DVtfY1iTg1DwaD3vzHohAMledqDjhoJxOqwunYDtK6bhwscr8NPXm0m8HvfOrMft46swO90P
-        Kmsuxoh4/VRvz9bXGNbkIIyBELng87wYL8S42aAkOwF9t5vRe2Unfr70nkH8R5r8XvN6dJ16E3eOLcPR
-        mumIcLZ44mnHf0z1Ura+xrAmB2EMBEkFC1P95QhRmOPcyYN4ePMz9F7ejp8uPC/eebwKNw9Voql2Cib5
-        iwfcRvDuUL2Era8xrMlBKLhKa54oyEF4RyMV4mZrM35tP4yfLm59dtsNkx9fhh+OLELb7mI0Lh+HKX7i
-        XoUV712qt2brawxrcpCnIfCw4+UGykzQ3LgdD9o/xY/n3/lj8s9XPxO/dbAcLVv0eK80EpmeIy5RnQtT
-        y9bXGNakMRTMU81a62h2q35hIR7eaqLpN9HkjHiVQfz7g2X4ZmcBTlZPwIoXvRHnYrmDamzZ+g2FNWkM
-        nWfGhGmUym7awszQexcPv4eeli3oPLH8qXg5ru0uxJd1mdg+OwzTNeJeX7Gpnmr+5zOAgTU5FArmLthM
-        8BFv3DDrRTp+1eg4uhw3PpqDS9tm4IuaTOyeF4G5MU4IFgs/oGs9CCkhIURMLTGMYN4Tz8LQe6gYG3q9
-        nqNSqUzHaoNmVdITsSo3Gg2vTcbhtZPRuOwFbJgRgMJQGWI8PSAbnXJJ5pN33cHvpT6Z74w+iXrytyJV
-        +gEbRWQxaYoJIcGVqKcZev9FzBgKxrGp1fDhdmlpafsnZk58uEavwf4Vk7B4nBpT/ewwycsaWYFOCNHE
-        wS+pCkmFjdAvu4aS2ofEr8hdehXxL+2DR9SiJyNcUj62EHnHUE9zxoRBw1hw7969nEV+QgMUJoR9gpyf
-        lxmlub5v3z40NDSgSh+GjuNvoHVvBY6u0+ONgkSER0xElP595L/VicJaIGvVvxG/+HeElPUTjxG74F9I
-        Km9HYHodbJxTzpjZesZTb9O/GNizZw/nox21jLhQZs71yh9t0lQzXon5+giD+MDAAOYUTUPrgcVoIwOn
-        3nkZmeMnISrvfcza+AhT1gBRCwYg170Fh+BVcAxdB0XERgS8+gB+xb9AN/M21MnrYOUYe5g05ATvOQO7
-        du1ixJlt71TsadLa/M+F6D67DKe2TkRubi5dAvT29mJiRgYO1xVj+Ww9AlJWGCZnxEPKB6CZ/QRS/yXY
-        f6gFJ774Bg7aN+Fb2AOfgntENzyym+EYWNpvJgqYRzqWzxmgYHa7bUlJybv1JanovPIRur9aifZ9KUiP
-        90dbWxv6+vrQ3t6OyMhIjE3KN6w5c9uj5pN46WMElvQZDJw43YZHjx5DFrwa3i93Qj3jB6ind8Az7waU
-        UethLg0/RlqSoQZMXFxctPX19b999k459lfnoetMFb7dFY/1JV6oqKhAV1cXWlpaEB4ejuDEOYYNl7ly
-        AEE0OSMu8VsIe+8yjJu+CbmlOw0GPKfehIf+BnEdo3OvQRG/E+byhE7SGzXUgG1+fv67J0+eROuxbajL
-        90RnUyWu7QjHxQ0e0PiMQlNTE3Q6HZhrVLoilNT9irhFJD7rkWGtpQGvG6a/3HYLN7/vhpQMuE+5CtXk
-        NqhyWqHKvgxl6iGYO6Yyb0svY3Hm9quWLl16p6OjA99facaGrBHoOFKEq1u1uLxehdpCOfy8RmFisAXK
-        ysrgqi3CTDpqurmPETDzIfyKfoY0aDnSZ2zGk/7fqS0g1a6Ba/ZFjMo6D5fMc3Ca8CUcEz/EMIekJ6Tn
-        bWzA1N/ff8KWLVsM69x9+zusTxfiuwM5aNvki4trnXFhlRyfzrPH2SV2yAkSwl07jc75N9DO7oM/7XKf
-        wvtwz2qGVEOvZpreYEBXDUXqEYOwIv00HOl38dh6CEWRXaTpZmzAJjs7u66xsREPHjxAd3cXqtP4uP5+
-        Mlpr1LiwWoHzVVJ89boIZypt8MlMS6jVOsTRQyZm/m/wpenH5HdBpl2N8QU7DEvAhL68EdLQWshfOAmH
-        lCOQxe+Htc8CCGwDT5Om3NiAvKio6GxzczN6enpw68ZVrCMDV7eE4dI6V5xfIcO5pTT9Alt8WT4cx0os
-        UJHiDHXMQiTMvW44at4v34FD6IZn6z8YktB6yJKPQBK7FyND6jBMmTPAs3T7B2kONzagWrlyZf/9+/dx
-        9+5dXDn7GdaOE6K11oemV6KFEV9sh+Z51jg91xJNr5phf54QcUHBCBxfi+BXbhqOmmPE23AI3wTZ2I2Q
-        hW2EJGwTxGRAHPMBRoZthrlbMbjDfb4mPVfiz+9yFKKMjIxtm97ejMZPjuLTHW9hSbwZjlQqcajUHh8X
-        2+DD/OE4MMMc+/TDsGeSKRoyTLA42po2Zhi8k6sxOqsJ7obdfhkuGV9BkXYCDokHIYneDVttDYkXwUyk
-        +YVjaj+d9MwNukYGmGe/W1ZW1tHKykqUJLijQsdFeQgXZVpCx8Nc+ns2URrExSwNFzPpZ2EgF+lqK4x2
-        9YdSUwJl5FrIY7bRTj8Ah9jdEOlqYO1dCTOnHFhJAnu5wpElpDOS4D1n4KkJ5i3kQPgSQSwEs6AjxhJp
-        w2w96s2loS2W8oQeC2VaP531flNx1I8mtgGXeBbObz+9jvlswOOOjPtD09jA/8uQYF7dlgTzQURFeD/F
-        nWBePMOJP74+Pw0AnP8AExOfJqp7hEIAAAAASUVORK5CYII=
-</value>
-  </data>
-  <data name="barMy.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
-        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAASdEVYdFRpdGxlAFVzZXI7UGVyc29uO0y2ImUAAAJ+
-        SURBVDhPdZJrSFNxGMb/c7nUTDMvNc2onG4aJBKSq22OYUtXCoolZFAiXanIpc7NSYMKI3W6WmalEnZF
-        zCK7QpiyfVgSJMQktDAMCi8l1KfKfDrv8TCs1gPP//zP+/6e58s5DAAzq0J5WzIXs+PrRMy6KXLPNePW
-        /m7bjvH2vRk9pWuDVjI/oix/2DeH8a5VS5hZGZb/8oYF4302jHXvg6veAKMyfDQtWlIgFomE6Jx8BeoV
-        Et4bopj4ekXe27EeIy5kM5QnM5zMXYXmknQ0bAyEPDwgW8jy8hXMU/BtS+6vrqPrYcqMRd1uNd71OvDJ
-        fQ7VGRGQBbEmgePlr4BZ1Etfd9lK8O2DG/h4Hz+GO/BzqBkdR7SIYcwhYLz8FigCWNFzZxU3HsZnjx2T
-        rjOY7jOjoTh1JoixdAHj5beAdFif2vt95AFmvE58ddVg8GIhDLLQu8Lap/8WxASLda1l+XBdOoCeE1mo
-        0sURlBvIHQvmfQm/BYnS2KJyc/XQZaMeD205qC+Ix660aBSX7vfqZbJCAeP1T8GhNas7b27RY/DNCF64
-        HqGxcjusO1VoddTimduDW3nbcJBjBPzPArVGU+512OHRqNFmtcIzMQ3raTtO1TkxMDmNFlMlPJkaEEPs
-        3wWSO4+fTAxcaUF/igL2pCRolUq8n5rCKGedSoUmhYLfEUMsZXwFUqk05wt3eXW1HZ2xy/E0IQFOsRgm
-        rZY33WlGO2KIpYyvIMdgcHJP7r8/i3sRS+BOSUa/XI62kEW86U4z2hFDEjJzBXHx8drG887JmiwdKkIW
-        zlqWRc+WRUXimGC604x2xBBLGV+BIO5PZXLOifNM7/5mxHJZsN86BZo6ADxq2AAAAABJRU5ErkJggg==
-</value>
-  </data>
-  <data name="barMy.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        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
-</value>
-  </data>
-  <data name="barButtonItem5.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABR0RVh0VGl0
-        bGUASW1hZ2U7SW1nO1NlbmSUgA8GAAACl0lEQVQ4T32QWU9TURRGG3wQHBPhtkCQMFR+j++mwIsMVhKM
-        GJApFYc4BI1RKoVSRZljQymIBVGomJgiSlQwBkQolUDowKV0uJ383OfSNhDRk6zc4Zxv7X22RKVS/UVf
-        Xp6+V56HHrkc3bk56MrORkdWFjoyM/E04ySeZGTgcXo6dGlp+n0FLBwIhqBLTYVfCGK0oBBefxCtUg4v
-        FfnY2hbAuwU8SknBvoIe+SkIQhg6WSp8/hC8viC2vSTgODHcQkEN8R9BLlUOoY0ELKyVSuH2BijIgSdB
-        LKxOSYaEVkKUAzG6c3LEym0yGTwU1FJlt4dV5rDp9osCB+9DczIJNF2W8ba+aWh7GR/wcXYVnTQ0n1hZ
-        Rq0HdlqnO7Pg0BkFnJt+2F0+qJmg5rYJtjUekchvCIEwwuEIzMVFYpjRyknRwu3cOUYztc6qNyWf0Euu
-        P5yAcWwWL17PIRSK0PQjoigG+2bymVkrJi3zeDu1xO59MDYvydUHE3QvAaaJ72jUjNHQAmLbDqcP2x56
-        p7tXNDyDptOMBesmahtfMUFiXKC6Pw4n78eijcfz4S+42NCH5V9OsLW4vIF8ZRPU7WZ8+2HH4soWqm6N
-        MkFSXFB/9w1NVMC7aRtGzAtYtrlwpbEfpwvvobyuHVMzSxgYmcMk7c9beVy6YWKCQ3FB9Z0xzC3Y0Tv4
-        GVueoNjNzxUnPn21EVbqxiX+Z/vvZ1ZxoWGYCQ7HBZU3R6HtscBFQbsrimPXexS2r+22oKx+iAmOxgUV
-        10zYcHqxTkNbd3ix5tj7jEP77Fxp9cBegaKsY/x83RCUdYNQ1g7iHFFaY6SDRpTQ4ZLLBhRXGVBUacDZ
-        yn4UlHeZ9wyRViJxhDj2D47vgn0nEQk7ApXkDxuzc6jTlOltAAAAAElFTkSuQmCC
-</value>
-  </data>
-  <data name="barButtonItem5.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        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
-        I+mqZChHAAAAAElFTkSuQmCC
-</value>
-  </data>
-  <metadata name="fluentFormDefaultManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>17, 17</value>
-  </metadata>
+    <assembly alias="DevExpress.Data.v22.2"
+              name="DevExpress.Data.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"/>
+    <data name="barSubItem2.ImageOptions.SvgImage"
+          type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v22.2"
+          mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>
+            AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIyLjIsIFZlcnNpb249MjIuMi4z
+            LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
+            dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAKIDAAAC77u/
+            PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
+            IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
+            MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
+            Y2U9InByZXNlcnZlIiBpZD0iQ2xlYXJUYWJsZVN0eWxlIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6
+            bmV3IDAgMCAzMiAzMiI+DQogIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CgkuQmx1ZXtmaWxsOiMxMTc3
+            RDc7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNp
+            dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgY2xhc3M9InN0MCI+DQogICAgPHBhdGggZD0iTTI4LDEwaC04
+            VjRoOFYxMHogTTI0LjYsMTQuOWMwLjYtMC42LDEuNC0wLjksMi4yLTAuOWMwLjQsMCwwLjgsMC4xLDEu
+            MiwwLjJWMTJoLTh2NmgxLjVMMjQuNiwxNC45eiBNMCwyNiAgIGg4di02SDBWMjZ6IE0xNC45LDI0LjZs
+            My4xLTMuMVYyMGgtOHY2aDQuMUMxNC4zLDI1LjUsMTQuNSwyNSwxNC45LDI0LjZ6IiBjbGFzcz0iQmxh
+            Y2siIC8+DQogIDwvZz4NCiAgPHBhdGggZD0iTTAsNGg4djZIMFY0eiBNMCwxOGg4di02SDBWMTh6IE0x
+            MCwxMGg4VjRoLThWMTB6IE0xMCwxOGg4di02aC04VjE4eiBNMTksMjMuM0wxNi4zLDI2ICBjLTAuNCww
+            LjQtMC40LDEuMiwwLDEuNmw0LDRjMC40LDAuNCwxLjIsMC40LDEuNiwwbDIuNy0yLjdMMTksMjMuM3oi
+            IGNsYXNzPSJCbHVlIiAvPg0KICA8cGF0aCBkPSJNMzEuNywyMC40bC00LTRjLTAuNC0wLjQtMS4yLTAu
+            NC0xLjYsMGwtNi4xLDYuMWw1LjYsNS42bDYuMS02LjFDMzIuMSwyMS41LDMyLjEsMjAuOCwzMS43LDIw
+            LjR6IiBjbGFzcz0iUmVkIiAvPg0KPC9zdmc+Cw==
+        </value>
+    </data>
+    <data name="barAbout.ImageOptions.Image"
+          type="System.Drawing.Bitmap, System.Drawing"
+          mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>
+            iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+            dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAOdEVYdFRpdGxlAERldGFpbHM7NJb/TAAAAxBJREFU
+            OE9VkXlIk3Ecxl+bOadzzZzHDt3cZrrpNI95L102zUqXbUqXpGJmRdldYHSY5VGWGWgWFl3KKkzICAr/
+            8KA/ah1kohl2G4kGSdFl9PR7X1tsL3zgfXif53l/3++PAvAfQxCPSpFxjUkSTnesL/tLpNfM56E81nKK
+            opzsffY4iFQpNyQ9iP99rX4ONmaoUaCTY+5sl98qD+eDcg6LZ++14SCS/d0aVsZJUThPAb2MiygBG0Xz
+            wv4Ec1hQuDhV23ttOIh4Iad9VYIUmZpAVG0vxYPbTehq2oYEgeu4lEV12nttOIgob5cD8UK3P5/H3mNq
+            /D4m+xtx73wpdsR5TwawqAv2XhsOwos9I8A0V/zz66eP+DbShtGeSvQ2F2BrlOfkLCcq2t5rw1FQlOfB
+            XK11qLsDE9ZGPGsvw+XtqciRuz8l35IIKkIgQUBgE5yY4CWzkLxTzoSA3Zmqto7KYvRd3AdLeQaKktUI
+            1uSMSRPLx+T62t+S2J1vfcLWtPJEifOJ340O0g87ROCiqTUI7rUXq7E/S4uj5nByAxEIjV8HtakTYaut
+            KDk2imBzF2Rpp+EdWtDHFcbr6LCzVuwa2WKSTFjr8vDm2k7sWZqGTrL99MxiJhxZ8g6FNR/IYYHCw8NQ
+            mHogSqoBX248QxfMKk/xutS914DXlm0YasiCZX0cinUahCTvgibfivCiEajzB5iw0twLWfZdiPUt8FTm
+            DdIFkpOLfV73NxXiRfNyPDuSgCcVsbi6SQWlvhaaomEm3Ng+fQI67L+oE6IFFvCDcn/RBcpzOX4/Rlq3
+            YPB4OvqrE/H4UAw6tqoQkbKZmTl4xUMozH1Mgf+imxClX4dP4gl4yLL6pwuyfZmCgWodnlYl4FGFFnd2
+            q2FauIRZGD3zKctLpqD+yiD89JfhqSmDu2RBHV0g2KDln72wTIiWpUKcNQrRZPRDfaYPylICERltZBYm
+            IjOLDRby53omzPXPuMXxjdPQBfT9exNCCdH/iCHEEnRsXmAJL8Bwg69Y9oqvzJvykC4edBen1U+HKdZf
+            4c3590llwYcAAAAASUVORK5CYII=
+        </value>
+    </data>
+    <data name="barAbout.ImageOptions.LargeImage"
+          type="System.Drawing.Bitmap, System.Drawing"
+          mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>
+            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
+        </value>
+    </data>
+    <data name="barMy.ImageOptions.Image"
+          type="System.Drawing.Bitmap, System.Drawing"
+          mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>
+            iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+            dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAASdEVYdFRpdGxlAFVzZXI7UGVyc29uO0y2ImUAAAJ+
+            SURBVDhPdZJrSFNxGMb/c7nUTDMvNc2onG4aJBKSq22OYUtXCoolZFAiXanIpc7NSYMKI3W6WmalEnZF
+            zCK7QpiyfVgSJMQktDAMCi8l1KfKfDrv8TCs1gPP//zP+/6e58s5DAAzq0J5WzIXs+PrRMy6KXLPNePW
+            /m7bjvH2vRk9pWuDVjI/oix/2DeH8a5VS5hZGZb/8oYF4302jHXvg6veAKMyfDQtWlIgFomE6Jx8BeoV
+            Et4bopj4ekXe27EeIy5kM5QnM5zMXYXmknQ0bAyEPDwgW8jy8hXMU/BtS+6vrqPrYcqMRd1uNd71OvDJ
+            fQ7VGRGQBbEmgePlr4BZ1Etfd9lK8O2DG/h4Hz+GO/BzqBkdR7SIYcwhYLz8FigCWNFzZxU3HsZnjx2T
+            rjOY7jOjoTh1JoixdAHj5beAdFif2vt95AFmvE58ddVg8GIhDLLQu8Lap/8WxASLda1l+XBdOoCeE1mo
+            0sURlBvIHQvmfQm/BYnS2KJyc/XQZaMeD205qC+Ix660aBSX7vfqZbJCAeP1T8GhNas7b27RY/DNCF64
+            HqGxcjusO1VoddTimduDW3nbcJBjBPzPArVGU+512OHRqNFmtcIzMQ3raTtO1TkxMDmNFlMlPJkaEEPs
+            3wWSO4+fTAxcaUF/igL2pCRolUq8n5rCKGedSoUmhYLfEUMsZXwFUqk05wt3eXW1HZ2xy/E0IQFOsRgm
+            rZY33WlGO2KIpYyvIMdgcHJP7r8/i3sRS+BOSUa/XI62kEW86U4z2hFDEjJzBXHx8drG887JmiwdKkIW
+            zlqWRc+WRUXimGC604x2xBBLGV+BIO5PZXLOifNM7/5mxHJZsN86BZo6ADxq2AAAAABJRU5ErkJggg==
+        </value>
+    </data>
+    <data name="barMy.ImageOptions.LargeImage"
+          type="System.Drawing.Bitmap, System.Drawing"
+          mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>
+            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
+        </value>
+    </data>
+    <data name="barButtonItem5.ImageOptions.Image"
+          type="System.Drawing.Bitmap, System.Drawing"
+          mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>
+            iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABR0RVh0VGl0
+            bGUASW1hZ2U7SW1nO1NlbmSUgA8GAAACl0lEQVQ4T32QWU9TURRGG3wQHBPhtkCQMFR+j++mwIsMVhKM
+            GJApFYc4BI1RKoVSRZljQymIBVGomJgiSlQwBkQolUDowKV0uJ383OfSNhDRk6zc4Zxv7X22RKVS/UVf
+            Xp6+V56HHrkc3bk56MrORkdWFjoyM/E04ySeZGTgcXo6dGlp+n0FLBwIhqBLTYVfCGK0oBBefxCtUg4v
+            FfnY2hbAuwU8SknBvoIe+SkIQhg6WSp8/hC8viC2vSTgODHcQkEN8R9BLlUOoY0ELKyVSuH2BijIgSdB
+            LKxOSYaEVkKUAzG6c3LEym0yGTwU1FJlt4dV5rDp9osCB+9DczIJNF2W8ba+aWh7GR/wcXYVnTQ0n1hZ
+            Rq0HdlqnO7Pg0BkFnJt+2F0+qJmg5rYJtjUekchvCIEwwuEIzMVFYpjRyknRwu3cOUYztc6qNyWf0Euu
+            P5yAcWwWL17PIRSK0PQjoigG+2bymVkrJi3zeDu1xO59MDYvydUHE3QvAaaJ72jUjNHQAmLbDqcP2x56
+            p7tXNDyDptOMBesmahtfMUFiXKC6Pw4n78eijcfz4S+42NCH5V9OsLW4vIF8ZRPU7WZ8+2HH4soWqm6N
+            MkFSXFB/9w1NVMC7aRtGzAtYtrlwpbEfpwvvobyuHVMzSxgYmcMk7c9beVy6YWKCQ3FB9Z0xzC3Y0Tv4
+            GVueoNjNzxUnPn21EVbqxiX+Z/vvZ1ZxoWGYCQ7HBZU3R6HtscBFQbsrimPXexS2r+22oKx+iAmOxgUV
+            10zYcHqxTkNbd3ix5tj7jEP77Fxp9cBegaKsY/x83RCUdYNQ1g7iHFFaY6SDRpTQ4ZLLBhRXGVBUacDZ
+            yn4UlHeZ9wyRViJxhDj2D47vgn0nEQk7ApXkDxuzc6jTlOltAAAAAElFTkSuQmCC
+        </value>
+    </data>
+    <data name="barButtonItem5.ImageOptions.LargeImage"
+          type="System.Drawing.Bitmap, System.Drawing"
+          mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>
+            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
+            I+mqZChHAAAAAElFTkSuQmCC
+        </value>
+    </data>
+    <metadata name="fluentFormDefaultManager1.TrayLocation"
+              type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+        <value>17, 17</value>
+    </metadata>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/QC/Frm_MesSysLookups.Designer.cs b/DevApp/Gs.DevApp/DevFrm/QC/Frm_MesSysLookups.Designer.cs
index 5526bb4..b62883c 100644
--- a/DevApp/Gs.DevApp/DevFrm/QC/Frm_MesSysLookups.Designer.cs
+++ b/DevApp/Gs.DevApp/DevFrm/QC/Frm_MesSysLookups.Designer.cs
@@ -29,11 +29,19 @@
         /// </summary>
         private void InitializeComponent()
         {
+            DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions1 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject1 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject2 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject3 = new DevExpress.Utils.SerializableAppearanceObject();
+            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject4 = new DevExpress.Utils.SerializableAppearanceObject();
             this.gvMx1lookupName = new DevExpress.XtraGrid.Columns.GridColumn();
             this.gvMx1lookupValue = new DevExpress.XtraGrid.Columns.GridColumn();
             this.tabMxPage1 = new DevExpress.XtraTab.XtraTabPage();
             this.gcMx1 = new DevExpress.XtraGrid.GridControl();
             this.gvMx1 = new DevExpress.XtraGrid.Views.Grid.GridView();
+            this.gridColumn3 = new DevExpress.XtraGrid.Columns.GridColumn();
+            this.repositoryItemButtonEdit1 = new DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit();
+            this.gridColumn2 = new DevExpress.XtraGrid.Columns.GridColumn();
             this.lb_lookupTypeName = new DevExpress.XtraEditors.LabelControl();
             this.txt_lookupTypeName = new DevExpress.XtraEditors.TextEdit();
             this.gv_lookupTypeName = new DevExpress.XtraGrid.Columns.GridColumn();
@@ -43,6 +51,7 @@
             this.toolBarMenu1 = new Gs.DevApp.UserControl.UcToolBarMenu();
             this.gcMain = new DevExpress.XtraGrid.GridControl();
             this.gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
+            this.gridColumn1 = new DevExpress.XtraGrid.Columns.GridColumn();
             this.xtraTabControl1 = new DevExpress.XtraTab.XtraTabControl();
             this.xtraTabPage1 = new DevExpress.XtraTab.XtraTabPage();
             this.pageBar1 = new UserControls.Data.UcPageBar();
@@ -51,11 +60,10 @@
             this.panel1 = new System.Windows.Forms.Panel();
             this.labelControl11 = new DevExpress.XtraEditors.LabelControl();
             this.lbGuid = new System.Windows.Forms.Label();
-            this.gridColumn1 = new DevExpress.XtraGrid.Columns.GridColumn();
-            this.gridColumn2 = new DevExpress.XtraGrid.Columns.GridColumn();
             this.tabMxPage1.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.gcMx1)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.gvMx1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.repositoryItemButtonEdit1)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.txt_lookupTypeName.Properties)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.txt_lookupTypeCode.Properties)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.gcMain)).BeginInit();
@@ -80,7 +88,7 @@
             this.gvMx1lookupName.Tag = "query_a.LOOKUP_NAME";
             this.gvMx1lookupName.Visible = true;
             this.gvMx1lookupName.VisibleIndex = 1;
-            this.gvMx1lookupName.Width = 94;
+            this.gvMx1lookupName.Width = 509;
             // 
             // gvMx1lookupValue
             // 
@@ -93,7 +101,7 @@
             this.gvMx1lookupValue.Tag = "query_a.LOOKUP_VALUE";
             this.gvMx1lookupValue.Visible = true;
             this.gvMx1lookupValue.VisibleIndex = 0;
-            this.gvMx1lookupValue.Width = 94;
+            this.gvMx1lookupValue.Width = 505;
             // 
             // tabMxPage1
             // 
@@ -108,6 +116,8 @@
             this.gcMx1.Location = new System.Drawing.Point(0, 0);
             this.gcMx1.MainView = this.gvMx1;
             this.gcMx1.Name = "gcMx1";
+            this.gcMx1.RepositoryItems.AddRange(new DevExpress.XtraEditors.Repository.RepositoryItem[] {
+            this.repositoryItemButtonEdit1});
             this.gcMx1.Size = new System.Drawing.Size(1124, 449);
             this.gcMx1.TabIndex = 0;
             this.gcMx1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] {
@@ -118,6 +128,7 @@
             this.gvMx1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] {
             this.gvMx1lookupValue,
             this.gvMx1lookupName,
+            this.gridColumn3,
             this.gridColumn2});
             this.gvMx1.GridControl = this.gcMx1;
             this.gvMx1.Name = "gvMx1";
@@ -125,6 +136,35 @@
             this.gvMx1.OptionsFind.ShowSearchNavButtons = false;
             this.gvMx1.OptionsView.NewItemRowPosition = DevExpress.XtraGrid.Views.Grid.NewItemRowPosition.Bottom;
             this.gvMx1.OptionsView.ShowGroupPanel = false;
+            // 
+            // gridColumn3
+            // 
+            this.gridColumn3.Caption = "鍒犻櫎";
+            this.gridColumn3.ColumnEdit = this.repositoryItemButtonEdit1;
+            this.gridColumn3.MinWidth = 25;
+            this.gridColumn3.Name = "gridColumn3";
+            this.gridColumn3.Visible = true;
+            this.gridColumn3.VisibleIndex = 2;
+            this.gridColumn3.Width = 80;
+            // 
+            // repositoryItemButtonEdit1
+            // 
+            this.repositoryItemButtonEdit1.AutoHeight = false;
+            editorButtonImageOptions1.Image = global::Gs.DevApp.Properties.Resources.removegroupfooter_16x16;
+            editorButtonImageOptions1.ImageToTextAlignment = DevExpress.XtraEditors.ImageAlignToText.LeftCenter;
+            this.repositoryItemButtonEdit1.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "绉婚櫎", -1, true, true, false, editorButtonImageOptions1, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject1, serializableAppearanceObject2, serializableAppearanceObject3, serializableAppearanceObject4, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
+            this.repositoryItemButtonEdit1.Name = "repositoryItemButtonEdit1";
+            this.repositoryItemButtonEdit1.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.HideTextEditor;
+            this.repositoryItemButtonEdit1.ButtonClick += new DevExpress.XtraEditors.Controls.ButtonPressedEventHandler(this.repositoryItemButtonEdit1_ButtonClick);
+            // 
+            // gridColumn2
+            // 
+            this.gridColumn2.Caption = "gridColumn2";
+            this.gridColumn2.FieldName = "guid";
+            this.gridColumn2.MinWidth = 25;
+            this.gridColumn2.Name = "gridColumn2";
+            this.gridColumn2.Width = 94;
             // 
             // lb_lookupTypeName
             // 
@@ -233,6 +273,14 @@
             this.gridView1.OptionsView.ShowAutoFilterRow = true;
             this.gridView1.OptionsView.ShowGroupPanel = false;
             // 
+            // gridColumn1
+            // 
+            this.gridColumn1.Caption = "gridColumn1";
+            this.gridColumn1.FieldName = "guid";
+            this.gridColumn1.MinWidth = 25;
+            this.gridColumn1.Name = "gridColumn1";
+            this.gridColumn1.Width = 94;
+            // 
             // xtraTabControl1
             // 
             this.xtraTabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
@@ -319,22 +367,6 @@
             this.lbGuid.Size = new System.Drawing.Size(0, 21);
             this.lbGuid.TabIndex = 1;
             // 
-            // gridColumn1
-            // 
-            this.gridColumn1.Caption = "gridColumn1";
-            this.gridColumn1.FieldName = "guid";
-            this.gridColumn1.MinWidth = 25;
-            this.gridColumn1.Name = "gridColumn1";
-            this.gridColumn1.Width = 94;
-            // 
-            // gridColumn2
-            // 
-            this.gridColumn2.Caption = "gridColumn2";
-            this.gridColumn2.FieldName = "guid";
-            this.gridColumn2.MinWidth = 25;
-            this.gridColumn2.Name = "gridColumn2";
-            this.gridColumn2.Width = 94;
-            // 
             // Frm_MesSysLookups
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 18F);
@@ -346,6 +378,7 @@
             this.tabMxPage1.ResumeLayout(false);
             ((System.ComponentModel.ISupportInitialize)(this.gcMx1)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.gvMx1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.repositoryItemButtonEdit1)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.txt_lookupTypeName.Properties)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.txt_lookupTypeCode.Properties)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.gcMain)).EndInit();
@@ -388,5 +421,7 @@
  private DevExpress.XtraGrid.Columns.GridColumn gv_lookupTypeCode;
         private DevExpress.XtraGrid.Columns.GridColumn gridColumn2;
         private DevExpress.XtraGrid.Columns.GridColumn gridColumn1;
+        private DevExpress.XtraGrid.Columns.GridColumn gridColumn3;
+        private DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit repositoryItemButtonEdit1;
     }
 }
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/QC/Frm_MesSysLookups.cs b/DevApp/Gs.DevApp/DevFrm/QC/Frm_MesSysLookups.cs
index 375164a..141c987 100644
--- a/DevApp/Gs.DevApp/DevFrm/QC/Frm_MesSysLookups.cs
+++ b/DevApp/Gs.DevApp/DevFrm/QC/Frm_MesSysLookups.cs
@@ -1,64 +1,71 @@
-using DevExpress.XtraGrid.Views.Grid;
-using DevExpress.XtraGrid.Views.Grid.ViewInfo;
-using Gs.DevApp.Entity;
-using Gs.DevApp.ToolBox;
-using MES.Service.Modes;
-using Newtonsoft.Json;
-using Newtonsoft.Json.Linq;
 using System;
 using System.Collections.Generic;
 using System.Data;
 using System.Drawing;
+using System.Text;
 using System.Windows.Forms;
+using DevExpress.XtraEditors;
+using DevExpress.XtraEditors.Controls;
+using DevExpress.XtraGrid.Views.Grid;
+using Gs.DevApp.Entity;
+using Gs.DevApp.ToolBox;
+using Gs.DevApp.UserControl;
+using MES.Service.Modes;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 
 namespace Gs.DevApp.DevFrm
 {
-    public partial class Frm_MesSysLookups : DevExpress.XtraEditors.XtraForm
+    public partial class Frm_MesSysLookups : XtraForm
     {
-        string _webServiceName = "MesSysLookupTypesManager/";
-        List<FilterEntity> _filterList = new List<FilterEntity>();
+        private List<FilterEntity> _filterList = new List<FilterEntity>();
+        private readonly string _webServiceName = "MesSysLookupTypesManager/";
+
         public Frm_MesSysLookups()
         {
             InitializeComponent();
-            this.toolBarMenu1.btnAddClick += ToolBarMenu1_btnAddClick;
-            this.toolBarMenu1.btnEdtClick += ToolBarMenu1_btnEdtClick;
-            this.toolBarMenu1.btnSaveClick += ToolBarMenu1_btnSaveClick;
-            this.toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
-            this.toolBarMenu1.btnDelClick += ToolBarMenu1_btnDelClick1;
-            this.toolBarMenu1.btnEscClick += ToolBarMenu1_btnEscClick;
-            this.toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
+            toolBarMenu1.btnAddClick += ToolBarMenu1_btnAddClick;
+            toolBarMenu1.btnEdtClick += ToolBarMenu1_btnEdtClick;
+            toolBarMenu1.btnSaveClick += ToolBarMenu1_btnSaveClick;
+            toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
+            toolBarMenu1.btnDelClick += ToolBarMenu1_btnDelClick1;
+            toolBarMenu1.btnEscClick += ToolBarMenu1_btnEscClick;
+            toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
             gcMain.MouseDoubleClick += GcMain_MouseDoubleClick;
             getPageList(1, UtilityHelper.GetPageSize());
             pageBar1.PagerEvent += PageBar1_PagerEvent;
             gridView1.CustomDrawRowIndicator += (s, e) =>
             {
                 if (e.Info.IsRowIndicator && e.RowHandle >= 0)
-                {
                     e.Info.DisplayText = (e.RowHandle + 1).ToString();
-                }
             };
             gridView1.CustomDrawEmptyForeground += (s, e) =>
             {
-                string str = "鏆傛湭鏌ユ壘鍒板尮閰嶇殑鏁版嵁!";
-                Font f = new Font("寰蒋闆呴粦", 16);
-                Rectangle r = new Rectangle(gridView1.GridControl.Width / 2 - 100, e.Bounds.Top + 45, e.Bounds.Right - 5, e.Bounds.Height - 5);
+                var str = "鏆傛湭鏌ユ壘鍒板尮閰嶇殑鏁版嵁!";
+                var f = new Font("寰蒋闆呴粦", 16);
+                var r = new Rectangle(
+                    gridView1.GridControl.Width / 2 - 100, e.Bounds.Top + 45,
+                    e.Bounds.Right - 5, e.Bounds.Height - 5);
                 e.Graphics.DrawString(str, f, Brushes.Gray, r);
             };
         }
 
         /// <summary>
-        /// 鍙屽嚮浜嬩欢
+        ///     鍙屽嚮浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void GcMain_MouseDoubleClick(object sender, MouseEventArgs e)
         {
-            string rowGuid = Gs.DevApp.ToolBox.UtilityHelper.GetCurrentDoubleRow(gridView1, e, "guid");
+            var rowGuid =
+                UtilityHelper.GetCurrentDoubleRow(gridView1,
+                    e, "guid");
             if (!string.IsNullOrEmpty(rowGuid))
                 getModel(rowGuid, false, 999);
         }
+
         /// <summary>
-        /// 鍒嗛〉浜嬩欢
+        ///     鍒嗛〉浜嬩欢
         /// </summary>
         /// <param name="curPage"></param>
         /// <param name="pageSize"></param>
@@ -66,19 +73,23 @@
         {
             getPageList(curPage, pageSize);
         }
+
         /// <summary>
-        /// 鏌ヨ浜嬩欢
+        ///     鏌ヨ浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnQueryClick(object sender, EventArgs e)
         {
-            Gs.DevApp.UserControl.ShowFilter frm = new Gs.DevApp.UserControl.ShowFilter(gridView1.Columns, _filterList);
+            var frm =
+                new ShowFilter(gridView1.Columns,
+                    _filterList);
             frm.UpdateParent += Frm_UpdateParent;
             frm.ShowDialog();
         }
+
         /// <summary>
-        /// 鏌ヨ鍥炶皟
+        ///     鏌ヨ鍥炶皟
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -89,7 +100,7 @@
         }
 
         /// <summary>
-        /// 鍙栨秷浜嬩欢
+        ///     鍙栨秷浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -99,43 +110,49 @@
         }
 
         /// <summary>
-        /// 鍒犻櫎浜嬩欢
+        ///     鍒犻櫎浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnDelClick1(object sender, EventArgs e)
         {
             string rowGuid = "", rowName = "";
-            // (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_billNo, gridView1);
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1,
+                lbGuid, txt_lookupTypeCode, gridView1);
             if (string.IsNullOrEmpty(rowGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + rowName + "銆戯紝纭畾鍒犻櫎鍚楋紵"))
                 return;
-               List<dynamic> lst = new List<dynamic>();
-          lst.Add(rowGuid);
-          var _obj = lst;
+            var lst = new List<dynamic>();
+            lst.Add(rowGuid);
+            var _obj = lst;
             try
             {
-                string strJson = UtilityHelper.HttpPost("", _webServiceName + "DeleteModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                var strJson = UtilityHelper.HttpPost("",
+                    _webServiceName + "DeleteModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn =
+                    UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
                     UtilityHelper.JumpToTab(xtraTabControl1, 0);
                     getPageList(1, UtilityHelper.GetPageSize());
                 }
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+
+                MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
 
         /// <summary>
-        /// 鍒锋柊浜嬩欢
+        ///     鍒锋柊浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -144,38 +161,45 @@
             UtilityHelper.JumpToTab(xtraTabControl1, 0);
             getPageList(1, UtilityHelper.GetPageSize());
         }
+
         /// <summary>
-        /// 淇敼浜嬩欢
+        ///     淇敼浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnEdtClick(object sender, EventArgs e)
         {
             string rowGuid = "", rowName = "";
-            // (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_billNo, gridView1);
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1,
+                lbGuid, txt_lookupTypeCode, gridView1);
             if (string.IsNullOrEmpty(rowGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             getModel(rowGuid, true, 1);
         }
+
         /// <summary>
-        /// 鏂板浜嬩欢
+        ///     鏂板浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnAddClick(object sender, EventArgs e)
         {
-               UtilityHelper.JumpToTab(xtraTabControl1, 1);
- lbGuid.Text = "";
- List<DevExpress.XtraGrid.Views.Grid.GridView> gridViews = new List<DevExpress.XtraGrid.Views.Grid.GridView>();
- gridViews.Add(gvMx1);
- UtilityHelper.CleanValueByControl(this.panel1.Controls, true, gridViews);
- Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gcMx1, gvMx1);
+            UtilityHelper.JumpToTab(xtraTabControl1, 1);
+            lbGuid.Text = "";
+            var gridViews =
+                new List<GridView>();
+            gridViews.Add(gvMx1);
+            UtilityHelper.CleanValueByControl(panel1.Controls, true,
+                gridViews);
+            UtilityHelper.SetDefaultTable(gcMx1, gvMx1);
         }
+
         /// <summary>
-        /// 淇濆瓨浜嬩欢
+        ///     淇濆瓨浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -184,98 +208,132 @@
             toolBarMenu1.isSetBtn = false;
             if (string.IsNullOrEmpty(txt_lookupTypeCode.Text.Trim()))
             {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("绯荤粺蹇爜绫诲瀷缂栫爜涓嶈兘涓虹┖锛�");
+                MsgHelper.Warning("绯荤粺蹇爜绫诲瀷缂栫爜涓嶈兘涓虹┖锛�");
                 txt_lookupTypeCode.Focus();
                 return;
             }
-            var _obj = new MesSysLookupTypes()
+
+            var lst = new List<MesSysLookups>();
+            for (var i = 0; i < gvMx1.DataRowCount; i++)
             {
-                Guid = (lbGuid.Text.Trim().Length > 0 ? Guid.Parse(lbGuid.Text.Trim()) : Guid.Empty),
+                var row = gvMx1.GetDataRow(i);
+                if (row != null)
+                    lst.Add(new MesSysLookups
+                    {
+                        Guid = row["Guid"].ToString().Length > 0
+                            ? Guid.Parse(row["Guid"].ToString())
+                            : Guid.Empty,
+                        LookupName = row["LookupName"].ToString(),
+                        LookupValue = row["LookupValue"].ToString()
+                    });
+            }
+
+            var _obj = new MesSysLookupTypes
+            {
+                Guid = lbGuid.Text.Trim().Length > 0
+                    ? Guid.Parse(lbGuid.Text.Trim())
+                    : Guid.Empty,
                 LookupTypeCode = txt_lookupTypeCode.Text,
                 LookupTypeName = txt_lookupTypeName.Text,
+                list = lst
             };
+
             try
             {
-                string strJson = UtilityHelper.HttpPost("", _webServiceName + "EditModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                var strJson = UtilityHelper.HttpPost("",
+                    _webServiceName + "EditModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn =
+                    UtilityHelper.ReturnToDynamic(strJson);
+                MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
                 if (_rtn.rtnCode > 0)
                 {
                     lbGuid.Text = _rtn.rtnData;
                     toolBarMenu1.isSetBtn = true;
-                    UtilityHelper.ChangeEnableByControl(this.panel1.Controls, false);
+                    UtilityHelper.ChangeEnableByControl(panel1.Controls,
+                        false);
                 }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
 
         /// <summary>
-        /// 
         /// </summary>
         /// <param name="curPage">绗嚑椤�</param>
         /// <param name="pageSize">姣忛〉鍑犳潯</param>
         private void getPageList(int curPage, int pageSize)
         {
-            System.Text.StringBuilder _sbSqlWhere = new System.Text.StringBuilder();
-            foreach (FilterEntity itm in _filterList)
-            {
-                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'");
-            }
-            PageQueryModel pgq = new PageQueryModel(curPage, pageSize, "create_date", "asc", "", _sbSqlWhere.ToString());
-            string json = JsonConvert.SerializeObject(pgq);
+            var _sbSqlWhere =
+                new StringBuilder();
+            foreach (var itm in _filterList)
+                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" +
+                                   itm.fileValue + "'");
+
+            var pgq = new PageQueryModel(curPage, pageSize,
+                "create_date", "asc", "", _sbSqlWhere.ToString());
+            var json = JsonConvert.SerializeObject(pgq);
             try
             {
-                string strReturn = UtilityHelper.HttpPost("", _webServiceName + "GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
-                DataTable dt = dd.rtnData.list;
+                var strReturn = UtilityHelper.HttpPost("",
+                    _webServiceName + "GetListPage", json);
+                var dd =
+                    UtilityHelper.ReturnToTablePage(strReturn);
+                var dt = dd.rtnData.list;
                 gcMain.BindingContext = new BindingContext();
                 gcMain.DataSource = dt;
                 gcMain.ForceInitialize();
-                int dddd = dd.rtnData.pages;//鎬婚〉
+                var dddd = dd.rtnData.pages; //鎬婚〉
                 pageBar1.TotalPages = dddd;
-                pageBar1.RecordCount = dd.rtnData.total;//璁板綍鎬绘暟
-                pageBar1.CurrentPage = curPage;//褰撳墠椤�
-                pageBar1.RowsCount = pageSize;//姣忛〉鏄剧ず
+                pageBar1.RecordCount = dd.rtnData.total; //璁板綍鎬绘暟
+                pageBar1.CurrentPage = curPage; //褰撳墠椤�
+                pageBar1.RowsCount = pageSize; //姣忛〉鏄剧ず
                 pageBar1.setTxt();
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
+
         private void getModel(string strGuid, bool isEdit, int tabIdx)
         {
             if (string.IsNullOrEmpty(strGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             UtilityHelper.JumpToTab(xtraTabControl1, tabIdx);
             var _obj = new
             {
-                guid = strGuid,//涓诲缓
+                guid = strGuid //涓诲缓
             };
             try
             {
-                string strJson = UtilityHelper.HttpPost("", _webServiceName +"GetModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                var strJson = UtilityHelper.HttpPost("",
+                    _webServiceName + "GetModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn =
+                    UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
-                    dynamic dy = _rtn.rtnData;
+                    var dy = _rtn.rtnData;
                     lbGuid.Text = strGuid;
-                    List<DevExpress.XtraGrid.Views.Grid.GridView> gvList = new List<DevExpress.XtraGrid.Views.Grid.GridView>();
+                    var gvList =
+                        new List<GridView>();
                     gvList.Add(gvMx1);
-                    UtilityHelper.SetValueByObj(this.panel1.Controls, dy, isEdit, gvList);
-                    JObject _job = JObject.Parse(strJson);
-                    JArray array = new JArray();
-                    foreach (var a in _job["rtnData"]["list"])
-                    {
-                        array.Add(a);
-                    }
-                    DataTable dt = JsonConvert.DeserializeObject<DataTable>(array.ToString());
+                    UtilityHelper.SetValueByObj(panel1.Controls, dy,
+                        isEdit, gvList);
+                    var _job = JObject.Parse(strJson);
+                    var array = new JArray();
+                    foreach (var a in _job["rtnData"]["list"]) array.Add(a);
+
+                    var dt =
+                        JsonConvert.DeserializeObject<DataTable>(
+                            array.ToString());
                     if (dt.Rows.Count > 0)
                     {
                         gcMx1.BindingContext = new BindingContext();
@@ -284,15 +342,51 @@
                     }
                     else
                     {
-                        Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gcMx1, gvMx1);
+                        UtilityHelper.SetDefaultTable(gcMx1,
+                            gvMx1);
                     }
                 }
                 else
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                {
+                    MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+            }
+        }
+
+        private void repositoryItemButtonEdit1_ButtonClick(object sender,
+            ButtonPressedEventArgs e)
+        {
+            var rowhandle = gvMx1.FocusedRowHandle;
+            if (rowhandle < 0)
+                return;
+            if (e.Button.Index == 0)
+            {
+                var dr = gvMx1.GetDataRow(rowhandle);
+                var mxGuid = dr["guid"].ToString();
+                if (!MsgHelper.AskQuestion("浣犻�夋嫨浜�1鏉℃暟鎹紝纭畾鍒犻櫎鍚楋紵"))
+                    return;
+                var strJson = "";
+                var lst = new List<string>();
+                lst.Add(mxGuid);
+                try
+                {
+                    strJson = UtilityHelper.HttpPost("",
+                        _webServiceName + "DeleteModelMx",
+                        JsonConvert.SerializeObject(lst));
+                    var _rtn =
+                        UtilityHelper.ReturnToDynamic(strJson);
+                    if (_rtn.rtnCode > 0) getModel(lbGuid.Text, true, 1);
+
+                    MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                }
+                catch (Exception ex)
+                {
+                    MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                }
             }
         }
     }
diff --git a/DevApp/Gs.DevApp/DevFrm/QC/Frm_MesSysLookups.resx b/DevApp/Gs.DevApp/DevFrm/QC/Frm_MesSysLookups.resx
index d58980a..4795337 100644
--- a/DevApp/Gs.DevApp/DevFrm/QC/Frm_MesSysLookups.resx
+++ b/DevApp/Gs.DevApp/DevFrm/QC/Frm_MesSysLookups.resx
@@ -1,120 +1,134 @@
 <?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
             <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
             </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/QC/Models/MesSysLookupTypes.cs b/DevApp/Gs.DevApp/DevFrm/QC/Models/MesSysLookupTypes.cs
index 6f3c778..3bccf63 100644
--- a/DevApp/Gs.DevApp/DevFrm/QC/Models/MesSysLookupTypes.cs
+++ b/DevApp/Gs.DevApp/DevFrm/QC/Models/MesSysLookupTypes.cs
@@ -1,94 +1,94 @@
 锘縰sing System;
 using System.Collections.Generic;
 
-namespace MES.Service.Modes {
-
-/// <summary>
-///     绯荤粺蹇爜鍒嗙被琛�
-/// </summary>
-public class MesSysLookupTypes
+namespace MES.Service.Modes
 {
     /// <summary>
-    ///     榛樿鍊�: (newid())
+    ///     绯荤粺蹇爜鍒嗙被琛�
     /// </summary>
-    public Guid? Guid { get; set; }
-    
+    public class MesSysLookupTypes
+    {
+        /// <summary>
+        ///     榛樿鍊�: (newid())
+        /// </summary>
+        public Guid? Guid { get; set; }
 
-    /// <summary>
-    ///     绯荤粺蹇爜绫诲瀷缂栫爜
-    /// </summary>
-    public string LookupTypeCode { get; set; }
 
-    /// <summary>
-    ///     绯荤粺蹇爜绫诲瀷鍚嶇О
-    /// </summary>
-    public string LookupTypeName { get; set; }
+        /// <summary>
+        ///     绯荤粺蹇爜绫诲瀷缂栫爜
+        /// </summary>
+        public string LookupTypeCode { get; set; }
 
-    /// <summary>
-    ///     绯荤粺蹇爜绫诲瀷|0-绯荤粺绾э紝1-鐢ㄦ埛绾э紝绯荤粺绾т笉鍏佽淇敼
-    /// </summary>
-    public byte? LookupType { get; set; }
+        /// <summary>
+        ///     绯荤粺蹇爜绫诲瀷鍚嶇О
+        /// </summary>
+        public string LookupTypeName { get; set; }
 
-    /// <summary>
-    ///     绯荤粺蹇爜绉嶇被|涓氬姟鍒嗙被
-    /// </summary>
-    public string LookupSort { get; set; }
+        /// <summary>
+        ///     绯荤粺蹇爜绫诲瀷|0-绯荤粺绾э紝1-鐢ㄦ埛绾э紝绯荤粺绾т笉鍏佽淇敼
+        /// </summary>
+        public byte? LookupType { get; set; }
 
-    /// <summary>
-    ///     鍏佽淇敼鏄剧ず鍊紎0-鍚︼紝1-鏄�
-    /// </summary>
-    public byte? AllowUpdateFlag { get; set; }
+        /// <summary>
+        ///     绯荤粺蹇爜绉嶇被|涓氬姟鍒嗙被
+        /// </summary>
+        public string LookupSort { get; set; }
 
-    /// <summary>
-    ///     鍏佽澧炲姞璁板綍|0-鍚︼紝1-鏄�
-    /// </summary>
-    public byte? AllowAddFlag { get; set; }
+        /// <summary>
+        ///     鍏佽淇敼鏄剧ず鍊紎0-鍚︼紝1-鏄�
+        /// </summary>
+        public byte? AllowUpdateFlag { get; set; }
 
-    /// <summary>
-    ///     鍏佽鍒犻櫎璁板綍|0-鍚︼紝1-鏄�
-    /// </summary>
-    public byte? AllowDelFlag { get; set; }
+        /// <summary>
+        ///     鍏佽澧炲姞璁板綍|0-鍚︼紝1-鏄�
+        /// </summary>
+        public byte? AllowAddFlag { get; set; }
 
-    /// <summary>
-    ///     澶囨敞
-    /// </summary>
-    public string Description { get; set; }
+        /// <summary>
+        ///     鍏佽鍒犻櫎璁板綍|0-鍚︼紝1-鏄�
+        /// </summary>
+        public byte? AllowDelFlag { get; set; }
 
-    /// <summary>
-    ///     鍒涘缓浜�
-    /// </summary>
-    public string CreateBy { get; set; }
+        /// <summary>
+        ///     澶囨敞
+        /// </summary>
+        public string Description { get; set; }
 
-    /// <summary>
-    ///     鍒涘缓鏃堕棿
-    /// </summary>
-    public DateTime? CreateDate { get; set; }
+        /// <summary>
+        ///     鍒涘缓浜�
+        /// </summary>
+        public string CreateBy { get; set; }
 
-    /// <summary>
-    ///     鏈�鍚庢洿鏂颁汉
-    /// </summary>
-    public string LastupdateBy { get; set; }
+        /// <summary>
+        ///     鍒涘缓鏃堕棿
+        /// </summary>
+        public DateTime? CreateDate { get; set; }
 
-    /// <summary>
-    ///     鏈�鍚庢洿鏂版椂闂�
-    /// </summary>
-    public DateTime? LastupdateDate { get; set; }
+        /// <summary>
+        ///     鏈�鍚庢洿鏂颁汉
+        /// </summary>
+        public string LastupdateBy { get; set; }
 
-    /// <summary>
-    ///     宸ュ巶
-    /// </summary>
-    public string Factory { get; set; }
+        /// <summary>
+        ///     鏈�鍚庢洿鏂版椂闂�
+        /// </summary>
+        public DateTime? LastupdateDate { get; set; }
 
-    /// <summary>
-    ///     鍏徃
-    /// </summary>
-    public string Company { get; set; }
+        /// <summary>
+        ///     宸ュ巶
+        /// </summary>
+        public string Factory { get; set; }
 
-    /// <summary>
-    ///     妯″潡绫诲埆
-    /// </summary>
-    public string Ftype { get; set; }
-    
-    public List<MesSysLookups> list { get; set; }
-}
+        /// <summary>
+        ///     鍏徃
+        /// </summary>
+        public string Company { get; set; }
+
+        /// <summary>
+        ///     妯″潡绫诲埆
+        /// </summary>
+        public string Ftype { get; set; }
+
+        public List<MesSysLookups> list { get; set; }
+    }
 }
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/QC/Models/MesSysLookups.cs b/DevApp/Gs.DevApp/DevFrm/QC/Models/MesSysLookups.cs
index 1bcc003..33797cd 100644
--- a/DevApp/Gs.DevApp/DevFrm/QC/Models/MesSysLookups.cs
+++ b/DevApp/Gs.DevApp/DevFrm/QC/Models/MesSysLookups.cs
@@ -1,13 +1,10 @@
-锘�
-using System;
+锘縰sing System;
 
 namespace MES.Service.Modes
 {
-
-
     /// <summary>
     ///     绯荤粺蹇爜琛�
-    /// </summary> 
+    /// </summary>
     public class MesSysLookups
     {
         /// <summary>
diff --git a/DevApp/Gs.DevApp/DevFrm/Rpt/RptPreview.cs b/DevApp/Gs.DevApp/DevFrm/Rpt/RptPreview.cs
index a35b756..3ccf9f5 100644
--- a/DevApp/Gs.DevApp/DevFrm/Rpt/RptPreview.cs
+++ b/DevApp/Gs.DevApp/DevFrm/Rpt/RptPreview.cs
@@ -1,73 +1,74 @@
-锘�
+锘縰sing System;
+using System.Data;
+using System.IO;
+using DevExpress.XtraEditors;
+using FastReport;
 using Gs.DevApp.ToolBox;
 using Newtonsoft.Json;
-using System;
-using System.Data;
 using Newtonsoft.Json.Linq;
-using System.IO;
 
 namespace Gs.DevApp.DevFrm.Rpt
 {
-    public partial class RptPreview : DevExpress.XtraEditors.XtraForm
+    public partial class RptPreview : XtraForm
     {
-        private string _rptParameter;
+        private readonly string _rptParameter;
+
         public RptPreview(string rptParameter)
         {
             _rptParameter = rptParameter;
             InitializeComponent();
-            this.Text = _rptParameter + "鎶ヨ〃鏌ョ湅锛�";
+            Text = _rptParameter + "鎶ヨ〃鏌ョ湅锛�";
             getRptData();
         }
 
         /// <summary>
-        /// 璇诲彇鎶ヨ〃鏁版嵁
+        ///     璇诲彇鎶ヨ〃鏁版嵁
         /// </summary>
         private void getRptData()
         {
             var _obj = new
             {
-                rptParameter = this._rptParameter,
+                rptParameter = _rptParameter
             };
             try
             {
-                string strJson = UtilityHelper.HttpPost("", "Report/GetRptData", JsonConvert.SerializeObject(_obj));
-                JObject _job = JObject.Parse(strJson);
-                string rtnCode = _job["rtnCode"].ToString();
+                var strJson = UtilityHelper.HttpPost("", "Report/GetRptData",
+                    JsonConvert.SerializeObject(_obj));
+                var _job = JObject.Parse(strJson);
+                var rtnCode = _job["rtnCode"].ToString();
                 if (int.Parse(rtnCode) > 0)
                 {
                     //妯℃澘
-                    FastReport.Report report = new FastReport.Report();
-                    byte[] buffer = (byte[])_job["rtnData"]["reportTemplateData"];
-                    using (MemoryStream Stream = new MemoryStream(buffer))
+                    var report = new Report();
+                    var buffer = (byte[])_job["rtnData"]["reportTemplateData"];
+                    using (var Stream = new MemoryStream(buffer))
                     {
                         report.Load(Stream);
                     }
+
                     //涓昏〃
-                    JArray array = new JArray();
-                    foreach (var a in _job["rtnData"]["zb"])
-                    {
-                        array.Add(a);
-                    }
-                    DataTable _zb = JsonConvert.DeserializeObject<DataTable>(array.ToString());
+                    var array = new JArray();
+                    foreach (var a in _job["rtnData"]["zb"]) array.Add(a);
+                    var _zb =
+                        JsonConvert.DeserializeObject<DataTable>(
+                            array.ToString());
                     _zb.TableName = "zb";
                     //鏄庣粏琛�1
-                    JArray array1 = new JArray();
-                    foreach (var a in _job["rtnData"]["mx1"])
-                    {
-                        array1.Add(a);
-                    }
-                    DataTable _mx1 = JsonConvert.DeserializeObject<DataTable>(array1.ToString());
+                    var array1 = new JArray();
+                    foreach (var a in _job["rtnData"]["mx1"]) array1.Add(a);
+                    var _mx1 =
+                        JsonConvert.DeserializeObject<DataTable>(
+                            array1.ToString());
                     _mx1.TableName = "mx1";
                     //鏄庣粏琛�2
-                    JArray array2 = new JArray();
-                    foreach (var a in _job["rtnData"]["mx2"])
-                    {
-                        array1.Add(a);
-                    }
-                    DataTable _mx2 = JsonConvert.DeserializeObject<DataTable>(array2.ToString());
+                    var array2 = new JArray();
+                    foreach (var a in _job["rtnData"]["mx2"]) array1.Add(a);
+                    var _mx2 =
+                        JsonConvert.DeserializeObject<DataTable>(
+                            array2.ToString());
                     _mx2.TableName = "mx2";
                     //鍔犲埌鏁版嵁闆嗕腑
-                    DataSet ds = new DataSet();
+                    var ds = new DataSet();
                     ds.Tables.Add(_zb);
                     ds.Tables.Add(_mx1);
                     ds.Tables.Add(_mx2);
@@ -78,12 +79,12 @@
                 }
                 else
                 {
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _job["rtnMsg"].ToString());
+                    MsgHelper.Warning("鎻愮ず锛�" + _job["rtnMsg"]);
                 }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
     }
diff --git a/DevApp/Gs.DevApp/DevFrm/Rpt/RptPreview.resx b/DevApp/Gs.DevApp/DevFrm/Rpt/RptPreview.resx
index 1af7de1..bfad99e 100644
--- a/DevApp/Gs.DevApp/DevFrm/Rpt/RptPreview.resx
+++ b/DevApp/Gs.DevApp/DevFrm/Rpt/RptPreview.resx
@@ -1,120 +1,134 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
             <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
             </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/Sys/DocNoRule.cs b/DevApp/Gs.DevApp/DevFrm/Sys/DocNoRule.cs
index 25acef1..99d12cc 100644
--- a/DevApp/Gs.DevApp/DevFrm/Sys/DocNoRule.cs
+++ b/DevApp/Gs.DevApp/DevFrm/Sys/DocNoRule.cs
@@ -1,27 +1,28 @@
-锘縰sing DevExpress.XtraEditors.Controls;
-using Gs.DevApp.Entity;
-using Gs.DevApp.ToolBox;
-using Newtonsoft.Json;
-using System;
+锘縰sing System;
 using System.Collections.Generic;
 using System.Data;
 using System.Windows.Forms;
+using DevExpress.XtraEditors;
+using DevExpress.XtraEditors.Controls;
+using Gs.DevApp.Entity;
+using Gs.DevApp.ToolBox;
+using Newtonsoft.Json;
 
 namespace Gs.DevApp.DevFrm.Sys
 {
-    public partial class DocNoRule : DevExpress.XtraEditors.XtraForm
+    public partial class DocNoRule : XtraForm
     {
         public DocNoRule()
         {
             InitializeComponent();
-            this.toolBarMenu1.btnAddClick += ToolBarMenu1_btnAddClick;
-            this.toolBarMenu1.btnEdtClick += ToolBarMenu1_btnEdtClick;
-            this.toolBarMenu1.btnSaveClick += ToolBarMenu1_btnSaveClick;
-            this.toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
-            this.toolBarMenu1.btnDelClick += ToolBarMenu1_btnDelClick1;
-            this.toolBarMenu1.btnEscClick += ToolBarMenu1_btnEscClick;
-            this.toolBarMenu1.btnChkClick += ToolBarMenu1_btnChkClick;
-            this.toolBarMenu1.btnFChkClick += ToolBarMenu1_btnFChkClick;
+            toolBarMenu1.btnAddClick += ToolBarMenu1_btnAddClick;
+            toolBarMenu1.btnEdtClick += ToolBarMenu1_btnEdtClick;
+            toolBarMenu1.btnSaveClick += ToolBarMenu1_btnSaveClick;
+            toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
+            toolBarMenu1.btnDelClick += ToolBarMenu1_btnDelClick1;
+            toolBarMenu1.btnEscClick += ToolBarMenu1_btnEscClick;
+            toolBarMenu1.btnChkClick += ToolBarMenu1_btnChkClick;
+            toolBarMenu1.btnFChkClick += ToolBarMenu1_btnFChkClick;
             gcMain.MouseDoubleClick += GcMain_MouseDoubleClick;
             getPageList(1, UtilityHelper.GetPageSize());
             pageBar1.PagerEvent += PageBar1_PagerEvent;
@@ -32,26 +33,31 @@
             txxtItem3.EditValueChanged += TxxtItem1_EditValueChanged;
             txxtItem4.EditValueChanged += TxxtItem1_EditValueChanged;
             txt_noLength.ValueChanged += Txt_noLength_ValueChanged;
-            txt_isIncludeDoc.CheckedChanged += Txt_flagIncludeDocCode_CheckedChanged;
-            txt_isSpilit.CheckedChanged += Txt_flagIncludeDocCode_CheckedChanged;
+            txt_isIncludeDoc.CheckedChanged +=
+                Txt_flagIncludeDocCode_CheckedChanged;
+            txt_isSpilit.CheckedChanged +=
+                Txt_flagIncludeDocCode_CheckedChanged;
         }
+
         /// <summary>
-        /// 鍙屽嚮浜嬩欢
+        ///     鍙屽嚮浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void GcMain_MouseDoubleClick(object sender, MouseEventArgs e)
         {
-            string rowGuid = Gs.DevApp.ToolBox.UtilityHelper.GetCurrentDoubleRow(gridView1, e, "guid");
+            var rowGuid =
+                UtilityHelper.GetCurrentDoubleRow(gridView1, e, "guid");
             if (!string.IsNullOrEmpty(rowGuid))
             {
                 getModel(rowGuid, false, 999);
-                txxtItem1.Enabled = txxtItem2.Enabled = txxtItem3.Enabled = txxtItem4.Enabled = false;
-
+                txxtItem1.Enabled = txxtItem2.Enabled =
+                    txxtItem3.Enabled = txxtItem4.Enabled = false;
             }
         }
+
         /// <summary>
-        /// 鍒嗛〉浜嬩欢
+        ///     鍒嗛〉浜嬩欢
         /// </summary>
         /// <param name="curPage"></param>
         /// <param name="pageSize"></param>
@@ -59,33 +65,38 @@
         {
             getPageList(curPage, pageSize);
         }
+
         /// <summary>
-        /// 鍙嶅鏍�
+        ///     鍙嶅鏍�
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         /// <exception cref="NotImplementedException"></exception>
         private void ToolBarMenu1_btnFChkClick(object sender, EventArgs e)
         {
-            this.toolBarMenu1.guidKey = "";
+            toolBarMenu1.guidKey = "";
             string rowGuid, rowName;
-            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_docCode, gridView1);
-            this.toolBarMenu1.guidKey = rowGuid;
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1,
+                lbGuid, txt_docCode, gridView1);
+            toolBarMenu1.guidKey = rowGuid;
         }
+
         /// <summary>
-        /// 瀹℃牳浜嬩欢
+        ///     瀹℃牳浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnChkClick(object sender, EventArgs e)
         {
-            this.toolBarMenu1.guidKey = "";
+            toolBarMenu1.guidKey = "";
             string rowGuid, rowName;
-            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_docCode, gridView1);
-            this.toolBarMenu1.guidKey = rowGuid;
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1,
+                lbGuid, txt_docCode, gridView1);
+            toolBarMenu1.guidKey = rowGuid;
         }
+
         /// <summary>
-        /// 鍙栨秷浜嬩欢
+        ///     鍙栨秷浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -93,44 +104,50 @@
         {
             UtilityHelper.JumpToTab(xtraTabControl1, 0);
         }
+
         /// <summary>
-        /// 鍒犻櫎浜嬩欢
+        ///     鍒犻櫎浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnDelClick1(object sender, EventArgs e)
         {
             string rowGuid, rowName;
-            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_docCode, gridView1);
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1,
+                lbGuid, txt_docCode, gridView1);
             if (string.IsNullOrEmpty(rowGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + rowName + "銆戯紝纭畾鍒犻櫎鍚楋紵"))
                 return;
 
-            List<string> lst = new List<string>();
+            var lst = new List<string>();
             lst.Add(rowGuid);
             var _obj = lst;
             try
             {
-                string strJson = UtilityHelper.HttpPost("", "DocNoRule/DeleteModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                var strJson = UtilityHelper.HttpPost("",
+                    "DocNoRule/DeleteModel", JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
                     UtilityHelper.JumpToTab(xtraTabControl1, 0);
                     getPageList(1, UtilityHelper.GetPageSize());
                 }
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+
+                MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
+
         /// <summary>
-        /// 鍒锋柊浜嬩欢
+        ///     鍒锋柊浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -139,25 +156,30 @@
             UtilityHelper.JumpToTab(xtraTabControl1, 0);
             getPageList(1, UtilityHelper.GetPageSize());
         }
+
         /// <summary>
-        /// 淇敼浜嬩欢
+        ///     淇敼浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnEdtClick(object sender, EventArgs e)
         {
             string rowGuid, rowName;
-            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_docCode, gridView1);
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1,
+                lbGuid, txt_docCode, gridView1);
             if (string.IsNullOrEmpty(rowGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             getModel(rowGuid, true, 1);
-            txxtItem1.Enabled = txxtItem2.Enabled = txxtItem3.Enabled = txxtItem4.Enabled = panelControl1.Enabled = true;
+            txxtItem1.Enabled = txxtItem2.Enabled = txxtItem3.Enabled =
+                txxtItem4.Enabled = panelControl1.Enabled = true;
         }
+
         /// <summary>
-        /// 鏂板浜嬩欢
+        ///     鏂板浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -165,116 +187,130 @@
         {
             UtilityHelper.JumpToTab(xtraTabControl1, 1);
             lbGuid.Text = "";
-            UtilityHelper.CleanValueByControl(this.panel1.Controls, true);
-            txxtItem1.SelectedIndex = txxtItem2.SelectedIndex = txxtItem3.SelectedIndex = txxtItem4.SelectedIndex = 0;
-            txxtItem1.Enabled = txxtItem2.Enabled = txxtItem3.Enabled = txxtItem4.Enabled = panelControl1.Enabled = true;
+            UtilityHelper.CleanValueByControl(panel1.Controls, true);
+            txxtItem1.SelectedIndex = txxtItem2.SelectedIndex =
+                txxtItem3.SelectedIndex = txxtItem4.SelectedIndex = 0;
+            txxtItem1.Enabled = txxtItem2.Enabled = txxtItem3.Enabled =
+                txxtItem4.Enabled = panelControl1.Enabled = true;
         }
+
         /// <summary>
-        /// 淇濆瓨浜嬩欢
+        ///     淇濆瓨浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnSaveClick(object sender, EventArgs e)
         {
             toolBarMenu1.isSetBtn = false;
-            if (txt_docCode.EditValue == null || string.IsNullOrEmpty(txt_docCode.EditValue.ToString()))
+            if (txt_docCode.EditValue == null ||
+                string.IsNullOrEmpty(txt_docCode.EditValue.ToString()))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨鍗曟嵁绫诲瀷锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨鍗曟嵁绫诲瀷锛�");
                 txt_docCode.Focus();
                 return;
             }
-            if ((txxtItem1.SelectedIndex + txxtItem2.SelectedIndex + txxtItem3.SelectedIndex + txxtItem4.SelectedIndex) <= 0)
+
+            if (txxtItem1.SelectedIndex + txxtItem2.SelectedIndex +
+                txxtItem3.SelectedIndex + txxtItem4.SelectedIndex <= 0)
             {
-                ToolBox.MsgHelper.Warning("璇疯嚦灏戦�夋嫨涓�涓弬鏁帮紒");
+                MsgHelper.Warning("璇疯嚦灏戦�夋嫨涓�涓弬鏁帮紒");
                 txxtItem1.Focus();
                 return;
             }
+
             if (txt_docFormat.Text.Length <= 0)
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閰嶇疆鍙傛暟锛�");
+                MsgHelper.Warning("璇峰厛閰嶇疆鍙傛暟锛�");
                 txt_docCode.Focus();
                 return;
             }
+
             var _obj = new
             {
-                guid = lbGuid.Text.Trim(),//涓诲缓
+                guid = lbGuid.Text.Trim(), //涓诲缓
                 docCode = txt_docCode.EditValue.ToString(),
-                docFormat = txt_docFormat.Text.ToString(),
+                docFormat = txt_docFormat.Text,
                 noLength = txt_noLength.Value.ToString(),
                 resetZero = txt_resetZero.Checked,
                 isSpilit = txt_isSpilit.Checked,
-                isIncludeDoc = txt_isIncludeDoc.Checked,
+                isIncludeDoc = txt_isIncludeDoc.Checked
             };
             try
             {
-                string strJson = UtilityHelper.HttpPost("", "DocNoRule/EditModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                var strJson = UtilityHelper.HttpPost("", "DocNoRule/EditModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
+                MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
                 if (_rtn.rtnCode > 0)
                 {
                     lbGuid.Text = _rtn.rtnData;
                     toolBarMenu1.isSetBtn = true;
-                    UtilityHelper.ChangeEnableByControl(this.panel1.Controls, false);
+                    UtilityHelper.ChangeEnableByControl(panel1.Controls, false);
                 }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
+
         /// <summary>
-        /// 
         /// </summary>
         /// <param name="curPage">绗嚑椤�</param>
         /// <param name="pageSize">姣忛〉鍑犳潯</param>
         private void getPageList(int curPage, int pageSize)
         {
-            PageQueryModel pgq = new PageQueryModel(curPage, pageSize, "doc_Code", "asc", "", "");
-            string json = JsonConvert.SerializeObject(pgq);
+            var pgq = new PageQueryModel(curPage, pageSize, "doc_Code");
+            var json = JsonConvert.SerializeObject(pgq);
             try
             {
-                string strReturn = UtilityHelper.HttpPost("", "DocNoRule/GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
-                DataTable dt = dd.rtnData.list;
+                var strReturn =
+                    UtilityHelper.HttpPost("", "DocNoRule/GetListPage", json);
+                var dd = UtilityHelper.ReturnToTablePage(strReturn);
+                var dt = dd.rtnData.list;
                 gcMain.BindingContext = new BindingContext();
                 gcMain.DataSource = dt;
                 gcMain.ForceInitialize();
-                int dddd = dd.rtnData.pages;//鎬婚〉
+                var dddd = dd.rtnData.pages; //鎬婚〉
                 pageBar1.TotalPages = dddd;
-                pageBar1.RecordCount = dd.rtnData.total;//璁板綍鎬绘暟
-                pageBar1.CurrentPage = curPage;//褰撳墠椤�
-                pageBar1.RowsCount = pageSize;//姣忛〉鏄剧ず
+                pageBar1.RecordCount = dd.rtnData.total; //璁板綍鎬绘暟
+                pageBar1.CurrentPage = curPage; //褰撳墠椤�
+                pageBar1.RowsCount = pageSize; //姣忛〉鏄剧ず
                 pageBar1.setTxt();
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
+
         private void getModel(string strGuid, bool isEdit, int tabIdx)
         {
             if (string.IsNullOrEmpty(strGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             UtilityHelper.JumpToTab(xtraTabControl1, tabIdx);
             var _obj = new
             {
-                guid = strGuid,//涓诲缓
+                guid = strGuid //涓诲缓
             };
             try
             {
-                string strJson = UtilityHelper.HttpPost("", "DocNoRule/GetModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                var strJson = UtilityHelper.HttpPost("", "DocNoRule/GetModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
-                    dynamic dy = _rtn.rtnData;
+                    var dy = _rtn.rtnData;
                     lbGuid.Text = strGuid;
-                    UtilityHelper.SetValueByObj(this.panel1.Controls, dy, isEdit);
+                    UtilityHelper.SetValueByObj(panel1.Controls, dy, isEdit);
                     txt_docCode.EditValue = dy.docCode.ToString();
                     string _rule = dy.docFormat.ToString();
-                    string[] _ary = _rule.Split(new char[] { '<' }, StringSplitOptions.RemoveEmptyEntries);
+                    var _ary = _rule.Split(new[] { '<' },
+                        StringSplitOptions.RemoveEmptyEntries);
                     if (_ary.Length > 0)
                         txxtItem1.Text = "<" + _ary[0];
                     if (_ary.Length > 1)
@@ -285,17 +321,19 @@
                         txxtItem4.Text = "<" + _ary[3];
                 }
                 else
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                {
+                    MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
 
         private void getTree()
         {
-            DataTable dataTable = new DataTable();
+            var dataTable = new DataTable();
             dataTable.Columns.Add("docCode", typeof(string));
             dataTable.Rows.Add("DH(鍒拌揣鍗�)");
             dataTable.Rows.Add("QO(鎶ヤ环鍗�)");
@@ -311,11 +349,13 @@
             dataTable.Rows.Add("PN(鐢熶骇搴�)");
             txt_docCode.Properties.DataSource = dataTable;
             txt_docCode.Properties.DisplayMember = "docCode"; // 鏄剧ず鐨勫垪
-            txt_docCode.Properties.ValueMember = "docCode";     // 瀹為檯鍊肩殑鍒�
-            txt_docCode.Properties.TextEditStyle = TextEditStyles.DisableTextEditor;
+            txt_docCode.Properties.ValueMember = "docCode"; // 瀹為檯鍊肩殑鍒�
+            txt_docCode.Properties.TextEditStyle =
+                TextEditStyles.DisableTextEditor;
         }
 
-        private void Txt_flagIncludeDocCode_CheckedChanged(object sender, EventArgs e)
+        private void Txt_flagIncludeDocCode_CheckedChanged(object sender,
+            EventArgs e)
         {
             DoPreviewCode();
         }
@@ -329,6 +369,7 @@
         {
             DoPreviewCode();
         }
+
         private void DoPreviewCode()
         {
             if (txt_docCode.Enabled == false
@@ -337,7 +378,8 @@
                 || txxtItem3.Enabled == false
                 || txxtItem4.Enabled == false)
                 return;
-            var text = txxtItem1.Text + txxtItem2.Text + txxtItem3.Text + txxtItem4.Text;
+            var text = txxtItem1.Text + txxtItem2.Text + txxtItem3.Text +
+                       txxtItem4.Text;
             txt_docFormat.Text = text;
             if (txt_docFormat.Text == "")
             {
@@ -350,24 +392,22 @@
                 var length = int.Parse(txt_noLength.Value.ToString());
                 var docCode = "";
                 if (txt_isIncludeDoc.Checked)
-                {
                     docCode = txt_docCode.EditValue.ToString();
-                }
                 preview = docCode + preview;
                 preview = preview.Replace("<鏃�>", "");
                 preview = preview.Replace("<骞村勾骞村勾>", "2024");
                 preview = preview.Replace("<骞村勾>", "24");
                 preview = preview.Replace("<鏈堟湀>", "06");
                 preview = preview.Replace("<鏃ユ棩>", "18");
-                preview = preview + (txt_isSpilit.Checked ? "-" : "") + "8".PadLeft(length, '0');
+                preview = preview + (txt_isSpilit.Checked ? "-" : "") +
+                          "8".PadLeft(length, '0');
                 lblPreview.Text = "鐢熸垚缂栧彿锛�" + preview;
             }
         }
+
         private void Txt_docCode_EditValueChanged(object sender, EventArgs e)
         {
             DoPreviewCode();
         }
-
     }
-}
-
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/Sys/DocNoRule.resx b/DevApp/Gs.DevApp/DevFrm/Sys/DocNoRule.resx
index 1af7de1..bfad99e 100644
--- a/DevApp/Gs.DevApp/DevFrm/Sys/DocNoRule.resx
+++ b/DevApp/Gs.DevApp/DevFrm/Sys/DocNoRule.resx
@@ -1,120 +1,134 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
             <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
             </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/Sys/EasyCode.cs b/DevApp/Gs.DevApp/DevFrm/Sys/EasyCode.cs
index 8f50ee4..8803af2 100644
--- a/DevApp/Gs.DevApp/DevFrm/Sys/EasyCode.cs
+++ b/DevApp/Gs.DevApp/DevFrm/Sys/EasyCode.cs
@@ -1,7 +1,6 @@
-锘縰sing Newtonsoft.Json;
-using Oracle.ManagedDataAccess.Client;
-using System;
+锘縰sing System;
 using System.Collections.Generic;
+using System.Configuration;
 using System.Data;
 using System.Data.SqlClient;
 using System.IO;
@@ -10,398 +9,614 @@
 using System.Text;
 using System.Threading.Tasks;
 using System.Windows.Forms;
+using DevExpress.XtraEditors;
+using Gs.DevApp.ToolBox;
+using Newtonsoft.Json;
+using Oracle.ManagedDataAccess.Client;
 
 namespace Gs.DevApp.DevFrm.Sys
 {
-    public partial class EasyCode : DevExpress.XtraEditors.XtraForm
+    public partial class EasyCode : XtraForm
     {
+        private readonly string oracleCon =
+            "User Id=system;Password=admin110;Data Source=localhost:1521/MYTEST2;";
+
         //this.txt_sqlconn.Text = "Data Source=2kn4sh70028.vicp.fun,26144;Initial Catalog=gs_Mes;User ID=sa;Password =admin110";
-        string sqlCon = "Data Source=192.168.1.146;Initial Catalog=GS_MES;User ID=sa;Password =qixi123";
-        string oracleCon = "User Id=system;Password=admin110;Data Source=localhost:1521/MYTEST2;";
+        private readonly string sqlCon =
+            "Data Source=192.168.1.146;Initial Catalog=GS_MES;User ID=sa;Password =qixi123";
+
         public EasyCode()
         {
             InitializeComponent();
             getTable();
-            this.btnPathSelect.Click += (s, e) =>
+            btnPathSelect.Click += (s, e) =>
             {
-                string _GetfilePath = FileSelector.BrowseFilePathForSave();
+                var _GetfilePath = FileSelector.BrowseFilePathForSave();
                 txtPath.Text = _GetfilePath;
             };
-            this.btnUpSelect.Click += BtnUpSelect_Click;
-            this.btnUp.Click += BtnUp_Click;
+            btnUpSelect.Click += BtnUpSelect_Click;
+            btnUp.Click += BtnUp_Click;
         }
+
+        #region 鎵归噺璇诲彇
+
+        private void btnTable_Click(object sender, EventArgs e)
+        {
+            using (var connection = new OracleConnection(oracleCon))
+            {
+                try
+                {
+                    connection.Open();
+                    using (var command = connection.CreateCommand())
+                    {
+                        command.CommandText =
+                            "SELECT * FROM " + txtTable1.Text.Trim();
+                        using (var oracleDataReader = command.ExecuteReader())
+                        {
+                            using (var bulkCopy = new SqlBulkCopy(sqlCon))
+                            {
+                                bulkCopy.DestinationTableName =
+                                    txtTable1.Text.Trim();
+                                bulkCopy.WriteToServer(oracleDataReader);
+                            }
+                        }
+                    }
+
+                    MsgHelper.ShowInformation("鎻愮ず锛屾搷浣滄垚鍔燂紒");
+                }
+                catch (Exception ex)
+                {
+                    Console.WriteLine(ex.Message);
+                    MsgHelper.ShowError("鎻愮ず锛�" + ex.Message);
+                }
+                finally
+                {
+                    if (connection.State != ConnectionState.Closed)
+                        connection.Close();
+                }
+            }
+        }
+
+        #endregion
+
+        #region 鎵归噺鍑嗗
+
+        private void btnRemark_Click(object sender, EventArgs e)
+        {
+            if (txtTable2.Text.Trim().Length <= 0)
+            {
+                MessageBox.Show("璇疯緭鍏ヨ〃鍚�");
+                return;
+            }
+
+            using (var conn = new SqlConnection(sqlCon))
+            {
+                using (var cmd = new SqlCommand("[tmp_property]", conn))
+                {
+                    try
+                    {
+                        conn.Open();
+                        cmd.CommandType = CommandType.StoredProcedure;
+                        SqlParameter[] parameters =
+                        {
+                            new SqlParameter("@tabname", txtTable2.Text.Trim()),
+                            new SqlParameter("@com", txtOracleDec.Text.Trim())
+                        };
+                        foreach (var parameter in parameters)
+                            cmd.Parameters.Add(parameter);
+                        cmd.ExecuteNonQuery();
+                        MsgHelper.ShowInformation("鎻愮ず锛屾搷浣滄垚鍔燂紒");
+                    }
+                    catch (Exception ex)
+                    {
+                        MsgHelper.ShowError("鎻愮ず锛�" + ex.Message);
+                    }
+                    finally
+                    {
+                        conn.Close();
+                    }
+                }
+            }
+        }
+
+        #endregion
 
         #region 浠g爜鐢熸垚
 
         /// <summary>
-        /// 纭畾鐢熸垚
+        ///     纭畾鐢熸垚
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void btnOk_Click(object sender, EventArgs e)
         {
-            if (txt_table.EditValue == null || string.IsNullOrEmpty(txt_table.EditValue.ToString()))
+            if (txt_table.EditValue == null ||
+                string.IsNullOrEmpty(txt_table.EditValue.ToString()))
             {
                 MessageBox.Show("璇烽�夋嫨琛�");
                 return;
             }
+
             if (txtPath.Text.Trim() == "")
             {
                 MessageBox.Show("璇烽�夋嫨鐢熸垚璺緞");
                 return;
             }
-            string _strName = _getClassName();
-            List<object> list = txt_table.Properties.Items.GetCheckedValues();
-            DataTable dt1 = _getCol(_getTableName(list[0].ToString()));
-            List<DataTable> dtList = new List<DataTable>();
-            int j = 0;
-            foreach (object obj in list)
+
+            var _strName = _getClassName();
+            var list = txt_table.Properties.Items.GetCheckedValues();
+            var dt1 = _getCol(_getTableName(list[0].ToString()));
+            var dtList = new List<DataTable>();
+            var j = 0;
+            foreach (var obj in list)
             {
                 if (j > 0)
                     dtList.Add(_getCol(_getTableName(obj.ToString())));
                 j++;
             }
+
             ReadMainFile(dt1, _strName, dtList);
             ReadDesignerFile(dt1, _strName, dtList);
             ReadResxFile(dt1, _strName);
-            string path = txtPath.Text;
+            var path = txtPath.Text;
             lbMsg.Text = "鐢熸垚鎴愬姛锛岃矾寰勶細" + path;
-            return;
         }
+
         /// <summary>
-        /// 璇诲彇鏁版嵁搴撹〃
+        ///     璇诲彇鏁版嵁搴撹〃
         /// </summary>
         private void getTable()
         {
-            DataSet dset = new DataSet();
-            using (SqlConnection connection = new SqlConnection(sqlCon))
+            var dset = new DataSet();
+            using (var connection = new SqlConnection(sqlCon))
             {
                 connection.Open();
-                SqlCommand cmd = new SqlCommand();
+                var cmd = new SqlCommand();
                 cmd.Connection = connection;
-                cmd.CommandText = "SELECT TABLE_NAME,(SELECT top 1 value AS ExtendedPropertyValue FROM sys.extended_properties WHERE minor_id=0 and major_id = OBJECT_ID(''+TABLE_NAME+''))  as TABLE_DESC  FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' order by TABLE_NAME asc";
-                using (SqlDataAdapter dt = new SqlDataAdapter(cmd))
+                cmd.CommandText =
+                    "SELECT TABLE_NAME,(SELECT top 1 value AS ExtendedPropertyValue FROM sys.extended_properties WHERE minor_id=0 and major_id = OBJECT_ID(''+TABLE_NAME+''))  as TABLE_DESC  FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' order by TABLE_NAME asc";
+                using (var dt = new SqlDataAdapter(cmd))
                 {
                     dt.Fill(dset, "0");
                 }
             }
+
             if (dset != null && dset.Tables.Count > 0)
             {
                 txt_table.Properties.Items.Clear();
-                string[] strs = new string[dset.Tables[0].Rows.Count];
-                for (int i = 0; i < dset.Tables[0].Rows.Count; i++)
-                {
-                    strs[i] = dset.Tables[0].Rows[i]["TABLE_NAME"].ToString() + "(" + dset.Tables[0].Rows[i]["TABLE_DESC"].ToString() + ")";
-                }
+                var strs = new string[dset.Tables[0].Rows.Count];
+                for (var i = 0; i < dset.Tables[0].Rows.Count; i++)
+                    strs[i] = dset.Tables[0].Rows[i]["TABLE_NAME"] + "(" +
+                              dset.Tables[0].Rows[i]["TABLE_DESC"] + ")";
                 txt_table.Properties.Items.AddRange(strs);
             }
         }
+
         /// <summary>
-        /// 璇诲彇鍒楀悕
+        ///     璇诲彇鍒楀悕
         /// </summary>
         /// <returns></returns>
         private DataTable _getCol(string tableName)
         {
-            System.Text.StringBuilder sb = new StringBuilder();
-            sb.Append("SELECT COLUMN_NAME = a.name, DATA_TYPE = b.name, REMARK = isnull(g.[value],a.name) ");
-            sb.Append(" FROM syscolumns a  left join systypes b on a.xusertype = b.xusertype inner join sysobjects d on a.id = d.id and d.xtype = 'U'  and d.name<>'dtproperties' ");
+            var sb = new StringBuilder();
+            sb.Append(
+                "SELECT COLUMN_NAME = a.name, DATA_TYPE = b.name, REMARK = isnull(g.[value],a.name) ");
+            sb.Append(
+                " FROM syscolumns a  left join systypes b on a.xusertype = b.xusertype inner join sysobjects d on a.id = d.id and d.xtype = 'U'  and d.name<>'dtproperties' ");
             sb.Append(" left join syscomments e on a.cdefault = e.id ");
-            sb.Append(" left join sys.extended_properties g on a.id = G.major_id and a.colid = g.minor_id ");
-            sb.Append(" left join sys.extended_properties f on d.id = f.major_id and f.minor_id = 0 ");
+            sb.Append(
+                " left join sys.extended_properties g on a.id = G.major_id and a.colid = g.minor_id ");
+            sb.Append(
+                " left join sys.extended_properties f on d.id = f.major_id and f.minor_id = 0 ");
             sb.Append(" where d.name = '" + tableName + "'");
             sb.Append(" order by  a.id, a.colorder");
-            DataSet dset = new DataSet();
-            using (SqlConnection connection = new SqlConnection(sqlCon))
+            var dset = new DataSet();
+            using (var connection = new SqlConnection(sqlCon))
             {
                 connection.Open();
-                SqlCommand cmd = new SqlCommand();
+                var cmd = new SqlCommand();
                 cmd.Connection = connection;
                 cmd.CommandText = sb.ToString();
-                using (SqlDataAdapter dt = new SqlDataAdapter(cmd))
+                using (var dt = new SqlDataAdapter(cmd))
                 {
                     dt.Fill(dset, "0");
                 }
             }
-            if (dset != null && dset.Tables.Count > 0)
-            {
-                return dset.Tables[0];
-            }
+
+            if (dset != null && dset.Tables.Count > 0) return dset.Tables[0];
             return null;
         }
+
         /// <summary>
-        /// 璇绘ā鐗堣矾寰�
+        ///     璇绘ā鐗堣矾寰�
         /// </summary>
         /// <param name="fileType">cs,Designer.cs</param>
         /// <returns></returns>
         private string _getTemple(string fileType)
         {
             if (txt_table.Properties.Items.GetCheckedValues().Count < 2)
-                return (@"\templeEasyCode\category1\category." + fileType);
-            return (@"\templeEasyCode\category2\category." + fileType);
+                return @"\templeEasyCode\category1\category." + fileType;
+            return @"\templeEasyCode\category2\category." + fileType;
         }
+
         /// <summary>
-        /// 璇诲彇鏂囦欢绫诲悕
+        ///     璇诲彇鏂囦欢绫诲悕
         /// </summary>
         /// <returns></returns>
         private string _getClassName()
         {
-            string str = ToolBox.UtilityHelper.ToCamelCase(_getMainTable());
-            string result = str.Substring(0, 1).ToUpper() + str.Substring(1);
+            var str = UtilityHelper.ToCamelCase(_getMainTable());
+            var result = str.Substring(0, 1).ToUpper() + str.Substring(1);
             return "Frm_" + result;
         }
+
         /// <summary>
-        /// 璇诲彇涓昏〃
+        ///     璇诲彇涓昏〃
         /// </summary>
         /// <returns></returns>
         private string _getMainTable()
         {
-            List<object> ckList = txt_table.Properties.Items.GetCheckedValues();
-            string _strName = ckList[0].ToString();
+            var ckList = txt_table.Properties.Items.GetCheckedValues();
+            var _strName = ckList[0].ToString();
             foreach (string str in ckList)
-            {
                 if (str.Length < _strName.Length)
                     _strName = str;
-            }
             return _getTableName(_strName);
         }
+
         /// <summary>
-        /// 鎴彇琛ㄥ悕
+        ///     鎴彇琛ㄥ悕
         /// </summary>
         /// <param name="strName"></param>
         /// <returns></returns>
         private string _getTableName(string strName)
         {
-            string _tableName = strName.Split('(')[0];
+            var _tableName = strName.Split('(')[0];
             return _tableName;
         }
+
         /// <summary>
-        /// 绗竴涓枃浠�
+        ///     绗竴涓枃浠�
         /// </summary>
         /// <param name="dt"></param>
         /// <param name="_FileName"></param>
-        void ReadMainFile(DataTable dt, string _FileName, List<DataTable> dtList = null)
+        private void ReadMainFile(DataTable dt, string _FileName,
+            List<DataTable> dtList = null)
         {
-            string _tempPath = Application.StartupPath + _getTemple("cs");
-            string contents = System.IO.File.ReadAllText(_tempPath);
-            string line = Environment.NewLine;
-            StringBuilder sb = new StringBuilder();
+            var _tempPath = Application.StartupPath + _getTemple("cs");
+            var contents = File.ReadAllText(_tempPath);
+            var line = Environment.NewLine;
+            var sb = new StringBuilder();
             sb.Append(contents);
             sb.Replace("{clsName}", _getClassName());
-            string _fullPath = txtPath.Text + "\\" + _FileName + ".cs";
-            if (System.IO.File.Exists(_fullPath))
-                System.IO.File.Delete(_fullPath);
-            System.IO.StreamWriter sw = System.IO.File.CreateText(_fullPath);
+            var _fullPath = txtPath.Text + "\\" + _FileName + ".cs";
+            if (File.Exists(_fullPath))
+                File.Delete(_fullPath);
+            var sw = File.CreateText(_fullPath);
             sw.Write(sb.ToString());
             sw.Close();
             sw.Dispose();
         }
+
         /// <summary>
-        /// 绗簩涓枃浠�
+        ///     绗簩涓枃浠�
         /// </summary>
         /// <param name="dt"></param>
         /// <param name="_FileName"></param>
-        void ReadDesignerFile(DataTable dt, string _FileName, List<DataTable> dtList = null)
+        private void ReadDesignerFile(DataTable dt, string _FileName,
+            List<DataTable> dtList = null)
         {
-            string _tempPath = Application.StartupPath + _getTemple("Designer.cs");
-            string contents = System.IO.File.ReadAllText(_tempPath);
-            StringBuilder strbuilder = new StringBuilder();
-            string line = Environment.NewLine;
+            var _tempPath = Application.StartupPath + _getTemple("Designer.cs");
+            var contents = File.ReadAllText(_tempPath);
+            var strbuilder = new StringBuilder();
+            var line = Environment.NewLine;
             strbuilder.Append(contents);
             strbuilder.Replace("{clsName}", _getClassName());
-            int _RowCount = dt.Rows.Count;
+            var _RowCount = dt.Rows.Count;
             if (dt.Rows.Count > 0)
             {
-                string _FieldName = "";//瀛楁鍚�
-                string _FieldText = "";//瀛楁鏂囨湰
-                string _FieldNameSql = "";//鍘熷瀛楁鍚嶏紝涓昏鐢ㄤ簬鏌ヨ
+                var _FieldName = ""; //瀛楁鍚�
+                var _FieldText = ""; //瀛楁鏂囨湰
+                var _FieldNameSql = ""; //鍘熷瀛楁鍚嶏紝涓昏鐢ㄤ簬鏌ヨ
                 int _x = 0, _y = 0, _Tabindex = 210;
-                string _ControlType = "TextEdit";//鎺т欢绫诲瀷锛岀洰鍓嶄笉浣滃垽鏂兘涓烘枃鏈
-                string _lbType = "LabelControl";
-                System.Text.StringBuilder _gvItemCol = new StringBuilder();
-                for (int c = 0; c < _RowCount; c++)
+                var _ControlType = "TextEdit"; //鎺т欢绫诲瀷锛岀洰鍓嶄笉浣滃垽鏂兘涓烘枃鏈
+                var _lbType = "LabelControl";
+                var _gvItemCol = new StringBuilder();
+                for (var c = 0; c < _RowCount; c++)
                 {
-                    _x = 20 + c % 4 * 250;//璁$畻鎺т欢鍦╔杞翠綅缃�
-                    if (c % 4 == 0)
-                    {
-                        _y = 20 + 32 * c / 4;//璁$畻鎺т欢鍦╕杞寸殑浣嶇疆
-                    }
+                    _x = 20 + c % 4 * 250; //璁$畻鎺т欢鍦╔杞翠綅缃�
+                    if (c % 4 == 0) _y = 20 + 32 * c / 4; //璁$畻鎺т欢鍦╕杞寸殑浣嶇疆
                     _Tabindex = c % 4 + c / 4 + _Tabindex;
                     switch (dt.Rows[c]["DATA_TYPE"].ToString())
                     {
                         default:
-                            _FieldName = ToolBox.UtilityHelper.ToCamelCase(dt.Rows[c]["COLUMN_NAME"].ToString().Trim());
+                            _FieldName = UtilityHelper.ToCamelCase(
+                                dt.Rows[c]["COLUMN_NAME"].ToString().Trim());
                             _FieldText = dt.Rows[c]["REMARK"].ToString().Trim();
-                            _FieldNameSql = "query_a." + dt.Rows[c]["COLUMN_NAME"].ToString().Trim();
+                            _FieldNameSql = "query_a." +
+                                            dt.Rows[c]["COLUMN_NAME"].ToString()
+                                                .Trim();
                             break;
                     }
-                    string _labName = "lb_" + _FieldName;//label鍚�
-                    string _txtName = "txt_" + _FieldName;//鏂囨湰妗嗗悕
-                    string _gvName = "gv_" + _FieldName;//gv涓殑鍒楀悕
+
+                    var _labName = "lb_" + _FieldName; //label鍚�
+                    var _txtName = "txt_" + _FieldName; //鏂囨湰妗嗗悕
+                    var _gvName = "gv_" + _FieldName; //gv涓殑鍒楀悕
                     if (_gvItemCol.Length > 0)
                         _gvItemCol.Append(",");
                     _gvItemCol.Append("this." + _gvName);
                     //BQSetControlObject  瀹炰緥鍖栨帶浠�
-                    string BQSetControlObject = ("BQSetControlObject" + line + "this." + _labName + " =  new DevExpress.XtraEditors." + _lbType + "();" + line);
-                    BQSetControlObject = (BQSetControlObject + "this." + _txtName + " = new DevExpress.XtraEditors." + _ControlType + "(); " + line);
-                    BQSetControlObject = (BQSetControlObject + "this." + _gvName + " = new DevExpress.XtraGrid.Columns.GridColumn(); " + line);
-                    strbuilder.Replace("BQSetControlObject", BQSetControlObject);
+                    var BQSetControlObject = "BQSetControlObject" + line +
+                                             "this." + _labName +
+                                             " =  new DevExpress.XtraEditors." +
+                                             _lbType + "();" + line;
+                    BQSetControlObject = BQSetControlObject + "this." +
+                                         _txtName +
+                                         " = new DevExpress.XtraEditors." +
+                                         _ControlType + "(); " + line;
+                    BQSetControlObject = BQSetControlObject + "this." +
+                                         _gvName +
+                                         " = new DevExpress.XtraGrid.Columns.GridColumn(); " +
+                                         line;
+                    strbuilder.Replace("BQSetControlObject",
+                        BQSetControlObject);
                     //BQSetControlInfo  璁剧疆鎺т欢淇℃伅浣嶇疆澶у皬鍚嶇О
-                    string BQSetControlInfo = "BQSetControlInfo" + line
-                             //label
-                             + "//" + line
-                             + "//" + _labName + line
-                             + "//" + line
-                             + "this." + _labName + ".Location = new System.Drawing.Point(" + _x + ", " + _y + ");" + line
-                             + "this." + _labName + ".Name = \"" + _labName + "\";" + line
-                             + "this." + _labName + ".Size = new System.Drawing.Size(150,21);" + line
-                             + "this." + _labName + ".TabIndex = " + _Tabindex + ";" + line
-                             + "this." + _labName + ".Appearance.Font = new System.Drawing.Font(\"Tahoma\", 10F);" + line
-                            + "this." + _labName + ".Text = \"" + _FieldText + " \";" + line
-                            //鏂囨湰
-                            + "//" + line
-                            + "//" + _txtName + line
-                            + "//" + line
-                            + "this." + _txtName + ".Location = new System.Drawing.Point(" + (_x + 60) + ", " + _y + ");" + line
-                            + "this." + _txtName + ".Name = \"" + _txtName + "\";" + line
-                            + "this." + _txtName + ".Size = new System.Drawing.Size(150,21);" + line
-                            + "this." + _txtName + ".TabIndex = " + _Tabindex + ";" + line
-                            + "this." + _txtName + ".Properties.Appearance.Font = new System.Drawing.Font(\"Tahoma\", 10F);" + line
-                             //涓籫ridView
-                             + "//" + line
-                            + "//" + _gvName + line
-                            + "//" + line
-                           + "this." + _gvName + ".AppearanceCell.Font = new System.Drawing.Font(\"Tahoma\", 10F);" + line
-                           + "this." + _gvName + ".AppearanceCell.Options.UseFont = true;" + line
-                           + "this." + _gvName + ".FieldName = \"" + _FieldName + "\";" + line
-                           + "this." + _gvName + ".Caption =  \"" + _FieldText + " \";" + line
-                           + "this." + _gvName + ".Tag = \"" + _FieldNameSql + "\";" + line
-                           + "this." + _gvName + ".MinWidth =50;" + line
-                           + "this." + _gvName + ".Visible = true;" + line
-                           + "this." + _gvName + ".Width =94;" + line
-                           + "this." + _gvName + ".OptionsColumn.AllowEdit = false;" + line
-                           + "this." + _gvName + ".VisibleIndex = 0;" + line;
+                    var BQSetControlInfo = "BQSetControlInfo" + line
+                        //label
+                        + "//" + line
+                        + "//" + _labName + line
+                        + "//" + line
+                        + "this." + _labName +
+                        ".Location = new System.Drawing.Point(" + _x + ", " +
+                        _y + ");" + line
+                        + "this." + _labName + ".Name = \"" + _labName + "\";" +
+                        line
+                        + "this." + _labName +
+                        ".Size = new System.Drawing.Size(150,21);" + line
+                        + "this." + _labName + ".TabIndex = " + _Tabindex +
+                        ";" + line
+                        + "this." + _labName +
+                        ".Appearance.Font = new System.Drawing.Font(\"Tahoma\", 10F);" +
+                        line
+                        + "this." + _labName + ".Text = \"" + _FieldText +
+                        " \";" + line
+                        //鏂囨湰
+                        + "//" + line
+                        + "//" + _txtName + line
+                        + "//" + line
+                        + "this." + _txtName +
+                        ".Location = new System.Drawing.Point(" + (_x + 60) +
+                        ", " + _y + ");" + line
+                        + "this." + _txtName + ".Name = \"" + _txtName + "\";" +
+                        line
+                        + "this." + _txtName +
+                        ".Size = new System.Drawing.Size(150,21);" + line
+                        + "this." + _txtName + ".TabIndex = " + _Tabindex +
+                        ";" + line
+                        + "this." + _txtName +
+                        ".Properties.Appearance.Font = new System.Drawing.Font(\"Tahoma\", 10F);" +
+                        line
+                        //涓籫ridView
+                        + "//" + line
+                        + "//" + _gvName + line
+                        + "//" + line
+                        + "this." + _gvName +
+                        ".AppearanceCell.Font = new System.Drawing.Font(\"Tahoma\", 10F);" +
+                        line
+                        + "this." + _gvName +
+                        ".AppearanceCell.Options.UseFont = true;" + line
+                        + "this." + _gvName + ".FieldName = \"" + _FieldName +
+                        "\";" + line
+                        + "this." + _gvName + ".Caption =  \"" + _FieldText +
+                        " \";" + line
+                        + "this." + _gvName + ".Tag = \"" + _FieldNameSql +
+                        "\";" + line
+                        + "this." + _gvName + ".MinWidth =50;" + line
+                        + "this." + _gvName + ".Visible = true;" + line
+                        + "this." + _gvName + ".Width =94;" + line
+                        + "this." + _gvName +
+                        ".OptionsColumn.AllowEdit = false;" + line
+                        + "this." + _gvName + ".VisibleIndex = 0;" + line;
                     strbuilder.Replace("BQSetControlInfo", BQSetControlInfo);
                     //BQAddControltoMContainer//灏嗘帶浠舵坊鍔犲埌panel1瀹瑰櫒涓�
-                    string BQAddControltoMContainer = "BQAddControltoMContainer" + line + "  this.panel1.Controls.Add(this." + _labName + ");" + line;
-                    BQAddControltoMContainer += " this.panel1.Controls.Add(this." + _txtName + ");" + line;
-                    strbuilder.Replace("BQAddControltoMContainer", BQAddControltoMContainer);
+                    var BQAddControltoMContainer = "BQAddControltoMContainer" +
+                                                   line +
+                                                   "  this.panel1.Controls.Add(this." +
+                                                   _labName + ");" + line;
+                    BQAddControltoMContainer +=
+                        " this.panel1.Controls.Add(this." + _txtName + ");" +
+                        line;
+                    strbuilder.Replace("BQAddControltoMContainer",
+                        BQAddControltoMContainer);
                     //BQCreateConrolObejct //鍒涘缓鎺т欢 
-                    string BQCreateConrolObejct = "BQCreateConrolObejct" + line + "private DevExpress.XtraEditors." + _lbType + " " + _labName + ";" + line;
-                    BQCreateConrolObejct += "private DevExpress.XtraEditors." + _ControlType + " " + _txtName + ";" + line;
-                    BQCreateConrolObejct += " private DevExpress.XtraGrid.Columns.GridColumn " + _gvName + ";" + line;
-                    strbuilder.Replace("BQCreateConrolObejct", BQCreateConrolObejct);
+                    var BQCreateConrolObejct = "BQCreateConrolObejct" + line +
+                                               "private DevExpress.XtraEditors." +
+                                               _lbType + " " + _labName + ";" +
+                                               line;
+                    BQCreateConrolObejct += "private DevExpress.XtraEditors." +
+                                            _ControlType + " " + _txtName +
+                                            ";" + line;
+                    BQCreateConrolObejct +=
+                        " private DevExpress.XtraGrid.Columns.GridColumn " +
+                        _gvName + ";" + line;
+                    strbuilder.Replace("BQCreateConrolObejct",
+                        BQCreateConrolObejct);
                 }
+
                 //鎶婂垪鍔犲叆鍒癵ridview涓�
                 strbuilder.Replace("{colList}", _gvItemCol.ToString());
                 //鏋勫缓鏄庣粏gridview1
                 if (dtList != null && dtList.Count > 0)
                 {
-                    int _idx = 1;
-                    System.Text.StringBuilder _tabItem = new System.Text.StringBuilder();
-                    foreach (DataTable dt2 in dtList)
+                    var _idx = 1;
+                    var _tabItem = new StringBuilder();
+                    foreach (var dt2 in dtList)
                     {
-                        string _tabMxPage = "tabMxPage" + _idx.ToString();
-                        string _gcMx = "gcMx" + _idx.ToString();
-                        string _gvMx = "gvMx" + _idx.ToString();
+                        var _tabMxPage = "tabMxPage" + _idx;
+                        var _gcMx = "gcMx" + _idx;
+                        var _gvMx = "gvMx" + _idx;
                         if (_tabItem.Length > 0)
                             _tabItem.Append(",");
                         _tabItem.Append("this." + _tabMxPage);
                         //BQSetControlObject 瀹炰緥鍖栨帶浠�
-                        string ss = "BQSetControlObject" + line;
-                        ss += (" this." + _tabMxPage + " = new DevExpress.XtraTab.XtraTabPage();") + line;
-                        ss += (" this." + _gcMx + " = new DevExpress.XtraGrid.GridControl();") + line;
-                        ss += (" this." + _gvMx + " = new DevExpress.XtraGrid.Views.Grid.GridView();");
+                        var ss = "BQSetControlObject" + line;
+                        ss += " this." + _tabMxPage +
+                              " = new DevExpress.XtraTab.XtraTabPage();" + line;
+                        ss += " this." + _gcMx +
+                              " = new DevExpress.XtraGrid.GridControl();" +
+                              line;
+                        ss += " this." + _gvMx +
+                              " = new DevExpress.XtraGrid.Views.Grid.GridView();";
                         strbuilder.Replace("BQSetControlObject", ss);
                         //BQSetControlInfo 璁剧疆鎺т欢淇℃伅浣嶇疆澶у皬鍚嶇О
-                        string inf = "BQSetControlInfo" + line
-                               + "this." + _tabMxPage + ".Controls.Add(this." + _gcMx + ");"
-                               + "this." + _tabMxPage + ".Name = \"" + _tabMxPage + "\";" + line
-                               + "this." + _tabMxPage + ".Size = new System.Drawing.Size(1186, 112);" + line
-                               + "this." + _tabMxPage + ".Text = \"鏄庣粏" + _idx.ToString() + "\";" + line
-                                + "//" + line
-                                + "//" + _gcMx + line
-                                + "//" + line
-                                + " this." + _gcMx + ".Dock = System.Windows.Forms.DockStyle.Fill;" + line
-                                + " this." + _gcMx + ".Location = new System.Drawing.Point(0, 0);" + line
-                                + " this." + _gcMx + ".MainView = this." + _gvMx + ";" + line
-                                + " this." + _gcMx + ".Name = \"" + _gcMx + "\";" + line
-                                + " this." + _gcMx + ".Size = new System.Drawing.Size(1124, 215);" + line
-                                + " this." + _gcMx + ".TabIndex = 0;" + line
-                                + " this." + _gcMx + ".ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { this." + _gvMx + "});" + line
-                                + "//" + line
-                                + "//" + _gvMx + line
-                                + "//" + line
-                                + " this." + _gvMx + ".GridControl = this." + _gcMx + ";" + line
-                                + " this." + _gvMx + ".Name = \"" + _gvMx + "\";" + line
-                                + " this." + _gvMx + ".OptionsFind.ShowSearchNavButtons = false;" + line
-                                 + " this." + _gvMx + ".OptionsView.NewItemRowPosition = DevExpress.XtraGrid.Views.Grid.NewItemRowPosition.Bottom;" + line
-                                 + " this." + _gvMx + ".OptionsBehavior.AllowAddRows = DevExpress.Utils.DefaultBoolean.True;" + line
-                                + " this." + _gvMx + ".OptionsView.ShowGroupPanel = false;" + line
-                                + " this." + _gvMx + ".Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { {colMx1List}});";
+                        var inf = "BQSetControlInfo" + line
+                            + "this." + _tabMxPage + ".Controls.Add(this." +
+                            _gcMx + ");"
+                            + "this." + _tabMxPage + ".Name = \"" + _tabMxPage +
+                            "\";" + line
+                            + "this." + _tabMxPage +
+                            ".Size = new System.Drawing.Size(1186, 112);" + line
+                            + "this." + _tabMxPage + ".Text = \"鏄庣粏" + _idx +
+                            "\";" + line
+                            + "//" + line
+                            + "//" + _gcMx + line
+                            + "//" + line
+                            + " this." + _gcMx +
+                            ".Dock = System.Windows.Forms.DockStyle.Fill;" +
+                            line
+                            + " this." + _gcMx +
+                            ".Location = new System.Drawing.Point(0, 0);" + line
+                            + " this." + _gcMx + ".MainView = this." + _gvMx +
+                            ";" + line
+                            + " this." + _gcMx + ".Name = \"" + _gcMx + "\";" +
+                            line
+                            + " this." + _gcMx +
+                            ".Size = new System.Drawing.Size(1124, 215);" + line
+                            + " this." + _gcMx + ".TabIndex = 0;" + line
+                            + " this." + _gcMx +
+                            ".ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { this." +
+                            _gvMx + "});" + line
+                            + "//" + line
+                            + "//" + _gvMx + line
+                            + "//" + line
+                            + " this." + _gvMx + ".GridControl = this." +
+                            _gcMx + ";" + line
+                            + " this." + _gvMx + ".Name = \"" + _gvMx + "\";" +
+                            line
+                            + " this." + _gvMx +
+                            ".OptionsFind.ShowSearchNavButtons = false;" + line
+                            + " this." + _gvMx +
+                            ".OptionsView.NewItemRowPosition = DevExpress.XtraGrid.Views.Grid.NewItemRowPosition.Bottom;" +
+                            line
+                            + " this." + _gvMx +
+                            ".OptionsBehavior.AllowAddRows = DevExpress.Utils.DefaultBoolean.True;" +
+                            line
+                            + " this." + _gvMx +
+                            ".OptionsView.ShowGroupPanel = false;" + line
+                            + " this." + _gvMx +
+                            ".Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { {colMx1List}});";
                         strbuilder.Replace("BQSetControlInfo", inf);
                         //BQCreateConrolObejct //鍒涘缓鎺т欢 
-                        string _cc = "BQCreateConrolObejct" + line;
-                        _cc += " private DevExpress.XtraTab.XtraTabPage " + _tabMxPage + ";" + line;
-                        _cc += " private DevExpress.XtraGrid.GridControl " + _gcMx + ";" + line;
-                        _cc += " private DevExpress.XtraGrid.Views.Grid.GridView " + _gvMx + ";";
+                        var _cc = "BQCreateConrolObejct" + line;
+                        _cc += " private DevExpress.XtraTab.XtraTabPage " +
+                               _tabMxPage + ";" + line;
+                        _cc += " private DevExpress.XtraGrid.GridControl " +
+                               _gcMx + ";" + line;
+                        _cc +=
+                            " private DevExpress.XtraGrid.Views.Grid.GridView " +
+                            _gvMx + ";";
                         strbuilder.Replace("BQCreateConrolObejct", _cc);
-                        System.Text.StringBuilder _layout = new StringBuilder();
+                        var _layout = new StringBuilder();
                         _layout.Append("this.tabMxPage1.SuspendLayout();");
                         strbuilder.Replace("{layoutList}", _layout.ToString());
-                        System.Text.StringBuilder _resume = new StringBuilder();
+                        var _resume = new StringBuilder();
                         _resume.Append("this.tabMxPage1.ResumeLayout(false);");
-                        strbuilder.Replace("{resumeLayout}", _resume.ToString());
-                        System.Text.StringBuilder _beg = new StringBuilder();
-                        _beg.Append("((System.ComponentModel.ISupportInitialize)(this." + _gcMx + ")).BeginInit();" + line);
-                        _beg.Append(" ((System.ComponentModel.ISupportInitialize)(this." + _gvMx + ")).BeginInit();" + line);
+                        strbuilder.Replace("{resumeLayout}",
+                            _resume.ToString());
+                        var _beg = new StringBuilder();
+                        _beg.Append(
+                            "((System.ComponentModel.ISupportInitialize)(this." +
+                            _gcMx + ")).BeginInit();" + line);
+                        _beg.Append(
+                            " ((System.ComponentModel.ISupportInitialize)(this." +
+                            _gvMx + ")).BeginInit();" + line);
                         strbuilder.Replace("{begInit}", _beg.ToString());
                         ///////////////////
                         _RowCount = dt2.Rows.Count;
                         _gvItemCol = new StringBuilder();
-                        for (int c = 0; c < _RowCount; c++)
+                        for (var c = 0; c < _RowCount; c++)
                         {
                             switch (dt2.Rows[c]["DATA_TYPE"].ToString())
                             {
                                 default:
-                                    _FieldName = ToolBox.UtilityHelper.ToCamelCase(dt2.Rows[c]["COLUMN_NAME"].ToString());
-                                    _FieldText = dt2.Rows[c]["REMARK"].ToString();
-                                    _FieldNameSql = "query_a." + dt2.Rows[c]["COLUMN_NAME"].ToString();
+                                    _FieldName =
+                                        UtilityHelper.ToCamelCase(
+                                            dt2.Rows[c]["COLUMN_NAME"]
+                                                .ToString());
+                                    _FieldText = dt2.Rows[c]["REMARK"]
+                                        .ToString();
+                                    _FieldNameSql = "query_a." +
+                                                    dt2.Rows[c]["COLUMN_NAME"];
                                     break;
                             }
-                            string _gvColName = _gvMx + _FieldName;
+
+                            var _gvColName = _gvMx + _FieldName;
                             if (_gvItemCol.Length > 0)
                                 _gvItemCol.Append(",");
                             _gvItemCol.Append("this." + _gvColName);
                             //BQSetControlObject  瀹炰緥鍖栨帶浠�
-                            string BQSetControlObject = "BQSetControlObject" + line;
-                            BQSetControlObject += ("this." + _gvColName + " = new DevExpress.XtraGrid.Columns.GridColumn(); ");
-                            strbuilder.Replace("BQSetControlObject", BQSetControlObject);
+                            var BQSetControlObject =
+                                "BQSetControlObject" + line;
+                            BQSetControlObject += "this." + _gvColName +
+                                                  " = new DevExpress.XtraGrid.Columns.GridColumn(); ";
+                            strbuilder.Replace("BQSetControlObject",
+                                BQSetControlObject);
                             //BQSetControlInfo  璁剧疆鎺т欢淇℃伅浣嶇疆澶у皬鍚嶇О
-                            string BQSetControlInfo = "BQSetControlInfo" + line
-                                   + "this." + _gvColName + ".AppearanceCell.Font = new System.Drawing.Font(\"Tahoma\", 10F);" + line
-                                   + "this." + _gvColName + ".AppearanceCell.Options.UseFont = true;" + line
-                                   + "this." + _gvColName + ".FieldName = \"" + _FieldName + "\";" + line
-                                   + "this." + _gvColName + ".Caption =  \"" + _FieldText + " \";" + line
-                                   + "this." + _gvColName + ".Tag = \"" + _FieldNameSql + "\";" + line
-                                   + "this." + _gvColName + ".MinWidth = 50;" + line
-                                   + "this." + _gvColName + ".Visible = true;" + line
-                                   + "this." + _gvColName + ".Width =94;" + line
-                                   + "this." + _gvColName + ".OptionsColumn.AllowEdit = true;" + line
-                                   + "this." + _gvColName + ".VisibleIndex = 0;" + line;
-                            strbuilder.Replace("BQSetControlInfo", BQSetControlInfo);
+                            var BQSetControlInfo = "BQSetControlInfo" + line
+                                + "this." + _gvColName +
+                                ".AppearanceCell.Font = new System.Drawing.Font(\"Tahoma\", 10F);" +
+                                line
+                                + "this." + _gvColName +
+                                ".AppearanceCell.Options.UseFont = true;" + line
+                                + "this." + _gvColName + ".FieldName = \"" +
+                                _FieldName + "\";" + line
+                                + "this." + _gvColName + ".Caption =  \"" +
+                                _FieldText + " \";" + line
+                                + "this." + _gvColName + ".Tag = \"" +
+                                _FieldNameSql + "\";" + line
+                                + "this." + _gvColName + ".MinWidth = 50;" +
+                                line
+                                + "this." + _gvColName + ".Visible = true;" +
+                                line
+                                + "this." + _gvColName + ".Width =94;" + line
+                                + "this." + _gvColName +
+                                ".OptionsColumn.AllowEdit = true;" + line
+                                + "this." + _gvColName + ".VisibleIndex = 0;" +
+                                line;
+                            strbuilder.Replace("BQSetControlInfo",
+                                BQSetControlInfo);
                             //BQCreateConrolObejct //鍒涘缓鎺т欢 
-                            string BQCreateConrolObejct = "BQCreateConrolObejct" + line;
-                            BQCreateConrolObejct += " private DevExpress.XtraGrid.Columns.GridColumn " + _gvColName + ";";
-                            strbuilder.Replace("BQCreateConrolObejct", BQCreateConrolObejct);
+                            var BQCreateConrolObejct =
+                                "BQCreateConrolObejct" + line;
+                            BQCreateConrolObejct +=
+                                " private DevExpress.XtraGrid.Columns.GridColumn " +
+                                _gvColName + ";";
+                            strbuilder.Replace("BQCreateConrolObejct",
+                                BQCreateConrolObejct);
                         }
-                        strbuilder.Replace("{colMx1List}", _gvItemCol.ToString());
+
+                        strbuilder.Replace("{colMx1List}",
+                            _gvItemCol.ToString());
                         _idx++;
                     }
+
                     strbuilder.Replace("{tabMx1List}", _tabItem.ToString());
                 }
-                System.IO.File.Delete(txtPath.Text + "\\" + _FileName + ".Designer.cs");
-                string path = txtPath.Text;
-                System.IO.StreamWriter sw = System.IO.File.CreateText(path + "\\" + _FileName + ".Designer.cs");
+
+                File.Delete(txtPath.Text + "\\" + _FileName + ".Designer.cs");
+                var path = txtPath.Text;
+                var sw =
+                    File.CreateText(path + "\\" + _FileName + ".Designer.cs");
                 sw.Write(strbuilder.ToString());
                 sw.Close();
                 sw.Dispose();
@@ -410,38 +625,38 @@
 
 
         /// <summary>
-        /// 绗笁涓枃浠�
+        ///     绗笁涓枃浠�
         /// </summary>
         /// <param name="dt"></param>
         /// <param name="_FileName"></param>
-        void ReadResxFile(DataTable dt, string _FileName)
+        private void ReadResxFile(DataTable dt, string _FileName)
         {
-            string _Temppath = Application.StartupPath + _getTemple("resx");
-            string contents = System.IO.File.ReadAllText(_Temppath);
-            StringBuilder strbuilder = new StringBuilder();
-            string line = Environment.NewLine;
+            var _Temppath = Application.StartupPath + _getTemple("resx");
+            var contents = File.ReadAllText(_Temppath);
+            var strbuilder = new StringBuilder();
+            var line = Environment.NewLine;
             strbuilder.Append(contents);
-            System.IO.File.Delete(txtPath.Text + "\\" + _FileName + ".resx");
-            string path = txtPath.Text;
-            System.IO.StreamWriter sw = System.IO.File.CreateText(path + "\\" + _FileName + ".resx");
+            File.Delete(txtPath.Text + "\\" + _FileName + ".resx");
+            var path = txtPath.Text;
+            var sw = File.CreateText(path + "\\" + _FileName + ".resx");
             sw.Write(strbuilder.ToString());
             sw.Close();
             sw.Dispose();
         }
 
-
         #endregion
 
 
         #region 鏂囦欢涓婁紶
+
         /// <summary>
-        /// 閫夋嫨涓婁紶鏂囦欢
+        ///     閫夋嫨涓婁紶鏂囦欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void BtnUpSelect_Click(object sender, EventArgs e)
         {
-            OpenFileDialog openFileDialog = new OpenFileDialog();
+            var openFileDialog = new OpenFileDialog();
             // 璁剧疆鍒濆鐩綍
             openFileDialog.InitialDirectory = "c:\\";
             // 璁剧疆鏂囦欢杩囨护閫夐」锛屽锛�"鏂囨湰鏂囦欢 (*.txt)|*.txt|鎵�鏈夋枃浠� (*.*)|*.*"
@@ -449,29 +664,28 @@
             // 璁剧疆鏍囬
             openFileDialog.Title = "閫夋嫨鏂囦欢";
             // 鏄剧ず瀵硅瘽妗�
-            DialogResult result = openFileDialog.ShowDialog();
+            var result = openFileDialog.ShowDialog();
             // 纭鐢ㄦ埛娌℃湁鍙栨秷鎿嶄綔
             if (result == DialogResult.OK)
             {
                 // 鑾峰彇閫変腑鐨勬枃浠惰矾寰�
-                string filePath = openFileDialog.FileName;
+                var filePath = openFileDialog.FileName;
                 Console.WriteLine($"閫変腑鐨勬枃浠�: {filePath}");
                 txtUpUrl.Text = filePath;
             }
-
         }
 
         /// <summary>
-        /// 纭畾涓婁紶
+        ///     纭畾涓婁紶
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private async void BtnUp_Click(object sender, EventArgs e)
         {
-            string WebApiUrl = System.Configuration.ConfigurationSettings.AppSettings.Get("WebApiUrl").ToString();
-            string address = WebApiUrl + "Upload/UploadFile";
-            string filePath = txtUpUrl.Text.Trim();
-            string apiUrl = address; // 鏇挎崲涓轰綘鐨凙PI鍦板潃
+            var WebApiUrl = ConfigurationSettings.AppSettings.Get("WebApiUrl");
+            var address = WebApiUrl + "Upload/UploadFile";
+            var filePath = txtUpUrl.Text.Trim();
+            var apiUrl = address; // 鏇挎崲涓轰綘鐨凙PI鍦板潃
             await UploadFileAsync(apiUrl, filePath);
         }
 
@@ -480,37 +694,39 @@
             using (var httpClient = new HttpClient())
             using (var form = new MultipartFormDataContent())
             {
-                httpClient.DefaultRequestHeaders.Add("token", ToolBox.UtilityHelper.GetBasicAuthTicket());
+                httpClient.DefaultRequestHeaders.Add("token",
+                    UtilityHelper.GetBasicAuthTicket());
                 using (var fs = File.OpenRead(filePath))
                 using (var streamContent = new StreamContent(fs))
                 {
                     form.Add(streamContent, "file", Path.GetFileName(filePath));
                     var response = await httpClient.PostAsync(url, form);
-                    string responseString = await response.Content.ReadAsStringAsync();
+                    var responseString =
+                        await response.Content.ReadAsStringAsync();
                     MessageBox.Show(responseString);
                 }
             }
         }
+
         #endregion
 
 
         #region 鎺ㄩ�佹祴璇�
+
         /// <summary>
-        /// 纭畾鎺ㄩ��
+        ///     纭畾鎺ㄩ��
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void btnMes_Click(object sender, EventArgs e)
         {
-            List<dynamic> _list = new List<dynamic>();
-            for (int i = 0; i < 20; i++)
-            {
+            var _list = new List<dynamic>();
+            for (var i = 0; i < 20; i++)
                 _list.Add(new
                 {
-                    t1 = "test1_" + i.ToString(),//鍗曚綅缂栧彿
-                    t2 = "hi2_" + i.ToString(),//鍗曚綅鍚嶇О
+                    t1 = "test1_" + i, //鍗曚綅缂栧彿
+                    t2 = "hi2_" + i //鍗曚綅鍚嶇О
                 });
-            }
             var _json = new
             {
                 category = "鍗曚綅淇℃伅",
@@ -518,17 +734,19 @@
             };
             try
             {
-                string _apiUrl = "http://localhost:5263/";
-                string _strReturnJson = HttpPost(_apiUrl, "ErpMes/PushMesByCategory", JsonConvert.SerializeObject(_json));
+                var _apiUrl = "http://localhost:5263/";
+                var _strReturnJson = HttpPost(_apiUrl,
+                    "ErpMes/PushMesByCategory",
+                    JsonConvert.SerializeObject(_json));
                 txtMesResult.Text = _strReturnJson;
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
+
         /// <summary>
-        /// 
         /// </summary>
         /// <param name="url">apiUrl鏍瑰湴鍧�</param>
         /// <param name="meth">apiUrl鏂规硶鍚�</param>
@@ -537,8 +755,8 @@
         public static string HttpPost(string url, string meth, string param)
         {
             //杩欐槸涓�涓櫄鎷熺殑token锛屼笉鑳藉垹闄�
-            string token = (Guid.NewGuid().ToString() + "~" + Guid.NewGuid().ToString());
-            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url + meth);
+            var token = Guid.NewGuid() + "~" + Guid.NewGuid();
+            var request = (HttpWebRequest)WebRequest.Create(url + meth);
             request.Method = "POST";
             request.ContentType = "application/json";
             request.Headers.Add("token", token);
@@ -556,7 +774,8 @@
                 response = request.GetResponse();
                 if (response != null)
                 {
-                    StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
+                    var reader = new StreamReader(response.GetResponseStream(),
+                        Encoding.UTF8);
                     responseStr = reader.ReadToEnd();
                     reader.Close();
                 }
@@ -571,95 +790,10 @@
                 requestStream = null;
                 response = null;
             }
+
             return responseStr;
         }
 
-
         #endregion
-
-        #region 鎵归噺璇诲彇
-        private void btnTable_Click(object sender, EventArgs e)
-        {
-            
-            using (OracleConnection connection = new OracleConnection(oracleCon))
-            {
-                try
-                {
-                    connection.Open();
-                    using (OracleCommand command = connection.CreateCommand())
-                    {
-                        command.CommandText = "SELECT * FROM " + txtTable1.Text.Trim();
-                        using (OracleDataReader oracleDataReader = command.ExecuteReader())
-                        {
-                            using (SqlBulkCopy bulkCopy = new SqlBulkCopy(sqlCon))
-                            {
-                                bulkCopy.DestinationTableName = txtTable1.Text.Trim();
-                                bulkCopy.WriteToServer(oracleDataReader);
-                            }
-                        }
-                    }
-                    ToolBox.MsgHelper.ShowInformation("鎻愮ず锛屾搷浣滄垚鍔燂紒");
-                }
-                catch (Exception ex)
-                {
-                    Console.WriteLine(ex.Message);
-                    ToolBox.MsgHelper.ShowError("鎻愮ず锛�" + ex.Message);
-                }
-                finally
-                {
-                    if (connection.State != System.Data.ConnectionState.Closed)
-                    {
-                        connection.Close();
-                    }
-                }
-            }
-
-        }
-        #endregion
-
-        #region 鎵归噺鍑嗗
-        private void btnRemark_Click(object sender, EventArgs e)
-        {
-
-            if (txtTable2.Text.Trim().Length <= 0)
-            {
-                MessageBox.Show("璇疯緭鍏ヨ〃鍚�");
-                return;
-            }
-            using (SqlConnection conn = new SqlConnection(sqlCon))
-            {
-                using (SqlCommand cmd = new SqlCommand("[tmp_property]", conn))
-                {
-                    try
-                    {
-                        conn.Open();
-                        cmd.CommandType = CommandType.StoredProcedure;
-                        SqlParameter[] parameters = new SqlParameter[] {
-                                new SqlParameter("@tabname",txtTable2.Text.Trim()),
-                                new SqlParameter("@com",txtOracleDec.Text.Trim()),
-                            };
-                        foreach (SqlParameter parameter in parameters)
-                        {
-                            cmd.Parameters.Add(parameter);
-                        }
-                        cmd.ExecuteNonQuery();
-                        ToolBox.MsgHelper.ShowInformation("鎻愮ず锛屾搷浣滄垚鍔燂紒");
-                    }
-                    catch (Exception ex)
-                    {
-                        ToolBox.MsgHelper.ShowError("鎻愮ず锛�" + ex.Message);
-                    }
-                    finally
-                    {
-                        conn.Close();
-                    }
-                }
-            }
-        }
-        #endregion
-
-
     }
-}
-
-
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/Sys/EasyCode.resx b/DevApp/Gs.DevApp/DevFrm/Sys/EasyCode.resx
index 1af7de1..bfad99e 100644
--- a/DevApp/Gs.DevApp/DevFrm/Sys/EasyCode.resx
+++ b/DevApp/Gs.DevApp/DevFrm/Sys/EasyCode.resx
@@ -1,120 +1,134 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
             <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
             </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/Sys/EasyRptDesign.cs b/DevApp/Gs.DevApp/DevFrm/Sys/EasyRptDesign.cs
index a210e4a..167b95f 100644
--- a/DevApp/Gs.DevApp/DevFrm/Sys/EasyRptDesign.cs
+++ b/DevApp/Gs.DevApp/DevFrm/Sys/EasyRptDesign.cs
@@ -1,95 +1,104 @@
-锘縰sing FastReport;
-using FastReport.Design.StandardDesigner;
-using Gs.DevApp.Entity;
-using Gs.DevApp.ToolBox;
-using Newtonsoft.Json;
-using Newtonsoft.Json.Linq;
-using System;
-using System.Collections.Generic;
+锘縰sing System;
 using System.Data;
 using System.IO;
 using System.Windows.Forms;
+using DevExpress.XtraEditors;
+using FastReport;
+using FastReport.Design;
+using Gs.DevApp.ToolBox;
+using Newtonsoft.Json;
 
 namespace Gs.DevApp.DevFrm.Sys
 {
-    public partial class EasyRptDesign : DevExpress.XtraEditors.XtraForm
+    public partial class EasyRptDesign : XtraForm
     {
-        private string _rptParameter;
+        private readonly string _rptParameter;
+
         public EasyRptDesign(string rptParameter)
         {
             _rptParameter = rptParameter;
             InitializeComponent();
-            this.Text = (_rptParameter + "鎶ヨ〃璁捐锛氳璁℃椂璇峰弬鑰冨瓧娈佃鏄庯紝寤鸿z寮�澶翠负涓昏〃,m寮�澶翠负鏄庣粏琛�");
-            Report report = new Report();
-            DataTable RptRow = new DataTable();
+            Text = _rptParameter + "鎶ヨ〃璁捐锛氳璁℃椂璇峰弬鑰冨瓧娈佃鏄庯紝寤鸿z寮�澶翠负涓昏〃,m寮�澶翠负鏄庣粏琛�";
+            var report = new Report();
+            var RptRow = new DataTable();
             var _obj = new
             {
-                rptParameter = _rptParameter,
+                rptParameter = _rptParameter
             };
             try
             {
-                string strJson = UtilityHelper.HttpPost("", "Report/GetTemplate", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                var strJson = UtilityHelper.HttpPost("", "Report/GetTemplate",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
-                    dynamic dy = _rtn.rtnData;
+                    var dy = _rtn.rtnData;
                     if (dy.reportData.ToString().Length > 0)
                     {
-                        byte[] buffer = (byte[])dy.reportData;
-                        using (MemoryStream Stream = new MemoryStream(buffer))
+                        var buffer = (byte[])dy.reportData;
+                        using (var Stream = new MemoryStream(buffer))
                         {
                             report.Load(Stream);
                         }
+
                         var d = dy.reportCol;
-                        foreach (var a in d)
-                        {
-                            listBox1.Items.Add(a);
-                        }
+                        foreach (var a in d) listBox1.Items.Add(a);
                     }
                 }
                 else
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                {
+                    MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
+
             designerControl1.Report = report;
             designerControl1.RefreshLayout();
             sidePanel2.Controls.Add(designerControl1);
             designerControl1.Dock = DockStyle.Fill;
             designerControl1.UIStateChanged += designerControl1_UIStateChanged;
-            environmentSettings1.CustomSaveReport += EnvironmentSettings1_CustomSaveReport;
-            environmentSettings1.CustomSaveDialog += EnvironmentSettings1_CustomSaveDialog;
+            environmentSettings1.CustomSaveReport +=
+                EnvironmentSettings1_CustomSaveReport;
+            environmentSettings1.CustomSaveDialog +=
+                EnvironmentSettings1_CustomSaveDialog;
         }
-        private void EnvironmentSettings1_CustomSaveDialog(object sender, FastReport.Design.OpenSaveDialogEventArgs e)
-        {
 
-        }
-        private void EnvironmentSettings1_CustomSaveReport(object sender, FastReport.Design.OpenSaveReportEventArgs e)
+        private void EnvironmentSettings1_CustomSaveDialog(object sender,
+            OpenSaveDialogEventArgs e)
         {
-            using (MemoryStream ms = new MemoryStream())
+        }
+
+        private void EnvironmentSettings1_CustomSaveReport(object sender,
+            OpenSaveReportEventArgs e)
+        {
+            using (var ms = new MemoryStream())
             {
                 e.Report.Save(ms);
-                byte[] dddd = ms.ToArray();
+                var dddd = ms.ToArray();
                 var _obj = new
                 {
                     rptParameter = _rptParameter,
-                    rptData = dddd,
+                    rptData = dddd
                 };
                 try
                 {
-                    string strJson = UtilityHelper.HttpPost("", "Report/EdtTemplate", JsonConvert.SerializeObject(_obj));
-                    ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnData.outMsg);
+                    var strJson = UtilityHelper.HttpPost("",
+                        "Report/EdtTemplate",
+                        JsonConvert.SerializeObject(_obj));
+                    var _rtn = UtilityHelper.ReturnToDynamic(strJson);
+                    MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnData.outMsg);
                 }
                 catch (Exception ex)
                 {
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                    MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
                 }
                 // designerControl1.Report.Dispose();
             }
         }
+
         // 璁捐鍣╱i鏀瑰彉浜嬩欢
         private void designerControl1_UIStateChanged(object sender, EventArgs e)
         {
diff --git a/DevApp/Gs.DevApp/DevFrm/Sys/EasyRptDesign.resx b/DevApp/Gs.DevApp/DevFrm/Sys/EasyRptDesign.resx
index 3bbe5d8..7cb0e44 100644
--- a/DevApp/Gs.DevApp/DevFrm/Sys/EasyRptDesign.resx
+++ b/DevApp/Gs.DevApp/DevFrm/Sys/EasyRptDesign.resx
@@ -1,154 +1,173 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
             <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
             </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <metadata name="designerControl1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>17, 17</value>
-  </metadata>
-  <data name="designerControl1.LayoutState" xml:space="preserve">
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <metadata name="designerControl1.TrayLocation"
+              type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+        <value>17, 17</value>
+    </metadata>
+    <data name="designerControl1.LayoutState" xml:space="preserve">
     <value>锘�&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;Config&gt;&lt;Designer&gt;&lt;DockNew Text="&amp;lt;dotnetbarlayout version=&amp;quot;6&amp;quot; zorder=&amp;quot;3,4,1,2&amp;quot;&amp;gt;&amp;lt;docksite size=&amp;quot;0&amp;quot; dockingside=&amp;quot;Top&amp;quot; originaldocksitesize=&amp;quot;0&amp;quot; /&amp;gt;&amp;lt;docksite size=&amp;quot;0&amp;quot; dockingside=&amp;quot;Bottom&amp;quot; originaldocksitesize=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;dockcontainer orientation=&amp;quot;1&amp;quot; w=&amp;quot;0&amp;quot; h=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;barcontainer w=&amp;quot;0&amp;quot; h=&amp;quot;95&amp;quot;&amp;gt;&amp;lt;bar name=&amp;quot;MessagesWindowBar&amp;quot; dockline=&amp;quot;0&amp;quot; layout=&amp;quot;2&amp;quot; dockoffset=&amp;quot;0&amp;quot; state=&amp;quot;2&amp;quot; dockside=&amp;quot;4&amp;quot; visible=&amp;quot;false&amp;quot;&amp;gt;&amp;lt;items&amp;gt;&amp;lt;item name=&amp;quot;MessagesWindow&amp;quot; origBar=&amp;quot;&amp;quot; origPos=&amp;quot;-1&amp;quot; pos=&amp;quot;0&amp;quot; visible=&amp;quot;false&amp;quot; /&amp;gt;&amp;lt;/items&amp;gt;&amp;lt;/bar&amp;gt;&amp;lt;/barcontainer&amp;gt;&amp;lt;/dockcontainer&amp;gt;&amp;lt;/docksite&amp;gt;&amp;lt;docksite size=&amp;quot;0&amp;quot; dockingside=&amp;quot;Left&amp;quot; originaldocksitesize=&amp;quot;0&amp;quot; /&amp;gt;&amp;lt;docksite size=&amp;quot;250&amp;quot; dockingside=&amp;quot;Right&amp;quot; originaldocksitesize=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;dockcontainer orientation=&amp;quot;1&amp;quot; w=&amp;quot;0&amp;quot; h=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;barcontainer w=&amp;quot;247&amp;quot; h=&amp;quot;92&amp;quot;&amp;gt;&amp;lt;bar name=&amp;quot;DictionaryWindowBar&amp;quot; dockline=&amp;quot;0&amp;quot; layout=&amp;quot;2&amp;quot; dockoffset=&amp;quot;0&amp;quot; state=&amp;quot;2&amp;quot; dockside=&amp;quot;2&amp;quot; visible=&amp;quot;true&amp;quot; seldocktab=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;items&amp;gt;&amp;lt;item name=&amp;quot;DictionaryWindow&amp;quot; origBar=&amp;quot;&amp;quot; origPos=&amp;quot;-1&amp;quot; pos=&amp;quot;0&amp;quot; /&amp;gt;&amp;lt;item name=&amp;quot;ReportTreeWindow&amp;quot; origBar=&amp;quot;&amp;quot; origPos=&amp;quot;-1&amp;quot; pos=&amp;quot;1&amp;quot; /&amp;gt;&amp;lt;/items&amp;gt;&amp;lt;/bar&amp;gt;&amp;lt;/barcontainer&amp;gt;&amp;lt;barcontainer w=&amp;quot;247&amp;quot; h=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;bar name=&amp;quot;PropertiesWindowBar&amp;quot; dockline=&amp;quot;0&amp;quot; layout=&amp;quot;2&amp;quot; dockoffset=&amp;quot;64&amp;quot; state=&amp;quot;2&amp;quot; dockside=&amp;quot;2&amp;quot; visible=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;items&amp;gt;&amp;lt;item name=&amp;quot;PropertiesWindow&amp;quot; origBar=&amp;quot;&amp;quot; origPos=&amp;quot;-1&amp;quot; pos=&amp;quot;0&amp;quot; /&amp;gt;&amp;lt;/items&amp;gt;&amp;lt;/bar&amp;gt;&amp;lt;/barcontainer&amp;gt;&amp;lt;/dockcontainer&amp;gt;&amp;lt;/docksite&amp;gt;&amp;lt;bars&amp;gt;&amp;lt;bar name=&amp;quot;StandardToolbar&amp;quot; dockline=&amp;quot;0&amp;quot; layout=&amp;quot;0&amp;quot; dockoffset=&amp;quot;0&amp;quot; state=&amp;quot;2&amp;quot; dockside=&amp;quot;3&amp;quot; visible=&amp;quot;true&amp;quot; /&amp;gt;&amp;lt;bar name=&amp;quot;TextToolbar&amp;quot; dockline=&amp;quot;1&amp;quot; layout=&amp;quot;0&amp;quot; dockoffset=&amp;quot;0&amp;quot; state=&amp;quot;2&amp;quot; dockside=&amp;quot;3&amp;quot; visible=&amp;quot;true&amp;quot; /&amp;gt;&amp;lt;bar name=&amp;quot;BorderToolbar&amp;quot; dockline=&amp;quot;1&amp;quot; layout=&amp;quot;0&amp;quot; dockoffset=&amp;quot;280&amp;quot; state=&amp;quot;2&amp;quot; dockside=&amp;quot;3&amp;quot; visible=&amp;quot;true&amp;quot; /&amp;gt;&amp;lt;bar name=&amp;quot;StyleToolbar&amp;quot; dockline=&amp;quot;2&amp;quot; layout=&amp;quot;0&amp;quot; dockoffset=&amp;quot;0&amp;quot; state=&amp;quot;2&amp;quot; dockside=&amp;quot;3&amp;quot; visible=&amp;quot;false&amp;quot; /&amp;gt;&amp;lt;bar name=&amp;quot;LayoutToolbar&amp;quot; dockline=&amp;quot;2&amp;quot; layout=&amp;quot;0&amp;quot; dockoffset=&amp;quot;0&amp;quot; state=&amp;quot;2&amp;quot; dockside=&amp;quot;3&amp;quot; visible=&amp;quot;false&amp;quot; /&amp;gt;&amp;lt;bar name=&amp;quot;ObjectsToolbar&amp;quot; dockline=&amp;quot;0&amp;quot; layout=&amp;quot;0&amp;quot; dockoffset=&amp;quot;0&amp;quot; state=&amp;quot;2&amp;quot; dockside=&amp;quot;1&amp;quot; visible=&amp;quot;true&amp;quot; /&amp;gt;&amp;lt;/bars&amp;gt;&amp;lt;/dotnetbarlayout&amp;gt;"/&gt;&lt;/Designer&gt;&lt;/Config&gt;</value>
   </data>
-  <metadata name="environmentSettings1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>202, 17</value>
-  </metadata>
-  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
-  <data name="previewSettings2.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAABAAEAEBAAAAAAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAA
-        AAA4ODhhODg45zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4
-        OOc4ODhhODg456B3J//CjCH/wowh/8KMIf/CjCH/wowh/8KMIf/CjCH/wowh/8KMIf/CjCH/wowh/8KM
-        If+gdyf/ODg45zg4OP/CjCH/wowh/8KMIf/CjCH/wowh/8KMIf/CjCH/wowh/8KMIf/CjSL/zqNO/9Ot
-        Yf/CjCH/wowh/zg4OP84ODj/wowh/8KMIf/AiyH/uYUg/72IIP/CjCH/wowh/8KMIf/DjST/3sGH//78
-        +v/7+PL/yZk7/8KMIf84ODj/ODg4/8KMIf/CjCH/JhwG/wAAAP8GBAH/tIIf/8KMIf/DjSP/4MWQ//78
-        +v/8+vX/27t8/8KMIf/CjCH/ODg4/zg4OP/CjCH/wowh/xQOBP8AAAD/AAAA/6x/Jf/DjiT/4smW//79
-        +v/7+fP/17Rv/8KMIf/CjCH/wowh/zg4OP84ODj/wowh/8KMIf8UDgT/AAAA/wAAAP+ugy7//v38////
-        /////////fz5/+rWsP/JmDn/wowh/8KMIf84ODj/ODg4/8KMIf/CjCH/FA4E/wAAAP8AAAD/TzsS/3le
-        Kf9/Yyz/zbOA//379///////7t/C/8KMIf/CjCH/ODg4/zk5Of/DjiX/yJc2/zYxKP8uLi7/NjY2/zs7
-        O/87Ozv/Ozs7/4p6Wv/48eT///////v48v/LnUH/x5Qx/0FBQf+vr6//1a9l/9WvZf9cWFH/Tk5O/05O
-        Tv97b1b/koFe/5iFYf/Vw57//fv4///////06db/1a9l/9WvZf+vr6//mJiY/9WvZf/Vr2X/XFhR/05O
-        Tv9OTk7/x6lu///+/v////////////7+/f/17Nr/27x9/9WvZf/Vr2X/mJiY/4GBgf/Vr2X/1a9l/11Y
-        Uf9OTk7/Tk5O/4J1Wf+fjGf/n4xn/6GOZ//Srmn/1a9l/9WvZf/Vr2X/1a9l/4GBgf9ra2v/1a9l/9Wv
-        Zf+Yg1v/WVZQ/05OTv9OTk7/Tk5O/05OTv9SUU//waFi/9WvZf/Vr2X/1a9l/9WvZf9ra2v/SUlJ/9Wv
-        Zf/Vr2X/1a9l/9WvZf/Vr2X/1a9l/9WvZf/Vr2X/1a9l/9WvZf/Vr2X/1a9l/9WvZf/Vr2X/SUlJ/zg4
-        OOeukVr/1a9l/9WvZf/Vr2X/1a9l/9WvZf/Vr2X/1a9l/9WvZf/Vr2X/1a9l/9WvZf/Vr2X/rpFa/zg4
-        OOc4ODhhODg45zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4
-        OOc4ODhhAAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA
-        //8AAP//AAD//w==
-</value>
-  </data>
+    <metadata name="environmentSettings1.TrayLocation"
+              type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+        <value>202, 17</value>
+    </metadata>
+    <assembly alias="System.Drawing"
+              name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
+    <data name="previewSettings2.Icon"
+          type="System.Drawing.Icon, System.Drawing"
+          mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>
+            AAABAAEAEBAAAAAAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAA
+            AAA4ODhhODg45zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4
+            OOc4ODhhODg456B3J//CjCH/wowh/8KMIf/CjCH/wowh/8KMIf/CjCH/wowh/8KMIf/CjCH/wowh/8KM
+            If+gdyf/ODg45zg4OP/CjCH/wowh/8KMIf/CjCH/wowh/8KMIf/CjCH/wowh/8KMIf/CjSL/zqNO/9Ot
+            Yf/CjCH/wowh/zg4OP84ODj/wowh/8KMIf/AiyH/uYUg/72IIP/CjCH/wowh/8KMIf/DjST/3sGH//78
+            +v/7+PL/yZk7/8KMIf84ODj/ODg4/8KMIf/CjCH/JhwG/wAAAP8GBAH/tIIf/8KMIf/DjSP/4MWQ//78
+            +v/8+vX/27t8/8KMIf/CjCH/ODg4/zg4OP/CjCH/wowh/xQOBP8AAAD/AAAA/6x/Jf/DjiT/4smW//79
+            +v/7+fP/17Rv/8KMIf/CjCH/wowh/zg4OP84ODj/wowh/8KMIf8UDgT/AAAA/wAAAP+ugy7//v38////
+            /////////fz5/+rWsP/JmDn/wowh/8KMIf84ODj/ODg4/8KMIf/CjCH/FA4E/wAAAP8AAAD/TzsS/3le
+            Kf9/Yyz/zbOA//379///////7t/C/8KMIf/CjCH/ODg4/zk5Of/DjiX/yJc2/zYxKP8uLi7/NjY2/zs7
+            O/87Ozv/Ozs7/4p6Wv/48eT///////v48v/LnUH/x5Qx/0FBQf+vr6//1a9l/9WvZf9cWFH/Tk5O/05O
+            Tv97b1b/koFe/5iFYf/Vw57//fv4///////06db/1a9l/9WvZf+vr6//mJiY/9WvZf/Vr2X/XFhR/05O
+            Tv9OTk7/x6lu///+/v////////////7+/f/17Nr/27x9/9WvZf/Vr2X/mJiY/4GBgf/Vr2X/1a9l/11Y
+            Uf9OTk7/Tk5O/4J1Wf+fjGf/n4xn/6GOZ//Srmn/1a9l/9WvZf/Vr2X/1a9l/4GBgf9ra2v/1a9l/9Wv
+            Zf+Yg1v/WVZQ/05OTv9OTk7/Tk5O/05OTv9SUU//waFi/9WvZf/Vr2X/1a9l/9WvZf9ra2v/SUlJ/9Wv
+            Zf/Vr2X/1a9l/9WvZf/Vr2X/1a9l/9WvZf/Vr2X/1a9l/9WvZf/Vr2X/1a9l/9WvZf/Vr2X/SUlJ/zg4
+            OOeukVr/1a9l/9WvZf/Vr2X/1a9l/9WvZf/Vr2X/1a9l/9WvZf/Vr2X/1a9l/9WvZf/Vr2X/rpFa/zg4
+            OOc4ODhhODg45zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4OP84ODj/ODg4/zg4
+            OOc4ODhhAAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA
+            //8AAP//AAD//w==
+        </value>
+    </data>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/Sys/FileSelector.cs b/DevApp/Gs.DevApp/DevFrm/Sys/FileSelector.cs
index 52d32b1..1baf41f 100644
--- a/DevApp/Gs.DevApp/DevFrm/Sys/FileSelector.cs
+++ b/DevApp/Gs.DevApp/DevFrm/Sys/FileSelector.cs
@@ -1,15 +1,33 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Text;
-using System.Windows.Forms;
+锘縰sing System.Windows.Forms;
 
 namespace Gs.DevApp.DevFrm.Sys
 {
-    public enum FileType { Txt, Xml, Pdf, Bin, Zip, All, Img, Excel }
+    public enum FileType
+    {
+        Txt,
+        Xml,
+        Pdf,
+        Bin,
+        Zip,
+        All,
+        Img,
+        Excel
+    }
+
     public class FileSelector
     {
         public static string Title = "Please choose the file:";
-        public static string Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*";
+
+        public static string Filter =
+            "Text files (*.txt)|*.txt|All files (*.*)|*.*";
+
+        /// <summary>
+        ///     Get or set the initial directory displayed by the file dialog box.
+        /// </summary>
+        public static OpenFileDialog OFD = new OpenFileDialog();
+
+        public static SaveFileDialog SFD = new SaveFileDialog();
+
         public static FileType FileExtension
         {
             set
@@ -20,22 +38,28 @@
                         Filter = "Text files(*.txt)|*.txt|All files(*.*)|*.*";
                         break;
                     case FileType.Excel:
-                        Filter = "Text files(*.xls;*.xlsx)|*.xls;*.xlsx|All files(*.*)|*.*";
+                        Filter =
+                            "Text files(*.xls;*.xlsx)|*.xls;*.xlsx|All files(*.*)|*.*";
                         break;
                     case FileType.Xml:
-                        Filter = "XML files(*.xml)|*.xml|Config files(*.config)|*.config|All files(*.*)|*.*";
+                        Filter =
+                            "XML files(*.xml)|*.xml|Config files(*.config)|*.config|All files(*.*)|*.*";
                         break;
                     case FileType.Pdf:
-                        Filter = "Pdf files(*.Pdf)|*.Pdf|Pdf form files(*.fdf)|*.fdf|All files(*.*)|*.*";
+                        Filter =
+                            "Pdf files(*.Pdf)|*.Pdf|Pdf form files(*.fdf)|*.fdf|All files(*.*)|*.*";
                         break;
                     case FileType.Bin:
-                        Filter = "Binary files(*.bin)|*.bin|Application files(*.exe;*.lib;*.dll)|*.exe;*.lib;*.dll|All files(*.*)|*.*";
+                        Filter =
+                            "Binary files(*.bin)|*.bin|Application files(*.exe;*.lib;*.dll)|*.exe;*.lib;*.dll|All files(*.*)|*.*";
                         break;
                     case FileType.Zip:
-                        Filter = "Zip files(*.zip;*.rar)|*.zip;*.rar|All files(*.*)|*.*";
+                        Filter =
+                            "Zip files(*.zip;*.rar)|*.zip;*.rar|All files(*.*)|*.*";
                         break;
                     case FileType.Img:
-                        Filter = "GIF(*.gif)|*.gif|Jpeg(*.jpg)|*.jpg|Bmp(*.bmp)|*.bmp|Emf(*.emf)|*.emf|Png(*.png)|*.png";
+                        Filter =
+                            "GIF(*.gif)|*.gif|Jpeg(*.jpg)|*.jpg|Bmp(*.bmp)|*.bmp|Emf(*.emf)|*.emf|Png(*.png)|*.png";
                         break;
                     case FileType.All:
                         Filter = "All files(*.*)|*.*";
@@ -43,11 +67,6 @@
                 }
             }
         }
-        ///<summary>
-        ///Get or set the initial directory displayed by the file dialog box.
-        ///</summary>
-        public static OpenFileDialog OFD = new OpenFileDialog();
-        public static SaveFileDialog SFD = new SaveFileDialog();
 
         public static string InitialPath
         {
@@ -63,13 +82,8 @@
             OFD.Title = Title;
             OFD.Filter = Filter;
             if (OFD.ShowDialog() == DialogResult.OK)
-            {
                 return OFD.FileName;
-            }
-            else
-            {
-                return null;
-            }
+            return null;
         }
 
         public static string BrowseFileForSave()
@@ -77,13 +91,8 @@
             SFD.Title = Title;
             SFD.Filter = Filter;
             if (SFD.ShowDialog() == DialogResult.OK)
-            {
                 return SFD.FileName;
-            }
-            else
-            {
-                return null;
-            }
+            return null;
         }
 
         public static string BrowseFile(FileType type)
@@ -109,17 +118,13 @@
             Filter = filter;
             return BrowseFileForSave();
         }
+
         public static string BrowseFilePathForSave()
         {
-            FolderBrowserDialog fbd = new FolderBrowserDialog();
+            var fbd = new FolderBrowserDialog();
             if (fbd.ShowDialog() == DialogResult.OK)
-            {
                 return fbd.SelectedPath; //鑾峰緱閫夋嫨鐨勬枃浠跺す璺緞
-            }
-            else
-            {
-                return "";
-            }
+            return "";
         }
     }
-}
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/Sys/Organization.cs b/DevApp/Gs.DevApp/DevFrm/Sys/Organization.cs
index 55ceaab..405e68c 100644
--- a/DevApp/Gs.DevApp/DevFrm/Sys/Organization.cs
+++ b/DevApp/Gs.DevApp/DevFrm/Sys/Organization.cs
@@ -1,65 +1,73 @@
-锘縰sing Gs.DevApp.Entity;
-using Gs.DevApp.ToolBox;
-using Newtonsoft.Json;
-using System;
+锘縰sing System;
 using System.Collections.Generic;
 using System.Data;
 using System.Windows.Forms;
+using DevExpress.XtraEditors;
+using Gs.DevApp.Entity;
+using Gs.DevApp.Properties;
+using Gs.DevApp.ToolBox;
+using Newtonsoft.Json;
 
 namespace Gs.DevApp.DevFrm.User
 {
-    public partial class Organization : DevExpress.XtraEditors.XtraForm
+    public partial class Organization : XtraForm
     {
         public Organization()
         {
             InitializeComponent();
-            this.toolBarMenu1.btnAddClick += ToolBarMenu1_btnAddClick;
-            this.toolBarMenu1.btnEdtClick += ToolBarMenu1_btnEdtClick;
-            this.toolBarMenu1.btnSaveClick += ToolBarMenu1_btnSaveClick;
-            this.toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
-            this.toolBarMenu1.btnDelClick += ToolBarMenu1_btnDelClick1;
-            this.toolBarMenu1.btnEscClick += ToolBarMenu1_btnEscClick;
-            this.toolBarMenu1.btnChkClick += ToolBarMenu1_btnChkClick;
-            this.toolBarMenu1.btnFChkClick += ToolBarMenu1_btnFChkClick;
+            toolBarMenu1.btnAddClick += ToolBarMenu1_btnAddClick;
+            toolBarMenu1.btnEdtClick += ToolBarMenu1_btnEdtClick;
+            toolBarMenu1.btnSaveClick += ToolBarMenu1_btnSaveClick;
+            toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
+            toolBarMenu1.btnDelClick += ToolBarMenu1_btnDelClick1;
+            toolBarMenu1.btnEscClick += ToolBarMenu1_btnEscClick;
+            toolBarMenu1.btnChkClick += ToolBarMenu1_btnChkClick;
+            toolBarMenu1.btnFChkClick += ToolBarMenu1_btnFChkClick;
             tlMenu.DoubleClick += TlMenu_DoubleClick;
             getTree();
         }
+
         private void TlMenu_DoubleClick(object sender, EventArgs e)
         {
-            TreeNode clickedNode = tlMenu.SelectedNode;
+            var clickedNode = tlMenu.SelectedNode;
             if (clickedNode.FirstNode == null)
             {
-                string rowGuid = clickedNode.Name.ToString();
+                var rowGuid = clickedNode.Name;
                 getModel(rowGuid, false, 999);
             }
         }
+
         /// <summary>
-        /// 鍙嶅鏍�
+        ///     鍙嶅鏍�
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         /// <exception cref="NotImplementedException"></exception>
         private void ToolBarMenu1_btnFChkClick(object sender, EventArgs e)
         {
-            this.toolBarMenu1.guidKey = "";
+            toolBarMenu1.guidKey = "";
             string rowGuid, rowName;
-            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_name, tlMenu);
-            this.toolBarMenu1.guidKey = rowGuid;
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1,
+                lbGuid, txt_name, tlMenu);
+            toolBarMenu1.guidKey = rowGuid;
         }
+
         /// <summary>
-        /// 瀹℃牳浜嬩欢
+        ///     瀹℃牳浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnChkClick(object sender, EventArgs e)
         {
-            this.toolBarMenu1.guidKey = "";
+            toolBarMenu1.guidKey = "";
             string rowGuid, rowName;
-            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_name, tlMenu);
-            this.toolBarMenu1.guidKey = rowGuid;
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1,
+                lbGuid, txt_name, tlMenu);
+            toolBarMenu1.guidKey = rowGuid;
         }
+
         /// <summary>
-        /// 鍙栨秷浜嬩欢
+        ///     鍙栨秷浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -69,45 +77,47 @@
         }
 
         /// <summary>
-        /// 鍒犻櫎浜嬩欢
+        ///     鍒犻櫎浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnDelClick1(object sender, EventArgs e)
         {
             string rowGuid, rowName;
-            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_name, tlMenu);
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1,
+                lbGuid, txt_name, tlMenu);
             if (string.IsNullOrEmpty(rowGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鍒犻櫎鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鍒犻櫎鐨勮锛�");
                 return;
             }
-            if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + rowName + "銆戯紝纭畾鍒犻櫎鍚楋紵"))
-            {
-                return;
-            }
-            List<string> lst = new List<string>();
+
+            if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + rowName + "銆戯紝纭畾鍒犻櫎鍚楋紵")) return;
+            var lst = new List<string>();
             lst.Add(rowGuid);
             var _obj = lst;
             try
             {
-                string strJson = UtilityHelper.HttpPost("", "Organization/DeleteModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                var strJson = UtilityHelper.HttpPost("",
+                    "Organization/DeleteModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
                     UtilityHelper.JumpToTab(xtraTabControl1, 0);
                     getTree();
                 }
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+
+                MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
 
         /// <summary>
-        /// 鍒锋柊浜嬩欢
+        ///     鍒锋柊浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -118,23 +128,26 @@
         }
 
         /// <summary>
-        /// 淇敼浜嬩欢
+        ///     淇敼浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnEdtClick(object sender, EventArgs e)
         {
             string rowGuid, rowName;
-            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_name, tlMenu);
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1,
+                lbGuid, txt_name, tlMenu);
             if (string.IsNullOrEmpty(rowGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             getModel(rowGuid, true, 1);
         }
+
         /// <summary>
-        /// 鏂板浜嬩欢
+        ///     鏂板浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -142,10 +155,11 @@
         {
             UtilityHelper.JumpToTab(xtraTabControl1, 1);
             lbGuid.Text = "";
-            UtilityHelper.CleanValueByControl(this.panel1.Controls, true);
+            UtilityHelper.CleanValueByControl(panel1.Controls, true);
         }
+
         /// <summary>
-        /// 淇濆瓨浜嬩欢
+        ///     淇濆瓨浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -154,132 +168,150 @@
             toolBarMenu1.isSetBtn = false;
             if (string.IsNullOrEmpty(txt_factory.Text.Trim()))
             {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("缂栧彿涓嶈兘涓虹┖锛�");
+                MsgHelper.Warning("缂栧彿涓嶈兘涓虹┖锛�");
                 txt_factory.Focus();
                 return;
             }
+
             if (string.IsNullOrEmpty(txt_name.Text.Trim()))
             {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("鍚嶇О涓嶈兘涓虹┖锛�");
+                MsgHelper.Warning("鍚嶇О涓嶈兘涓虹┖锛�");
                 txt_name.Focus();
                 return;
             }
+
             if (string.IsNullOrEmpty(txt_conPeople.Text.Trim()))
             {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("鑱旂郴浜轰笉鑳戒负绌猴紒");
+                MsgHelper.Warning("鑱旂郴浜轰笉鑳戒负绌猴紒");
                 txt_conPeople.Focus();
                 return;
             }
+
             if (string.IsNullOrEmpty(txt_conTel.Text.Trim()))
             {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("鑱旂郴鐢佃瘽涓嶈兘涓虹┖锛�");
+                MsgHelper.Warning("鑱旂郴鐢佃瘽涓嶈兘涓虹┖锛�");
                 txt_conTel.Focus();
                 return;
             }
 
-            string _upGuid = txt_upGuid.Text.Trim().Length > 0 ? txt_upGuid.SelectedValue.ToString() : "";
+            var _upGuid = txt_upGuid.Text.Trim().Length > 0
+                ? txt_upGuid.SelectedValue.ToString()
+                : "";
             var _obj = new
             {
-                guid = lbGuid.Text.Trim(),//涓诲缓
-                upGuid = _upGuid,//涓婄骇鐨勪富寤�
-                name = txt_name.Text.Trim(),//鍚嶇О
-                conPeople = txt_conPeople.Text,//鑱旂郴浜�
-                conTel = txt_conPeople.Text,//鑱旂郴鐢佃瘽
-                isStatus = txt_isStatus.Checked,//鐘舵��
-                factory = txt_factory.Text,//缁勭粐缂栧彿
+                guid = lbGuid.Text.Trim(), //涓诲缓
+                upGuid = _upGuid, //涓婄骇鐨勪富寤�
+                name = txt_name.Text.Trim(), //鍚嶇О
+                conPeople = txt_conPeople.Text, //鑱旂郴浜�
+                conTel = txt_conPeople.Text, //鑱旂郴鐢佃瘽
+                isStatus = txt_isStatus.Checked, //鐘舵��
+                factory = txt_factory.Text //缁勭粐缂栧彿
             };
             try
             {
-                string strJson = UtilityHelper.HttpPost("", "Organization/EditModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                var strJson = UtilityHelper.HttpPost("",
+                    "Organization/EditModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
+                MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
                 if (_rtn.rtnCode > 0)
                 {
                     lbGuid.Text = _rtn.rtnData;
                     toolBarMenu1.isSetBtn = true;
-                    UtilityHelper.ChangeEnableByControl(this.panel1.Controls, false);
+                    UtilityHelper.ChangeEnableByControl(panel1.Controls, false);
                 }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
 
         private void getTree()
         {
             tlMenu.Nodes.Clear();
-            ImageList imageList = new ImageList();
-            imageList.Images.Add("icon1", Properties.Resources.publicfix_32x32);
-            imageList.Images.Add("icon2", Properties.Resources.user_16x16);
+            var imageList = new ImageList();
+            imageList.Images.Add("icon1", Resources.publicfix_32x32);
+            imageList.Images.Add("icon2", Resources.user_16x16);
             tlMenu.ImageList = imageList;
-            PageQueryModel pgq = new PageQueryModel(1, 999999, "factory", "asc", "", "");
-            string json = JsonConvert.SerializeObject(pgq);
+            var pgq = new PageQueryModel(1, 999999, "factory");
+            var json = JsonConvert.SerializeObject(pgq);
             try
             {
-                string strReturn = UtilityHelper.HttpPost("", "Organization/GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
-                DataTable dt = dd.rtnData.list;
-                DataRow[] drGrp = dt.Select("upGuid='' or upguid is null");
-                DataTable dtComList = new DataTable();
+                var strReturn = UtilityHelper.HttpPost("",
+                    "Organization/GetListPage", json);
+                var dd = UtilityHelper.ReturnToTablePage(strReturn);
+                var dt = dd.rtnData.list;
+                var drGrp = dt.Select("upGuid='' or upguid is null");
+                var dtComList = new DataTable();
                 dtComList.Columns.Add("guid", typeof(string));
                 dtComList.Columns.Add("name", typeof(string));
-                foreach (DataRow _dy in drGrp)
+                foreach (var _dy in drGrp)
                 {
-                    dtComList.Rows.Add(_dy["guid"].ToString(), _dy["name"].ToString());
-                    TreeNode node = new TreeNode();//瀹氫箟缁撶偣
-                    node.Text = "(" + _dy["factory"].ToString() + ")" + _dy["name"].ToString();//涓虹粨鐐硅祴鍊�
+                    dtComList.Rows.Add(_dy["guid"].ToString(),
+                        _dy["name"].ToString());
+                    var node = new TreeNode(); //瀹氫箟缁撶偣
+                    node.Text =
+                        "(" + _dy["factory"] + ")" + _dy["name"]; //涓虹粨鐐硅祴鍊�
                     node.Name = _dy["guid"].ToString();
                     node.ImageIndex = 0;
-                    DataRow[] drItem = dt.Select("upGuid='" + _dy["guid"].ToString() + "'");
-                    foreach (DataRow _dy2 in drItem)
+                    var drItem = dt.Select("upGuid='" + _dy["guid"] + "'");
+                    foreach (var _dy2 in drItem)
                     {
-                        TreeNode node22 = new TreeNode();//瀹氫箟缁撶偣
-                        node22.Text = "(" + _dy2["factory"].ToString() + ")" + _dy2["name"].ToString();//涓虹粨鐐硅祴鍊�
+                        var node22 = new TreeNode(); //瀹氫箟缁撶偣
+                        node22.Text =
+                            "(" + _dy2["factory"] + ")" + _dy2["name"]; //涓虹粨鐐硅祴鍊�
                         node22.Name = _dy2["guid"].ToString();
                         node22.ImageIndex = 1;
                         node.Nodes.Add(node22);
                     }
+
                     node.ExpandAll();
                     tlMenu.Nodes.Add(node);
                 }
+
                 txt_upGuid.DataSource = dtComList;
                 txt_upGuid.DisplayMember = "name";
                 txt_upGuid.ValueMember = "guid";
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
+
         private void getModel(string strGuid, bool isEdit, int tabIdx)
         {
             if (string.IsNullOrEmpty(strGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             UtilityHelper.JumpToTab(xtraTabControl1, tabIdx);
             var _obj = new
             {
-                guid = strGuid,//涓诲缓
+                guid = strGuid //涓诲缓
             };
             try
             {
-                string strJson = UtilityHelper.HttpPost("", "Organization/GetModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                var strJson = UtilityHelper.HttpPost("",
+                    "Organization/GetModel", JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
-                    dynamic dy = _rtn.rtnData;
+                    var dy = _rtn.rtnData;
                     lbGuid.Text = strGuid;
-                    UtilityHelper.SetValueByObj(this.panel1.Controls, dy, isEdit);
+                    UtilityHelper.SetValueByObj(panel1.Controls, dy, isEdit);
                 }
                 else
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                {
+                    MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
     }
diff --git a/DevApp/Gs.DevApp/DevFrm/Sys/Organization.resx b/DevApp/Gs.DevApp/DevFrm/Sys/Organization.resx
index 1af7de1..bfad99e 100644
--- a/DevApp/Gs.DevApp/DevFrm/Sys/Organization.resx
+++ b/DevApp/Gs.DevApp/DevFrm/Sys/Organization.resx
@@ -1,120 +1,134 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
             <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
             </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/Sys/SysLog.cs b/DevApp/Gs.DevApp/DevFrm/Sys/SysLog.cs
index 356cdb4..489f4c9 100644
--- a/DevApp/Gs.DevApp/DevFrm/Sys/SysLog.cs
+++ b/DevApp/Gs.DevApp/DevFrm/Sys/SysLog.cs
@@ -1,36 +1,36 @@
-锘縰sing Gs.DevApp.Entity;
-using Gs.DevApp.ToolBox;
-using Newtonsoft.Json;
-using System;
+锘縰sing System;
 using System.Collections.Generic;
-using System.Data;
+using System.Text;
 using System.Windows.Forms;
+using DevExpress.XtraEditors;
+using Gs.DevApp.Entity;
+using Gs.DevApp.ToolBox;
+using Gs.DevApp.UserControl;
+using Newtonsoft.Json;
 
 namespace Gs.DevApp.DevFrm.Sys
 {
-
-    public partial class SysLog : DevExpress.XtraEditors.XtraForm
+    public partial class SysLog : XtraForm
     {
-        List<FilterEntity> _filterList = new List<FilterEntity>();
+        private List<FilterEntity> _filterList = new List<FilterEntity>();
+
         public SysLog()
         {
             InitializeComponent();
-            this.toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
-            this.toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
+            toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
+            toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
             getPageList(1, UtilityHelper.GetPageSize());
             pageBar1.PagerEvent += PageBar1_PagerEvent;
             gridView1.IndicatorWidth = 50;
             gridView1.CustomDrawRowIndicator += (s, e) =>
             {
                 if (e.Info.IsRowIndicator && e.RowHandle >= 0)
-                {
                     e.Info.DisplayText = (e.RowHandle + 1).ToString();
-                }
             };
         }
-     
+
         /// <summary>
-        /// 鍒嗛〉浜嬩欢
+        ///     鍒嗛〉浜嬩欢
         /// </summary>
         /// <param name="curPage"></param>
         /// <param name="pageSize"></param>
@@ -38,19 +38,21 @@
         {
             getPageList(curPage, pageSize);
         }
+
         /// <summary>
-        /// 鏌ヨ浜嬩欢
+        ///     鏌ヨ浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnQueryClick(object sender, EventArgs e)
         {
-            Gs.DevApp.UserControl.ShowFilter frm = new Gs.DevApp.UserControl.ShowFilter(gridView1.Columns, _filterList);
+            var frm = new ShowFilter(gridView1.Columns, _filterList);
             frm.UpdateParent += Frm_UpdateParent;
             frm.ShowDialog();
         }
+
         /// <summary>
-        /// 鏌ヨ鍥炶皟
+        ///     鏌ヨ鍥炶皟
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -59,8 +61,9 @@
             _filterList = e.FilterList;
             getPageList(1, pageBar1.RowsCount);
         }
+
         /// <summary>
-        /// 鍒锋柊浜嬩欢
+        ///     鍒锋柊浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -69,40 +72,40 @@
             UtilityHelper.JumpToTab(xtraTabControl1, 0);
             getPageList(1, UtilityHelper.GetPageSize());
         }
+
         /// <summary>
-        /// 
         /// </summary>
         /// <param name="curPage">绗嚑椤�</param>
         /// <param name="pageSize">姣忛〉鍑犳潯</param>
         private void getPageList(int curPage, int pageSize)
         {
-            System.Text.StringBuilder _sbSqlWhere = new System.Text.StringBuilder();
-            foreach (FilterEntity itm in _filterList)
-            {
-                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'");
-            }
-            PageQueryModel pgq = new PageQueryModel(curPage, pageSize, "OPERATION_TIME", "desc", "", _sbSqlWhere.ToString());
-            string json = JsonConvert.SerializeObject(pgq);
+            var _sbSqlWhere = new StringBuilder();
+            foreach (var itm in _filterList)
+                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" +
+                                   itm.fileValue + "'");
+            var pgq = new PageQueryModel(curPage, pageSize, "OPERATION_TIME",
+                "desc", "", _sbSqlWhere.ToString());
+            var json = JsonConvert.SerializeObject(pgq);
             try
             {
-                string strReturn = UtilityHelper.HttpPost("", "SysLog/GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
-                DataTable dt = dd.rtnData.list;
+                var strReturn =
+                    UtilityHelper.HttpPost("", "SysLog/GetListPage", json);
+                var dd = UtilityHelper.ReturnToTablePage(strReturn);
+                var dt = dd.rtnData.list;
                 gcMain.BindingContext = new BindingContext();
                 gcMain.DataSource = dt;
                 gcMain.ForceInitialize();
-                int dddd = dd.rtnData.pages;//鎬婚〉
+                var dddd = dd.rtnData.pages; //鎬婚〉
                 pageBar1.TotalPages = dddd;
-                pageBar1.RecordCount = dd.rtnData.total;//璁板綍鎬绘暟
-                pageBar1.CurrentPage = curPage;//褰撳墠椤�
-                pageBar1.RowsCount = pageSize;//姣忛〉鏄剧ず
+                pageBar1.RecordCount = dd.rtnData.total; //璁板綍鎬绘暟
+                pageBar1.CurrentPage = curPage; //褰撳墠椤�
+                pageBar1.RowsCount = pageSize; //姣忛〉鏄剧ず
                 pageBar1.setTxt();
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
     }
-}
-
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/Sys/SysLog.resx b/DevApp/Gs.DevApp/DevFrm/Sys/SysLog.resx
index 1af7de1..bfad99e 100644
--- a/DevApp/Gs.DevApp/DevFrm/Sys/SysLog.resx
+++ b/DevApp/Gs.DevApp/DevFrm/Sys/SysLog.resx
@@ -1,120 +1,134 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
             <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
             </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/Sys/SysMenu.cs b/DevApp/Gs.DevApp/DevFrm/Sys/SysMenu.cs
index bb90c0c..84eec46 100644
--- a/DevApp/Gs.DevApp/DevFrm/Sys/SysMenu.cs
+++ b/DevApp/Gs.DevApp/DevFrm/Sys/SysMenu.cs
@@ -1,32 +1,36 @@
-锘縰sing DevExpress.XtraEditors;
-using DevExpress.XtraEditors.Controls;
-using Gs.DevApp.Entity;
-using Gs.DevApp.ToolBox;
-using Newtonsoft.Json;
-using System;
+锘縰sing System;
 using System.Collections.Generic;
-using System.Data;
 using System.Drawing;
 using System.Reflection;
 using System.Resources;
 using System.Windows.Forms;
+using DevExpress.Utils;
+using DevExpress.XtraEditors;
+using DevExpress.XtraEditors.Controls;
+using DevExpress.XtraTreeList;
+using Gs.DevApp.Entity;
+using Gs.DevApp.Properties;
+using Gs.DevApp.ToolBox;
+using Newtonsoft.Json;
 
 namespace Gs.DevApp.DevFrm.User
 {
-    public partial class SysMenu : DevExpress.XtraEditors.XtraForm
+    public partial class SysMenu : XtraForm
     {
         public SysMenu()
         {
             InitializeComponent();
             getImg();
-            txt_upGuid.Properties.PopupFormSize = new System.Drawing.Size(txt_upGuid.Width, 300);
-            txt_upGuid.Properties.TextEditStyle = TextEditStyles.DisableTextEditor;
-            this.toolBarMenu1.btnAddClick += ToolBarMenu1_btnAddClick;
-            this.toolBarMenu1.btnEdtClick += ToolBarMenu1_btnEdtClick;
-            this.toolBarMenu1.btnSaveClick += ToolBarMenu1_btnSaveClick;
-            this.toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
-            this.toolBarMenu1.btnDelClick += ToolBarMenu1_btnDelClick1;
-            this.toolBarMenu1.btnEscClick += ToolBarMenu1_btnEscClick;
+            txt_upGuid.Properties.PopupFormSize =
+                new Size(txt_upGuid.Width, 300);
+            txt_upGuid.Properties.TextEditStyle =
+                TextEditStyles.DisableTextEditor;
+            toolBarMenu1.btnAddClick += ToolBarMenu1_btnAddClick;
+            toolBarMenu1.btnEdtClick += ToolBarMenu1_btnEdtClick;
+            toolBarMenu1.btnSaveClick += ToolBarMenu1_btnSaveClick;
+            toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
+            toolBarMenu1.btnDelClick += ToolBarMenu1_btnDelClick1;
+            toolBarMenu1.btnEscClick += ToolBarMenu1_btnEscClick;
             txt_category.TextChanged += Txt_category_TextChanged;
             tlMenu.MouseDoubleClick += TlMenu_MouseDoubleClick;
             txt_upGuid.Properties.TreeList.IndicatorWidth = 50;
@@ -53,7 +57,7 @@
         }
 
         /// <summary>
-        /// 鑿滃崟绫诲瀷鏀瑰彉浜嬩欢
+        ///     鑿滃崟绫诲瀷鏀瑰彉浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -61,29 +65,31 @@
         {
             if (txt_category.SelectedIndex == 1)
             {
-                this.txt_formPath.Enabled = true;
-                this.txt_icon.Enabled = true;
+                txt_formPath.Enabled = true;
+                txt_icon.Enabled = true;
             }
             else
             {
-                this.txt_formPath.Enabled = false;
-                this.txt_icon.Enabled = false;
-                this.txt_formPath.Text = "";
+                txt_formPath.Enabled = false;
+                txt_icon.Enabled = false;
+                txt_formPath.Text = "";
             }
         }
+
         /// <summary>
-        /// 鍙屽嚮琛屼簨浠�
+        ///     鍙屽嚮琛屼簨浠�
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
-        private void TlMenu_MouseDoubleClick(object sender, System.Windows.Forms.MouseEventArgs e)
+        private void TlMenu_MouseDoubleClick(object sender, MouseEventArgs e)
         {
-            string rowGuid = Gs.DevApp.ToolBox.UtilityHelper.GetCurrentDoubleRow(tlMenu, e, "guid");
+            var rowGuid = UtilityHelper.GetCurrentDoubleRow(tlMenu, e, "guid");
             if (!string.IsNullOrEmpty(rowGuid))
                 getModel(rowGuid, false, 999);
         }
+
         /// <summary>
-        /// 鍙栨秷浜嬩欢
+        ///     鍙栨秷浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -93,45 +99,47 @@
         }
 
         /// <summary>
-        /// 鍒犻櫎浜嬩欢
+        ///     鍒犻櫎浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnDelClick1(object sender, EventArgs e)
         {
             string rowGuid, rowName;
-            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_name, tlMenu);
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1,
+                lbGuid, txt_name, tlMenu);
             if (string.IsNullOrEmpty(rowGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
-            if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + rowName + "銆戯紝纭畾鍒犻櫎鍚楋紵"))
-            {
-                return;
-            }
-            List<string> lst = new List<string>();
+
+            if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + rowName + "銆戯紝纭畾鍒犻櫎鍚楋紵")) return;
+            var lst = new List<string>();
             lst.Add(rowGuid);
             var _obj = lst;
             try
             {
-                string strJson = UtilityHelper.HttpPost("", "MenuAction/DeleteModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                var strJson = UtilityHelper.HttpPost("",
+                    "MenuAction/DeleteModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
                     UtilityHelper.JumpToTab(xtraTabControl1, 0);
                     getTree();
                 }
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+
+                MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
 
         /// <summary>
-        /// 鍒锋柊浜嬩欢
+        ///     鍒锋柊浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -140,34 +148,38 @@
             UtilityHelper.JumpToTab(xtraTabControl1, 0);
             getTree();
         }
+
         /// <summary>
-        /// 淇敼浜嬩欢
+        ///     淇敼浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnEdtClick(object sender, EventArgs e)
         {
             string rowGuid, rowName;
-            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_name, tlMenu);
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1,
+                lbGuid, txt_name, tlMenu);
             if (string.IsNullOrEmpty(rowGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             getModel(rowGuid, true, 1);
             if (txt_category.SelectedIndex == 1)
             {
-                this.txt_formPath.Enabled = true;
-                this.txt_icon.Enabled = true;
+                txt_formPath.Enabled = true;
+                txt_icon.Enabled = true;
             }
             else
             {
-                this.txt_formPath.Enabled = false;
-                this.txt_icon.Enabled = false;
+                txt_formPath.Enabled = false;
+                txt_icon.Enabled = false;
             }
         }
+
         /// <summary>
-        /// 鏂板浜嬩欢
+        ///     鏂板浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -175,87 +187,96 @@
         {
             UtilityHelper.JumpToTab(xtraTabControl1, 1);
             lbGuid.Text = "";
-            UtilityHelper.CleanValueByControl(this.panel1.Controls, true);
+            UtilityHelper.CleanValueByControl(panel1.Controls, true);
         }
+
         /// <summary>
-        /// 淇濆瓨浜嬩欢
+        ///     淇濆瓨浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnSaveClick(object sender, EventArgs e)
         {
             toolBarMenu1.isSetBtn = false;
-            if (string.IsNullOrEmpty(txt_category.Text.Trim()) || txt_category.SelectedIndex == 0)
+            if (string.IsNullOrEmpty(txt_category.Text.Trim()) ||
+                txt_category.SelectedIndex == 0)
             {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("鑿滃崟绫诲瀷涓嶈兘涓虹┖锛�");
+                MsgHelper.Warning("鑿滃崟绫诲瀷涓嶈兘涓虹┖锛�");
                 txt_category.Focus();
                 return;
             }
+
             if (string.IsNullOrEmpty(txt_name.Text.Trim()))
             {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("鑿滃崟鍚嶇О涓嶈兘涓虹┖锛�");
+                MsgHelper.Warning("鑿滃崟鍚嶇О涓嶈兘涓虹┖锛�");
                 txt_name.Focus();
                 return;
             }
-            string _upGuid = txt_upGuid.EditValue.ToString();
-            if (txt_category.SelectedIndex == 2 && string.IsNullOrEmpty(_upGuid))
+
+            var _upGuid = txt_upGuid.EditValue.ToString();
+            if (txt_category.SelectedIndex == 2 &&
+                string.IsNullOrEmpty(_upGuid))
             {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("鎸夐挳绫诲瀷蹇呴』閫夋嫨鐖剁骇鑿滃崟锛�");
+                MsgHelper.Warning("鎸夐挳绫诲瀷蹇呴』閫夋嫨鐖剁骇鑿滃崟锛�");
                 txt_upGuid.Focus();
                 return;
             }
+
             var _obj = new
             {
-                guid = lbGuid.Text.Trim(),//涓诲缓
-                upGuid = _upGuid,//涓婄骇鐨勪富寤�
-                name = txt_name.Text.Trim(),//鍚嶇О
-                icon = txt_icon.Text,//鑿滃崟鍥炬爣
-                isStatus = txt_isStatus.Checked,//鐘舵��
-                formPath = txt_formPath.Text.Trim(),//绐椾綋璺緞
-                idx = int.Parse(txt_idx.Value.ToString()),//鎺掑簭
-                category = txt_category.SelectedIndex,//绫诲瀷
+                guid = lbGuid.Text.Trim(), //涓诲缓
+                upGuid = _upGuid, //涓婄骇鐨勪富寤�
+                name = txt_name.Text.Trim(), //鍚嶇О
+                icon = txt_icon.Text, //鑿滃崟鍥炬爣
+                isStatus = txt_isStatus.Checked, //鐘舵��
+                formPath = txt_formPath.Text.Trim(), //绐椾綋璺緞
+                idx = int.Parse(txt_idx.Value.ToString()), //鎺掑簭
+                category = txt_category.SelectedIndex //绫诲瀷
             };
             try
             {
-                string strJson = UtilityHelper.HttpPost("", "MenuAction/EditModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                var strJson = UtilityHelper.HttpPost("", "MenuAction/EditModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
+                MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
                 if (_rtn.rtnCode > 0)
                 {
                     lbGuid.Text = _rtn.rtnData;
                     toolBarMenu1.isSetBtn = true;
-                    UtilityHelper.ChangeEnableByControl(this.panel1.Controls, false);
+                    UtilityHelper.ChangeEnableByControl(panel1.Controls, false);
                 }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
 
         /// <summary>
-        /// 璇诲彇鍒楄〃
+        ///     璇诲彇鍒楄〃
         /// </summary>
         private void getTree()
         {
-            PageQueryModel pgq = new PageQueryModel(1, 999999, "idx", "asc", "", "");
-            string json = JsonConvert.SerializeObject(pgq);
+            var pgq = new PageQueryModel(1, 999999, "idx");
+            var json = JsonConvert.SerializeObject(pgq);
             try
             {
-                string strReturn = UtilityHelper.HttpPost("", "MenuAction/GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
-                DataTable dt = dd.rtnData.list;
-                this.tlMenu.DataSource = dt;
-                this.tlMenu.KeyFieldName = "guid";
-                this.tlMenu.ParentFieldName = "upGuid";
-                this.tlMenu.Tag = "name";
-                this.tlMenu.EndUpdate();
+                var strReturn =
+                    UtilityHelper.HttpPost("", "MenuAction/GetListPage", json);
+                var dd = UtilityHelper.ReturnToTablePage(strReturn);
+                var dt = dd.rtnData.list;
+                tlMenu.DataSource = dt;
+                tlMenu.KeyFieldName = "guid";
+                tlMenu.ParentFieldName = "upGuid";
+                tlMenu.Tag = "name";
+                tlMenu.EndUpdate();
                 // this.tlMenu.ExpandAll();
-                tlMenu.OptionsView.CheckBoxStyle = DevExpress.XtraTreeList.DefaultNodeCheckBoxStyle.Default;
+                tlMenu.OptionsView.CheckBoxStyle =
+                    DefaultNodeCheckBoxStyle.Default;
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
 
@@ -263,45 +284,52 @@
         {
             if (string.IsNullOrEmpty(strGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             UtilityHelper.JumpToTab(xtraTabControl1, tabIdx);
             var _obj = new
             {
-                guid = strGuid,//涓诲缓
+                guid = strGuid //涓诲缓
             };
             try
             {
-                string strJson = UtilityHelper.HttpPost("", "MenuAction/GetModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                var strJson = UtilityHelper.HttpPost("", "MenuAction/GetModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
-                    dynamic dy = _rtn.rtnData;
+                    var dy = _rtn.rtnData;
                     lbGuid.Text = strGuid;
-                    UtilityHelper.SetValueByObj(this.panel1.Controls, dy, isEdit);
+                    UtilityHelper.SetValueByObj(panel1.Controls, dy, isEdit);
                     txt_upGuid.EditValue = dy.upGuid.ToString();
                 }
                 else
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                {
+                    MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
+
         /// <summary>
-        /// 璇诲彇涓婄骇鏍�
+        ///     璇诲彇涓婄骇鏍�
         /// </summary>
         private void getDownList()
         {
-            PageQueryModel pgq = new PageQueryModel(1, 999999, "idx", "asc", "", " and category=1");
-            string json = JsonConvert.SerializeObject(pgq);
+            var pgq = new PageQueryModel(1, 999999, "idx", "asc", "",
+                " and category=1");
+            var json = JsonConvert.SerializeObject(pgq);
             try
             {
-                string strReturn = UtilityHelper.HttpPost("", "MenuAction/GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
-                DataTable dt = dd.rtnData.list;
+                var strReturn =
+                    UtilityHelper.HttpPost("", "MenuAction/GetListPage", json);
+                var dd = UtilityHelper.ReturnToTablePage(strReturn);
+                var dt = dd.rtnData.list;
                 txt_upGuid.Properties.TreeList.KeyFieldName = "guid";
                 txt_upGuid.Properties.TreeList.ParentFieldName = "upGuid";
                 txt_upGuid.Properties.ValueMember = "guid";
@@ -310,46 +338,45 @@
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
+
         private void getActionList()
         {
-            List<string> lst = new List<string>();
+            var lst = new List<string>();
             lst = toolBarMenu1.actions;
             txt_name.Properties.Items.AddRange(toolBarMenu1.actions);
-            Assembly assembly = Assembly.GetExecutingAssembly();
-            Type[] types = assembly.GetTypes();
-            foreach (Type type in types)
-            {
+            var assembly = Assembly.GetExecutingAssembly();
+            var types = assembly.GetTypes();
+            foreach (var type in types)
                 if (type.IsSubclassOf(typeof(Form)))
-                {
                     txt_formPath.Properties.Items.Add(type.FullName);
-                }
-            }
         }
 
         private void getImg()
         {
-            Assembly assembly = Assembly.GetExecutingAssembly();
-            ResourceManager resourceManager = new ResourceManager("Gs.DevApp.Properties.Resources", assembly);
-            int i = 0;
-            DevExpress.Utils.ImageCollection dicImg = new DevExpress.Utils.ImageCollection();
-            Properties.Resources res = new Properties.Resources();
-            PropertyInfo[] properInfo = res.GetType().GetProperties(BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Instance);
-            foreach (PropertyInfo item in properInfo)
-            {
+            var assembly = Assembly.GetExecutingAssembly();
+            var resourceManager =
+                new ResourceManager("Gs.DevApp.Properties.Resources", assembly);
+            var i = 0;
+            var dicImg = new ImageCollection();
+            var res = new Resources();
+            var properInfo = res.GetType().GetProperties(BindingFlags.Static |
+                BindingFlags.NonPublic | BindingFlags.Instance);
+            foreach (var item in properInfo)
                 if (item.Name.Contains("_"))
                 {
-                    Image image = resourceManager.GetObject(item.Name) as Image;
+                    var image = resourceManager.GetObject(item.Name) as Image;
                     if (image != null)
                     {
                         dicImg.AddImage(image);
-                        txt_icon.Properties.Items.Add(new DevExpress.XtraEditors.Controls.ImageComboBoxItem(item.Name, i, i));
+                        txt_icon.Properties.Items.Add(
+                            new ImageComboBoxItem(item.Name, i, i));
                         i++;
                     }
                 }
-            }
+
             txt_icon.Properties.LargeImages = dicImg;
             txt_icon.Properties.SmallImages = dicImg;
         }
diff --git a/DevApp/Gs.DevApp/DevFrm/Sys/SysMenu.resx b/DevApp/Gs.DevApp/DevFrm/Sys/SysMenu.resx
index 1af7de1..bfad99e 100644
--- a/DevApp/Gs.DevApp/DevFrm/Sys/SysMenu.resx
+++ b/DevApp/Gs.DevApp/DevFrm/Sys/SysMenu.resx
@@ -1,120 +1,134 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
             <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
             </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/User/Role.cs b/DevApp/Gs.DevApp/DevFrm/User/Role.cs
index b663200..2ff7957 100644
--- a/DevApp/Gs.DevApp/DevFrm/User/Role.cs
+++ b/DevApp/Gs.DevApp/DevFrm/User/Role.cs
@@ -1,30 +1,34 @@
-锘縰sing DevExpress.XtraGrid.Views.Base;
-using Gs.DevApp.Entity;
-using Gs.DevApp.ToolBox;
-using Newtonsoft.Json;
-using System;
+锘縰sing System;
 using System.Collections.Generic;
-using System.Data;
 using System.Drawing;
+using System.Text;
 using System.Windows.Forms;
+using DevExpress.XtraEditors;
+using DevExpress.XtraGrid.Views.Base;
+using Gs.DevApp.Entity;
+using Gs.DevApp.Properties;
+using Gs.DevApp.ToolBox;
+using Gs.DevApp.UserControl;
+using Newtonsoft.Json;
 
 namespace Gs.DevApp.DevFrm.User
 {
-    public partial class Role : DevExpress.XtraEditors.XtraForm
+    public partial class Role : XtraForm
     {
-        System.Text.StringBuilder _actionLst = new System.Text.StringBuilder();
-        List<FilterEntity> _filterList = new List<FilterEntity>();
+        private StringBuilder _actionLst = new StringBuilder();
+        private List<FilterEntity> _filterList = new List<FilterEntity>();
+
         public Role()
         {
             InitializeComponent();
-            this.toolBarMenu1.btnAddClick += ToolBarMenu1_btnAddClick;
-            this.toolBarMenu1.btnEdtClick += ToolBarMenu1_btnEdtClick;
-            this.toolBarMenu1.btnSaveClick += ToolBarMenu1_btnSaveClick;
-            this.toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
-            this.toolBarMenu1.btnDelClick += ToolBarMenu1_btnDelClick1;
-            this.toolBarMenu1.btnEscClick += ToolBarMenu1_btnEscClick;
-            this.toolBarMenu1.btnRoleClick += ToolBarMenu1_btnRoleClick;
-            this.toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
+            toolBarMenu1.btnAddClick += ToolBarMenu1_btnAddClick;
+            toolBarMenu1.btnEdtClick += ToolBarMenu1_btnEdtClick;
+            toolBarMenu1.btnSaveClick += ToolBarMenu1_btnSaveClick;
+            toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
+            toolBarMenu1.btnDelClick += ToolBarMenu1_btnDelClick1;
+            toolBarMenu1.btnEscClick += ToolBarMenu1_btnEscClick;
+            toolBarMenu1.btnRoleClick += ToolBarMenu1_btnRoleClick;
+            toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
             gcMain.MouseDoubleClick += GcMain_MouseDoubleClick;
             gridView1.FocusedRowChanged += GridView1_FocusedRowChanged;
             getPageList(1, UtilityHelper.GetPageSize());
@@ -34,46 +38,49 @@
             gridView1.CustomDrawRowIndicator += (s, e) =>
             {
                 if (e.Info.IsRowIndicator && e.RowHandle >= 0)
-                {
                     e.Info.DisplayText = (e.RowHandle + 1).ToString();
-                }
             };
             gridView1.CustomDrawEmptyForeground += (s, e) =>
             {
-                string str = "鏆傛湭鏌ユ壘鍒板尮閰嶇殑鏁版嵁!";
-                Font f = new Font("寰蒋闆呴粦", 16);
-                Rectangle r = new Rectangle(gridView1.GridControl.Width / 2 - 100, e.Bounds.Top + 45, e.Bounds.Right - 5, e.Bounds.Height - 5);
+                var str = "鏆傛湭鏌ユ壘鍒板尮閰嶇殑鏁版嵁!";
+                var f = new Font("寰蒋闆呴粦", 16);
+                var r = new Rectangle(gridView1.GridControl.Width / 2 - 100,
+                    e.Bounds.Top + 45, e.Bounds.Right - 5, e.Bounds.Height - 5);
                 e.Graphics.DrawString(str, f, Brushes.Gray, r);
             };
         }
+
         /// <summary>
-        /// 鎹㈠垏鎹簨浠�
+        ///     鎹㈠垏鎹簨浠�
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
-        private void GridView1_FocusedRowChanged(object sender, FocusedRowChangedEventArgs e)
+        private void GridView1_FocusedRowChanged(object sender,
+            FocusedRowChangedEventArgs e)
         {
-            string rowGuid = "";
-            DataRow myDataRow = gridView1.GetDataRow(e.FocusedRowHandle);
+            var rowGuid = "";
+            var myDataRow = gridView1.GetDataRow(e.FocusedRowHandle);
             if (myDataRow == null) return;
             rowGuid = myDataRow["guid"].ToString();
             getTree(rowGuid);
-            groupBox1.Text = "璇峰嬀閫夈��" + myDataRow["roleName"].ToString() + "銆戠殑鏉冮檺";
+            groupBox1.Text = "璇峰嬀閫夈��" + myDataRow["roleName"] + "銆戠殑鏉冮檺";
         }
+
         /// <summary>
-        /// 鍙屽嚮浜嬩欢
+        ///     鍙屽嚮浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void GcMain_MouseDoubleClick(object sender, MouseEventArgs e)
         {
-            string rowGuid = Gs.DevApp.ToolBox.UtilityHelper.GetCurrentDoubleRow(gridView1, e, "guid");
+            var rowGuid =
+                UtilityHelper.GetCurrentDoubleRow(gridView1, e, "guid");
             if (!string.IsNullOrEmpty(rowGuid))
                 getModel(rowGuid, false, 999);
-
         }
+
         /// <summary>
-        /// 鍒嗛〉浜嬩欢
+        ///     鍒嗛〉浜嬩欢
         /// </summary>
         /// <param name="curPage"></param>
         /// <param name="pageSize"></param>
@@ -81,19 +88,21 @@
         {
             getPageList(curPage, pageSize);
         }
+
         /// <summary>
-        /// 鏌ヨ浜嬩欢
+        ///     鏌ヨ浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnQueryClick(object sender, EventArgs e)
         {
-            Gs.DevApp.UserControl.ShowFilter frm = new Gs.DevApp.UserControl.ShowFilter(gridView1.Columns, _filterList);
+            var frm = new ShowFilter(gridView1.Columns, _filterList);
             frm.UpdateParent += Frm_UpdateParent;
             frm.ShowDialog();
         }
+
         /// <summary>
-        /// 鏌ヨ鍥炶皟
+        ///     鏌ヨ鍥炶皟
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -104,7 +113,7 @@
         }
 
         /// <summary>
-        /// 鍙栨秷浜嬩欢
+        ///     鍙栨秷浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -112,43 +121,50 @@
         {
             UtilityHelper.JumpToTab(xtraTabControl1, 0);
         }
+
         /// <summary>
-        /// 鍒犻櫎浜嬩欢
+        ///     鍒犻櫎浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnDelClick1(object sender, EventArgs e)
         {
             string rowGuid, rowName;
-            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_roleName, gridView1, 2);
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1,
+                lbGuid, txt_roleName, gridView1, 2);
             if (string.IsNullOrEmpty(rowGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
-            if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + rowName + "銆戯紝纭畾鍒犻櫎鍚楋紵\n璇ユ搷浣滃皢浼氭竻绌虹浉搴旂殑鐢ㄦ埛鏉冮檺"))
+
+            if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + rowName +
+                                       "銆戯紝纭畾鍒犻櫎鍚楋紵\n璇ユ搷浣滃皢浼氭竻绌虹浉搴旂殑鐢ㄦ埛鏉冮檺"))
                 return;
-            List<string> lst = new List<string>();
+            var lst = new List<string>();
             lst.Add(rowGuid);
             var _obj = lst;
             try
             {
-                string strJson = UtilityHelper.HttpPost("", "Role/DeleteModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                var strJson = UtilityHelper.HttpPost("", "Role/DeleteModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
                     UtilityHelper.JumpToTab(xtraTabControl1, 0);
                     getPageList(1, UtilityHelper.GetPageSize());
                 }
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+
+                MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
+
         /// <summary>
-        /// 鍒锋柊浜嬩欢
+        ///     鍒锋柊浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -157,24 +173,28 @@
             UtilityHelper.JumpToTab(xtraTabControl1, 0);
             getPageList(1, UtilityHelper.GetPageSize());
         }
+
         /// <summary>
-        /// 淇敼浜嬩欢
+        ///     淇敼浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnEdtClick(object sender, EventArgs e)
         {
             string rowGuid, rowName;
-            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_roleName, gridView1);
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1,
+                lbGuid, txt_roleName, gridView1);
             if (string.IsNullOrEmpty(rowGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             getModel(rowGuid, true, 1);
         }
+
         /// <summary>
-        /// 鏂板浜嬩欢
+        ///     鏂板浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -182,10 +202,11 @@
         {
             UtilityHelper.JumpToTab(xtraTabControl1, 1);
             lbGuid.Text = "";
-            UtilityHelper.CleanValueByControl(this.panel1.Controls, true);
+            UtilityHelper.CleanValueByControl(panel1.Controls, true);
         }
+
         /// <summary>
-        /// 淇濆瓨浜嬩欢
+        ///     淇濆瓨浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -194,209 +215,237 @@
             toolBarMenu1.isSetBtn = false;
             if (string.IsNullOrEmpty(txt_roleName.Text.Trim()))
             {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("瑙掕壊鍚嶇О涓嶈兘涓虹┖锛�");
+                MsgHelper.Warning("瑙掕壊鍚嶇О涓嶈兘涓虹┖锛�");
                 txt_roleName.Focus();
                 return;
             }
+
             if (string.IsNullOrEmpty(txt_roleRemark.Text.Trim()))
             {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("瑙掕壊澶囨敞涓嶈兘涓虹┖锛�");
+                MsgHelper.Warning("瑙掕壊澶囨敞涓嶈兘涓虹┖锛�");
                 txt_roleRemark.Focus();
                 return;
             }
+
             var _obj = new
             {
                 guid = lbGuid.Text.Trim(),
                 roleName = txt_roleName.Text.Trim(),
                 roleRemark = txt_roleRemark.Text.Trim(),
-                isStatus = txt_isStatus.Checked,//鐘舵��
+                isStatus = txt_isStatus.Checked //鐘舵��
             };
             try
             {
-                string strJson = UtilityHelper.HttpPost("", "Role/EditModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                var strJson = UtilityHelper.HttpPost("", "Role/EditModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
+                MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
                 if (_rtn.rtnCode > 0)
                 {
                     lbGuid.Text = _rtn.rtnData;
                     toolBarMenu1.isSetBtn = true;
-                    UtilityHelper.ChangeEnableByControl(this.panel1.Controls, false);
-
+                    UtilityHelper.ChangeEnableByControl(panel1.Controls, false);
                 }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
 
         /// <summary>
-        /// 鏉冮檺璁剧疆浜嬩欢
+        ///     鏉冮檺璁剧疆浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnRoleClick(object sender, EventArgs e)
         {
             string rowGuid, rowName;
-            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_roleName, gridView1);
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1,
+                lbGuid, txt_roleName, gridView1);
             if (string.IsNullOrEmpty(rowGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + rowName + "銆戯紝纭畾璁剧疆鏉冮檺鍚楋紵"))
                 return;
-            _actionLst = new System.Text.StringBuilder();
+            _actionLst = new StringBuilder();
             TraverseTreeViewNodes(trv.Nodes);
             var _obj = new
             {
                 roleGuid = rowGuid,
-                actionLst = _actionLst.ToString(),
+                actionLst = _actionLst.ToString()
             };
             try
             {
-                string strJson = UtilityHelper.HttpPost("", "Role/SetRoleMenuAction", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnData.outMsg);
+                var strJson = UtilityHelper.HttpPost("",
+                    "Role/SetRoleMenuAction",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
+                MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnData.outMsg);
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
 
         /// <summary>
-        /// 
         /// </summary>
         /// <param name="curPage">绗嚑椤�</param>
         /// <param name="pageSize">姣忛〉鍑犳潯</param>
         private void getPageList(int curPage, int pageSize)
         {
-            System.Text.StringBuilder _sbSqlWhere = new System.Text.StringBuilder();
-            foreach (FilterEntity itm in _filterList)
-            {
-                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'");
-            }
-            PageQueryModel pgq = new PageQueryModel(curPage, pageSize, "CREATE_TIME", "desc", "", _sbSqlWhere.ToString());
-            string json = JsonConvert.SerializeObject(pgq);
+            var _sbSqlWhere = new StringBuilder();
+            foreach (var itm in _filterList)
+                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" +
+                                   itm.fileValue + "'");
+            var pgq = new PageQueryModel(curPage, pageSize, "CREATE_TIME",
+                "desc", "", _sbSqlWhere.ToString());
+            var json = JsonConvert.SerializeObject(pgq);
             try
             {
-                string strReturn = UtilityHelper.HttpPost("", "Role/GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
-                DataTable dt = dd.rtnData.list;
+                var strReturn =
+                    UtilityHelper.HttpPost("", "Role/GetListPage", json);
+                var dd = UtilityHelper.ReturnToTablePage(strReturn);
+                var dt = dd.rtnData.list;
                 gcMain.BindingContext = new BindingContext();
                 gcMain.DataSource = dt;
                 gcMain.ForceInitialize();
-                int dddd = dd.rtnData.pages;//鎬婚〉
+                var dddd = dd.rtnData.pages; //鎬婚〉
                 pageBar1.TotalPages = dddd;
-                pageBar1.RecordCount = dd.rtnData.total;//璁板綍鎬绘暟
-                pageBar1.CurrentPage = curPage;//褰撳墠椤�
-                pageBar1.RowsCount = pageSize;//姣忛〉鏄剧ず
+                pageBar1.RecordCount = dd.rtnData.total; //璁板綍鎬绘暟
+                pageBar1.CurrentPage = curPage; //褰撳墠椤�
+                pageBar1.RowsCount = pageSize; //姣忛〉鏄剧ず
                 pageBar1.setTxt();
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
+
         private void getModel(string strGuid, bool isEdit, int tabIdx)
         {
             if (string.IsNullOrEmpty(strGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             UtilityHelper.JumpToTab(xtraTabControl1, tabIdx);
             var _obj = new
             {
-                guid = strGuid,//涓诲缓
+                guid = strGuid //涓诲缓
             };
-            string strJson = "";
+            var strJson = "";
             try
             {
-                strJson = UtilityHelper.HttpPost("", "Role/GetModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                strJson = UtilityHelper.HttpPost("", "Role/GetModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
-                    dynamic dy = _rtn.rtnData;
+                    var dy = _rtn.rtnData;
                     lbGuid.Text = strGuid;
-                    UtilityHelper.SetValueByObj(this.panel1.Controls, dy, isEdit);
+                    UtilityHelper.SetValueByObj(panel1.Controls, dy, isEdit);
                 }
                 else
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                {
+                    MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
+
         private void getTree(string roleGuid)
         {
             trv.Nodes.Clear();
-            ImageList imageList = new ImageList();
-            imageList.Images.Add("icon0", Properties.Resources.publicfix_32x32);
-            imageList.Images.Add("icon1", Properties.Resources.addfooter_32x32);
-            imageList.Images.Add("icon2", Properties.Resources.listmultilevel_16x16);
-            imageList.Images.Add("icon3", Properties.Resources.addcalculatedfield_16x16);
+            var imageList = new ImageList();
+            imageList.Images.Add("icon0", Resources.publicfix_32x32);
+            imageList.Images.Add("icon1", Resources.addfooter_32x32);
+            imageList.Images.Add("icon2", Resources.listmultilevel_16x16);
+            imageList.Images.Add("icon3", Resources.addcalculatedfield_16x16);
             trv.ImageList = imageList;
             var _obj = new
             {
-                roleGuid = roleGuid,//涓诲缓
+                roleGuid //涓诲缓
             };
             try
             {
-                string strReturn = UtilityHelper.HttpPost("", "Role/GetListByRole", JsonConvert.SerializeObject(_obj));
-                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
-                DataTable dt = dd.rtnData.list;
-                DataRow[] drGrp = dt.Select("upGuid='' or upGuid is null");
-                foreach (DataRow _dy in drGrp)
+                var strReturn = UtilityHelper.HttpPost("", "Role/GetListByRole",
+                    JsonConvert.SerializeObject(_obj));
+                var dd = UtilityHelper.ReturnToTablePage(strReturn);
+                var dt = dd.rtnData.list;
+                var drGrp = dt.Select("upGuid='' or upGuid is null");
+                foreach (var _dy in drGrp)
                 {
-                    string _orgGuid = _dy["guid"].ToString() + "&";
-                    TreeNode node = new TreeNode();//瀹氫箟缁撶偣
-                    node.Text = _dy["name"].ToString();//涓虹粨鐐硅祴鍊�
+                    var _orgGuid = _dy["guid"] + "&";
+                    var node = new TreeNode(); //瀹氫箟缁撶偣
+                    node.Text = _dy["name"].ToString(); //涓虹粨鐐硅祴鍊�
                     node.Name = _dy["guid"].ToString();
                     node.ImageIndex = 0;
-                    node.Checked = (_dy["isCk"].ToString() == "1" ? true : false);
-                    DataRow[] drItem = dt.Select("upGuid='" + _dy["guid"].ToString() + "' and orgGuid='" + _dy["guid"].ToString() + "'");
-                    foreach (DataRow _dy2 in drItem)
+                    node.Checked = _dy["isCk"].ToString() == "1" ? true : false;
+                    var drItem = dt.Select("upGuid='" + _dy["guid"] +
+                                           "' and orgGuid='" + _dy["guid"] +
+                                           "'");
+                    foreach (var _dy2 in drItem)
                     {
-                        TreeNode node22 = new TreeNode();//瀹氫箟缁撶偣
-                        node22.Text = _dy2["name"].ToString();//涓虹粨鐐硅祴鍊�
-                        node22.Name = _orgGuid + _dy2["guid"].ToString();
+                        var node22 = new TreeNode(); //瀹氫箟缁撶偣
+                        node22.Text = _dy2["name"].ToString(); //涓虹粨鐐硅祴鍊�
+                        node22.Name = _orgGuid + _dy2["guid"];
                         node22.ImageIndex = 1;
-                        node22.Checked = (_dy2["isCk"].ToString() == "1" ? true : false);
-                        DataRow[] drItem33 = dt.Select("upGuid='" + _dy2["guid"].ToString() + "' and orgGuid='" + _dy["guid"].ToString() + "'");
-                        foreach (DataRow _dy3 in drItem33)
+                        node22.Checked = _dy2["isCk"].ToString() == "1"
+                            ? true
+                            : false;
+                        var drItem33 = dt.Select("upGuid='" + _dy2["guid"] +
+                                                 "' and orgGuid='" +
+                                                 _dy["guid"] + "'");
+                        foreach (var _dy3 in drItem33)
                         {
-                            TreeNode node33 = new TreeNode();//瀹氫箟缁撶偣
-                            node33.Text = _dy3["name"].ToString();//涓虹粨鐐硅祴鍊�
-                            node33.Name = _orgGuid + _dy3["guid"].ToString();
+                            var node33 = new TreeNode(); //瀹氫箟缁撶偣
+                            node33.Text = _dy3["name"].ToString(); //涓虹粨鐐硅祴鍊�
+                            node33.Name = _orgGuid + _dy3["guid"];
                             node33.ImageIndex = 2;
-                            node33.Checked = (_dy3["isCk"].ToString() == "1" ? true : false);
-                            DataRow[] drItem44 = dt.Select("upGuid='" + _dy3["guid"].ToString() + "' and orgGuid='" + _dy["guid"].ToString() + "'");
-                            foreach (DataRow _dy4 in drItem44)
+                            node33.Checked = _dy3["isCk"].ToString() == "1"
+                                ? true
+                                : false;
+                            var drItem44 = dt.Select("upGuid='" + _dy3["guid"] +
+                                "' and orgGuid='" + _dy["guid"] + "'");
+                            foreach (var _dy4 in drItem44)
                             {
-                                TreeNode node44 = new TreeNode();//瀹氫箟缁撶偣
-                                node44.Text = _dy4["name"].ToString();//涓虹粨鐐硅祴鍊�
-                                node44.Name = _orgGuid + _dy4["guid"].ToString();
+                                var node44 = new TreeNode(); //瀹氫箟缁撶偣
+                                node44.Text = _dy4["name"].ToString(); //涓虹粨鐐硅祴鍊�
+                                node44.Name = _orgGuid + _dy4["guid"];
                                 node44.ImageIndex = 3;
-                                node44.Checked = (_dy4["isCk"].ToString() == "1" ? true : false);
+                                node44.Checked = _dy4["isCk"].ToString() == "1"
+                                    ? true
+                                    : false;
                                 node33.Nodes.Add(node44);
                             }
+
                             node22.Nodes.Add(node33);
                         }
+
                         node22.Expand();
                         node.Nodes.Add(node22);
                     }
+
                     node.Expand();
                     trv.Nodes.Add(node);
                 }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
+
         private void Trv_AfterCheck(object sender, TreeViewEventArgs e)
         {
             try
@@ -410,6 +459,7 @@
                 MsgHelper.ShowError(ex.Message);
             }
         }
+
         // 閬嶅巻TreeView涓殑鎵�鏈夎妭鐐�
         private void TraverseTreeViewNodes(TreeNodeCollection nodes)
         {
@@ -418,10 +468,7 @@
                 if (node.Checked)
                     _actionLst.Append(node.Name + "~");
                 // 閫掑綊閬嶅巻瀛愯妭鐐�
-                if (node.Nodes.Count > 0)
-                {
-                    TraverseTreeViewNodes(node.Nodes);
-                }
+                if (node.Nodes.Count > 0) TraverseTreeViewNodes(node.Nodes);
             }
         }
     }
diff --git a/DevApp/Gs.DevApp/DevFrm/User/Role.resx b/DevApp/Gs.DevApp/DevFrm/User/Role.resx
index 1af7de1..bfad99e 100644
--- a/DevApp/Gs.DevApp/DevFrm/User/Role.resx
+++ b/DevApp/Gs.DevApp/DevFrm/User/Role.resx
@@ -1,120 +1,134 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
             <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
             </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/User/User.cs b/DevApp/Gs.DevApp/DevFrm/User/User.cs
index 0f8eb02..b364acc 100644
--- a/DevApp/Gs.DevApp/DevFrm/User/User.cs
+++ b/DevApp/Gs.DevApp/DevFrm/User/User.cs
@@ -1,28 +1,31 @@
-锘�
+锘縰sing System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Text;
+using System.Windows.Forms;
+using DevExpress.XtraEditors;
+using DevExpress.XtraEditors.Controls;
 using Gs.DevApp.Entity;
 using Gs.DevApp.ToolBox;
+using Gs.DevApp.UserControl;
 using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.Data;
-using System.Drawing;
-using System.Windows.Forms;
 
 namespace Gs.DevApp.DevFrm.User
 {
-    public partial class User : DevExpress.XtraEditors.XtraForm
+    public partial class User : XtraForm
     {
-        List<FilterEntity> _filterList = new List<FilterEntity>();
+        private List<FilterEntity> _filterList = new List<FilterEntity>();
+
         public User()
         {
             InitializeComponent();
-            this.toolBarMenu1.btnAddClick += ToolBarMenu1_btnAddClick;
-            this.toolBarMenu1.btnEdtClick += ToolBarMenu1_btnEdtClick;
-            this.toolBarMenu1.btnSaveClick += ToolBarMenu1_btnSaveClick;
-            this.toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
-            this.toolBarMenu1.btnDelClick += ToolBarMenu1_btnDelClick1;
-            this.toolBarMenu1.btnEscClick += ToolBarMenu1_btnEscClick;
-            this.toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
+            toolBarMenu1.btnAddClick += ToolBarMenu1_btnAddClick;
+            toolBarMenu1.btnEdtClick += ToolBarMenu1_btnEdtClick;
+            toolBarMenu1.btnSaveClick += ToolBarMenu1_btnSaveClick;
+            toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
+            toolBarMenu1.btnDelClick += ToolBarMenu1_btnDelClick1;
+            toolBarMenu1.btnEscClick += ToolBarMenu1_btnEscClick;
+            toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
             gcMain.MouseDoubleClick += GcMain_MouseDoubleClick;
             getPageList(1, UtilityHelper.GetPageSize());
             pageBar1.PagerEvent += PageBar1_PagerEvent;
@@ -30,32 +33,33 @@
             gridView1.CustomDrawRowIndicator += (s, e) =>
             {
                 if (e.Info.IsRowIndicator && e.RowHandle >= 0)
-                {
                     e.Info.DisplayText = (e.RowHandle + 1).ToString();
-                }
             };
             gridView1.CustomDrawEmptyForeground += (s, e) =>
             {
-                string str = "鏆傛湭鏌ユ壘鍒板尮閰嶇殑鏁版嵁!";
-                Font f = new Font("寰蒋闆呴粦", 16);
-                Rectangle r = new Rectangle(gridView1.GridControl.Width / 2 - 100, e.Bounds.Top + 45, e.Bounds.Right - 5, e.Bounds.Height - 5);
+                var str = "鏆傛湭鏌ユ壘鍒板尮閰嶇殑鏁版嵁!";
+                var f = new Font("寰蒋闆呴粦", 16);
+                var r = new Rectangle(gridView1.GridControl.Width / 2 - 100,
+                    e.Bounds.Top + 45, e.Bounds.Right - 5, e.Bounds.Height - 5);
                 e.Graphics.DrawString(str, f, Brushes.Gray, r);
             };
         }
 
         /// <summary>
-        /// 鍙屽嚮浜嬩欢
+        ///     鍙屽嚮浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void GcMain_MouseDoubleClick(object sender, MouseEventArgs e)
         {
-            string rowGuid = Gs.DevApp.ToolBox.UtilityHelper.GetCurrentDoubleRow(gridView1, e, "guid");
+            var rowGuid =
+                UtilityHelper.GetCurrentDoubleRow(gridView1, e, "guid");
             if (!string.IsNullOrEmpty(rowGuid))
                 getModel(rowGuid, false, 999);
         }
+
         /// <summary>
-        /// 鍒嗛〉浜嬩欢
+        ///     鍒嗛〉浜嬩欢
         /// </summary>
         /// <param name="curPage"></param>
         /// <param name="pageSize"></param>
@@ -63,19 +67,21 @@
         {
             getPageList(curPage, pageSize);
         }
+
         /// <summary>
-        /// 鏌ヨ浜嬩欢
+        ///     鏌ヨ浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnQueryClick(object sender, EventArgs e)
         {
-            Gs.DevApp.UserControl.ShowFilter frm = new Gs.DevApp.UserControl.ShowFilter(gridView1.Columns, _filterList);
+            var frm = new ShowFilter(gridView1.Columns, _filterList);
             frm.UpdateParent += Frm_UpdateParent;
             frm.ShowDialog();
         }
+
         /// <summary>
-        /// 鏌ヨ鍥炶皟
+        ///     鏌ヨ鍥炶皟
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -86,7 +92,7 @@
         }
 
         /// <summary>
-        /// 鍙栨秷浜嬩欢
+        ///     鍙栨秷浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -96,43 +102,47 @@
         }
 
         /// <summary>
-        /// 鍒犻櫎浜嬩欢
+        ///     鍒犻櫎浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnDelClick1(object sender, EventArgs e)
         {
             string rowGuid, rowName;
-            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_userName, gridView1);
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1,
+                lbGuid, txt_userName, gridView1);
             if (string.IsNullOrEmpty(rowGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + rowName + "銆戯紝纭畾鍒犻櫎鍚楋紵"))
                 return;
-            List<string> lst = new List<string>();
+            var lst = new List<string>();
             lst.Add(rowGuid);
             var _obj = lst;
             try
             {
-                string strJson = UtilityHelper.HttpPost("", "User/DeleteModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                var strJson = UtilityHelper.HttpPost("", "User/DeleteModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
                     UtilityHelper.JumpToTab(xtraTabControl1, 0);
                     getPageList(1, UtilityHelper.GetPageSize());
                 }
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+
+                MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
 
         /// <summary>
-        /// 鍒锋柊浜嬩欢
+        ///     鍒锋柊浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -141,24 +151,28 @@
             UtilityHelper.JumpToTab(xtraTabControl1, 0);
             getPageList(1, UtilityHelper.GetPageSize());
         }
+
         /// <summary>
-        /// 淇敼浜嬩欢
+        ///     淇敼浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnEdtClick(object sender, EventArgs e)
         {
             string rowGuid, rowName;
-            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_userName, gridView1);
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1,
+                lbGuid, txt_userName, gridView1);
             if (string.IsNullOrEmpty(rowGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             getModel(rowGuid, true, 1);
         }
+
         /// <summary>
-        /// 鏂板浜嬩欢
+        ///     鏂板浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -166,12 +180,13 @@
         {
             UtilityHelper.JumpToTab(xtraTabControl1, 1);
             lbGuid.Text = "";
-            UtilityHelper.CleanValueByControl(this.panel1.Controls, true);
+            UtilityHelper.CleanValueByControl(panel1.Controls, true);
             txt_password.Visible = lbPwd.Visible = true;
             txt_account.Enabled = txt_password.Enabled = true;
         }
+
         /// <summary>
-        /// 淇濆瓨浜嬩欢
+        ///     淇濆瓨浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -180,25 +195,28 @@
             toolBarMenu1.isSetBtn = false;
             if (string.IsNullOrEmpty(txt_account.Text.Trim()))
             {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("鐧诲綍璐﹀彿涓嶈兘涓虹┖锛�");
+                MsgHelper.Warning("鐧诲綍璐﹀彿涓嶈兘涓虹┖锛�");
                 txt_account.Focus();
                 return;
             }
+
             if (string.IsNullOrEmpty(txt_password.Text.Trim()))
             {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("瀵嗙爜涓嶈兘涓虹┖锛�");
+                MsgHelper.Warning("瀵嗙爜涓嶈兘涓虹┖锛�");
                 txt_password.Focus();
                 return;
             }
+
             if (string.IsNullOrEmpty(txt_userName.Text.Trim()))
             {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("濮撳悕涓嶈兘涓虹┖锛�");
+                MsgHelper.Warning("濮撳悕涓嶈兘涓虹┖锛�");
                 txt_userName.Focus();
                 return;
             }
+
             var _obj = new
             {
-                guid = lbGuid.Text.Trim(),//涓诲缓
+                guid = lbGuid.Text.Trim(), //涓诲缓
                 account = txt_account.Text.Trim(),
                 password = txt_password.Text.Trim(),
                 userName = txt_userName.Text.Trim(),
@@ -211,109 +229,120 @@
             };
             try
             {
-                string strJson = UtilityHelper.HttpPost("", "User/EditModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                var strJson = UtilityHelper.HttpPost("", "User/EditModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
+                MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
                 if (_rtn.rtnCode > 0)
                 {
                     lbGuid.Text = _rtn.rtnData;
                     toolBarMenu1.isSetBtn = true;
-                    UtilityHelper.ChangeEnableByControl(this.panel1.Controls, false);
+                    UtilityHelper.ChangeEnableByControl(panel1.Controls, false);
                 }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
 
         /// <summary>
-        /// 
         /// </summary>
         /// <param name="curPage">绗嚑椤�</param>
         /// <param name="pageSize">姣忛〉鍑犳潯</param>
         private void getPageList(int curPage, int pageSize)
         {
-            System.Text.StringBuilder _sbSqlWhere = new System.Text.StringBuilder();
-            foreach (FilterEntity itm in _filterList)
-            {
-                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'");
-            }
-            PageQueryModel pgq = new PageQueryModel(curPage, pageSize, "CREATE_TIME", "asc", "", _sbSqlWhere.ToString());
-            string json = JsonConvert.SerializeObject(pgq);
+            var _sbSqlWhere = new StringBuilder();
+            foreach (var itm in _filterList)
+                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" +
+                                   itm.fileValue + "'");
+            var pgq = new PageQueryModel(curPage, pageSize, "CREATE_TIME",
+                "asc", "", _sbSqlWhere.ToString());
+            var json = JsonConvert.SerializeObject(pgq);
             try
             {
-                string strReturn = UtilityHelper.HttpPost("", "User/GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
-                DataTable dt = dd.rtnData.list;
+                var strReturn =
+                    UtilityHelper.HttpPost("", "User/GetListPage", json);
+                var dd = UtilityHelper.ReturnToTablePage(strReturn);
+                var dt = dd.rtnData.list;
                 gcMain.BindingContext = new BindingContext();
                 gcMain.DataSource = dt;
                 gcMain.ForceInitialize();
-                int dddd = dd.rtnData.pages;//鎬婚〉
+                var dddd = dd.rtnData.pages; //鎬婚〉
                 pageBar1.TotalPages = dddd;
-                pageBar1.RecordCount = dd.rtnData.total;//璁板綍鎬绘暟
-                pageBar1.CurrentPage = curPage;//褰撳墠椤�
-                pageBar1.RowsCount = pageSize;//姣忛〉鏄剧ず
+                pageBar1.RecordCount = dd.rtnData.total; //璁板綍鎬绘暟
+                pageBar1.CurrentPage = curPage; //褰撳墠椤�
+                pageBar1.RowsCount = pageSize; //姣忛〉鏄剧ず
                 pageBar1.setTxt();
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
+
         private void getModel(string strGuid, bool isEdit, int tabIdx)
         {
             if (string.IsNullOrEmpty(strGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             UtilityHelper.JumpToTab(xtraTabControl1, tabIdx);
             var _obj = new
             {
-                guid = strGuid,//涓诲缓
+                guid = strGuid //涓诲缓
             };
             try
             {
-                string strJson = UtilityHelper.HttpPost("", "User/GetModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                var strJson = UtilityHelper.HttpPost("", "User/GetModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
-                    dynamic dy = _rtn.rtnData;
+                    var dy = _rtn.rtnData;
                     lbGuid.Text = strGuid;
-                    UtilityHelper.SetValueByObj(this.panel1.Controls, dy, isEdit);
-                    txt_account.Enabled = txt_password.Enabled = txt_password.Visible = lbPwd.Visible = tipPwd.Visible = false;
+                    UtilityHelper.SetValueByObj(panel1.Controls, dy, isEdit);
+                    txt_account.Enabled = txt_password.Enabled =
+                        txt_password.Visible =
+                            lbPwd.Visible = tipPwd.Visible = false;
                 }
                 else
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                {
+                    MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
-        private void repositoryItemButtonEdit1_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
+
+        private void repositoryItemButtonEdit1_ButtonClick(object sender,
+            ButtonPressedEventArgs e)
         {
             if (e.Button.Index == 0)
             {
-                int rowhandle = gridView1.FocusedRowHandle;
-                DataRow dr = gridView1.GetDataRow(rowhandle);
-                string userGuid = dr["guid"].ToString();
-                UserSelectRole frm = new UserSelectRole(userGuid);
+                var rowhandle = gridView1.FocusedRowHandle;
+                var dr = gridView1.GetDataRow(rowhandle);
+                var userGuid = dr["guid"].ToString();
+                var frm = new UserSelectRole(userGuid);
                 frm.ShowDialog();
             }
         }
-        private void repositoryItemButtonEdit2_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
+
+        private void repositoryItemButtonEdit2_ButtonClick(object sender,
+            ButtonPressedEventArgs e)
         {
             if (e.Button.Index == 0)
             {
-                int rowhandle = gridView1.FocusedRowHandle;
-                DataRow dr = gridView1.GetDataRow(rowhandle);
-                string userGuid = dr["guid"].ToString();
-                Gs.DevApp.DevFrm.User.UserSetPwd frm = new Gs.DevApp.DevFrm.User.UserSetPwd(userGuid);
+                var rowhandle = gridView1.FocusedRowHandle;
+                var dr = gridView1.GetDataRow(rowhandle);
+                var userGuid = dr["guid"].ToString();
+                var frm = new UserSetPwd(userGuid);
                 frm.ShowDialog();
             }
         }
     }
-}
-
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/User/User.resx b/DevApp/Gs.DevApp/DevFrm/User/User.resx
index 33bb0e2..7069005 100644
--- a/DevApp/Gs.DevApp/DevFrm/User/User.resx
+++ b/DevApp/Gs.DevApp/DevFrm/User/User.resx
@@ -1,140 +1,157 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
+            <xsd:complexType>
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
+            </xsd:complexType>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <assembly alias="System.Drawing"
+              name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
+    <data name="editorButtonImageOptions6.Image"
+          type="System.Drawing.Bitmap, System.Drawing"
+          mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>
+            iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACp0RVh0VGl0
+            bGUAQ29udGFjdDtDYXJkO0luZm87RGV0YWlsO1BlcnNvbjtFZGl04bGTWAAAAtlJREFUOE+Nk1lIVFEA
+            ho8zruPWhhuaCEOUtuiDPVQQiqQlWJIvBuJajU1oqWOSRZpS2KiVWpKKS5baJI6mKZYb2l4oyNhEVlQ+
+            iKIzOrmM4/J3zrFQi6AL38Occ77v3nPPHbLqMvoHgj9gYwQAh11G5Up1R0X9B/wPZXUDndQRrAmwiYXF
+            pb9ZWGH+F2V175klXB0QlCnVfNHEDwPKFe04l1EKWXoJSqufQqOb4+NaimF+EXdqVMwybrvkTZqSdvGA
+            sOiBitYXMTahR1JaMeJTCznJ6cUY1cxAqzNgXKfH9MwcmrsGWcCCYvQw1n05kF/Zx+saurCmvgenU25x
+            qpTd0E7OYXxSj+GRSQy05oHeGRWx7jm/IyxgLC95C72BBuhi9eAwYmX5nF7VN/pUsxga1qCvMRefGkKw
+            uPQFqqrDyA5yyaWuGQuYZBQ8x6x+AaPjs2hu7+WyJCkPypbXGPw6gncNcnysC+ay/nMculO3Q+7nwLZi
+            wwPns7swNTuP9OwqHD97AzGU6PhcREiz0HBbBrUiiMtTKgk6ZFvRId8P6U7bQuqKWMA0IfMJdNPzVLrO
+            xai4HIRJrkBx8wwG7gdyWfsmEm3xYrRm7EX0NutS6m2gsA+LmJ26+BgTUwZ6XHPQUEbHtHihyER/mT+X
+            RzpD0Sp1Q2PqboSJLcup48jkcCf+CohJRGJtW1RyPSIp4Qm1KChUoEcewOWhpmC0SFxRl+iFY24iJjtR
+            zEPtTUmY43KAHYUJhR0Lw85j38mKR0VXMT30Cs0nXFEj9UCIi3klnWN3NqUIjm40ITGbzVf+FIxn1/bQ
+            OWLn6Zf4vf9lK+5mpeCyjxhHHM3u0XEHilBd7EvUxT4kaJ2QxIst1wba0rxZwGG9sy9s7LyHLWy3VNtb
+            iYLp2CYmB9oICeOQtYAcpFzYYb020CTzZAG2MbZPZwp70+y3UYCVgPhbCsgBCovEiUUkw8uW/ASLygoB
+            zKvoygAAAABJRU5ErkJggg==
+        </value>
     </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
-  <data name="editorButtonImageOptions6.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACp0RVh0VGl0
-        bGUAQ29udGFjdDtDYXJkO0luZm87RGV0YWlsO1BlcnNvbjtFZGl04bGTWAAAAtlJREFUOE+Nk1lIVFEA
-        ho8zruPWhhuaCEOUtuiDPVQQiqQlWJIvBuJajU1oqWOSRZpS2KiVWpKKS5baJI6mKZYb2l4oyNhEVlQ+
-        iKIzOrmM4/J3zrFQi6AL38Occ77v3nPPHbLqMvoHgj9gYwQAh11G5Up1R0X9B/wPZXUDndQRrAmwiYXF
-        pb9ZWGH+F2V175klXB0QlCnVfNHEDwPKFe04l1EKWXoJSqufQqOb4+NaimF+EXdqVMwybrvkTZqSdvGA
-        sOiBitYXMTahR1JaMeJTCznJ6cUY1cxAqzNgXKfH9MwcmrsGWcCCYvQw1n05kF/Zx+saurCmvgenU25x
-        qpTd0E7OYXxSj+GRSQy05oHeGRWx7jm/IyxgLC95C72BBuhi9eAwYmX5nF7VN/pUsxga1qCvMRefGkKw
-        uPQFqqrDyA5yyaWuGQuYZBQ8x6x+AaPjs2hu7+WyJCkPypbXGPw6gncNcnysC+ay/nMculO3Q+7nwLZi
-        wwPns7swNTuP9OwqHD97AzGU6PhcREiz0HBbBrUiiMtTKgk6ZFvRId8P6U7bQuqKWMA0IfMJdNPzVLrO
-        xai4HIRJrkBx8wwG7gdyWfsmEm3xYrRm7EX0NutS6m2gsA+LmJ26+BgTUwZ6XHPQUEbHtHihyER/mT+X
-        RzpD0Sp1Q2PqboSJLcup48jkcCf+CohJRGJtW1RyPSIp4Qm1KChUoEcewOWhpmC0SFxRl+iFY24iJjtR
-        zEPtTUmY43KAHYUJhR0Lw85j38mKR0VXMT30Cs0nXFEj9UCIi3klnWN3NqUIjm40ITGbzVf+FIxn1/bQ
-        OWLn6Zf4vf9lK+5mpeCyjxhHHM3u0XEHilBd7EvUxT4kaJ2QxIst1wba0rxZwGG9sy9s7LyHLWy3VNtb
-        iYLp2CYmB9oICeOQtYAcpFzYYb020CTzZAG2MbZPZwp70+y3UYCVgPhbCsgBCovEiUUkw8uW/ASLygoB
-        zKvoygAAAABJRU5ErkJggg==
-</value>
-  </data>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/User/UserSelectRole.cs b/DevApp/Gs.DevApp/DevFrm/User/UserSelectRole.cs
index 1ec99af..1ca4a51 100644
--- a/DevApp/Gs.DevApp/DevFrm/User/UserSelectRole.cs
+++ b/DevApp/Gs.DevApp/DevFrm/User/UserSelectRole.cs
@@ -1,26 +1,22 @@
-锘縰sing DevExpress.XtraEditors;
-using Gs.DevApp.Entity;
+锘縰sing System;
+using System.Data;
+using System.Text;
+using System.Windows.Forms;
+using DevExpress.XtraEditors;
+using Gs.DevApp.Properties;
 using Gs.DevApp.ToolBox;
 using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows.Forms;
 
 namespace Gs.DevApp.DevFrm.User
 {
-    public partial class UserSelectRole : DevExpress.XtraEditors.XtraForm
+    public partial class UserSelectRole : XtraForm
     {
-        private string _userGuid;
+        private readonly string _userGuid;
+
         public UserSelectRole(string userGuid)
         {
             InitializeComponent();
-            this._userGuid = userGuid;
+            _userGuid = userGuid;
             GetCheckList();
             btnSave.Click += BtnSave_Click;
             GetTree(_userGuid);
@@ -30,34 +26,38 @@
         {
             if (string.IsNullOrEmpty(_userGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勭敤鎴凤紒");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勭敤鎴凤紒");
                 return;
             }
-            if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + ckList.CheckedItems.Count.ToString() + "銆戜釜瑙掕壊锛岀‘瀹氳缃潈闄愬悧锛�"))
+
+            if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + ckList.CheckedItems.Count +
+                                       "銆戜釜瑙掕壊锛岀‘瀹氳缃潈闄愬悧锛�"))
                 return;
-            System.Text.StringBuilder roleLst = new StringBuilder();
+            var roleLst = new StringBuilder();
             foreach (DataRowView box in ckList.CheckedItems)
             {
                 if (roleLst.Length > 0)
                     roleLst.Append(",");
-                roleLst.Append(box.Row["guid"].ToString());
+                roleLst.Append(box.Row["guid"]);
             }
+
             var _obj = new
             {
                 userGuid = _userGuid,
-                roleLst = roleLst.ToString(),
+                roleLst = roleLst.ToString()
             };
-            string strJson = "";
+            var strJson = "";
             try
             {
-                strJson = UtilityHelper.HttpPost("", "Role/SetUserRole", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnData.outMsg);
-                this.Close();
+                strJson = UtilityHelper.HttpPost("", "Role/SetUserRole",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
+                MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnData.outMsg);
+                Close();
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
 
@@ -65,31 +65,30 @@
         {
             var _obj = new
             {
-                userGuid = this._userGuid,
+                userGuid = _userGuid
             };
-            string strReturn = "";
+            var strReturn = "";
             try
             {
-                strReturn = UtilityHelper.HttpPost("", "Role/GetUserRole", JsonConvert.SerializeObject(_obj));
-                ReturnModel<DataTable> dd = UtilityHelper.ReturnToList(strReturn);
-                DataTable dt = dd.rtnData;
-                this.ckList.DataSource = dt;
-                this.ckList.ValueMember = "guid";
-                this.ckList.DisplayMember = "roleName";
+                strReturn = UtilityHelper.HttpPost("", "Role/GetUserRole",
+                    JsonConvert.SerializeObject(_obj));
+                var dd = UtilityHelper.ReturnToList(strReturn);
+                var dt = dd.rtnData;
+                ckList.DataSource = dt;
+                ckList.ValueMember = "guid";
+                ckList.DisplayMember = "roleName";
                 foreach (DataRow row in dt.Rows)
                 {
                     // 鍋囪Condition鏄喅瀹氭槸鍚﹂�変腑鐨勫瓧娈�
-                    bool isChecked = (bool)row["isCk"]; // 杞崲涓哄疄闄呯殑绫诲瀷
-                    int index = ckList.FindString(row["roleName"].ToString());
+                    var isChecked = (bool)row["isCk"]; // 杞崲涓哄疄闄呯殑绫诲瀷
+                    var index = ckList.FindString(row["roleName"].ToString());
                     if (index != ListBox.NoMatches)
-                    {
                         ckList.SetItemChecked(index, isChecked);
-                    }
                 }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
 
@@ -97,71 +96,93 @@
         private void GetTree(string userGuid)
         {
             trv.Nodes.Clear();
-            ImageList imageList = new ImageList();
-            imageList.Images.Add("icon0", Properties.Resources.publicfix_32x32);
-            imageList.Images.Add("icon1", Properties.Resources.addfooter_32x32);
-            imageList.Images.Add("icon2", Properties.Resources.listmultilevel_16x16);
-            imageList.Images.Add("icon3", Properties.Resources.addcalculatedfield_16x16);
+            var imageList = new ImageList();
+            imageList.Images.Add("icon0", Resources.publicfix_32x32);
+            imageList.Images.Add("icon1", Resources.addfooter_32x32);
+            imageList.Images.Add("icon2", Resources.listmultilevel_16x16);
+            imageList.Images.Add("icon3", Resources.addcalculatedfield_16x16);
             trv.ImageList = imageList;
             var _obj = new
             {
-                userGuid = userGuid,
+                userGuid
             };
-            string strReturn = "";
+            var strReturn = "";
             try
             {
-                strReturn = UtilityHelper.HttpPost("", "Role/GetUserMenuAction", JsonConvert.SerializeObject(_obj));
-                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
-                DataTable dt = dd.rtnData.list;
-                DataRow[] drGrp = dt.Select("upGuid='' or upGuid is null");
-                string _gou = "鉁� ";
-                foreach (DataRow _dy in drGrp)
+                strReturn = UtilityHelper.HttpPost("", "Role/GetUserMenuAction",
+                    JsonConvert.SerializeObject(_obj));
+                var dd = UtilityHelper.ReturnToTablePage(strReturn);
+                var dt = dd.rtnData.list;
+                var drGrp = dt.Select("upGuid='' or upGuid is null");
+                var _gou = "鉁� ";
+                foreach (var _dy in drGrp)
                 {
-                    string _orgGuid = _dy["guid"].ToString() + "&";
-                    TreeNode node = new TreeNode();//瀹氫箟缁撶偣
-                    node.Text =  (_dy["isCk"].ToString() == "1" ? _gou : "") + _dy["name"].ToString();//涓虹粨鐐硅祴鍊�
+                    var _orgGuid = _dy["guid"] + "&";
+                    var node = new TreeNode(); //瀹氫箟缁撶偣
+                    node.Text = (_dy["isCk"].ToString() == "1" ? _gou : "") +
+                                _dy["name"]; //涓虹粨鐐硅祴鍊�
                     node.Name = _dy["guid"].ToString();
                     node.ImageIndex = 0;
-                    node.Checked = (_dy["isCk"].ToString() == "1" ? true : false);
-                    DataRow[] drItem = dt.Select("upGuid='" + _dy["guid"].ToString() + "' and orgGuid='" + _dy["guid"].ToString() + "'");
-                    foreach (DataRow _dy2 in drItem)
+                    node.Checked = _dy["isCk"].ToString() == "1" ? true : false;
+                    var drItem = dt.Select("upGuid='" + _dy["guid"] +
+                                           "' and orgGuid='" + _dy["guid"] +
+                                           "'");
+                    foreach (var _dy2 in drItem)
                     {
-                        TreeNode node22 = new TreeNode();//瀹氫箟缁撶偣
-                        node22.Text = (_dy2["isCk"].ToString() == "1" ? _gou : "") + _dy2["name"].ToString();//涓虹粨鐐硅祴鍊�
-                        node22.Name = _orgGuid + _dy2["guid"].ToString();
+                        var node22 = new TreeNode(); //瀹氫箟缁撶偣
+                        node22.Text =
+                            (_dy2["isCk"].ToString() == "1" ? _gou : "") +
+                            _dy2["name"]; //涓虹粨鐐硅祴鍊�
+                        node22.Name = _orgGuid + _dy2["guid"];
                         node22.ImageIndex = 1;
-                        node22.Checked = (_dy2["isCk"].ToString() == "1" ? true : false);
-                        DataRow[] drItem33 = dt.Select("upGuid='" + _dy2["guid"].ToString() + "' and orgGuid='" + _dy["guid"].ToString() + "'");
-                        foreach (DataRow _dy3 in drItem33)
+                        node22.Checked = _dy2["isCk"].ToString() == "1"
+                            ? true
+                            : false;
+                        var drItem33 = dt.Select("upGuid='" + _dy2["guid"] +
+                                                 "' and orgGuid='" +
+                                                 _dy["guid"] + "'");
+                        foreach (var _dy3 in drItem33)
                         {
-                            TreeNode node33 = new TreeNode();//瀹氫箟缁撶偣
-                            node33.Text = (_dy3["isCk"].ToString() == "1" ? _gou : "") + _dy3["name"].ToString();//涓虹粨鐐硅祴鍊�
-                            node33.Name = _orgGuid + _dy3["guid"].ToString();
+                            var node33 = new TreeNode(); //瀹氫箟缁撶偣
+                            node33.Text =
+                                (_dy3["isCk"].ToString() == "1" ? _gou : "") +
+                                _dy3["name"]; //涓虹粨鐐硅祴鍊�
+                            node33.Name = _orgGuid + _dy3["guid"];
                             node33.ImageIndex = 2;
-                            node33.Checked = (_dy3["isCk"].ToString() == "1" ? true : false);
-                            DataRow[] drItem44 = dt.Select("upGuid='" + _dy3["guid"].ToString() + "' and orgGuid='" + _dy["guid"].ToString() + "'");
-                            foreach (DataRow _dy4 in drItem44)
+                            node33.Checked = _dy3["isCk"].ToString() == "1"
+                                ? true
+                                : false;
+                            var drItem44 = dt.Select("upGuid='" + _dy3["guid"] +
+                                "' and orgGuid='" + _dy["guid"] + "'");
+                            foreach (var _dy4 in drItem44)
                             {
-                                TreeNode node44 = new TreeNode();//瀹氫箟缁撶偣
-                                node44.Text = (_dy4["isCk"].ToString() == "1" ? _gou : "") + _dy4["name"].ToString();//涓虹粨鐐硅祴鍊�
-                                node44.Name = _orgGuid + _dy4["guid"].ToString();
+                                var node44 = new TreeNode(); //瀹氫箟缁撶偣
+                                node44.Text =
+                                    (_dy4["isCk"].ToString() == "1"
+                                        ? _gou
+                                        : "") + _dy4["name"]; //涓虹粨鐐硅祴鍊�
+                                node44.Name = _orgGuid + _dy4["guid"];
                                 node44.ImageIndex = 3;
-                                node44.Checked = (_dy4["isCk"].ToString() == "1" ? true : false);
+                                node44.Checked = _dy4["isCk"].ToString() == "1"
+                                    ? true
+                                    : false;
                                 node33.Nodes.Add(node44);
                             }
+
                             node22.Nodes.Add(node33);
                         }
+
                         node22.Expand();
                         node.Nodes.Add(node22);
                     }
+
                     node.Expand();
                     trv.Nodes.Add(node);
-
                 }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
     }
diff --git a/DevApp/Gs.DevApp/DevFrm/User/UserSelectRole.resx b/DevApp/Gs.DevApp/DevFrm/User/UserSelectRole.resx
index 1af7de1..bfad99e 100644
--- a/DevApp/Gs.DevApp/DevFrm/User/UserSelectRole.resx
+++ b/DevApp/Gs.DevApp/DevFrm/User/UserSelectRole.resx
@@ -1,120 +1,134 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
             <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
             </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/User/UserSetPwd.cs b/DevApp/Gs.DevApp/DevFrm/User/UserSetPwd.cs
index 433b220..d0e8108 100644
--- a/DevApp/Gs.DevApp/DevFrm/User/UserSetPwd.cs
+++ b/DevApp/Gs.DevApp/DevFrm/User/UserSetPwd.cs
@@ -1,74 +1,78 @@
-锘�
-using Gs.DevApp.Entity;
+锘縰sing System;
+using System.Windows.Forms;
+using DevExpress.XtraEditors;
 using Gs.DevApp.ToolBox;
 using Newtonsoft.Json;
-using System;
-using System.Windows.Forms;
 
 namespace Gs.DevApp.DevFrm.User
 {
-    public partial class UserSetPwd : DevExpress.XtraEditors.XtraForm
+    public partial class UserSetPwd : XtraForm
     {
-        public string userGuid { get; set; }
         public UserSetPwd(string _userGuid)
         {
             InitializeComponent();
-            this.userGuid = _userGuid;
+            userGuid = _userGuid;
             btnCancel.Click += BtnCancel_Click;
             btnSave.Click += BtnSave_Click;
         }
+
+        public string userGuid { get; set; }
 
         private void BtnSave_Click(object sender, EventArgs e)
         {
             if (string.IsNullOrEmpty(txtNewPwd.Text.Trim()))
             {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("鏂板瘑鐮佷笉鑳戒负绌猴紒");
+                MsgHelper.Warning("鏂板瘑鐮佷笉鑳戒负绌猴紒");
                 txtNewPwd.Focus();
                 return;
             }
+
             if (string.IsNullOrEmpty(txtNewPwd2.Text.Trim()))
             {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("瀵嗙爜涓嶈兘涓虹┖锛�");
+                MsgHelper.Warning("瀵嗙爜涓嶈兘涓虹┖锛�");
                 txtNewPwd2.Focus();
                 return;
             }
-            if (txtNewPwd.Text!=txtNewPwd2.Text)
+
+            if (txtNewPwd.Text != txtNewPwd2.Text)
             {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("浣犵殑涓ゆ瀵嗙爜涓嶄竴鑷达紒");
+                MsgHelper.Warning("浣犵殑涓ゆ瀵嗙爜涓嶄竴鑷达紒");
                 txtNewPwd2.Focus();
                 return;
             }
+
             var _obj = new
             {
                 edtUserGuid = userGuid,
-                userGuid = userGuid,
+                userGuid,
                 newPass = txtNewPwd.Text.Trim()
             };
             try
             {
-                string strJson = UtilityHelper.HttpPost("", "User/SetUserPass", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnData.outMsg);
+                var strJson = UtilityHelper.HttpPost("", "User/SetUserPass",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
+                MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnData.outMsg);
                 if (_rtn.rtnCode > 0)
                 {
-                    this.DialogResult = DialogResult.OK;
-                    this.Close();
+                    DialogResult = DialogResult.OK;
+                    Close();
                 }
                 else
                 {
-                    this.DialogResult = DialogResult.None;
+                    DialogResult = DialogResult.None;
                 }
             }
             catch (Exception ex)
             {
-                this.DialogResult = DialogResult.Cancel;
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                DialogResult = DialogResult.Cancel;
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
 
         private void BtnCancel_Click(object sender, EventArgs e)
         {
-            this.Close();
+            Close();
         }
     }
 }
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/User/UserSetPwd.resx b/DevApp/Gs.DevApp/DevFrm/User/UserSetPwd.resx
index c0dfd5d..1d727eb 100644
--- a/DevApp/Gs.DevApp/DevFrm/User/UserSetPwd.resx
+++ b/DevApp/Gs.DevApp/DevFrm/User/UserSetPwd.resx
@@ -1,140 +1,159 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
+            <xsd:complexType>
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
+            </xsd:complexType>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <assembly alias="System.Drawing"
+              name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
+    <data name="btnCancel.ImageOptions.Image"
+          type="System.Drawing.Bitmap, System.Drawing"
+          mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>
+            iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABF0RVh0VGl0
+            bGUAQ2xvc2U7RXhpdDsFGf+FAAAArElEQVQ4T7XSOwoCQRCE4c0E8XEDQTMRA+/gTTykGBuYGm6olxBE
+            tP1LHGl1WoZVg2+DYrqYZrYys6/cPvVibk38teBUkkUFNcbYuGyFCXYuyxYcMYSyPlSi4fY9m+KMsECW
+            aEF5D2m4gzUeZ6MC8SXZYflU4K8taZ2nc1GBH+4i3eStJFdwwABpWNf268xwQVggW4zgd1aJnnbvsrBA
+            9JyvWfGPVOx3Bc1ZdQWpA3U147gCvgAAAABJRU5ErkJggg==
+        </value>
     </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
+    <data name="btnSave.ImageOptions.Image"
+          type="System.Drawing.Bitmap, System.Drawing"
+          mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>
+            iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACB0RVh0VGl0
+            bGUATmV3O05ld0VtcGxveWVlO05ld1BlcnNvbjveWVScAAAA3ElEQVQ4T5WOPQ5BQRSF3wYsgohCJXRq
+            PRWJJaktgFLUOjsQ0egURKEgaj/NOEfuyJl5E4/iy8y5c7+Tyc6LruI0O+cKUbEVnUkhxhd4ycOcDUdL
+            cgVjULKcK1AxyCbwJBPLuYKiH/iCm+VkgZf0VJlcKJNUgRZ9sshkRpkEBRr8AmiCJ/Ay75z9XED64GQM
+            bPZGnSDYAsUjqFgmZXAAPWZ1goDHBngAfnsDqqAGtjbjW12duGBui9+YqhMXnKPlFCd14oJ9tJxip05c
+            0AFrcLdlhbMVaKsTFPyPy16LX4vunIH/egAAAABJRU5ErkJggg==
+        </value>
     </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
-  <data name="btnCancel.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABF0RVh0VGl0
-        bGUAQ2xvc2U7RXhpdDsFGf+FAAAArElEQVQ4T7XSOwoCQRCE4c0E8XEDQTMRA+/gTTykGBuYGm6olxBE
-        tP1LHGl1WoZVg2+DYrqYZrYys6/cPvVibk38teBUkkUFNcbYuGyFCXYuyxYcMYSyPlSi4fY9m+KMsECW
-        aEF5D2m4gzUeZ6MC8SXZYflU4K8taZ2nc1GBH+4i3eStJFdwwABpWNf268xwQVggW4zgd1aJnnbvsrBA
-        9JyvWfGPVOx3Bc1ZdQWpA3U147gCvgAAAABJRU5ErkJggg==
-</value>
-  </data>
-  <data name="btnSave.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACB0RVh0VGl0
-        bGUATmV3O05ld0VtcGxveWVlO05ld1BlcnNvbjveWVScAAAA3ElEQVQ4T5WOPQ5BQRSF3wYsgohCJXRq
-        PRWJJaktgFLUOjsQ0egURKEgaj/NOEfuyJl5E4/iy8y5c7+Tyc6LruI0O+cKUbEVnUkhxhd4ycOcDUdL
-        cgVjULKcK1AxyCbwJBPLuYKiH/iCm+VkgZf0VJlcKJNUgRZ9sshkRpkEBRr8AmiCJ/Ay75z9XED64GQM
-        bPZGnSDYAsUjqFgmZXAAPWZ1goDHBngAfnsDqqAGtjbjW12duGBui9+YqhMXnKPlFCd14oJ9tJxip05c
-        0AFrcLdlhbMVaKsTFPyPy16LX4vunIH/egAAAABJRU5ErkJggg==
-</value>
-  </data>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_MesDepot.cs b/DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_MesDepot.cs
index dc9e552..0128048 100644
--- a/DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_MesDepot.cs
+++ b/DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_MesDepot.cs
@@ -1,66 +1,71 @@
-using DevExpress.XtraGrid.Views.Base.ViewInfo;
-using DevExpress.XtraGrid.Views.Grid;
-using DevExpress.XtraGrid.Views.Grid.ViewInfo;
-using Gs.DevApp.Entity;
-using Gs.DevApp.ToolBox;
-using Newtonsoft.Json;
-using Newtonsoft.Json.Linq;
 using System;
 using System.Collections.Generic;
 using System.Data;
 using System.Drawing;
+using System.Text;
 using System.Windows.Forms;
+using DevExpress.XtraEditors;
+using DevExpress.XtraEditors.Controls;
+using DevExpress.XtraGrid.Views.Grid;
+using Gs.DevApp.Entity;
+using Gs.DevApp.ToolBox;
+using Gs.DevApp.UserControl;
+using MES.Service.Modes;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 
 namespace Gs.DevApp.DevFrm
 {
-    public partial class Frm_MesDepot : DevExpress.XtraEditors.XtraForm
+    public partial class Frm_MesDepot : XtraForm
     {
-        string _webServiceName = "MesDepotsManager/";
-        List<FilterEntity> _filterList = new List<FilterEntity>();
+        private List<FilterEntity> _filterList = new List<FilterEntity>();
+        private readonly string _webServiceName = "MesDepotsManager/";
+
         public Frm_MesDepot()
         {
             InitializeComponent();
-            this.toolBarMenu1.btnAddClick += ToolBarMenu1_btnAddClick;
-            this.toolBarMenu1.btnEdtClick += ToolBarMenu1_btnEdtClick;
-            this.toolBarMenu1.btnSaveClick += ToolBarMenu1_btnSaveClick;
-            this.toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
-            this.toolBarMenu1.btnDelClick += ToolBarMenu1_btnDelClick1;
-            this.toolBarMenu1.btnEscClick += ToolBarMenu1_btnEscClick;
-            this.toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
-            this.toolBarMenu1.btnChkClick += ToolBarMenu1_btnChkClick;
-            this.toolBarMenu1.btnFChkClick += ToolBarMenu1_btnFChkClick;
+            toolBarMenu1.btnAddClick += ToolBarMenu1_btnAddClick;
+            toolBarMenu1.btnEdtClick += ToolBarMenu1_btnEdtClick;
+            toolBarMenu1.btnSaveClick += ToolBarMenu1_btnSaveClick;
+            toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
+            toolBarMenu1.btnDelClick += ToolBarMenu1_btnDelClick1;
+            toolBarMenu1.btnEscClick += ToolBarMenu1_btnEscClick;
+            toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
+            toolBarMenu1.btnChkClick += ToolBarMenu1_btnChkClick;
+            toolBarMenu1.btnFChkClick += ToolBarMenu1_btnFChkClick;
             gcMain.MouseDoubleClick += GcMain_MouseDoubleClick;
             getPageList(1, UtilityHelper.GetPageSize());
             pageBar1.PagerEvent += PageBar1_PagerEvent;
             gridView1.CustomDrawRowIndicator += (s, e) =>
             {
                 if (e.Info.IsRowIndicator && e.RowHandle >= 0)
-                {
                     e.Info.DisplayText = (e.RowHandle + 1).ToString();
-                }
             };
             gridView1.CustomDrawEmptyForeground += (s, e) =>
             {
-                string str = "鏆傛湭鏌ユ壘鍒板尮閰嶇殑鏁版嵁!";
-                Font f = new Font("寰蒋闆呴粦", 16);
-                Rectangle r = new Rectangle(gridView1.GridControl.Width / 2 - 100, e.Bounds.Top + 45, e.Bounds.Right - 5, e.Bounds.Height - 5);
+                var str = "鏆傛湭鏌ユ壘鍒板尮閰嶇殑鏁版嵁!";
+                var f = new Font("寰蒋闆呴粦", 16);
+                var r = new Rectangle(gridView1.GridControl.Width / 2 - 100,
+                    e.Bounds.Top + 45, e.Bounds.Right - 5, e.Bounds.Height - 5);
                 e.Graphics.DrawString(str, f, Brushes.Gray, r);
             };
         }
 
         /// <summary>
-        /// 鍙屽嚮浜嬩欢
+        ///     鍙屽嚮浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void GcMain_MouseDoubleClick(object sender, MouseEventArgs e)
         {
-            string rowGuid = Gs.DevApp.ToolBox.UtilityHelper.GetCurrentDoubleRow(gridView1, e, "guid");
+            var rowGuid =
+                UtilityHelper.GetCurrentDoubleRow(gridView1, e, "guid");
             if (!string.IsNullOrEmpty(rowGuid))
                 getModel(rowGuid, false, 999);
         }
+
         /// <summary>
-        /// 鍒嗛〉浜嬩欢
+        ///     鍒嗛〉浜嬩欢
         /// </summary>
         /// <param name="curPage"></param>
         /// <param name="pageSize"></param>
@@ -68,19 +73,21 @@
         {
             getPageList(curPage, pageSize);
         }
+
         /// <summary>
-        /// 鏌ヨ浜嬩欢
+        ///     鏌ヨ浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnQueryClick(object sender, EventArgs e)
         {
-            Gs.DevApp.UserControl.ShowFilter frm = new Gs.DevApp.UserControl.ShowFilter(gridView1.Columns, _filterList);
+            var frm = new ShowFilter(gridView1.Columns, _filterList);
             frm.UpdateParent += Frm_UpdateParent;
             frm.ShowDialog();
         }
+
         /// <summary>
-        /// 鏌ヨ鍥炶皟
+        ///     鏌ヨ鍥炶皟
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -89,33 +96,38 @@
             _filterList = e.FilterList;
             getPageList(1, pageBar1.RowsCount);
         }
+
         /// <summary>
-        /// 鍙嶅鏍�
+        ///     鍙嶅鏍�
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         /// <exception cref="NotImplementedException"></exception>
         private void ToolBarMenu1_btnFChkClick(object sender, EventArgs e)
         {
-            this.toolBarMenu1.guidKey = "";
+            toolBarMenu1.guidKey = "";
             string rowGuid, rowName;
-            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_depotName, gridView1);
-            this.toolBarMenu1.guidKey = rowGuid;
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1,
+                lbGuid, txt_depotName, gridView1);
+            toolBarMenu1.guidKey = rowGuid;
         }
+
         /// <summary>
-        /// 瀹℃牳浜嬩欢
+        ///     瀹℃牳浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnChkClick(object sender, EventArgs e)
         {
-            this.toolBarMenu1.guidKey = "";
+            toolBarMenu1.guidKey = "";
             string rowGuid, rowName;
-            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_depotName, gridView1);
-            this.toolBarMenu1.guidKey = rowGuid;
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1,
+                lbGuid, txt_depotName, gridView1);
+            toolBarMenu1.guidKey = rowGuid;
         }
+
         /// <summary>
-        /// 鍙栨秷浜嬩欢
+        ///     鍙栨秷浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -125,43 +137,48 @@
         }
 
         /// <summary>
-        /// 鍒犻櫎浜嬩欢
+        ///     鍒犻櫎浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnDelClick1(object sender, EventArgs e)
         {
             string rowGuid = "", rowName = "";
-            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_depotCode, gridView1);
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1,
+                lbGuid, txt_depotCode, gridView1);
             if (string.IsNullOrEmpty(rowGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + rowName + "銆戯紝纭畾鍒犻櫎鍚楋紵"))
                 return;
-            List<dynamic> lst = new List<dynamic>();
+            var lst = new List<dynamic>();
             lst.Add(rowGuid);
             var _obj = lst;
             try
             {
-                string strJson = UtilityHelper.HttpPost("", _webServiceName + "DeleteModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                var strJson = UtilityHelper.HttpPost("",
+                    _webServiceName + "DeleteModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
                     UtilityHelper.JumpToTab(xtraTabControl1, 0);
                     getPageList(1, UtilityHelper.GetPageSize());
                 }
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+
+                MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
 
         /// <summary>
-        /// 鍒锋柊浜嬩欢
+        ///     鍒锋柊浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -170,24 +187,28 @@
             UtilityHelper.JumpToTab(xtraTabControl1, 0);
             getPageList(1, UtilityHelper.GetPageSize());
         }
+
         /// <summary>
-        /// 淇敼浜嬩欢
+        ///     淇敼浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnEdtClick(object sender, EventArgs e)
         {
             string rowGuid = "", rowName = "";
-            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_depotCode, gridView1);
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1,
+                lbGuid, txt_depotCode, gridView1);
             if (string.IsNullOrEmpty(rowGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             getModel(rowGuid, true, 1);
         }
+
         /// <summary>
-        /// 鏂板浜嬩欢
+        ///     鏂板浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -195,13 +216,14 @@
         {
             UtilityHelper.JumpToTab(xtraTabControl1, 1);
             lbGuid.Text = "";
-            List<DevExpress.XtraGrid.Views.Grid.GridView> gridViews = new List<DevExpress.XtraGrid.Views.Grid.GridView>();
+            var gridViews = new List<GridView>();
             gridViews.Add(gvMx1);
-            UtilityHelper.CleanValueByControl(this.panel1.Controls, true, gridViews);
-            Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gcMx1, gvMx1);
+            UtilityHelper.CleanValueByControl(panel1.Controls, true, gridViews);
+            UtilityHelper.SetDefaultTable(gcMx1, gvMx1);
         }
+
         /// <summary>
-        /// 淇濆瓨浜嬩欢
+        ///     淇濆瓨浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -210,35 +232,38 @@
             toolBarMenu1.isSetBtn = false;
             if (string.IsNullOrEmpty(txt_depotCode.Text.Trim()))
             {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("浠撳簱缂栫爜涓嶈兘涓虹┖锛�");
+                MsgHelper.Warning("浠撳簱缂栫爜涓嶈兘涓虹┖锛�");
                 txt_depotCode.Focus();
                 return;
             }
+
             if (string.IsNullOrEmpty(txt_depotName.Text.Trim()))
             {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("浠撳簱鍚嶇О涓嶈兘涓虹┖锛�");
+                MsgHelper.Warning("浠撳簱鍚嶇О涓嶈兘涓虹┖锛�");
                 txt_depotName.Focus();
                 return;
             }
+
             gvMx1.CloseEditor();
             gvMx1.UpdateCurrentRow();
-            List<MES.Service.Modes.MesDepotSections> lst = new List<MES.Service.Modes.MesDepotSections>();
-            for (int i = 0; i < gvMx1.DataRowCount; i++)
+            var lst = new List<MesDepotSections>();
+            for (var i = 0; i < gvMx1.DataRowCount; i++)
             {
-                DataRow row = gvMx1.GetDataRow(i);
+                var row = gvMx1.GetDataRow(i);
                 if (row != null)
-                {
-                    lst.Add(new MES.Service.Modes.MesDepotSections
+                    lst.Add(new MesDepotSections
                     {
                         Guid = null,
                         DepotSectionCode = row["depotSectionCode"].ToString(),
-                        DepotSectionName = row["DepotSectionName"].ToString(),
+                        DepotSectionName = row["DepotSectionName"].ToString()
                     });
-                }
             }
-            MES.Service.Modes.MesDepots _obj = new MES.Service.Modes.MesDepots()
+
+            var _obj = new MesDepots
             {
-                Guid = (lbGuid.Text.Trim().Length > 0 ? Guid.Parse(lbGuid.Text.Trim()) : Guid.Empty),
+                Guid = lbGuid.Text.Trim().Length > 0
+                    ? Guid.Parse(lbGuid.Text.Trim())
+                    : Guid.Empty,
                 DepotCode = txt_depotCode.Text,
                 DepotName = txt_depotName.Text,
                 Description = txt_description.Text,
@@ -247,86 +272,92 @@
 
             try
             {
-                string strJson = UtilityHelper.HttpPost("", _webServiceName + "EditModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                var strJson = UtilityHelper.HttpPost("",
+                    _webServiceName + "EditModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
+                MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
                 if (_rtn.rtnCode > 0)
                 {
                     lbGuid.Text = _rtn.rtnData;
                     toolBarMenu1.isSetBtn = true;
-                    UtilityHelper.ChangeEnableByControl(this.panel1.Controls, false);
+                    UtilityHelper.ChangeEnableByControl(panel1.Controls, false);
                 }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
 
         /// <summary>
-        /// 
         /// </summary>
         /// <param name="curPage">绗嚑椤�</param>
         /// <param name="pageSize">姣忛〉鍑犳潯</param>
         private void getPageList(int curPage, int pageSize)
         {
-            System.Text.StringBuilder _sbSqlWhere = new System.Text.StringBuilder();
-            foreach (FilterEntity itm in _filterList)
-            {
-                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'");
-            }
-            PageQueryModel pgq = new PageQueryModel(curPage, pageSize, "depot_code", "asc", "", _sbSqlWhere.ToString());
-            string json = JsonConvert.SerializeObject(pgq);
+            var _sbSqlWhere = new StringBuilder();
+            foreach (var itm in _filterList)
+                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" +
+                                   itm.fileValue + "'");
+            var pgq = new PageQueryModel(curPage, pageSize, "depot_code", "asc",
+                "", _sbSqlWhere.ToString());
+            var json = JsonConvert.SerializeObject(pgq);
             try
             {
-                string strReturn = UtilityHelper.HttpPost("", _webServiceName + "GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
-                DataTable dt = dd.rtnData.list;
+                var strReturn = UtilityHelper.HttpPost("",
+                    _webServiceName + "GetListPage", json);
+                var dd = UtilityHelper.ReturnToTablePage(strReturn);
+                var dt = dd.rtnData.list;
                 gcMain.BindingContext = new BindingContext();
                 gcMain.DataSource = dt;
                 gcMain.ForceInitialize();
-                int dddd = dd.rtnData.pages;//鎬婚〉
+                var dddd = dd.rtnData.pages; //鎬婚〉
                 pageBar1.TotalPages = dddd;
-                pageBar1.RecordCount = dd.rtnData.total;//璁板綍鎬绘暟
-                pageBar1.CurrentPage = curPage;//褰撳墠椤�
-                pageBar1.RowsCount = pageSize;//姣忛〉鏄剧ず
+                pageBar1.RecordCount = dd.rtnData.total; //璁板綍鎬绘暟
+                pageBar1.CurrentPage = curPage; //褰撳墠椤�
+                pageBar1.RowsCount = pageSize; //姣忛〉鏄剧ず
                 pageBar1.setTxt();
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
+
         private void getModel(string strGuid, bool isEdit, int tabIdx)
         {
             if (string.IsNullOrEmpty(strGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             UtilityHelper.JumpToTab(xtraTabControl1, tabIdx);
             var _obj = new
             {
-                guid = strGuid,//涓诲缓
+                guid = strGuid //涓诲缓
             };
             try
             {
-                string strJson = UtilityHelper.HttpPost("", _webServiceName + "GetModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                var strJson = UtilityHelper.HttpPost("",
+                    _webServiceName + "GetModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
-                    dynamic dy = _rtn.rtnData;
+                    var dy = _rtn.rtnData;
                     lbGuid.Text = strGuid;
-                    List<DevExpress.XtraGrid.Views.Grid.GridView> gvList = new List<DevExpress.XtraGrid.Views.Grid.GridView>();
+                    var gvList = new List<GridView>();
                     gvList.Add(gvMx1);
-                    UtilityHelper.SetValueByObj(this.panel1.Controls, dy, isEdit, gvList);
-                    JObject _job = JObject.Parse(strJson);
-                    JArray array = new JArray();
-                    foreach (var a in _job["rtnData"]["list"])
-                    {
-                        array.Add(a);
-                    }
-                    DataTable dt = JsonConvert.DeserializeObject<DataTable>(array.ToString());
+                    UtilityHelper.SetValueByObj(panel1.Controls, dy, isEdit,
+                        gvList);
+                    var _job = JObject.Parse(strJson);
+                    var array = new JArray();
+                    foreach (var a in _job["rtnData"]["list"]) array.Add(a);
+                    var dt =
+                        JsonConvert.DeserializeObject<DataTable>(
+                            array.ToString());
                     if (dt.Rows.Count > 0)
                     {
                         gcMx1.BindingContext = new BindingContext();
@@ -335,45 +366,47 @@
                     }
                     else
                     {
-                        Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gcMx1, gvMx1);
+                        UtilityHelper.SetDefaultTable(gcMx1, gvMx1);
                     }
                 }
                 else
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                {
+                    MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
 
-        private void repositoryItemButtonEdit1_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
+        private void repositoryItemButtonEdit1_ButtonClick(object sender,
+            ButtonPressedEventArgs e)
         {
-            int rowhandle = gvMx1.FocusedRowHandle;
+            var rowhandle = gvMx1.FocusedRowHandle;
             if (rowhandle < 0)
                 return;
             if (e.Button.Index == 0)
             {
-                DataRow dr = gvMx1.GetDataRow(rowhandle);
-                string mxGuid = dr["guid"].ToString();
+                var dr = gvMx1.GetDataRow(rowhandle);
+                var mxGuid = dr["guid"].ToString();
                 if (!MsgHelper.AskQuestion("浣犻�夋嫨浜�1鏉℃暟鎹紝纭畾鍒犻櫎鍚楋紵"))
                     return;
-                string strJson = "";
-                List<string> lst = new List<string>();
+                var strJson = "";
+                var lst = new List<string>();
                 lst.Add(mxGuid);
                 try
                 {
-                    strJson = UtilityHelper.HttpPost("", _webServiceName + "DeleteModelMx", JsonConvert.SerializeObject(lst));
-                    ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
-                    if (_rtn.rtnCode > 0)
-                    {
-                        getModel(lbGuid.Text, true, 1);
-                    }
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                    strJson = UtilityHelper.HttpPost("",
+                        _webServiceName + "DeleteModelMx",
+                        JsonConvert.SerializeObject(lst));
+                    var _rtn = UtilityHelper.ReturnToDynamic(strJson);
+                    if (_rtn.rtnCode > 0) getModel(lbGuid.Text, true, 1);
+                    MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
                 }
                 catch (Exception ex)
                 {
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                    MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
                 }
             }
         }
diff --git a/DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_MesDepot.resx b/DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_MesDepot.resx
index d58980a..4795337 100644
--- a/DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_MesDepot.resx
+++ b/DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_MesDepot.resx
@@ -1,120 +1,134 @@
 <?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
             <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
             </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_MesInvItemArn.cs b/DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_MesInvItemArn.cs
index 5f935af..0d757e2 100644
--- a/DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_MesInvItemArn.cs
+++ b/DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_MesInvItemArn.cs
@@ -1,67 +1,71 @@
-using DevExpress.XtraGrid.Views.Base.ViewInfo;
-using DevExpress.XtraGrid.Views.Grid;
-using DevExpress.XtraGrid.Views.Grid.ViewInfo;
-using Gs.DevApp.Entity;
-using Gs.DevApp.ToolBox;
-using MES.Service.Modes;
-using Newtonsoft.Json;
-using Newtonsoft.Json.Linq;
 using System;
 using System.Collections.Generic;
 using System.Data;
 using System.Drawing;
+using System.Text;
 using System.Windows.Forms;
+using DevExpress.XtraEditors;
+using DevExpress.XtraEditors.Controls;
+using DevExpress.XtraGrid.Views.Grid;
+using Gs.DevApp.Entity;
+using Gs.DevApp.ToolBox;
+using Gs.DevApp.UserControl;
+using MES.Service.Modes;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 
 namespace Gs.DevApp.DevFrm
 {
-    public partial class Frm_MesInvItemArn : DevExpress.XtraEditors.XtraForm
+    public partial class Frm_MesInvItemArn : XtraForm
     {
-        string _webServiceName = "MesInvItemArnManager/";
-        List<FilterEntity> _filterList = new List<FilterEntity>();
+        private List<FilterEntity> _filterList = new List<FilterEntity>();
+        private readonly string _webServiceName = "MesInvItemArnManager/";
+
         public Frm_MesInvItemArn()
         {
             InitializeComponent();
-            this.toolBarMenu1.btnAddClick += ToolBarMenu1_btnAddClick;
-            this.toolBarMenu1.btnEdtClick += ToolBarMenu1_btnEdtClick;
-            this.toolBarMenu1.btnSaveClick += ToolBarMenu1_btnSaveClick;
-            this.toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
-            this.toolBarMenu1.btnDelClick += ToolBarMenu1_btnDelClick1;
-            this.toolBarMenu1.btnEscClick += ToolBarMenu1_btnEscClick;
-            this.toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
-            this.toolBarMenu1.btnJianYanClick += ToolBarMenu1_btnJianYanClick;
-            this.toolBarMenu1.btnFjianYanClick += ToolBarMenu1_btnFjianYanClick;
+            toolBarMenu1.btnAddClick += ToolBarMenu1_btnAddClick;
+            toolBarMenu1.btnEdtClick += ToolBarMenu1_btnEdtClick;
+            toolBarMenu1.btnSaveClick += ToolBarMenu1_btnSaveClick;
+            toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
+            toolBarMenu1.btnDelClick += ToolBarMenu1_btnDelClick1;
+            toolBarMenu1.btnEscClick += ToolBarMenu1_btnEscClick;
+            toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
+            toolBarMenu1.btnJianYanClick += ToolBarMenu1_btnJianYanClick;
+            toolBarMenu1.btnFjianYanClick += ToolBarMenu1_btnFjianYanClick;
             gcMain.MouseDoubleClick += GcMain_MouseDoubleClick;
             getPageList(1, UtilityHelper.GetPageSize());
             pageBar1.PagerEvent += PageBar1_PagerEvent;
             gridView1.CustomDrawRowIndicator += (s, e) =>
             {
                 if (e.Info.IsRowIndicator && e.RowHandle >= 0)
-                {
                     e.Info.DisplayText = (e.RowHandle + 1).ToString();
-                }
             };
             gridView1.CustomDrawEmptyForeground += (s, e) =>
             {
-                string str = "鏆傛湭鏌ユ壘鍒板尮閰嶇殑鏁版嵁!";
-                Font f = new Font("寰蒋闆呴粦", 16);
-                Rectangle r = new Rectangle(gridView1.GridControl.Width / 2 - 100, e.Bounds.Top + 45, e.Bounds.Right - 5, e.Bounds.Height - 5);
+                var str = "鏆傛湭鏌ユ壘鍒板尮閰嶇殑鏁版嵁!";
+                var f = new Font("寰蒋闆呴粦", 16);
+                var r = new Rectangle(gridView1.GridControl.Width / 2 - 100,
+                    e.Bounds.Top + 45, e.Bounds.Right - 5, e.Bounds.Height - 5);
                 e.Graphics.DrawString(str, f, Brushes.Gray, r);
             };
             ucLookSupplier1.EditChanged += (s, e) =>
             {
-                var ddd = this.ucLookSupplier1.GetValue();
-              //  lbSupplierName.Text = ddd[1];
+                var ddd = ucLookSupplier1.GetValue();
+                //  lbSupplierName.Text = ddd[1];
             };
             btnSelect.Click += (s, e) =>
             {
-                Gs.DevApp.UserControl.SelectCgMx frm = new UserControl.SelectCgMx();
+                var frm = new SelectCgMx();
                 frm.UpdateParent += (ss, ee) =>
                 {
-                    List<string> lst = new List<string>();
+                    var lst = new List<string>();
                     lst = ee.StringList;
                     var _obj = lst;
-                    string strReturn = UtilityHelper.HttpPost("", "MesInvItemArnDetailManager/GetListPageByCgmxGuid", JsonConvert.SerializeObject(_obj));
-                    ReturnModel<DataTable> dt = UtilityHelper.ReturnToList(strReturn);
+                    var strReturn = UtilityHelper.HttpPost("",
+                        "MesInvItemArnDetailManager/GetListPageByCgmxGuid",
+                        JsonConvert.SerializeObject(_obj));
+                    var dt = UtilityHelper.ReturnToList(strReturn);
                     gcMx1.BindingContext = new BindingContext();
                     gcMx1.DataSource = dt.rtnData;
                     gcMx1.ForceInitialize();
@@ -70,10 +74,9 @@
             };
             ucLookCk1.EditChanged += (s, e) =>
             {
-                var ddd = this.ucLookCk1.GetValue();
+                var ddd = ucLookCk1.GetValue();
                 //lbCkName.Text = ddd[1];
             };
-
         }
 
         private void ToolBarMenu1_btnFjianYanClick1(object sender, EventArgs e)
@@ -82,45 +85,50 @@
         }
 
         /// <summary>
-        /// 鍙嶆楠�
+        ///     鍙嶆楠�
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         /// <exception cref="NotImplementedException"></exception>
         private void ToolBarMenu1_btnFjianYanClick(object sender, EventArgs e)
         {
-            this.toolBarMenu1.guidKey = "";
+            toolBarMenu1.guidKey = "";
             string rowGuid, rowName;
-            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_billNo, gridView1);
-            this.toolBarMenu1.guidKey = rowGuid;
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1,
+                lbGuid, txt_billNo, gridView1);
+            toolBarMenu1.guidKey = rowGuid;
         }
+
         /// <summary>
-        /// 妫�楠�
+        ///     妫�楠�
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         /// <exception cref="NotImplementedException"></exception>
         private void ToolBarMenu1_btnJianYanClick(object sender, EventArgs e)
         {
-            this.toolBarMenu1.guidKey = "";
+            toolBarMenu1.guidKey = "";
             string rowGuid, rowName;
-            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_billNo, gridView1);
-            this.toolBarMenu1.guidKey = rowGuid;
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1,
+                lbGuid, txt_billNo, gridView1);
+            toolBarMenu1.guidKey = rowGuid;
         }
 
         /// <summary>
-        /// 鍙屽嚮浜嬩欢
+        ///     鍙屽嚮浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void GcMain_MouseDoubleClick(object sender, MouseEventArgs e)
         {
-            string rowGuid = Gs.DevApp.ToolBox.UtilityHelper.GetCurrentDoubleRow(gridView1, e, "guid");
+            var rowGuid =
+                UtilityHelper.GetCurrentDoubleRow(gridView1, e, "guid");
             if (!string.IsNullOrEmpty(rowGuid))
                 getModel(rowGuid, false, 999);
         }
+
         /// <summary>
-        /// 鍒嗛〉浜嬩欢
+        ///     鍒嗛〉浜嬩欢
         /// </summary>
         /// <param name="curPage"></param>
         /// <param name="pageSize"></param>
@@ -128,19 +136,21 @@
         {
             getPageList(curPage, pageSize);
         }
+
         /// <summary>
-        /// 鏌ヨ浜嬩欢
+        ///     鏌ヨ浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnQueryClick(object sender, EventArgs e)
         {
-            Gs.DevApp.UserControl.ShowFilter frm = new Gs.DevApp.UserControl.ShowFilter(gridView1.Columns, _filterList);
+            var frm = new ShowFilter(gridView1.Columns, _filterList);
             frm.UpdateParent += Frm_UpdateParent;
             frm.ShowDialog();
         }
+
         /// <summary>
-        /// 鏌ヨ鍥炶皟
+        ///     鏌ヨ鍥炶皟
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -151,7 +161,7 @@
         }
 
         /// <summary>
-        /// 鍙栨秷浜嬩欢
+        ///     鍙栨秷浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -161,43 +171,48 @@
         }
 
         /// <summary>
-        /// 鍒犻櫎浜嬩欢
+        ///     鍒犻櫎浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnDelClick1(object sender, EventArgs e)
         {
             string rowGuid = "", rowName = "";
-            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_billNo, gridView1);
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1,
+                lbGuid, txt_billNo, gridView1);
             if (string.IsNullOrEmpty(rowGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + rowName + "銆戯紝纭畾鍒犻櫎鍚楋紵"))
                 return;
-            List<dynamic> lst = new List<dynamic>();
+            var lst = new List<dynamic>();
             lst.Add(rowGuid);
             var _obj = lst;
             try
             {
-                string strJson = UtilityHelper.HttpPost("", _webServiceName + "DeleteModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                var strJson = UtilityHelper.HttpPost("",
+                    _webServiceName + "DeleteModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
                     UtilityHelper.JumpToTab(xtraTabControl1, 0);
                     getPageList(1, UtilityHelper.GetPageSize());
                 }
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+
+                MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
 
         /// <summary>
-        /// 鍒锋柊浜嬩欢
+        ///     鍒锋柊浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -206,24 +221,28 @@
             UtilityHelper.JumpToTab(xtraTabControl1, 0);
             getPageList(1, UtilityHelper.GetPageSize());
         }
+
         /// <summary>
-        /// 淇敼浜嬩欢
+        ///     淇敼浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnEdtClick(object sender, EventArgs e)
         {
             string rowGuid = "", rowName = "";
-            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_billNo, gridView1);
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1,
+                lbGuid, txt_billNo, gridView1);
             if (string.IsNullOrEmpty(rowGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             getModel(rowGuid, true, 1);
         }
+
         /// <summary>
-        /// 鏂板浜嬩欢
+        ///     鏂板浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -231,52 +250,56 @@
         {
             UtilityHelper.JumpToTab(xtraTabControl1, 1);
             lbGuid.Text = "";
-            List<DevExpress.XtraGrid.Views.Grid.GridView> gridViews = new List<DevExpress.XtraGrid.Views.Grid.GridView>();
+            var gridViews = new List<GridView>();
             gridViews.Add(gvMx1);
-            UtilityHelper.CleanValueByControl(this.panel1.Controls, true, gridViews);
-            Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gcMx1, gvMx1);
+            UtilityHelper.CleanValueByControl(panel1.Controls, true, gridViews);
+            UtilityHelper.SetDefaultTable(gcMx1, gvMx1);
         }
+
         /// <summary>
-        /// 淇濆瓨浜嬩欢
+        ///     淇濆瓨浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnSaveClick(object sender, EventArgs e)
         {
             toolBarMenu1.isSetBtn = false;
-            string _ckCode = ucLookCk1.GetValue()[2];//浠撳簱缂栧彿 depots_code
-            string _gysCode = ucLookSupplier1.GetValue()[2];//渚涘簲鍟嗙紪鍙�
+            var _ckCode = ucLookCk1.GetValue()[2]; //浠撳簱缂栧彿 depots_code
+            var _gysCode = ucLookSupplier1.GetValue()[2]; //渚涘簲鍟嗙紪鍙�
             if (string.IsNullOrEmpty(_ckCode))
             {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("璇烽�夋嫨浠撳簱锛�");
+                MsgHelper.Warning("璇烽�夋嫨浠撳簱锛�");
                 ucLookCk1.Focus();
                 return;
             }
+
             if (string.IsNullOrEmpty(_gysCode))
             {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("璇烽�夋嫨渚涘簲鍟嗭紒");
+                MsgHelper.Warning("璇烽�夋嫨渚涘簲鍟嗭紒");
                 ucLookSupplier1.Focus();
                 return;
             }
+
             if (string.IsNullOrEmpty(txt_paperBillNo.Text.Trim()))
             {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("璇烽�夋嫨閫佽揣鍗曞彿锛�");
+                MsgHelper.Warning("璇烽�夋嫨閫佽揣鍗曞彿锛�");
                 txt_paperBillNo.Focus();
                 return;
             }
-            MesInvItemArn _obj = new MesInvItemArn();
-            _obj.Guid = null;//鍒拌揣鍗曚富閿�
-            _obj.PaperBillNo = txt_paperBillNo.Text.Trim();//閫佽揣鍗曞彿;
-            _obj.Remark = "";//澶囨敞
-            _obj.SuppNo = _gysCode;//渚涘簲鍟嗙紪鍙�
-            _obj.DepotsCode = _ckCode;//浠撳簱缂栧彿 depots_code
+
+            var _obj = new MesInvItemArn();
+            _obj.Guid = null; //鍒拌揣鍗曚富閿�
+            _obj.PaperBillNo = txt_paperBillNo.Text.Trim(); //閫佽揣鍗曞彿;
+            _obj.Remark = ""; //澶囨敞
+            _obj.SuppNo = _gysCode; //渚涘簲鍟嗙紪鍙�
+            _obj.DepotsCode = _ckCode; //浠撳簱缂栧彿 depots_code
             _obj.FType = 1; //0=閲囪喘锛�1=濮斿
             _obj.list = new List<MesInvItemArnDetail>();
             gvMx1.CloseEditor();
             gvMx1.UpdateCurrentRow();
-            for (int i = 0; i < gvMx1.DataRowCount; i++)
+            for (var i = 0; i < gvMx1.DataRowCount; i++)
             {
-                DataRow row = gvMx1.GetDataRow(i);
+                var row = gvMx1.GetDataRow(i);
                 if (row != null)
                 {
                     Guid? _guid = null;
@@ -290,92 +313,99 @@
                         AboutGuid = Guid.Parse(row["aboutGuid"].ToString()),
                         ItemNo = row["itemNo"].ToString(),
                         //ItemId= int.Parse( row["itemId"].ToString()),
-                        Quantity = decimal.Parse(row["quantity"].ToString()),
+                        Quantity = decimal.Parse(row["quantity"].ToString())
                     });
                 }
             }
+
             try
             {
-                string strJson = UtilityHelper.HttpPost("", _webServiceName + "EditModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                var strJson = UtilityHelper.HttpPost("",
+                    _webServiceName + "EditModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
+                MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
                 if (_rtn.rtnCode > 0)
                 {
                     lbGuid.Text = _rtn.rtnData;
                     toolBarMenu1.isSetBtn = true;
-                    UtilityHelper.ChangeEnableByControl(this.panel1.Controls, false);
+                    UtilityHelper.ChangeEnableByControl(panel1.Controls, false);
                 }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
 
         /// <summary>
-        /// 
         /// </summary>
         /// <param name="curPage">绗嚑椤�</param>
         /// <param name="pageSize">姣忛〉鍑犳潯</param>
         private void getPageList(int curPage, int pageSize)
         {
-            System.Text.StringBuilder _sbSqlWhere = new System.Text.StringBuilder();
-            foreach (FilterEntity itm in _filterList)
-            {
-                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'");
-            }
-            PageQueryModel pgq = new PageQueryModel(curPage, pageSize, "create_date", "asc", "", _sbSqlWhere.ToString());
-            string json = JsonConvert.SerializeObject(pgq);
+            var _sbSqlWhere = new StringBuilder();
+            foreach (var itm in _filterList)
+                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" +
+                                   itm.fileValue + "'");
+            var pgq = new PageQueryModel(curPage, pageSize, "create_date",
+                "asc", "", _sbSqlWhere.ToString());
+            var json = JsonConvert.SerializeObject(pgq);
             try
             {
-                string strReturn = UtilityHelper.HttpPost("", _webServiceName + "GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
-                DataTable dt = dd.rtnData.list;
+                var strReturn = UtilityHelper.HttpPost("",
+                    _webServiceName + "GetListPage", json);
+                var dd = UtilityHelper.ReturnToTablePage(strReturn);
+                var dt = dd.rtnData.list;
                 gcMain.BindingContext = new BindingContext();
                 gcMain.DataSource = dt;
                 gcMain.ForceInitialize();
-                int dddd = dd.rtnData.pages;//鎬婚〉
+                var dddd = dd.rtnData.pages; //鎬婚〉
                 pageBar1.TotalPages = dddd;
-                pageBar1.RecordCount = dd.rtnData.total;//璁板綍鎬绘暟
-                pageBar1.CurrentPage = curPage;//褰撳墠椤�
-                pageBar1.RowsCount = pageSize;//姣忛〉鏄剧ず
+                pageBar1.RecordCount = dd.rtnData.total; //璁板綍鎬绘暟
+                pageBar1.CurrentPage = curPage; //褰撳墠椤�
+                pageBar1.RowsCount = pageSize; //姣忛〉鏄剧ず
                 pageBar1.setTxt();
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
+
         private void getModel(string strGuid, bool isEdit, int tabIdx)
         {
             if (string.IsNullOrEmpty(strGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             UtilityHelper.JumpToTab(xtraTabControl1, tabIdx);
             var _obj = new
             {
-                guid = strGuid,//涓诲缓
+                guid = strGuid //涓诲缓
             };
             try
             {
-                string strJson = UtilityHelper.HttpPost("", _webServiceName + "GetModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                var strJson = UtilityHelper.HttpPost("",
+                    _webServiceName + "GetModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
-                    dynamic dy = _rtn.rtnData;
+                    var dy = _rtn.rtnData;
                     lbGuid.Text = strGuid;
-                    List<DevExpress.XtraGrid.Views.Grid.GridView> gvList = new List<DevExpress.XtraGrid.Views.Grid.GridView>();
+                    var gvList = new List<GridView>();
                     gvList.Add(gvMx1);
-                    UtilityHelper.SetValueByObj(this.panel1.Controls, dy, isEdit, gvList);
-                    JObject _job = JObject.Parse(strJson);
-                    JArray array = new JArray();
-                    foreach (var a in _job["rtnData"]["list"])
-                    {
-                        array.Add(a);
-                    }
-                    DataTable dt = JsonConvert.DeserializeObject<DataTable>(array.ToString());
+                    UtilityHelper.SetValueByObj(panel1.Controls, dy, isEdit,
+                        gvList);
+                    var _job = JObject.Parse(strJson);
+                    var array = new JArray();
+                    foreach (var a in _job["rtnData"]["list"]) array.Add(a);
+                    var dt =
+                        JsonConvert.DeserializeObject<DataTable>(
+                            array.ToString());
                     if (dt.Rows.Count > 0)
                     {
                         gcMx1.BindingContext = new BindingContext();
@@ -384,45 +414,47 @@
                     }
                     else
                     {
-                        Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gcMx1, gvMx1);
+                        UtilityHelper.SetDefaultTable(gcMx1, gvMx1);
                     }
                 }
                 else
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                {
+                    MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
 
-        private void repositoryItemButtonEdit1_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
+        private void repositoryItemButtonEdit1_ButtonClick(object sender,
+            ButtonPressedEventArgs e)
         {
-            int rowhandle = gvMx1.FocusedRowHandle;
+            var rowhandle = gvMx1.FocusedRowHandle;
             if (rowhandle < 0)
                 return;
             if (e.Button.Index == 0)
             {
-                DataRow dr = gvMx1.GetDataRow(rowhandle);
-                string mxGuid = dr["guid"].ToString();
+                var dr = gvMx1.GetDataRow(rowhandle);
+                var mxGuid = dr["guid"].ToString();
                 if (!MsgHelper.AskQuestion("浣犻�夋嫨浜�1鏉℃暟鎹紝纭畾鍒犻櫎鍚楋紵"))
                     return;
-                string strJson = "";
-                List<string> lst = new List<string>();
+                var strJson = "";
+                var lst = new List<string>();
                 lst.Add(mxGuid);
                 try
                 {
-                    strJson = UtilityHelper.HttpPost("", _webServiceName + "DeleteModelMx", JsonConvert.SerializeObject(lst));
-                    ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
-                    if (_rtn.rtnCode > 0)
-                    {
-                        getModel(lbGuid.Text, true, 1);
-                    }
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                    strJson = UtilityHelper.HttpPost("",
+                        _webServiceName + "DeleteModelMx",
+                        JsonConvert.SerializeObject(lst));
+                    var _rtn = UtilityHelper.ReturnToDynamic(strJson);
+                    if (_rtn.rtnCode > 0) getModel(lbGuid.Text, true, 1);
+                    MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
                 }
                 catch (Exception ex)
                 {
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                    MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
                 }
             }
         }
diff --git a/DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_MesInvItemArn.resx b/DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_MesInvItemArn.resx
index d58980a..4795337 100644
--- a/DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_MesInvItemArn.resx
+++ b/DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_MesInvItemArn.resx
@@ -1,120 +1,134 @@
 <?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
             <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
             </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_MesRohIn.cs b/DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_MesRohIn.cs
index adc2539..403e7f1 100644
--- a/DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_MesRohIn.cs
+++ b/DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_MesRohIn.cs
@@ -1,56 +1,62 @@
-using Gs.DevApp.Entity;
-using Gs.DevApp.ToolBox;
-using Newtonsoft.Json;
-using Newtonsoft.Json.Linq;
 using System;
 using System.Collections.Generic;
 using System.Data;
 using System.Drawing;
+using System.Text;
 using System.Windows.Forms;
+using DevExpress.XtraEditors;
+using DevExpress.XtraGrid.Views.Grid;
+using Gs.DevApp.Entity;
+using Gs.DevApp.ToolBox;
+using Gs.DevApp.UserControl;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 
 namespace Gs.DevApp.DevFrm
 {
-    public partial class Frm_MesRohIn : DevExpress.XtraEditors.XtraForm
+    public partial class Frm_MesRohIn : XtraForm
     {
-        string _webServiceName = "MesRohInManager/";
-        List<FilterEntity> _filterList = new List<FilterEntity>();
+        private List<FilterEntity> _filterList = new List<FilterEntity>();
+        private readonly string _webServiceName = "MesRohInManager/";
+
         public Frm_MesRohIn()
         {
             InitializeComponent();
-            this.toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
-            this.toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
+            toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
+            toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick;
             gcMain.MouseDoubleClick += GcMain_MouseDoubleClick;
             getPageList(1, UtilityHelper.GetPageSize());
             pageBar1.PagerEvent += PageBar1_PagerEvent;
             gridView1.CustomDrawRowIndicator += (s, e) =>
             {
                 if (e.Info.IsRowIndicator && e.RowHandle >= 0)
-                {
                     e.Info.DisplayText = (e.RowHandle + 1).ToString();
-                }
             };
             gridView1.CustomDrawEmptyForeground += (s, e) =>
             {
-                string str = "鏆傛湭鏌ユ壘鍒板尮閰嶇殑鏁版嵁!";
-                Font f = new Font("寰蒋闆呴粦", 16);
-                Rectangle r = new Rectangle(gridView1.GridControl.Width / 2 - 100, e.Bounds.Top + 45, e.Bounds.Right - 5, e.Bounds.Height - 5);
+                var str = "鏆傛湭鏌ユ壘鍒板尮閰嶇殑鏁版嵁!";
+                var f = new Font("寰蒋闆呴粦", 16);
+                var r = new Rectangle(gridView1.GridControl.Width / 2 - 100,
+                    e.Bounds.Top + 45, e.Bounds.Right - 5, e.Bounds.Height - 5);
                 e.Graphics.DrawString(str, f, Brushes.Gray, r);
             };
         }
 
         /// <summary>
-        /// 鍙屽嚮浜嬩欢
+        ///     鍙屽嚮浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void GcMain_MouseDoubleClick(object sender, MouseEventArgs e)
         {
-            string rowGuid = Gs.DevApp.ToolBox.UtilityHelper.GetCurrentDoubleRow(gridView1, e, "guid");
+            var rowGuid =
+                UtilityHelper.GetCurrentDoubleRow(gridView1, e, "guid");
             if (!string.IsNullOrEmpty(rowGuid))
                 getModel(rowGuid, false, 999);
         }
+
         /// <summary>
-        /// 鍒嗛〉浜嬩欢
+        ///     鍒嗛〉浜嬩欢
         /// </summary>
         /// <param name="curPage"></param>
         /// <param name="pageSize"></param>
@@ -58,19 +64,21 @@
         {
             getPageList(curPage, pageSize);
         }
+
         /// <summary>
-        /// 鏌ヨ浜嬩欢
+        ///     鏌ヨ浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void ToolBarMenu1_btnQueryClick(object sender, EventArgs e)
         {
-            Gs.DevApp.UserControl.ShowFilter frm = new Gs.DevApp.UserControl.ShowFilter(gridView1.Columns, _filterList);
+            var frm = new ShowFilter(gridView1.Columns, _filterList);
             frm.UpdateParent += Frm_UpdateParent;
             frm.ShowDialog();
         }
+
         /// <summary>
-        /// 鏌ヨ鍥炶皟
+        ///     鏌ヨ鍥炶皟
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -81,7 +89,7 @@
         }
 
         /// <summary>
-        /// 鍒锋柊浜嬩欢
+        ///     鍒锋柊浜嬩欢
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
@@ -92,69 +100,73 @@
         }
 
         /// <summary>
-        /// 
         /// </summary>
         /// <param name="curPage">绗嚑椤�</param>
         /// <param name="pageSize">姣忛〉鍑犳潯</param>
         private void getPageList(int curPage, int pageSize)
         {
-            System.Text.StringBuilder _sbSqlWhere = new System.Text.StringBuilder();
-            foreach (FilterEntity itm in _filterList)
-            {
-                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'");
-            }
-            PageQueryModel pgq = new PageQueryModel(curPage, pageSize, "create_date", "asc", "", _sbSqlWhere.ToString());
-            string json = JsonConvert.SerializeObject(pgq);
+            var _sbSqlWhere = new StringBuilder();
+            foreach (var itm in _filterList)
+                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" +
+                                   itm.fileValue + "'");
+            var pgq = new PageQueryModel(curPage, pageSize, "create_date",
+                "asc", "", _sbSqlWhere.ToString());
+            var json = JsonConvert.SerializeObject(pgq);
             try
             {
-                string strReturn = UtilityHelper.HttpPost("", _webServiceName + "GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
-                DataTable dt = dd.rtnData.list;
+                var strReturn = UtilityHelper.HttpPost("",
+                    _webServiceName + "GetListPage", json);
+                var dd = UtilityHelper.ReturnToTablePage(strReturn);
+                var dt = dd.rtnData.list;
                 gcMain.BindingContext = new BindingContext();
                 gcMain.DataSource = dt;
                 gcMain.ForceInitialize();
-                int dddd = dd.rtnData.pages;//鎬婚〉
+                var dddd = dd.rtnData.pages; //鎬婚〉
                 pageBar1.TotalPages = dddd;
-                pageBar1.RecordCount = dd.rtnData.total;//璁板綍鎬绘暟
-                pageBar1.CurrentPage = curPage;//褰撳墠椤�
-                pageBar1.RowsCount = pageSize;//姣忛〉鏄剧ず
+                pageBar1.RecordCount = dd.rtnData.total; //璁板綍鎬绘暟
+                pageBar1.CurrentPage = curPage; //褰撳墠椤�
+                pageBar1.RowsCount = pageSize; //姣忛〉鏄剧ず
                 pageBar1.setTxt();
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
+
         private void getModel(string strGuid, bool isEdit, int tabIdx)
         {
             if (string.IsNullOrEmpty(strGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
+
             UtilityHelper.JumpToTab(xtraTabControl1, tabIdx);
             var _obj = new
             {
-                guid = strGuid,//涓诲缓
+                guid = strGuid //涓诲缓
             };
             try
             {
-                string strJson = UtilityHelper.HttpPost("", _webServiceName + "GetModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                var strJson = UtilityHelper.HttpPost("",
+                    _webServiceName + "GetModel",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
-                    dynamic dy = _rtn.rtnData;
+                    var dy = _rtn.rtnData;
                     lbGuid.Text = strGuid;
-                    List<DevExpress.XtraGrid.Views.Grid.GridView> gvList = new List<DevExpress.XtraGrid.Views.Grid.GridView>();
+                    var gvList = new List<GridView>();
                     gvList.Add(gvMx1);
-                    UtilityHelper.SetValueByObj(this.panel1.Controls, dy, isEdit, gvList);
-                    JObject _job = JObject.Parse(strJson);
-                    JArray array = new JArray();
-                    foreach (var a in _job["rtnData"]["list"])
-                    {
-                        array.Add(a);
-                    }
-                    DataTable dt = JsonConvert.DeserializeObject<DataTable>(array.ToString());
+                    UtilityHelper.SetValueByObj(panel1.Controls, dy, isEdit,
+                        gvList);
+                    var _job = JObject.Parse(strJson);
+                    var array = new JArray();
+                    foreach (var a in _job["rtnData"]["list"]) array.Add(a);
+                    var dt =
+                        JsonConvert.DeserializeObject<DataTable>(
+                            array.ToString());
                     if (dt.Rows.Count > 0)
                     {
                         gcMx1.BindingContext = new BindingContext();
@@ -163,15 +175,17 @@
                     }
                     else
                     {
-                        Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gcMx1, gvMx1);
+                        UtilityHelper.SetDefaultTable(gcMx1, gvMx1);
                     }
                 }
                 else
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                {
+                    MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
     }
diff --git a/DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_MesRohIn.resx b/DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_MesRohIn.resx
index d58980a..4795337 100644
--- a/DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_MesRohIn.resx
+++ b/DevApp/Gs.DevApp/DevFrm/Warehouse/Frm_MesRohIn.resx
@@ -1,120 +1,134 @@
 <?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
             <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
             </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/Warehouse/Models/MesDepotSections.cs b/DevApp/Gs.DevApp/DevFrm/Warehouse/Models/MesDepotSections.cs
index 019993d..3bc46fb 100644
--- a/DevApp/Gs.DevApp/DevFrm/Warehouse/Models/MesDepotSections.cs
+++ b/DevApp/Gs.DevApp/DevFrm/Warehouse/Models/MesDepotSections.cs
@@ -1,97 +1,105 @@
 锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
 
 namespace MES.Service.Modes
 {
-
     public class MesDepotSections
     {
         /// <summary>
-        ///  
-        /// 榛樿鍊�: (newid())
-        ///</summary>
+        ///     榛樿鍊�: (newid())
+        /// </summary>
 
         public Guid? Guid { get; set; }
+
         /// <summary>
-        ///  
-        ///</summary>
+        /// </summary>
 
         public Guid? DepotGuid { get; set; }
+
         /// <summary>
-        /// ID(SEQ_INV_ID)锛圗RPID锛� 
-        ///</summary>
+        ///     ID(SEQ_INV_ID)锛圗RPID锛�
+        /// </summary>
 
         public int DepotSectionId { get; set; }
+
         /// <summary>
-        /// 璐т綅缂栫爜 
-        ///</summary>
+        ///     璐т綅缂栫爜
+        /// </summary>
 
         public string DepotSectionCode { get; set; }
+
         /// <summary>
-        /// 璐т綅鍚嶇О 
-        ///</summary>
+        ///     璐т綅鍚嶇О
+        /// </summary>
 
         public string DepotSectionName { get; set; }
+
         /// <summary>
-        /// 鍙備笌榻愬鏍¢獙(0:鍚�,1:鏄�) 
-        ///</summary>
+        ///     鍙備笌榻愬鏍¢獙(0:鍚�,1:鏄�)
+        /// </summary>
 
         public int? CompletenessFlag { get; set; }
+
         /// <summary>
-        /// 澶囨敞 
-        ///</summary>
+        ///     澶囨敞
+        /// </summary>
 
         public string Description { get; set; }
+
         /// <summary>
-        /// 鍒涘缓浜� 
-        ///</summary>
+        ///     鍒涘缓浜�
+        /// </summary>
 
         public string CreateBy { get; set; }
+
         /// <summary>
-        /// 鍒涘缓鏃堕棿 
-        ///</summary>
+        ///     鍒涘缓鏃堕棿
+        /// </summary>
 
         public DateTime? CreateDate { get; set; }
+
         /// <summary>
-        /// 鏈�鍚庢洿鏂颁汉 
-        ///</summary>
+        ///     鏈�鍚庢洿鏂颁汉
+        /// </summary>
 
         public string LastupdateBy { get; set; }
+
         /// <summary>
-        /// 鏈�鍚庢洿鏂版椂闂� 
-        ///</summary>
+        ///     鏈�鍚庢洿鏂版椂闂�
+        /// </summary>
 
         public DateTime? LastupdateDate { get; set; }
+
         /// <summary>
-        ///  
-        ///</summary>
+        /// </summary>
 
         public string Company { get; set; }
+
         /// <summary>
-        ///  
-        ///</summary>
+        /// </summary>
 
         public string Factory { get; set; }
+
         /// <summary>
-        /// 鍗℃澘鏁� 
-        ///</summary>
+        ///     鍗℃澘鏁�
+        /// </summary>
 
         public int? KbQty { get; set; }
+
         /// <summary>
-        /// 浠撲綅缁処D 
-        ///</summary>
+        ///     浠撲綅缁処D
+        /// </summary>
 
         public int? Zuid { get; set; }
+
         /// <summary>
-        /// 浠撲綅鍏ㄥ悕 
-        ///</summary>
+        ///     浠撲綅鍏ㄥ悕
+        /// </summary>
 
         public string DepotSectionNamet { get; set; }
+
         /// <summary>
-        ///  
-        ///</summary>
+        /// </summary>
 
         public int? Erpid { get; set; }
     }
-}
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/Warehouse/Models/MesDepots.cs b/DevApp/Gs.DevApp/DevFrm/Warehouse/Models/MesDepots.cs
index 3420e3d..5606db5 100644
--- a/DevApp/Gs.DevApp/DevFrm/Warehouse/Models/MesDepots.cs
+++ b/DevApp/Gs.DevApp/DevFrm/Warehouse/Models/MesDepots.cs
@@ -1,187 +1,208 @@
 锘縰sing System;
 using System.Collections.Generic;
-using System.Linq;
- 
+
 namespace MES.Service.Modes
 {
     /// <summary>
-    /// 
-    ///</summary>
- 
+    /// </summary>
     public class MesDepots
     {
         /// <summary>
-        ///  
-        /// 榛樿鍊�: (newid())
-        ///</summary>
- 
+        ///     榛樿鍊�: (newid())
+        /// </summary>
+
         public Guid? Guid { get; set; }
+
         /// <summary>
-        /// ID(SEQ_INV_ID) 
-        ///</summary>
- 
+        ///     ID(SEQ_INV_ID)
+        /// </summary>
+
         public int DepotId { get; set; }
+
         /// <summary>
-        /// 浠撳簱绫诲埆缂栫爜 
-        ///</summary>
- 
+        ///     浠撳簱绫诲埆缂栫爜
+        /// </summary>
+
         public string DepotCode { get; set; }
+
         /// <summary>
-        /// 浠撳簱绫诲埆鍚嶇О 
-        ///</summary>
- 
+        ///     浠撳簱绫诲埆鍚嶇О
+        /// </summary>
+
         public string DepotName { get; set; }
+
         /// <summary>
-        /// 澶囨敞 
-        ///</summary>
- 
+        ///     澶囨敞
+        /// </summary>
+
         public string Description { get; set; }
+
         /// <summary>
-        /// 浠撳簱璐熻矗浜� 
-        ///</summary>
- 
+        ///     浠撳簱璐熻矗浜�
+        /// </summary>
+
         public string CreateBy { get; set; }
+
         /// <summary>
-        /// 鍒涘缓鏃堕棿 
-        ///</summary>
- 
+        ///     鍒涘缓鏃堕棿
+        /// </summary>
+
         public DateTime? CreateDate { get; set; }
+
         /// <summary>
-        /// 鏈�鍚庢洿鏂颁汉 
-        ///</summary>
- 
+        ///     鏈�鍚庢洿鏂颁汉
+        /// </summary>
+
         public string LastupdateBy { get; set; }
+
         /// <summary>
-        /// 鏈�鍚庢洿鏂版椂闂� 
-        ///</summary>
- 
+        ///     鏈�鍚庢洿鏂版椂闂�
+        /// </summary>
+
         public DateTime? LastupdateDate { get; set; }
+
         /// <summary>
-        /// 浠撳簱绫诲瀷 
-        ///</summary>
- 
+        ///     浠撳簱绫诲瀷
+        /// </summary>
+
         public string Depottype { get; set; }
+
         /// <summary>
-        /// 鍒嗗巶缂栫爜 
-        ///</summary>
- 
+        ///     鍒嗗巶缂栫爜
+        /// </summary>
+
         public string Factory { get; set; }
+
         /// <summary>
-        /// 鐗╂枡浣跨敤 
-        /// 榛樿鍊�: ((0))
-        ///</summary>
- 
+        ///     鐗╂枡浣跨敤
+        ///     榛樿鍊�: ((0))
+        /// </summary>
+
         public int? Type1 { get; set; }
+
         /// <summary>
-        /// 鎴愬搧浣跨敤 
-        /// 榛樿鍊�: ((0))
-        ///</summary>
- 
+        ///     鎴愬搧浣跨敤
+        ///     榛樿鍊�: ((0))
+        /// </summary>
+
         public int? Type2 { get; set; }
+
         /// <summary>
-        /// 浠撳簱绫诲瀷缂栫爜 
-        ///</summary>
-    
+        ///     浠撳簱绫诲瀷缂栫爜
+        /// </summary>
+
         public int? Depottypecode { get; set; }
+
         /// <summary>
-        /// 鍏徃浠g爜 
-        ///</summary>
-   
+        ///     鍏徃浠g爜
+        /// </summary>
+
         public string Company { get; set; }
+
         /// <summary>
-        /// 鐪嬫澘鍥炬爣鏍峰紡 
-        ///</summary>
- 
+        ///     鐪嬫澘鍥炬爣鏍峰紡
+        /// </summary>
+
         public int? IconType { get; set; }
+
         /// <summary>
-        /// 鏄惁濮斿浠撳簱 
-        /// 榛樿鍊�: ((0))
-        ///</summary>
-    
+        ///     鏄惁濮斿浠撳簱
+        ///     榛樿鍊�: ((0))
+        /// </summary>
+
         public int? IsWy { get; set; }
+
         /// <summary>
-        /// 鏄惁涓嶈壇鍝佷粨 
-        /// 榛樿鍊�: ((0))
-        ///</summary>
- 
+        ///     鏄惁涓嶈壇鍝佷粨
+        ///     榛樿鍊�: ((0))
+        /// </summary>
+
         public string IsNg { get; set; }
+
         /// <summary>
-        /// 浠撳簱鍦板潃 
-        ///</summary>
- 
+        ///     浠撳簱鍦板潃
+        /// </summary>
+
         public string Cwhaddress { get; set; }
+
         /// <summary>
-        /// 鐪嬫澘鏄剧ず鍖哄煙缂栧彿 
-        /// 榛樿鍊�: ((1))
-        ///</summary>
- 
+        ///     鐪嬫澘鏄剧ず鍖哄煙缂栧彿
+        ///     榛樿鍊�: ((1))
+        /// </summary>
+
         public string PiType { get; set; }
+
         /// <summary>
-        /// 鍒嗙粍 
-        ///</summary>
- 
+        ///     鍒嗙粍
+        /// </summary>
+
         public string Zuid { get; set; }
+
         /// <summary>
-        /// 鍏佽鍗虫椂搴撳瓨璐熷簱瀛� 
-        ///</summary>
- 
+        ///     鍏佽鍗虫椂搴撳瓨璐熷簱瀛�
+        /// </summary>
+
         public string IsFkc { get; set; }
+
         /// <summary>
-        /// 鐢熶骇杞﹂棿 
-        ///</summary>
- 
+        ///     鐢熶骇杞﹂棿
+        /// </summary>
+
         public string ProductionWorkshop { get; set; }
+
         /// <summary>
-        /// 鐗╂枡灞炴�� 
-        ///</summary>
- 
+        ///     鐗╂枡灞炴��
+        /// </summary>
+
         public string MaterialProperti { get; set; }
+
         /// <summary>
-        /// 鍒涘缓缁勭粐 
-        ///</summary>
- 
+        ///     鍒涘缓缁勭粐
+        /// </summary>
+
         public int? CreateOrg { get; set; }
+
         /// <summary>
-        /// 浣跨敤缁勭粐 
-        ///</summary>
- 
+        ///     浣跨敤缁勭粐
+        /// </summary>
+
         public int? UseOrg { get; set; }
+
         /// <summary>
-        /// 鑷畾涔夊瓧娈�3 
-        ///</summary>
- 
+        ///     鑷畾涔夊瓧娈�3
+        /// </summary>
+
         public string Remark3 { get; set; }
+
         /// <summary>
-        /// 鑷畾涔夊瓧娈�4 
-        ///</summary>
- 
+        ///     鑷畾涔夊瓧娈�4
+        /// </summary>
+
         public string Remark4 { get; set; }
+
         /// <summary>
-        /// 鑷畾涔夊瓧娈�5 
-        ///</summary>
- 
+        ///     鑷畾涔夊瓧娈�5
+        /// </summary>
+
         public string Remark5 { get; set; }
 
 
         /// <summary>
-        ///  
-        ///</summary>
-   
+        /// </summary>
+
         public DateTime? CheckDate { get; set; }
+
         /// <summary>
-        ///  
-        ///</summary>
- 
+        /// </summary>
+
         public string CheckBy { get; set; }
+
         /// <summary>
-        ///  
-        ///</summary>
- 
+        /// </summary>
+
         public bool? CheckStatus { get; set; }
 
 
-
- 
         public List<MesDepotSections> list { get; set; }
     }
-}
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/Warehouse/Models/MesInvItemArn.cs b/DevApp/Gs.DevApp/DevFrm/Warehouse/Models/MesInvItemArn.cs
index a0226cb..880eabc 100644
--- a/DevApp/Gs.DevApp/DevFrm/Warehouse/Models/MesInvItemArn.cs
+++ b/DevApp/Gs.DevApp/DevFrm/Warehouse/Models/MesInvItemArn.cs
@@ -1,179 +1,216 @@
 锘縰sing System;
 using System.Collections.Generic;
 
-
 namespace MES.Service.Modes
 {
     /// <summary>
-    /// 
-    ///</summary>
+    /// </summary>
     public class MesInvItemArn
     {
         /// <summary>
-        /// 涓婚敭 
-        ///</summary>
+        ///     涓婚敭
+        /// </summary>
         public Guid? Guid { get; set; }
+
         /// <summary>
-        /// ID(SEQ_INV_ID) 
-        ///</summary>
+        ///     ID(SEQ_INV_ID)
+        /// </summary>
         public int Id { get; set; }
+
         /// <summary>
-        /// 鍒拌揣鍗曞彿 
-        ///</summary>
+        ///     鍒拌揣鍗曞彿
+        /// </summary>
         public string BillNo { get; set; }
+
         /// <summary>
-        /// 鐘舵�亅0-鏈鏍�1-瀹℃牳鍏ュ簱\缁撴 
-        /// 榛樿鍊�: ((0))
-        ///</summary>
+        ///     鐘舵�亅0-鏈鏍�1-瀹℃牳鍏ュ簱\缁撴
+        ///     榛樿鍊�: ((0))
+        /// </summary>
         public int? Status { get; set; }
+
         /// <summary>
-        /// 鍘熷洜 
-        ///</summary>
+        ///     鍘熷洜
+        /// </summary>
         public string Reason { get; set; }
+
         /// <summary>
-        /// 鍒涘缓浜� 
-        ///</summary>
+        ///     鍒涘缓浜�
+        /// </summary>
         public string CreateBy { get; set; }
+
         /// <summary>
-        /// 鍒涘缓鏃堕棿 
-        ///</summary>
+        ///     鍒涘缓鏃堕棿
+        /// </summary>
         public DateTime? CreateDate { get; set; }
+
         /// <summary>
-        /// 鏈�鍚庢洿鏂颁汉 
-        ///</summary>
+        ///     鏈�鍚庢洿鏂颁汉
+        /// </summary>
         public string LastupdateBy { get; set; }
+
         /// <summary>
-        /// 鏈�鍚庢洿鏂版椂闂� 
-        ///</summary>
+        ///     鏈�鍚庢洿鏂版椂闂�
+        /// </summary>
         public DateTime? LastupdateDate { get; set; }
+
         /// <summary>
-        /// 鍗曟嵁绫诲瀷ID 
-        ///</summary>
+        ///     鍗曟嵁绫诲瀷ID
+        /// </summary>
         public int? BillTypeId { get; set; }
+
         /// <summary>
-        /// 浜嬪姟绫诲瀷ID 
-        ///</summary>
+        ///     浜嬪姟绫诲瀷ID
+        /// </summary>
         public int? TransactionId { get; set; }
+
         /// <summary>
-        /// 澶囨敞 
-        ///</summary>
+        ///     澶囨敞
+        /// </summary>
         public string Remark { get; set; }
+
         /// <summary>
-        /// 閫佽揣鍗曞彿 
-        ///</summary>
+        ///     閫佽揣鍗曞彿
+        /// </summary>
         public string PaperBillNo { get; set; }
+
         /// <summary>
-        /// 閫�鏂欎汉宸ュ彿 
-        ///</summary>
+        ///     閫�鏂欎汉宸ュ彿
+        /// </summary>
         public string UserNoBack { get; set; }
+
         /// <summary>
-        /// 鎻愪氦浜� 
-        ///</summary>
+        ///     鎻愪氦浜�
+        /// </summary>
         public string CheckUser { get; set; }
+
         /// <summary>
-        /// 鎻愪氦鏃ユ湡 
-        ///</summary>
+        ///     鎻愪氦鏃ユ湡
+        /// </summary>
         public DateTime? CheckDate { get; set; }
+
         /// <summary>
-        /// 鍏ュ簱鏃ユ湡 
-        ///</summary>
+        ///     鍏ュ簱鏃ユ湡
+        /// </summary>
         public DateTime? InsDate { get; set; }
+
         /// <summary>
-        /// 妫�楠岀粨鏋� 
-        ///</summary>
+        ///     妫�楠岀粨鏋�
+        /// </summary>
         public string CheckRes { get; set; }
+
         /// <summary>
-        /// 宸叉崱鏁伴噺 
-        ///</summary>
+        ///     宸叉崱鏁伴噺
+        /// </summary>
         public int? CheckQty { get; set; }
+
         /// <summary>
-        /// 浠撳簱缂栫爜 
-        ///</summary>
+        ///     浠撳簱缂栫爜
+        /// </summary>
         public string DepotsCode { get; set; }
+
         /// <summary>
-        /// 浜嬪姟绫诲瀷缂栫爜 
-        ///</summary>
+        ///     浜嬪姟绫诲瀷缂栫爜
+        /// </summary>
         public string TransctionNo { get; set; }
+
         /// <summary>
-        /// 渚涘簲鍟嗙紪鐮� 
-        ///</summary>
+        ///     渚涘簲鍟嗙紪鐮�
+        /// </summary>
         public string SuppNo { get; set; }
+
         /// <summary>
-        /// 鎻愪氦鐘舵�� 
-        /// 榛樿鍊�: ((0))
-        ///</summary>
+        ///     鎻愪氦鐘舵��
+        ///     榛樿鍊�: ((0))
+        /// </summary>
         public int? Fstatus { get; set; }
+
         /// <summary>
-        /// 宸ュ巶缂栫爜 
-        ///</summary>
+        ///     宸ュ巶缂栫爜
+        /// </summary>
         public string Factory { get; set; }
+
         /// <summary>
-        /// 鏄惁宸插洖鍐橲AP 
-        /// 榛樿鍊�: ((0))
-        ///</summary>
+        ///     鏄惁宸插洖鍐橲AP
+        ///     榛樿鍊�: ((0))
+        /// </summary>
         public int? Sapstatus { get; set; }
+
         /// <summary>
-        /// 纭鍏ュ簱鏃ユ湡 
-        ///</summary>
+        ///     纭鍏ュ簱鏃ユ湡
+        /// </summary>
         public DateTime? Insdate { get; set; }
+
         /// <summary>
-        /// 鏄惁妫�楠� 
-        ///</summary>
+        ///     鏄惁妫�楠�
+        /// </summary>
         public int? Ischeck { get; set; }
+
         /// <summary>
-        /// 瀹℃牳鍏ュ簱浜� 
-        ///</summary>
+        ///     瀹℃牳鍏ュ簱浜�
+        /// </summary>
         public string Insby { get; set; }
+
         /// <summary>
-        /// 鍏徃浠g爜 
-        ///</summary>
+        ///     鍏徃浠g爜
+        /// </summary>
         public string Company { get; set; }
+
         /// <summary>
-        /// 鎬ユ枡鏍囪瘑 
-        /// 榛樿鍊�: ((0))
-        ///</summary>
+        ///     鎬ユ枡鏍囪瘑
+        ///     榛樿鍊�: ((0))
+        /// </summary>
         public int? UrgentFlag { get; set; }
+
         /// <summary>
-        /// 鍐查攢浜嬪姟绫诲瀷缂栫爜 
-        ///</summary>
+        ///     鍐查攢浜嬪姟绫诲瀷缂栫爜
+        /// </summary>
         public int? MttransctionNo { get; set; }
+
         /// <summary>
-        /// IQC妫�楠屽崟鍙� 
-        ///</summary>
+        ///     IQC妫�楠屽崟鍙�
+        /// </summary>
         public string IqcReleaseNo { get; set; }
+
         /// <summary>
-        /// 鏄惁鏄剧ず 
-        /// 榛樿鍊�: ((0))
-        ///</summary>
+        ///     鏄惁鏄剧ず
+        ///     榛樿鍊�: ((0))
+        /// </summary>
         public int? IsVisual { get; set; }
+
         /// <summary>
-        /// 0=閲囪喘锛�1=濮斿 
-        /// 榛樿鍊�: ((1))
-        ///</summary>
+        ///     0=閲囪喘锛�1=濮斿
+        ///     榛樿鍊�: ((1))
+        /// </summary>
         public int? FType { get; set; }
+
         /// <summary>
-        /// ERP鍒拌揣鍗旾D 
-        ///</summary>
+        ///     ERP鍒拌揣鍗旾D
+        /// </summary>
         public string EbelnK3id { get; set; }
+
         /// <summary>
-        /// 鏉$爜鏉″嵃杩涘害 
-        ///</summary>
+        ///     鏉$爜鏉″嵃杩涘害
+        /// </summary>
         public int? BarcodeRatio { get; set; }
+
         /// <summary>
-        /// ERP鍗曞彿 
-        ///</summary>
+        ///     ERP鍗曞彿
+        /// </summary>
         public string Erpno { get; set; }
+
         /// <summary>
-        /// 鏄惁宸查��璐�0-鏈��璐э紝1-閫�璐� 
-        ///</summary>
+        ///     鏄惁宸查��璐�0-鏈��璐э紝1-閫�璐�
+        /// </summary>
         public int? Thstatus { get; set; }
+
         /// <summary>
-        /// ERP閫�璐у崟鍙� 
-        ///</summary>
+        ///     ERP閫�璐у崟鍙�
+        /// </summary>
         public string Erpthno { get; set; }
+
         /// <summary>
-        /// 缁勭粐缂栫爜 
-        ///</summary>
+        ///     缁勭粐缂栫爜
+        /// </summary>
         public string OrganizeCode { get; set; }
 
         public List<MesInvItemArnDetail> list { get; set; }
diff --git a/DevApp/Gs.DevApp/DevFrm/Warehouse/Models/MesInvItemArnDetail.cs b/DevApp/Gs.DevApp/DevFrm/Warehouse/Models/MesInvItemArnDetail.cs
index 6f9f348..f9b5c61 100644
--- a/DevApp/Gs.DevApp/DevFrm/Warehouse/Models/MesInvItemArnDetail.cs
+++ b/DevApp/Gs.DevApp/DevFrm/Warehouse/Models/MesInvItemArnDetail.cs
@@ -1,188 +1,223 @@
 锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
 
 namespace MES.Service.Modes
 {
     /// <summary>
-    /// 
-    ///</summary>
+    /// </summary>
     public class MesInvItemArnDetail
     {
         /// <summary>
-        ///  
-        /// 榛樿鍊�: (newid())
-        ///</summary>
+        ///     榛樿鍊�: (newid())
+        /// </summary>
         public Guid? Guid { get; set; }
+
         /// <summary>
-        ///  
-        ///</summary>
+        /// </summary>
         public Guid? ParentGuid { get; set; }
+
         /// <summary>
-        ///  
-        ///</summary>
+        /// </summary>
         public Guid? AboutGuid { get; set; }
+
         /// <summary>
-        /// ID(SEQ_INV_ID) 
-        ///</summary>
+        ///     ID(SEQ_INV_ID)
+        /// </summary>
         public int Id { get; set; }
+
         /// <summary>
-        /// 涓昏〃ID 
-        ///</summary>
+        ///     涓昏〃ID
+        /// </summary>
         public int? Mid { get; set; }
+
         /// <summary>
-        /// 閲囪喘鍗曞彿 
-        ///</summary>
+        ///     閲囪喘鍗曞彿
+        /// </summary>
         public string Ebeln { get; set; }
+
         /// <summary>
-        /// 閲囪喘璁㈠崟琛屽彿 
-        ///</summary>
+        ///     閲囪喘璁㈠崟琛屽彿
+        /// </summary>
         public int? EbelnLine { get; set; }
+
         /// <summary>
-        /// 閲囪喘璁㈠崟鏁伴噺 
-        ///</summary>
+        ///     閲囪喘璁㈠崟鏁伴噺
+        /// </summary>
         public decimal? EbelnQty { get; set; }
+
         /// <summary>
-        /// 鐗╂枡缂栫爜 
-        ///</summary>
+        ///     鐗╂枡缂栫爜
+        /// </summary>
         public string ItemNo { get; set; }
+
         /// <summary>
-        /// 鏀惰揣鏁伴噺 
-        ///</summary>
+        ///     鏀惰揣鏁伴噺
+        /// </summary>
         public decimal? Quantity { get; set; }
+
         /// <summary>
-        /// 鍒涘缓浜� 
-        ///</summary>
+        ///     鍒涘缓浜�
+        /// </summary>
         public string CreateBy { get; set; }
+
         /// <summary>
-        /// 鍒涘缓鏃堕棿 
-        ///</summary>
+        ///     鍒涘缓鏃堕棿
+        /// </summary>
         public DateTime? CreateDate { get; set; }
+
         /// <summary>
-        /// 鏈�鍚庢洿鏂颁汉 
-        ///</summary>
+        ///     鏈�鍚庢洿鏂颁汉
+        /// </summary>
         public string LastupdateBy { get; set; }
+
         /// <summary>
-        /// 鏈�鍚庢洿鏂版椂闂� 
-        ///</summary>
+        ///     鏈�鍚庢洿鏂版椂闂�
+        /// </summary>
         public DateTime? LastupdateDate { get; set; }
+
         /// <summary>
-        /// 鍒嗗巶缂栫爜 
-        ///</summary>
+        ///     鍒嗗巶缂栫爜
+        /// </summary>
         public string Factory { get; set; }
+
         /// <summary>
-        /// 鍏徃浠g爜 
-        ///</summary>
+        ///     鍏徃浠g爜
+        /// </summary>
         public string Company { get; set; }
+
         /// <summary>
-        /// 閲囪喘鍗旾D 
-        ///</summary>
+        ///     閲囪喘鍗旾D
+        /// </summary>
         public int? EbelnK3id { get; set; }
+
         /// <summary>
-        /// 閲囪喘鍗曡ID 
-        ///</summary>
+        ///     閲囪喘鍗曡ID
+        /// </summary>
         public int? LineK3id { get; set; }
+
         /// <summary>
-        /// 鏈搴旀敹鏁伴噺 
-        ///</summary>
+        ///     鏈搴旀敹鏁伴噺
+        /// </summary>
         public decimal? SubQty { get; set; }
+
         /// <summary>
-        /// 浣欓噺 
-        ///</summary>
+        ///     浣欓噺
+        /// </summary>
         public int? MarginQty { get; set; }
+
         /// <summary>
-        /// 浠诲姟鍗曞彿 
-        ///</summary>
+        ///     浠诲姟鍗曞彿
+        /// </summary>
         public string WorkNo { get; set; }
+
         /// <summary>
-        /// 鎬ユ枡鏍囪瘑 
-        /// 榛樿鍊�: ((0))
-        ///</summary>
+        ///     鎬ユ枡鏍囪瘑
+        ///     榛樿鍊�: ((0))
+        /// </summary>
         public int? UrgentFlag { get; set; }
+
         /// <summary>
-        /// 澶囨敞 
-        ///</summary>
+        ///     澶囨敞
+        /// </summary>
         public string Memo { get; set; }
+
         /// <summary>
-        /// 妫�楠岀粨鏋� 
-        ///</summary>
+        ///     妫�楠岀粨鏋�
+        /// </summary>
         public string CheckRes { get; set; }
+
         /// <summary>
-        /// 妫�楠岀姸鎬�  锛堝緟妫�銆佸垎閫夈�佺壒閲囥�佸凡妫�锛� 
-        /// 榛樿鍊�: ('寰呮')
-        ///</summary>
+        ///     妫�楠岀姸鎬�  锛堝緟妫�銆佸垎閫夈�佺壒閲囥�佸凡妫�锛�
+        ///     榛樿鍊�: ('寰呮')
+        /// </summary>
         public string CheckStates { get; set; }
+
         /// <summary>
-        /// 鏀惰揣浣欓噺 
-        ///</summary>
+        ///     鏀惰揣浣欓噺
+        /// </summary>
         public int? QuantityM { get; set; }
+
         /// <summary>
-        /// 鏈搴旀敹浣欓噺 
-        ///</summary>
+        ///     鏈搴旀敹浣欓噺
+        /// </summary>
         public int? SubMqty { get; set; }
+
         /// <summary>
-        /// 妫�楠屾棩鏈� 
-        ///</summary>
+        ///     妫�楠屾棩鏈�
+        /// </summary>
         public DateTime? CheckDate { get; set; }
+
         /// <summary>
-        /// 鏄惁妫�楠� 
-        /// 榛樿鍊�: ((0))
-        ///</summary>
+        ///     鏄惁妫�楠�
+        ///     榛樿鍊�: ((0))
+        /// </summary>
         public int? Ischeck { get; set; }
+
         /// <summary>
-        /// 宸叉敹鏁伴噺 
-        ///</summary>
+        ///     宸叉敹鏁伴噺
+        /// </summary>
         public int? OkQty { get; set; }
+
         /// <summary>
-        /// 宸叉敹浣欓噺 
-        ///</summary>
+        ///     宸叉敹浣欓噺
+        /// </summary>
         public int? OkMqty { get; set; }
+
         /// <summary>
-        /// 浜у搧鍨嬪彿 
-        ///</summary>
+        ///     浜у搧鍨嬪彿
+        /// </summary>
         public string BoardStyle { get; set; }
+
         /// <summary>
-        /// 浠诲姟鍗曡鍙� 
-        ///</summary>
+        ///     浠诲姟鍗曡鍙�
+        /// </summary>
         public int? WorkLine { get; set; }
+
         /// <summary>
-        /// 0銆侀噰璐崟锛�1銆佸澶栧崟 
-        /// 榛樿鍊�: ((0))
-        ///</summary>
+        ///     0銆侀噰璐崟锛�1銆佸澶栧崟
+        ///     榛樿鍊�: ((0))
+        /// </summary>
         public int? FType { get; set; }
+
         /// <summary>
-        /// 鏄惁鍏ュ簱 
-        /// 榛樿鍊�: ((0))
-        ///</summary>
+        ///     鏄惁鍏ュ簱
+        ///     榛樿鍊�: ((0))
+        /// </summary>
         public int? IsdepsIn { get; set; }
+
         /// <summary>
-        /// 鍒拌揣鍗曞彿 
-        ///</summary>
+        ///     鍒拌揣鍗曞彿
+        /// </summary>
         public string Dha001 { get; set; }
+
         /// <summary>
-        /// 宸插叆搴撴暟閲� 
-        ///</summary>
+        ///     宸插叆搴撴暟閲�
+        /// </summary>
         public int? OkRkqty { get; set; }
+
         /// <summary>
-        /// 鍒拌揣鍗曞彿 
-        ///</summary>
+        ///     鍒拌揣鍗曞彿
+        /// </summary>
         public string CbillNo { get; set; }
+
         /// <summary>
-        /// 閲囪喘鍏ュ簱鏁伴噺 
-        ///</summary>
+        ///     閲囪喘鍏ュ簱鏁伴噺
+        /// </summary>
         public int? CgRkqty { get; set; }
+
         /// <summary>
-        /// 鐗╂枡ID 
-        ///</summary>
+        ///     鐗╂枡ID
+        /// </summary>
         public int? ItemId { get; set; }
+
         /// <summary>
-        /// 閫�璐ф爣璇� 
-        /// 榛樿鍊�: ((0))
-        ///</summary>
+        ///     閫�璐ф爣璇�
+        ///     榛樿鍊�: ((0))
+        /// </summary>
         public int? ReturnFlag { get; set; }
+
         /// <summary>
-        /// 鎺ㄩ�佺姸鎬� 
-        ///</summary>
+        ///     鎺ㄩ�佺姸鎬�
+        /// </summary>
         public string States { get; set; }
     }
-}
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/Entity/LoginInfoModel.cs b/DevApp/Gs.DevApp/Entity/LoginInfoModel.cs
index 0f57f03..d9962de 100644
--- a/DevApp/Gs.DevApp/Entity/LoginInfoModel.cs
+++ b/DevApp/Gs.DevApp/Entity/LoginInfoModel.cs
@@ -1,28 +1,27 @@
-锘縰sing System;
-
-
-namespace Gs.DevApp.Entity
+锘縩amespace Gs.DevApp.Entity
 {
     public class LoginInfoModel
     {
-        /// <summary>
-        /// 鐧诲綍鐢ㄦ埛鐨刧uid
-        /// </summary>
-        private string _LoginUserGuid = "";
-        public string LoginUserGuid { get { return _LoginUserGuid; } set { _LoginUserGuid = value; } }
-        /// <summary>
-        /// 鐧诲綍鐢ㄦ埛鐨勭粍缁� orgGuid
-        /// </summary>
-        private string _LoginOrgGuid = "";
-        public string LoginOrgGuid { get { return _LoginOrgGuid; } set { _LoginOrgGuid = value; } }
-        //鐧诲綍鏃堕棿
-        private string _LoginTime;
-        public string LoginTime { get { return _LoginTime; } set { _LoginTime = value; } }
+        private static LoginInfoModel _CurrentUser;
+
         //鐧诲綍缁勭粐缂栧彿
-        private string _loginFactory;
-        public string LoginFactory { get { return _loginFactory; } set { _loginFactory = value; } }
-        
-        private static LoginInfoModel _CurrentUser = null;
+
+        //鐧诲綍鏃堕棿
+
+        /// <summary>
+        ///     鐧诲綍鐢ㄦ埛鐨刧uid
+        /// </summary>
+        public string LoginUserGuid { get; set; } = "";
+
+        /// <summary>
+        ///     鐧诲綍鐢ㄦ埛鐨勭粍缁� orgGuid
+        /// </summary>
+        public string LoginOrgGuid { get; set; } = "";
+
+        public string LoginTime { get; set; }
+
+        public string LoginFactory { get; set; }
+
         //搴旂敤鍗曚欢妯″紡锛屼繚瀛樼敤鎴风櫥褰曠姸鎬�
         public static LoginInfoModel CurrentUser
         {
@@ -34,4 +33,4 @@
             }
         }
     }
-}
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/Entity/PageQueryModel.cs b/DevApp/Gs.DevApp/Entity/PageQueryModel.cs
index dd7b389..7ce2d90 100644
--- a/DevApp/Gs.DevApp/Entity/PageQueryModel.cs
+++ b/DevApp/Gs.DevApp/Entity/PageQueryModel.cs
@@ -1,15 +1,11 @@
-锘縰sing System;
-
-
-namespace Gs.DevApp.Entity
+锘縩amespace Gs.DevApp.Entity
 {
     /// <summary>
-    /// 鏌ヨ瀹炰綋
+    ///     鏌ヨ瀹炰綋
     /// </summary>
     public class PageQueryModel
     {
         /// <summary>
-        /// 
         /// </summary>
         /// <param name="_currentPage">褰撳墠椤�</param>
         /// <param name="_everyPageSize">姣忛〉澶у皬</param>
@@ -17,47 +13,51 @@
         /// <param name="_sortOrder">鎺掑簭鏂瑰紡</param>
         /// <param name="_keyWord">鏌ヨ鍏抽敭瀛�</param>
         /// <param name="_keyWhere">鏌ヨ琛ㄨ揪寮� and 寮�澶�</param>
-        public PageQueryModel(int _currentPage, int _everyPageSize, string _sortName= "create_date", string _sortOrder= "asc", string _keyWord="", string _keyWhere = "")
+        public PageQueryModel(int _currentPage, int _everyPageSize,
+            string _sortName = "create_date", string _sortOrder = "asc",
+            string _keyWord = "", string _keyWhere = "")
         {
-            this.currentPage = _currentPage;
-            this.everyPageSize = _everyPageSize;
-            this.sortName = _sortName;
-            this.sortOrder = _sortOrder;
-            this.keyWord = _keyWord;
-            this.keyWhere = _keyWhere;
+            currentPage = _currentPage;
+            everyPageSize = _everyPageSize;
+            sortName = _sortName;
+            sortOrder = _sortOrder;
+            keyWord = _keyWord;
+            keyWhere = _keyWhere;
         }
 
-        public PageQueryModel() { }
+        public PageQueryModel()
+        {
+        }
 
 
         /// <summary>
-        /// 褰撳墠椤�
+        ///     褰撳墠椤�
         /// </summary>
         public int currentPage { get; set; }
 
         /// <summary>
-        /// 姣忛〉澶у皬
+        ///     姣忛〉澶у皬
         /// </summary>
         public int everyPageSize { get; set; }
 
         /// <summary>
-        /// 鎺掑簭鍚�
+        ///     鎺掑簭鍚�
         /// </summary>
         public string sortName { get; set; }
 
         /// <summary>
-        /// 鎺掑簭鏂瑰紡
+        ///     鎺掑簭鏂瑰紡
         /// </summary>
         public string sortOrder { get; set; }
 
         /// <summary>
-        /// 鏌ヨ鍏抽敭瀛�
+        ///     鏌ヨ鍏抽敭瀛�
         /// </summary>
         public string keyWord { get; set; }
 
         /// <summary>
-        /// 鏌ヨ琛ㄨ揪寮�
+        ///     鏌ヨ琛ㄨ揪寮�
         /// </summary>
         public string keyWhere { get; set; }
     }
-}
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/Entity/ReturnModel.cs b/DevApp/Gs.DevApp/Entity/ReturnModel.cs
index b6801e2..4fc8ca5 100644
--- a/DevApp/Gs.DevApp/Entity/ReturnModel.cs
+++ b/DevApp/Gs.DevApp/Entity/ReturnModel.cs
@@ -1,50 +1,57 @@
-锘縰sing System;
-using System.Collections.Generic;
+锘縰sing System.Collections.Generic;
+using System.Data;
 
 namespace Gs.DevApp.Entity
 {
     /// <summary>
-    /// 杩斿洖鐨勫鍥寸粨鏋�
+    ///     杩斿洖鐨勫鍥寸粨鏋�
     /// </summary>
     /// <typeparam name="T"></typeparam>
     public class ReturnModel<T>
     {
         /// <summary>
-        ///  Default = -100榛樿, Unauthorized = -101闈炴硶璋冪敤, Exception = -102绯荤粺浠g爜寮傚父, Success = 1鎴愬姛
+        ///     Default = -100榛樿, Unauthorized = -101闈炴硶璋冪敤, Exception = -102绯荤粺浠g爜寮傚父, Success
+        ///     = 1鎴愬姛
         /// </summary>
         public int rtnCode { set; get; }
+
         public T rtnData { set; get; }
         public string rtnMsg { get; set; }
     }
+
     /// <summary>
-    /// 杩斿洖鐨勫垎椤佃妭鐐�
+    ///     杩斿洖鐨勫垎椤佃妭鐐�
     /// </summary>
     public class PageListModel
     {
         /// <summary>
-        /// 鍒楄〃
-        /// </summary>
-        public System.Data.DataTable list { get; set; }
-        /// <summary>
-        /// 鎬婚〉鏁�
-        /// </summary>
-        public int pages;
-        /// <summary>
-        /// 鎬昏褰曟暟
-        /// </summary>
-        public int total;
-        /// <summary>
-        /// 姣忛〉澶у皬
+        ///     姣忛〉澶у皬
         /// </summary>
         public int everyPageSize;
+
         /// <summary>
-        ///  鎵╁睍鐢紝鍗曟枃鏈紝姣斿閲戦鍚堣绛夊叾瀹冮」鐩�
-        /// </summary>
-        public string extendText;
-        /// <summary>
-        /// 鎵╁睍鐢紝鍒楄〃
+        ///     鎵╁睍鐢紝鍒楄〃
         /// </summary>
         public List<dynamic> extendList;
-    }
 
-}
+        /// <summary>
+        ///     鎵╁睍鐢紝鍗曟枃鏈紝姣斿閲戦鍚堣绛夊叾瀹冮」鐩�
+        /// </summary>
+        public string extendText;
+
+        /// <summary>
+        ///     鎬婚〉鏁�
+        /// </summary>
+        public int pages;
+
+        /// <summary>
+        ///     鎬昏褰曟暟
+        /// </summary>
+        public int total;
+
+        /// <summary>
+        ///     鍒楄〃
+        /// </summary>
+        public DataTable list { get; set; }
+    }
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/Entity/XlsOutModel.cs b/DevApp/Gs.DevApp/Entity/XlsOutModel.cs
index 00cf854..372cf57 100644
--- a/DevApp/Gs.DevApp/Entity/XlsOutModel.cs
+++ b/DevApp/Gs.DevApp/Entity/XlsOutModel.cs
@@ -1,26 +1,20 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Gs.DevApp.Entity
+锘縩amespace Gs.DevApp.Entity
 {
     internal class XlsOutModel
     {
         /// <summary>
-        /// 
         /// </summary>
         /// <param name="_outView">瀵瑰簲瑙嗗浘</param>
         /// <param name="_outWhere">鏉′欢</param>
         /// <param name="_outSortName">鎺掑簭瀛楁</param>
         /// <param name="_outSortOrder">鎺掑簭</param>
-        public XlsOutModel(string _outView = "", string _outWhere = "", string _outSortName = "", string _outSortOrder = "")
+        public XlsOutModel(string _outView = "", string _outWhere = "",
+            string _outSortName = "", string _outSortOrder = "")
         {
-            this.outView = _outView;
-            this.outWhere = _outWhere;
-            this.outSortName = _outSortName;
-            this.outSortOrder = _outSortOrder;
+            outView = _outView;
+            outWhere = _outWhere;
+            outSortName = _outSortName;
+            outSortOrder = _outSortOrder;
         }
 
 
@@ -34,7 +28,5 @@
 
 
         public string outSortOrder { get; set; }
-
-
     }
-}
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/Gs.DevApp.csproj b/DevApp/Gs.DevApp/Gs.DevApp.csproj
index 1058e48..a243185 100644
--- a/DevApp/Gs.DevApp/Gs.DevApp.csproj
+++ b/DevApp/Gs.DevApp/Gs.DevApp.csproj
@@ -1,653 +1,653 @@
 锘�<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
-    <ProductVersion>8.0.30703</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{A7EB5F78-699E-4514-8905-30842765E673}</ProjectGuid>
-    <OutputType>WinExe</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>Gs.DevApp</RootNamespace>
-    <AssemblyName>Gs.DevApp</AssemblyName>
-    <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
-    <FileAlignment>512</FileAlignment>
-    <NuGetPackageImportStamp>
-    </NuGetPackageImportStamp>
-    <IsWebBootstrapper>false</IsWebBootstrapper>
-    <PublishUrl>publish\</PublishUrl>
-    <Install>true</Install>
-    <InstallFrom>Disk</InstallFrom>
-    <UpdateEnabled>false</UpdateEnabled>
-    <UpdateMode>Foreground</UpdateMode>
-    <UpdateInterval>7</UpdateInterval>
-    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
-    <UpdatePeriodically>false</UpdatePeriodically>
-    <UpdateRequired>false</UpdateRequired>
-    <MapFileExtensions>true</MapFileExtensions>
-    <ApplicationRevision>0</ApplicationRevision>
-    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
-    <UseApplicationTrust>false</UseApplicationTrust>
-    <BootstrapperEnabled>true</BootstrapperEnabled>
-    <TargetFrameworkProfile />
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>5</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup>
-    <ApplicationIcon>logo_ico.ico</ApplicationIcon>
-  </PropertyGroup>
-  <PropertyGroup>
-    <NoWin32Manifest>true</NoWin32Manifest>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="AutoUpdater.NET, Version=1.9.2.0, Culture=neutral, PublicKeyToken=501435c91b35f4bc, processorArchitecture=MSIL">
-      <HintPath>..\packages\Autoupdater.NET.Official.1.9.2\lib\net462\AutoUpdater.NET.dll</HintPath>
-    </Reference>
-    <Reference Include="DevExpress.BonusSkins.v22.2" />
-    <Reference Include="DevExpress.Charts.v22.2.Core, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
-    <Reference Include="DevExpress.Drawing.v22.2" />
-    <Reference Include="DevExpress.Data.v22.2" />
-    <Reference Include="DevExpress.DataAccess.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
-    <Reference Include="DevExpress.Images.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
-    <Reference Include="DevExpress.Office.v22.2.Core, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
-    <Reference Include="DevExpress.Pdf.v22.2.Core, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
-    <Reference Include="DevExpress.PivotGrid.v22.2.Core, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
-    <Reference Include="DevExpress.RichEdit.v22.2.Core, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
-    <Reference Include="DevExpress.RichEdit.v22.2.Export, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
-    <Reference Include="DevExpress.Data.Desktop.v22.2" />
-    <Reference Include="DevExpress.Utils.v22.2" />
-    <Reference Include="DevExpress.Sparkline.v22.2.Core" />
-    <Reference Include="DevExpress.Utils.v22.2.UI, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
-    <Reference Include="DevExpress.XtraBars.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
-    <Reference Include="DevExpress.XtraCharts.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
-    <Reference Include="DevExpress.XtraEditors.v22.2" />
-    <Reference Include="DevExpress.Printing.v22.2.Core" />
-    <Reference Include="DevExpress.XtraGauges.v22.2.Core, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
-    <Reference Include="DevExpress.XtraGrid.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
-    <Reference Include="DevExpress.XtraLayout.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
-    <Reference Include="DevExpress.XtraNavBar.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
-    <Reference Include="DevExpress.XtraPrinting.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
-    <Reference Include="DevExpress.XtraReports.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
-    <Reference Include="DevExpress.XtraReports.v22.2.Extensions, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
-    <Reference Include="DevExpress.XtraTreeList.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
-    <Reference Include="DevExpress.XtraWizard.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
-    <Reference Include="FastReport">
-      <HintPath>D:\GsMesV2\DevApp\Gs.DevApp\bin\Debug\FastReport.dll</HintPath>
-    </Reference>
-    <Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.8.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
-    </Reference>
-    <Reference Include="Microsoft.Web.WebView2.Core, Version=1.0.2592.51, Culture=neutral, PublicKeyToken=2a8ab48044d2601e, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.Web.WebView2.1.0.2592.51\lib\net462\Microsoft.Web.WebView2.Core.dll</HintPath>
-    </Reference>
-    <Reference Include="Microsoft.Web.WebView2.WinForms, Version=1.0.2592.51, Culture=neutral, PublicKeyToken=2a8ab48044d2601e, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.Web.WebView2.1.0.2592.51\lib\net462\Microsoft.Web.WebView2.WinForms.dll</HintPath>
-    </Reference>
-    <Reference Include="Microsoft.Web.WebView2.Wpf, Version=1.0.2592.51, Culture=neutral, PublicKeyToken=2a8ab48044d2601e, processorArchitecture=MSIL">
-      <HintPath>..\packages\Microsoft.Web.WebView2.1.0.2592.51\lib\net462\Microsoft.Web.WebView2.Wpf.dll</HintPath>
-    </Reference>
-    <Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
-      <HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
-    </Reference>
-    <Reference Include="Oracle.ManagedDataAccess, Version=4.122.23.1, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=MSIL">
-      <HintPath>..\packages\Oracle.ManagedDataAccess.23.6.0\lib\net472\Oracle.ManagedDataAccess.dll</HintPath>
-    </Reference>
-    <Reference Include="PresentationCore" />
-    <Reference Include="PresentationFramework" />
-    <Reference Include="System" />
-    <Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
-      <HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
-    </Reference>
-    <Reference Include="System.ComponentModel.DataAnnotations" />
-    <Reference Include="System.Configuration" />
-    <Reference Include="System.Configuration.ConfigurationManager, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
-      <HintPath>..\packages\System.Configuration.ConfigurationManager.8.0.0\lib\net462\System.Configuration.ConfigurationManager.dll</HintPath>
-    </Reference>
-    <Reference Include="System.Core" />
-    <Reference Include="System.Diagnostics.DiagnosticSource, Version=6.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
-      <HintPath>..\packages\System.Diagnostics.DiagnosticSource.6.0.1\lib\net461\System.Diagnostics.DiagnosticSource.dll</HintPath>
-    </Reference>
-    <Reference Include="System.Formats.Asn1, Version=8.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
-      <HintPath>..\packages\System.Formats.Asn1.8.0.1\lib\net462\System.Formats.Asn1.dll</HintPath>
-    </Reference>
-    <Reference Include="System.Memory, Version=4.0.1.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
-      <HintPath>..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll</HintPath>
-    </Reference>
-    <Reference Include="System.Net.Http" />
-    <Reference Include="System.Numerics" />
-    <Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
-      <HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
-    </Reference>
-    <Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
-      <HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
-    </Reference>
-    <Reference Include="System.Runtime.Serialization" />
-    <Reference Include="System.Text.Encodings.Web, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
-      <HintPath>..\packages\System.Text.Encodings.Web.8.0.0\lib\net462\System.Text.Encodings.Web.dll</HintPath>
-    </Reference>
-    <Reference Include="System.Text.Json, Version=8.0.0.4, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
-      <HintPath>..\packages\System.Text.Json.8.0.4\lib\net462\System.Text.Json.dll</HintPath>
-    </Reference>
-    <Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
-      <HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
-    </Reference>
-    <Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
-      <HintPath>..\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll</HintPath>
-    </Reference>
-    <Reference Include="System.Web.Extensions" />
-    <Reference Include="System.Xaml" />
-    <Reference Include="System.Xml.Linq" />
-    <Reference Include="System.Data.DataSetExtensions" />
-    <Reference Include="Microsoft.CSharp" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Deployment" />
-    <Reference Include="System.Drawing" />
-    <Reference Include="System.Windows.Forms" />
-    <Reference Include="System.Xml" />
-    <Reference Include="WindowsBase" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="DevFrm\BasicData\Frm_Customer.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="DevFrm\BasicData\Frm_Customer.Designer.cs">
-      <DependentUpon>Frm_Customer.cs</DependentUpon>
-    </Compile>
-    <Compile Include="DevFrm\BasicData\Frm_Department.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="DevFrm\BasicData\Frm_Department.Designer.cs">
-      <DependentUpon>Frm_Department.cs</DependentUpon>
-    </Compile>
-    <Compile Include="DevFrm\BasicData\Frm_Holidy.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="DevFrm\BasicData\Frm_Holidy.Designer.cs">
-      <DependentUpon>Frm_Holidy.cs</DependentUpon>
-    </Compile>
-    <Compile Include="DevFrm\BasicData\Frm_MesItems.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="DevFrm\BasicData\Frm_MesItems.Designer.cs">
-      <DependentUpon>Frm_MesItems.cs</DependentUpon>
-    </Compile>
-    <Compile Include="DevFrm\BasicData\Frm_MesItemType.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="DevFrm\BasicData\Frm_MesItemType.Designer.cs">
-      <DependentUpon>Frm_MesItemType.cs</DependentUpon>
-    </Compile>
-    <Compile Include="DevFrm\BasicData\Frm_MesPosition.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="DevFrm\BasicData\Frm_MesPosition.Designer.cs">
-      <DependentUpon>Frm_MesPosition.cs</DependentUpon>
-    </Compile>
-    <Compile Include="DevFrm\BasicData\Frm_MesWorkshop.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="DevFrm\BasicData\Frm_MesWorkshop.Designer.cs">
-      <DependentUpon>Frm_MesWorkshop.cs</DependentUpon>
-    </Compile>
-    <Compile Include="DevFrm\BasicData\Frm_Staff.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="DevFrm\BasicData\Frm_Staff.Designer.cs">
-      <DependentUpon>Frm_Staff.cs</DependentUpon>
-    </Compile>
-    <Compile Include="DevFrm\BasicData\Frm_Supplier.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="DevFrm\BasicData\Frm_Supplier.Designer.cs">
-      <DependentUpon>Frm_Supplier.cs</DependentUpon>
-    </Compile>
-    <Compile Include="DevFrm\BasicData\Frm_MesUnit.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="DevFrm\BasicData\Frm_MesUnit.Designer.cs">
-      <DependentUpon>Frm_MesUnit.cs</DependentUpon>
-    </Compile>
-    <Compile Include="DevFrm\QC\Frm_MesSysLookups.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="DevFrm\QC\Frm_MesSysLookups.Designer.cs">
-      <DependentUpon>Frm_MesSysLookups.cs</DependentUpon>
-    </Compile>
-    <Compile Include="DevFrm\QC\Models\MesSysLookups.cs" />
-    <Compile Include="DevFrm\QC\Models\MesSysLookupTypes.cs" />
-    <Compile Include="DevFrm\Rpt\RptPreview.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="DevFrm\Rpt\RptPreview.Designer.cs">
-      <DependentUpon>RptPreview.cs</DependentUpon>
-    </Compile>
-    <Compile Include="DevFrm\Sys\EasyRptDesign.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="DevFrm\Sys\EasyRptDesign.Designer.cs">
-      <DependentUpon>EasyRptDesign.cs</DependentUpon>
-    </Compile>
-    <Compile Include="DevFrm\Sys\FileSelector.cs" />
-    <Compile Include="DevFrm\FrmLogin.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="DevFrm\FrmLogin.Designer.cs">
-      <DependentUpon>FrmLogin.cs</DependentUpon>
-    </Compile>
-    <Compile Include="DevFrm\FrmMain.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="DevFrm\FrmMain.Designer.cs">
-      <DependentUpon>FrmMain.cs</DependentUpon>
-    </Compile>
-    <Compile Include="DevFrm\Sys\DocNoRule.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="DevFrm\Sys\DocNoRule.Designer.cs">
-      <DependentUpon>DocNoRule.cs</DependentUpon>
-    </Compile>
-    <Compile Include="DevFrm\Sys\EasyCode.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="DevFrm\Sys\EasyCode.Designer.cs">
-      <DependentUpon>EasyCode.cs</DependentUpon>
-    </Compile>
-    <Compile Include="DevFrm\Sys\SysLog.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="DevFrm\Sys\SysLog.Designer.cs">
-      <DependentUpon>SysLog.cs</DependentUpon>
-    </Compile>
-    <Compile Include="DevFrm\Sys\Organization.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="DevFrm\Sys\Organization.Designer.cs">
-      <DependentUpon>Organization.cs</DependentUpon>
-    </Compile>
-    <Compile Include="DevFrm\User\Role.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="DevFrm\User\Role.Designer.cs">
-      <DependentUpon>Role.cs</DependentUpon>
-    </Compile>
-    <Compile Include="DevFrm\Sys\SysMenu.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="DevFrm\Sys\SysMenu.Designer.cs">
-      <DependentUpon>SysMenu.cs</DependentUpon>
-    </Compile>
-    <Compile Include="DevFrm\User\User.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="DevFrm\User\User.Designer.cs">
-      <DependentUpon>User.cs</DependentUpon>
-    </Compile>
-    <Compile Include="DevFrm\User\UserSelectRole.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="DevFrm\User\UserSelectRole.Designer.cs">
-      <DependentUpon>UserSelectRole.cs</DependentUpon>
-    </Compile>
-    <Compile Include="DevFrm\User\UserSetPwd.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="DevFrm\User\UserSetPwd.Designer.cs">
-      <DependentUpon>UserSetPwd.cs</DependentUpon>
-    </Compile>
-    <Compile Include="DevFrm\Warehouse\Frm_MesDepot.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="DevFrm\Warehouse\Frm_MesDepot.Designer.cs">
-      <DependentUpon>Frm_MesDepot.cs</DependentUpon>
-    </Compile>
-    <Compile Include="DevFrm\Warehouse\Frm_MesInvItemArn.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="DevFrm\Warehouse\Frm_MesInvItemArn.Designer.cs">
-      <DependentUpon>Frm_MesInvItemArn.cs</DependentUpon>
-    </Compile>
-    <Compile Include="DevFrm\Warehouse\Frm_MesRohIn.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="DevFrm\Warehouse\Frm_MesRohIn.Designer.cs">
-      <DependentUpon>Frm_MesRohIn.cs</DependentUpon>
-    </Compile>
-    <Compile Include="DevFrm\Warehouse\Models\MesDepots.cs" />
-    <Compile Include="DevFrm\Warehouse\Models\MesDepotSections.cs" />
-    <Compile Include="DevFrm\Warehouse\Models\MesInvItemArn.cs" />
-    <Compile Include="DevFrm\Warehouse\Models\MesInvItemArnDetail.cs" />
-    <Compile Include="Entity\LoginInfoModel.cs" />
-    <Compile Include="Entity\PageQueryModel.cs" />
-    <Compile Include="Entity\ReturnModel.cs" />
-    <Compile Include="Entity\XlsOutModel.cs" />
-    <Compile Include="Program.cs" />
-    <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="Properties\Resources.Designer.cs">
-      <AutoGen>True</AutoGen>
-      <DesignTime>True</DesignTime>
-      <DependentUpon>Resources.resx</DependentUpon>
-    </Compile>
-    <Compile Include="TestForm\XtraForm1.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="TestForm\XtraForm1.Designer.cs">
-      <DependentUpon>XtraForm1.cs</DependentUpon>
-    </Compile>
-    <Compile Include="ToolBox\LogHelper.cs" />
-    <Compile Include="ToolBox\MsgHelper.cs" />
-    <Compile Include="ToolBox\UpdateParentEventArgs.cs" />
-    <Compile Include="ToolBox\UtilityHelper.cs" />
-    <Compile Include="UserControl\SelectCgMx.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="UserControl\SelectCgMx.Designer.cs">
-      <DependentUpon>SelectCgMx.cs</DependentUpon>
-    </Compile>
-    <Compile Include="UserControl\ShowRptWizard.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="UserControl\ShowRptWizard.Designer.cs">
-      <DependentUpon>ShowRptWizard.cs</DependentUpon>
-    </Compile>
-    <Compile Include="UserControl\UcComBox.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="UserControl\UcComBox.Designer.cs">
-      <DependentUpon>UcComBox.cs</DependentUpon>
-    </Compile>
-    <Compile Include="UserControl\UcLookCk.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="UserControl\UcLookCk.Designer.cs">
-      <DependentUpon>UcLookCk.cs</DependentUpon>
-    </Compile>
-    <Compile Include="UserControl\UcLookSupplier.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="UserControl\UcLookSupplier.Designer.cs">
-      <DependentUpon>UcLookSupplier.cs</DependentUpon>
-    </Compile>
-    <Compile Include="UserControl\UcPageBar.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="UserControl\UcPageBar.Designer.cs">
-      <DependentUpon>UcPageBar.cs</DependentUpon>
-    </Compile>
-    <Compile Include="UserControl\ShowDialogForm.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="UserControl\ShowDialogForm.designer.cs">
-      <DependentUpon>ShowDialogForm.cs</DependentUpon>
-    </Compile>
-    <Compile Include="UserControl\ShowFilter.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="UserControl\ShowFilter.Designer.cs">
-      <DependentUpon>ShowFilter.cs</DependentUpon>
-    </Compile>
-    <Compile Include="UserControl\UcToolBarMenu.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="UserControl\UcToolBarMenu.Designer.cs">
-      <DependentUpon>UcToolBarMenu.cs</DependentUpon>
-    </Compile>
-    <EmbeddedResource Include="DevFrm\BasicData\Frm_Customer.resx">
-      <DependentUpon>Frm_Customer.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="DevFrm\BasicData\Frm_Department.resx">
-      <DependentUpon>Frm_Department.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="DevFrm\BasicData\Frm_Holidy.resx">
-      <DependentUpon>Frm_Holidy.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="DevFrm\BasicData\Frm_MesItems.resx">
-      <DependentUpon>Frm_MesItems.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="DevFrm\BasicData\Frm_MesItemType.resx">
-      <DependentUpon>Frm_MesItemType.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="DevFrm\BasicData\Frm_MesPosition.resx">
-      <DependentUpon>Frm_MesPosition.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="DevFrm\BasicData\Frm_MesWorkshop.resx">
-      <DependentUpon>Frm_MesWorkshop.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="DevFrm\BasicData\Frm_Staff.resx">
-      <DependentUpon>Frm_Staff.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="DevFrm\BasicData\Frm_Supplier.resx">
-      <DependentUpon>Frm_Supplier.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="DevFrm\BasicData\Frm_MesUnit.resx">
-      <DependentUpon>Frm_MesUnit.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="DevFrm\FrmLogin.resx">
-      <DependentUpon>FrmLogin.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="DevFrm\FrmMain.resx">
-      <DependentUpon>FrmMain.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="DevFrm\QC\Frm_MesSysLookups.resx">
-      <DependentUpon>Frm_MesSysLookups.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="DevFrm\Rpt\RptPreview.resx">
-      <DependentUpon>RptPreview.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="DevFrm\Sys\DocNoRule.resx">
-      <DependentUpon>DocNoRule.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="DevFrm\Sys\EasyCode.resx">
-      <DependentUpon>EasyCode.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="DevFrm\Sys\EasyRptDesign.resx">
-      <DependentUpon>EasyRptDesign.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="DevFrm\Sys\SysLog.resx">
-      <DependentUpon>SysLog.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="DevFrm\Sys\Organization.resx">
-      <DependentUpon>Organization.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="DevFrm\User\Role.resx">
-      <DependentUpon>Role.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="DevFrm\Sys\SysMenu.resx">
-      <DependentUpon>SysMenu.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="DevFrm\User\User.resx">
-      <DependentUpon>User.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="DevFrm\User\UserSelectRole.resx">
-      <DependentUpon>UserSelectRole.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="DevFrm\User\UserSetPwd.resx">
-      <DependentUpon>UserSetPwd.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="DevFrm\Warehouse\Frm_MesDepot.resx">
-      <DependentUpon>Frm_MesDepot.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="DevFrm\Warehouse\Frm_MesInvItemArn.resx">
-      <DependentUpon>Frm_MesInvItemArn.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="DevFrm\Warehouse\Frm_MesRohIn.resx">
-      <DependentUpon>Frm_MesRohIn.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="Properties\licenses.licx" />
-    <EmbeddedResource Include="Properties\Resources.resx">
-      <Generator>ResXFileCodeGenerator</Generator>
-      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="TestForm\XtraForm1.resx">
-      <DependentUpon>XtraForm1.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="UserControl\SelectCgMx.resx">
-      <DependentUpon>SelectCgMx.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="UserControl\ShowRptWizard.resx">
-      <DependentUpon>ShowRptWizard.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="UserControl\UcComBox.resx">
-      <DependentUpon>UcComBox.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="UserControl\UcLookCk.resx">
-      <DependentUpon>UcLookCk.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="UserControl\UcLookSupplier.resx">
-      <DependentUpon>UcLookSupplier.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="UserControl\UcPageBar.resx">
-      <DependentUpon>UcPageBar.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="UserControl\ShowDialogForm.resx">
-      <DependentUpon>ShowDialogForm.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="UserControl\ShowFilter.resx">
-      <DependentUpon>ShowFilter.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="UserControl\UcToolBarMenu.resx">
-      <DependentUpon>UcToolBarMenu.cs</DependentUpon>
-    </EmbeddedResource>
-    <None Include="App.config" />
-    <None Include="packages.config" />
-    <None Include="Properties\Settings.settings">
-      <Generator>SettingsSingleFileGenerator</Generator>
-      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
-    </None>
-    <Compile Include="Properties\Settings.Designer.cs">
-      <AutoGen>True</AutoGen>
-      <DependentUpon>Settings.settings</DependentUpon>
-      <DesignTimeSharedInput>True</DesignTimeSharedInput>
-    </Compile>
-  </ItemGroup>
-  <ItemGroup>
-    <Content Include="logo_ico.ico" />
-    <None Include="Resources\zoom100_16x16.png" />
-    <None Include="Resources\zoom100_32x32.png" />
-    <None Include="Resources\user_16x161.png" />
-    <None Include="Resources\trackingchanges_allmarkup_32x32.png" />
-    <None Include="Resources\trackingchanges_allmarkup_16x16.png" />
-    <None Include="Resources\removegroupfooter_32x32.png" />
-    <None Include="Resources\removegroupfooter_16x16.png" />
-    <None Include="Resources\trackingchanges_trackchanges_32x32.png" />
-    <None Include="Resources\trackingchanges_trackchanges_16x16.png" />
-    <None Include="Resources\exportfile_32x32.png" />
-    <None Include="Resources\exportfile_16x16.png" />
-    <None Include="Resources\show_32x32.png" />
-    <None Include="Resources\show_16x16.png" />
-    <None Include="Resources\renamedatasource_32x32.png" />
-    <None Include="Resources\renamedatasource_16x16.png" />
-    <None Include="Resources\convert_32x32.png" />
-    <None Include="Resources\convert_16x16.png" />
-    <None Include="Resources\converttorange_32x32.png" />
-    <None Include="Resources\converttorange_16x16.png" />
-    <None Include="Resources\checkbox2_32x32.png" />
-    <None Include="Resources\checkbox2_16x16.png" />
-    <None Include="Resources\forcetesting_32x32.png" />
-    <None Include="Resources\forcetesting_16x16.png" />
-    <None Include="Resources\fullstackedcolumn3d_32x32.png" />
-    <None Include="Resources\chartsshowlegend_32x32.png" />
-    <None Include="Resources\mapit_16x16.png" />
-    <None Include="Resources\time2_16x16.png" />
-    <None Include="Resources\knowledgebasearticle_16x16.png" />
-    <None Include="Resources\edit_32x32.png" />
-    <None Include="Resources\checkbox2_32x321.png" />
-    <None Include="Resources\reviewingpane_32x32.png" />
-    <None Include="Resources\first_32x32.png" />
-    <None Include="Resources\first_32x321.png" />
-    <None Include="Resources\first_16x16.png" />
-    <None Include="Resources\doubleprev_16x16.png" />
-    <None Include="Resources\doublenext_16x16.png" />
-    <None Include="Resources\last_16x16.png" />
-    <None Include="Resources\login_bg6.png" />
-    <None Include="Resources\publicfix_32x32.png" />
-    <None Include="Resources\groupbyresource_32x32.png" />
-    <None Include="Resources\meeting_32x32.png" />
-    <None Include="Resources\editname_32x32.png" />
-    <None Include="Resources\addfooter_32x32.png" />
-    <None Include="Resources\addcalculatedfield_16x16.png" />
-    <None Include="Resources\serieslines_32x32.png" />
-    <None Include="Resources\bodepartment_32x32.png" />
-    <None Include="Resources\bodepartment_16x16.png" />
-    <None Include="Resources\bouser_16x16.png" />
-    <None Include="Resources\salesperiodlifetime_32x32.png" />
-    <None Include="Resources\salesperiodlifetime_16x16.png" />
-    <None Include="Resources\encryptdocument_32x32.png" />
-    <None Include="Resources\saveall_32x32.png" />
-    <None Include="Resources\editrangepermission_32x32.png" />
-    <None Include="Resources\editrangepermission_16x16.png" />
-    <None Include="Resources\encryptdocument_32x321.png" />
-    <None Include="Resources\bouser_16x161.png" />
-    <None Include="Resources\csharp_16x16.png" />
-    <None Include="Resources\formatnumbertime_16x16.png" />
-    <None Include="Resources\find_32x32.png" />
-    <None Include="Resources\find_16x16.png" />
-    <None Include="Resources\employee_32x32.png" />
-    <None Include="Resources\boposition2_16x16.png" />
-    <None Include="Resources\newitem_16x16.png" />
-    <None Include="Resources\replace_16x16.png" />
-    <None Include="Resources\bodepartment_16x161.png" />
-    <None Include="Resources\engineering_16x16.png" />
-    <None Include="Resources\cleartablestyle_16x16.png" />
-    <None Include="Resources\logo_png.png" />
-    <None Include="Resources\logo_png_black.png" />
-    <None Include="Resources\group2_32x32.png" />
-    <None Include="Resources\group_32x32.png" />
-    <None Include="Resources\alignmiddlecenter_32x32.png" />
-    <None Include="Resources\formatnumbergeneral_16x16.png" />
-    <None Include="Resources\sortasc_16x16.png" />
-    <None Include="Resources\checkbuttons_32x32.png" />
-    <None Include="Resources\checkbuttons_16x16.png" />
-    <None Include="Resources\radiobuttons_32x32.png" />
-    <None Include="Resources\radiobuttons_16x16.png" />
-    <None Include="Resources\lookup&amp;reference_16x16.png" />
-    <None Include="Resources\task_16x16.png" />
-    <None Include="Resources\checkbuttons_16x161.png" />
-    <Content Include="Resources\user_16x16.png" />
-  </ItemGroup>
-  <ItemGroup />
-  <ItemGroup>
-    <BootstrapperPackage Include=".NETFramework,Version=v4.8">
-      <Visible>False</Visible>
-      <ProductName>Microsoft .NET Framework 4.8 %28x86 鍜� x64%29</ProductName>
-      <Install>true</Install>
-    </BootstrapperPackage>
-    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
-      <Visible>False</Visible>
-      <ProductName>.NET Framework 3.5 SP1</ProductName>
-      <Install>false</Install>
-    </BootstrapperPackage>
-  </ItemGroup>
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
-  <Import Project="..\packages\Microsoft.Web.WebView2.1.0.2592.51\build\Microsoft.Web.WebView2.targets" Condition="Exists('..\packages\Microsoft.Web.WebView2.1.0.2592.51\build\Microsoft.Web.WebView2.targets')" />
-  <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
     <PropertyGroup>
-      <ErrorText>杩欏彴璁$畻鏈轰笂缂哄皯姝ら」鐩紩鐢ㄧ殑 NuGet 绋嬪簭鍖呫�備娇鐢ㄢ�淣uGet 绋嬪簭鍖呰繕鍘熲�濆彲涓嬭浇杩欎簺绋嬪簭鍖呫�傛湁鍏虫洿澶氫俊鎭紝璇峰弬瑙� http://go.microsoft.com/fwlink/?LinkID=322105銆傜己灏戠殑鏂囦欢鏄� {0}銆�</ErrorText>
+        <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+        <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
+        <ProductVersion>8.0.30703</ProductVersion>
+        <SchemaVersion>2.0</SchemaVersion>
+        <ProjectGuid>{A7EB5F78-699E-4514-8905-30842765E673}</ProjectGuid>
+        <OutputType>WinExe</OutputType>
+        <AppDesignerFolder>Properties</AppDesignerFolder>
+        <RootNamespace>Gs.DevApp</RootNamespace>
+        <AssemblyName>Gs.DevApp</AssemblyName>
+        <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
+        <FileAlignment>512</FileAlignment>
+        <NuGetPackageImportStamp>
+        </NuGetPackageImportStamp>
+        <IsWebBootstrapper>false</IsWebBootstrapper>
+        <PublishUrl>publish\</PublishUrl>
+        <Install>true</Install>
+        <InstallFrom>Disk</InstallFrom>
+        <UpdateEnabled>false</UpdateEnabled>
+        <UpdateMode>Foreground</UpdateMode>
+        <UpdateInterval>7</UpdateInterval>
+        <UpdateIntervalUnits>Days</UpdateIntervalUnits>
+        <UpdatePeriodically>false</UpdatePeriodically>
+        <UpdateRequired>false</UpdateRequired>
+        <MapFileExtensions>true</MapFileExtensions>
+        <ApplicationRevision>0</ApplicationRevision>
+        <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
+        <UseApplicationTrust>false</UseApplicationTrust>
+        <BootstrapperEnabled>true</BootstrapperEnabled>
+        <TargetFrameworkProfile/>
     </PropertyGroup>
-    <Error Condition="!Exists('..\packages\Microsoft.Web.WebView2.1.0.2592.51\build\Microsoft.Web.WebView2.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Web.WebView2.1.0.2592.51\build\Microsoft.Web.WebView2.targets'))" />
-  </Target>
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
+    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+        <PlatformTarget>AnyCPU</PlatformTarget>
+        <DebugSymbols>true</DebugSymbols>
+        <DebugType>full</DebugType>
+        <Optimize>false</Optimize>
+        <OutputPath>bin\Debug\</OutputPath>
+        <DefineConstants>DEBUG;TRACE</DefineConstants>
+        <ErrorReport>prompt</ErrorReport>
+        <WarningLevel>5</WarningLevel>
+    </PropertyGroup>
+    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+        <PlatformTarget>AnyCPU</PlatformTarget>
+        <DebugType>pdbonly</DebugType>
+        <Optimize>true</Optimize>
+        <OutputPath>bin\Release\</OutputPath>
+        <DefineConstants>TRACE</DefineConstants>
+        <ErrorReport>prompt</ErrorReport>
+        <WarningLevel>4</WarningLevel>
+    </PropertyGroup>
+    <PropertyGroup>
+        <ApplicationIcon>logo_ico.ico</ApplicationIcon>
+    </PropertyGroup>
+    <PropertyGroup>
+        <NoWin32Manifest>true</NoWin32Manifest>
+    </PropertyGroup>
+    <ItemGroup>
+        <Reference Include="AutoUpdater.NET, Version=1.9.2.0, Culture=neutral, PublicKeyToken=501435c91b35f4bc, processorArchitecture=MSIL">
+            <HintPath>..\packages\Autoupdater.NET.Official.1.9.2\lib\net462\AutoUpdater.NET.dll</HintPath>
+        </Reference>
+        <Reference Include="DevExpress.BonusSkins.v22.2"/>
+        <Reference Include="DevExpress.Charts.v22.2.Core, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL"/>
+        <Reference Include="DevExpress.Drawing.v22.2"/>
+        <Reference Include="DevExpress.Data.v22.2"/>
+        <Reference Include="DevExpress.DataAccess.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"/>
+        <Reference Include="DevExpress.Images.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL"/>
+        <Reference Include="DevExpress.Office.v22.2.Core, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL"/>
+        <Reference Include="DevExpress.Pdf.v22.2.Core, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL"/>
+        <Reference Include="DevExpress.PivotGrid.v22.2.Core, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL"/>
+        <Reference Include="DevExpress.RichEdit.v22.2.Core, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL"/>
+        <Reference Include="DevExpress.RichEdit.v22.2.Export, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL"/>
+        <Reference Include="DevExpress.Data.Desktop.v22.2"/>
+        <Reference Include="DevExpress.Utils.v22.2"/>
+        <Reference Include="DevExpress.Sparkline.v22.2.Core"/>
+        <Reference Include="DevExpress.Utils.v22.2.UI, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"/>
+        <Reference Include="DevExpress.XtraBars.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL"/>
+        <Reference Include="DevExpress.XtraCharts.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL"/>
+        <Reference Include="DevExpress.XtraEditors.v22.2"/>
+        <Reference Include="DevExpress.Printing.v22.2.Core"/>
+        <Reference Include="DevExpress.XtraGauges.v22.2.Core, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL"/>
+        <Reference Include="DevExpress.XtraGrid.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL"/>
+        <Reference Include="DevExpress.XtraLayout.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"/>
+        <Reference Include="DevExpress.XtraNavBar.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL"/>
+        <Reference Include="DevExpress.XtraPrinting.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"/>
+        <Reference Include="DevExpress.XtraReports.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL"/>
+        <Reference Include="DevExpress.XtraReports.v22.2.Extensions, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"/>
+        <Reference Include="DevExpress.XtraTreeList.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL"/>
+        <Reference Include="DevExpress.XtraWizard.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL"/>
+        <Reference Include="FastReport">
+            <HintPath>D:\GsMesV2\DevApp\Gs.DevApp\bin\Debug\FastReport.dll</HintPath>
+        </Reference>
+        <Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+            <HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.8.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
+        </Reference>
+        <Reference Include="Microsoft.Web.WebView2.Core, Version=1.0.2592.51, Culture=neutral, PublicKeyToken=2a8ab48044d2601e, processorArchitecture=MSIL">
+            <HintPath>..\packages\Microsoft.Web.WebView2.1.0.2592.51\lib\net462\Microsoft.Web.WebView2.Core.dll</HintPath>
+        </Reference>
+        <Reference Include="Microsoft.Web.WebView2.WinForms, Version=1.0.2592.51, Culture=neutral, PublicKeyToken=2a8ab48044d2601e, processorArchitecture=MSIL">
+            <HintPath>..\packages\Microsoft.Web.WebView2.1.0.2592.51\lib\net462\Microsoft.Web.WebView2.WinForms.dll</HintPath>
+        </Reference>
+        <Reference Include="Microsoft.Web.WebView2.Wpf, Version=1.0.2592.51, Culture=neutral, PublicKeyToken=2a8ab48044d2601e, processorArchitecture=MSIL">
+            <HintPath>..\packages\Microsoft.Web.WebView2.1.0.2592.51\lib\net462\Microsoft.Web.WebView2.Wpf.dll</HintPath>
+        </Reference>
+        <Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
+            <HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
+        </Reference>
+        <Reference Include="Oracle.ManagedDataAccess, Version=4.122.23.1, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=MSIL">
+            <HintPath>..\packages\Oracle.ManagedDataAccess.23.6.0\lib\net472\Oracle.ManagedDataAccess.dll</HintPath>
+        </Reference>
+        <Reference Include="PresentationCore"/>
+        <Reference Include="PresentationFramework"/>
+        <Reference Include="System"/>
+        <Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+            <HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
+        </Reference>
+        <Reference Include="System.ComponentModel.DataAnnotations"/>
+        <Reference Include="System.Configuration"/>
+        <Reference Include="System.Configuration.ConfigurationManager, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+            <HintPath>..\packages\System.Configuration.ConfigurationManager.8.0.0\lib\net462\System.Configuration.ConfigurationManager.dll</HintPath>
+        </Reference>
+        <Reference Include="System.Core"/>
+        <Reference Include="System.Diagnostics.DiagnosticSource, Version=6.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+            <HintPath>..\packages\System.Diagnostics.DiagnosticSource.6.0.1\lib\net461\System.Diagnostics.DiagnosticSource.dll</HintPath>
+        </Reference>
+        <Reference Include="System.Formats.Asn1, Version=8.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+            <HintPath>..\packages\System.Formats.Asn1.8.0.1\lib\net462\System.Formats.Asn1.dll</HintPath>
+        </Reference>
+        <Reference Include="System.Memory, Version=4.0.1.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+            <HintPath>..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll</HintPath>
+        </Reference>
+        <Reference Include="System.Net.Http"/>
+        <Reference Include="System.Numerics"/>
+        <Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+            <HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
+        </Reference>
+        <Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+            <HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
+        </Reference>
+        <Reference Include="System.Runtime.Serialization"/>
+        <Reference Include="System.Text.Encodings.Web, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+            <HintPath>..\packages\System.Text.Encodings.Web.8.0.0\lib\net462\System.Text.Encodings.Web.dll</HintPath>
+        </Reference>
+        <Reference Include="System.Text.Json, Version=8.0.0.4, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+            <HintPath>..\packages\System.Text.Json.8.0.4\lib\net462\System.Text.Json.dll</HintPath>
+        </Reference>
+        <Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+            <HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
+        </Reference>
+        <Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+            <HintPath>..\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll</HintPath>
+        </Reference>
+        <Reference Include="System.Web.Extensions"/>
+        <Reference Include="System.Xaml"/>
+        <Reference Include="System.Xml.Linq"/>
+        <Reference Include="System.Data.DataSetExtensions"/>
+        <Reference Include="Microsoft.CSharp"/>
+        <Reference Include="System.Data"/>
+        <Reference Include="System.Deployment"/>
+        <Reference Include="System.Drawing"/>
+        <Reference Include="System.Windows.Forms"/>
+        <Reference Include="System.Xml"/>
+        <Reference Include="WindowsBase"/>
+    </ItemGroup>
+    <ItemGroup>
+        <Compile Include="DevFrm\BasicData\Frm_Customer.cs">
+            <SubType>Form</SubType>
+        </Compile>
+        <Compile Include="DevFrm\BasicData\Frm_Customer.Designer.cs">
+            <DependentUpon>Frm_Customer.cs</DependentUpon>
+        </Compile>
+        <Compile Include="DevFrm\BasicData\Frm_Department.cs">
+            <SubType>Form</SubType>
+        </Compile>
+        <Compile Include="DevFrm\BasicData\Frm_Department.Designer.cs">
+            <DependentUpon>Frm_Department.cs</DependentUpon>
+        </Compile>
+        <Compile Include="DevFrm\BasicData\Frm_Holidy.cs">
+            <SubType>Form</SubType>
+        </Compile>
+        <Compile Include="DevFrm\BasicData\Frm_Holidy.Designer.cs">
+            <DependentUpon>Frm_Holidy.cs</DependentUpon>
+        </Compile>
+        <Compile Include="DevFrm\BasicData\Frm_MesItems.cs">
+            <SubType>Form</SubType>
+        </Compile>
+        <Compile Include="DevFrm\BasicData\Frm_MesItems.Designer.cs">
+            <DependentUpon>Frm_MesItems.cs</DependentUpon>
+        </Compile>
+        <Compile Include="DevFrm\BasicData\Frm_MesItemType.cs">
+            <SubType>Form</SubType>
+        </Compile>
+        <Compile Include="DevFrm\BasicData\Frm_MesItemType.Designer.cs">
+            <DependentUpon>Frm_MesItemType.cs</DependentUpon>
+        </Compile>
+        <Compile Include="DevFrm\BasicData\Frm_MesPosition.cs">
+            <SubType>Form</SubType>
+        </Compile>
+        <Compile Include="DevFrm\BasicData\Frm_MesPosition.Designer.cs">
+            <DependentUpon>Frm_MesPosition.cs</DependentUpon>
+        </Compile>
+        <Compile Include="DevFrm\BasicData\Frm_MesWorkshop.cs">
+            <SubType>Form</SubType>
+        </Compile>
+        <Compile Include="DevFrm\BasicData\Frm_MesWorkshop.Designer.cs">
+            <DependentUpon>Frm_MesWorkshop.cs</DependentUpon>
+        </Compile>
+        <Compile Include="DevFrm\BasicData\Frm_Staff.cs">
+            <SubType>Form</SubType>
+        </Compile>
+        <Compile Include="DevFrm\BasicData\Frm_Staff.Designer.cs">
+            <DependentUpon>Frm_Staff.cs</DependentUpon>
+        </Compile>
+        <Compile Include="DevFrm\BasicData\Frm_Supplier.cs">
+            <SubType>Form</SubType>
+        </Compile>
+        <Compile Include="DevFrm\BasicData\Frm_Supplier.Designer.cs">
+            <DependentUpon>Frm_Supplier.cs</DependentUpon>
+        </Compile>
+        <Compile Include="DevFrm\BasicData\Frm_MesUnit.cs">
+            <SubType>Form</SubType>
+        </Compile>
+        <Compile Include="DevFrm\BasicData\Frm_MesUnit.Designer.cs">
+            <DependentUpon>Frm_MesUnit.cs</DependentUpon>
+        </Compile>
+        <Compile Include="DevFrm\QC\Frm_MesSysLookups.cs">
+            <SubType>Form</SubType>
+        </Compile>
+        <Compile Include="DevFrm\QC\Frm_MesSysLookups.Designer.cs">
+            <DependentUpon>Frm_MesSysLookups.cs</DependentUpon>
+        </Compile>
+        <Compile Include="DevFrm\QC\Models\MesSysLookups.cs"/>
+        <Compile Include="DevFrm\QC\Models\MesSysLookupTypes.cs"/>
+        <Compile Include="DevFrm\Rpt\RptPreview.cs">
+            <SubType>Form</SubType>
+        </Compile>
+        <Compile Include="DevFrm\Rpt\RptPreview.Designer.cs">
+            <DependentUpon>RptPreview.cs</DependentUpon>
+        </Compile>
+        <Compile Include="DevFrm\Sys\EasyRptDesign.cs">
+            <SubType>Form</SubType>
+        </Compile>
+        <Compile Include="DevFrm\Sys\EasyRptDesign.Designer.cs">
+            <DependentUpon>EasyRptDesign.cs</DependentUpon>
+        </Compile>
+        <Compile Include="DevFrm\Sys\FileSelector.cs"/>
+        <Compile Include="DevFrm\FrmLogin.cs">
+            <SubType>Form</SubType>
+        </Compile>
+        <Compile Include="DevFrm\FrmLogin.Designer.cs">
+            <DependentUpon>FrmLogin.cs</DependentUpon>
+        </Compile>
+        <Compile Include="DevFrm\FrmMain.cs">
+            <SubType>Form</SubType>
+        </Compile>
+        <Compile Include="DevFrm\FrmMain.Designer.cs">
+            <DependentUpon>FrmMain.cs</DependentUpon>
+        </Compile>
+        <Compile Include="DevFrm\Sys\DocNoRule.cs">
+            <SubType>Form</SubType>
+        </Compile>
+        <Compile Include="DevFrm\Sys\DocNoRule.Designer.cs">
+            <DependentUpon>DocNoRule.cs</DependentUpon>
+        </Compile>
+        <Compile Include="DevFrm\Sys\EasyCode.cs">
+            <SubType>Form</SubType>
+        </Compile>
+        <Compile Include="DevFrm\Sys\EasyCode.Designer.cs">
+            <DependentUpon>EasyCode.cs</DependentUpon>
+        </Compile>
+        <Compile Include="DevFrm\Sys\SysLog.cs">
+            <SubType>Form</SubType>
+        </Compile>
+        <Compile Include="DevFrm\Sys\SysLog.Designer.cs">
+            <DependentUpon>SysLog.cs</DependentUpon>
+        </Compile>
+        <Compile Include="DevFrm\Sys\Organization.cs">
+            <SubType>Form</SubType>
+        </Compile>
+        <Compile Include="DevFrm\Sys\Organization.Designer.cs">
+            <DependentUpon>Organization.cs</DependentUpon>
+        </Compile>
+        <Compile Include="DevFrm\User\Role.cs">
+            <SubType>Form</SubType>
+        </Compile>
+        <Compile Include="DevFrm\User\Role.Designer.cs">
+            <DependentUpon>Role.cs</DependentUpon>
+        </Compile>
+        <Compile Include="DevFrm\Sys\SysMenu.cs">
+            <SubType>Form</SubType>
+        </Compile>
+        <Compile Include="DevFrm\Sys\SysMenu.Designer.cs">
+            <DependentUpon>SysMenu.cs</DependentUpon>
+        </Compile>
+        <Compile Include="DevFrm\User\User.cs">
+            <SubType>Form</SubType>
+        </Compile>
+        <Compile Include="DevFrm\User\User.Designer.cs">
+            <DependentUpon>User.cs</DependentUpon>
+        </Compile>
+        <Compile Include="DevFrm\User\UserSelectRole.cs">
+            <SubType>Form</SubType>
+        </Compile>
+        <Compile Include="DevFrm\User\UserSelectRole.Designer.cs">
+            <DependentUpon>UserSelectRole.cs</DependentUpon>
+        </Compile>
+        <Compile Include="DevFrm\User\UserSetPwd.cs">
+            <SubType>Form</SubType>
+        </Compile>
+        <Compile Include="DevFrm\User\UserSetPwd.Designer.cs">
+            <DependentUpon>UserSetPwd.cs</DependentUpon>
+        </Compile>
+        <Compile Include="DevFrm\Warehouse\Frm_MesDepot.cs">
+            <SubType>Form</SubType>
+        </Compile>
+        <Compile Include="DevFrm\Warehouse\Frm_MesDepot.Designer.cs">
+            <DependentUpon>Frm_MesDepot.cs</DependentUpon>
+        </Compile>
+        <Compile Include="DevFrm\Warehouse\Frm_MesInvItemArn.cs">
+            <SubType>Form</SubType>
+        </Compile>
+        <Compile Include="DevFrm\Warehouse\Frm_MesInvItemArn.Designer.cs">
+            <DependentUpon>Frm_MesInvItemArn.cs</DependentUpon>
+        </Compile>
+        <Compile Include="DevFrm\Warehouse\Frm_MesRohIn.cs">
+            <SubType>Form</SubType>
+        </Compile>
+        <Compile Include="DevFrm\Warehouse\Frm_MesRohIn.Designer.cs">
+            <DependentUpon>Frm_MesRohIn.cs</DependentUpon>
+        </Compile>
+        <Compile Include="DevFrm\Warehouse\Models\MesDepots.cs"/>
+        <Compile Include="DevFrm\Warehouse\Models\MesDepotSections.cs"/>
+        <Compile Include="DevFrm\Warehouse\Models\MesInvItemArn.cs"/>
+        <Compile Include="DevFrm\Warehouse\Models\MesInvItemArnDetail.cs"/>
+        <Compile Include="Entity\LoginInfoModel.cs"/>
+        <Compile Include="Entity\PageQueryModel.cs"/>
+        <Compile Include="Entity\ReturnModel.cs"/>
+        <Compile Include="Entity\XlsOutModel.cs"/>
+        <Compile Include="Program.cs"/>
+        <Compile Include="Properties\AssemblyInfo.cs"/>
+        <Compile Include="Properties\Resources.Designer.cs">
+            <AutoGen>True</AutoGen>
+            <DesignTime>True</DesignTime>
+            <DependentUpon>Resources.resx</DependentUpon>
+        </Compile>
+        <Compile Include="TestForm\XtraForm1.cs">
+            <SubType>Form</SubType>
+        </Compile>
+        <Compile Include="TestForm\XtraForm1.Designer.cs">
+            <DependentUpon>XtraForm1.cs</DependentUpon>
+        </Compile>
+        <Compile Include="ToolBox\LogHelper.cs"/>
+        <Compile Include="ToolBox\MsgHelper.cs"/>
+        <Compile Include="ToolBox\UpdateParentEventArgs.cs"/>
+        <Compile Include="ToolBox\UtilityHelper.cs"/>
+        <Compile Include="UserControl\SelectCgMx.cs">
+            <SubType>Form</SubType>
+        </Compile>
+        <Compile Include="UserControl\SelectCgMx.Designer.cs">
+            <DependentUpon>SelectCgMx.cs</DependentUpon>
+        </Compile>
+        <Compile Include="UserControl\ShowRptWizard.cs">
+            <SubType>Form</SubType>
+        </Compile>
+        <Compile Include="UserControl\ShowRptWizard.Designer.cs">
+            <DependentUpon>ShowRptWizard.cs</DependentUpon>
+        </Compile>
+        <Compile Include="UserControl\UcComBox.cs">
+            <SubType>UserControl</SubType>
+        </Compile>
+        <Compile Include="UserControl\UcComBox.Designer.cs">
+            <DependentUpon>UcComBox.cs</DependentUpon>
+        </Compile>
+        <Compile Include="UserControl\UcLookCk.cs">
+            <SubType>UserControl</SubType>
+        </Compile>
+        <Compile Include="UserControl\UcLookCk.Designer.cs">
+            <DependentUpon>UcLookCk.cs</DependentUpon>
+        </Compile>
+        <Compile Include="UserControl\UcLookSupplier.cs">
+            <SubType>UserControl</SubType>
+        </Compile>
+        <Compile Include="UserControl\UcLookSupplier.Designer.cs">
+            <DependentUpon>UcLookSupplier.cs</DependentUpon>
+        </Compile>
+        <Compile Include="UserControl\UcPageBar.cs">
+            <SubType>UserControl</SubType>
+        </Compile>
+        <Compile Include="UserControl\UcPageBar.Designer.cs">
+            <DependentUpon>UcPageBar.cs</DependentUpon>
+        </Compile>
+        <Compile Include="UserControl\ShowDialogForm.cs">
+            <SubType>Form</SubType>
+        </Compile>
+        <Compile Include="UserControl\ShowDialogForm.designer.cs">
+            <DependentUpon>ShowDialogForm.cs</DependentUpon>
+        </Compile>
+        <Compile Include="UserControl\ShowFilter.cs">
+            <SubType>Form</SubType>
+        </Compile>
+        <Compile Include="UserControl\ShowFilter.Designer.cs">
+            <DependentUpon>ShowFilter.cs</DependentUpon>
+        </Compile>
+        <Compile Include="UserControl\UcToolBarMenu.cs">
+            <SubType>UserControl</SubType>
+        </Compile>
+        <Compile Include="UserControl\UcToolBarMenu.Designer.cs">
+            <DependentUpon>UcToolBarMenu.cs</DependentUpon>
+        </Compile>
+        <EmbeddedResource Include="DevFrm\BasicData\Frm_Customer.resx">
+            <DependentUpon>Frm_Customer.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="DevFrm\BasicData\Frm_Department.resx">
+            <DependentUpon>Frm_Department.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="DevFrm\BasicData\Frm_Holidy.resx">
+            <DependentUpon>Frm_Holidy.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="DevFrm\BasicData\Frm_MesItems.resx">
+            <DependentUpon>Frm_MesItems.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="DevFrm\BasicData\Frm_MesItemType.resx">
+            <DependentUpon>Frm_MesItemType.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="DevFrm\BasicData\Frm_MesPosition.resx">
+            <DependentUpon>Frm_MesPosition.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="DevFrm\BasicData\Frm_MesWorkshop.resx">
+            <DependentUpon>Frm_MesWorkshop.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="DevFrm\BasicData\Frm_Staff.resx">
+            <DependentUpon>Frm_Staff.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="DevFrm\BasicData\Frm_Supplier.resx">
+            <DependentUpon>Frm_Supplier.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="DevFrm\BasicData\Frm_MesUnit.resx">
+            <DependentUpon>Frm_MesUnit.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="DevFrm\FrmLogin.resx">
+            <DependentUpon>FrmLogin.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="DevFrm\FrmMain.resx">
+            <DependentUpon>FrmMain.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="DevFrm\QC\Frm_MesSysLookups.resx">
+            <DependentUpon>Frm_MesSysLookups.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="DevFrm\Rpt\RptPreview.resx">
+            <DependentUpon>RptPreview.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="DevFrm\Sys\DocNoRule.resx">
+            <DependentUpon>DocNoRule.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="DevFrm\Sys\EasyCode.resx">
+            <DependentUpon>EasyCode.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="DevFrm\Sys\EasyRptDesign.resx">
+            <DependentUpon>EasyRptDesign.cs</DependentUpon>
+            <SubType>Designer</SubType>
+        </EmbeddedResource>
+        <EmbeddedResource Include="DevFrm\Sys\SysLog.resx">
+            <DependentUpon>SysLog.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="DevFrm\Sys\Organization.resx">
+            <DependentUpon>Organization.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="DevFrm\User\Role.resx">
+            <DependentUpon>Role.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="DevFrm\Sys\SysMenu.resx">
+            <DependentUpon>SysMenu.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="DevFrm\User\User.resx">
+            <DependentUpon>User.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="DevFrm\User\UserSelectRole.resx">
+            <DependentUpon>UserSelectRole.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="DevFrm\User\UserSetPwd.resx">
+            <DependentUpon>UserSetPwd.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="DevFrm\Warehouse\Frm_MesDepot.resx">
+            <DependentUpon>Frm_MesDepot.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="DevFrm\Warehouse\Frm_MesInvItemArn.resx">
+            <DependentUpon>Frm_MesInvItemArn.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="DevFrm\Warehouse\Frm_MesRohIn.resx">
+            <DependentUpon>Frm_MesRohIn.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="Properties\licenses.licx"/>
+        <EmbeddedResource Include="Properties\Resources.resx">
+            <Generator>ResXFileCodeGenerator</Generator>
+            <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+            <SubType>Designer</SubType>
+        </EmbeddedResource>
+        <EmbeddedResource Include="TestForm\XtraForm1.resx">
+            <DependentUpon>XtraForm1.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="UserControl\SelectCgMx.resx">
+            <DependentUpon>SelectCgMx.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="UserControl\ShowRptWizard.resx">
+            <DependentUpon>ShowRptWizard.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="UserControl\UcComBox.resx">
+            <DependentUpon>UcComBox.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="UserControl\UcLookCk.resx">
+            <DependentUpon>UcLookCk.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="UserControl\UcLookSupplier.resx">
+            <DependentUpon>UcLookSupplier.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="UserControl\UcPageBar.resx">
+            <DependentUpon>UcPageBar.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="UserControl\ShowDialogForm.resx">
+            <DependentUpon>ShowDialogForm.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="UserControl\ShowFilter.resx">
+            <DependentUpon>ShowFilter.cs</DependentUpon>
+        </EmbeddedResource>
+        <EmbeddedResource Include="UserControl\UcToolBarMenu.resx">
+            <DependentUpon>UcToolBarMenu.cs</DependentUpon>
+        </EmbeddedResource>
+        <None Include="App.config"/>
+        <None Include="packages.config"/>
+        <None Include="Properties\Settings.settings">
+            <Generator>SettingsSingleFileGenerator</Generator>
+            <LastGenOutput>Settings.Designer.cs</LastGenOutput>
+        </None>
+        <Compile Include="Properties\Settings.Designer.cs">
+            <AutoGen>True</AutoGen>
+            <DependentUpon>Settings.settings</DependentUpon>
+            <DesignTimeSharedInput>True</DesignTimeSharedInput>
+        </Compile>
+    </ItemGroup>
+    <ItemGroup>
+        <Content Include="logo_ico.ico"/>
+        <None Include="Resources\zoom100_16x16.png"/>
+        <None Include="Resources\zoom100_32x32.png"/>
+        <None Include="Resources\user_16x161.png"/>
+        <None Include="Resources\trackingchanges_allmarkup_32x32.png"/>
+        <None Include="Resources\trackingchanges_allmarkup_16x16.png"/>
+        <None Include="Resources\removegroupfooter_32x32.png"/>
+        <None Include="Resources\removegroupfooter_16x16.png"/>
+        <None Include="Resources\trackingchanges_trackchanges_32x32.png"/>
+        <None Include="Resources\trackingchanges_trackchanges_16x16.png"/>
+        <None Include="Resources\exportfile_32x32.png"/>
+        <None Include="Resources\exportfile_16x16.png"/>
+        <None Include="Resources\show_32x32.png"/>
+        <None Include="Resources\show_16x16.png"/>
+        <None Include="Resources\renamedatasource_32x32.png"/>
+        <None Include="Resources\renamedatasource_16x16.png"/>
+        <None Include="Resources\convert_32x32.png"/>
+        <None Include="Resources\convert_16x16.png"/>
+        <None Include="Resources\converttorange_32x32.png"/>
+        <None Include="Resources\converttorange_16x16.png"/>
+        <None Include="Resources\checkbox2_32x32.png"/>
+        <None Include="Resources\checkbox2_16x16.png"/>
+        <None Include="Resources\forcetesting_32x32.png"/>
+        <None Include="Resources\forcetesting_16x16.png"/>
+        <None Include="Resources\fullstackedcolumn3d_32x32.png"/>
+        <None Include="Resources\chartsshowlegend_32x32.png"/>
+        <None Include="Resources\mapit_16x16.png"/>
+        <None Include="Resources\time2_16x16.png"/>
+        <None Include="Resources\knowledgebasearticle_16x16.png"/>
+        <None Include="Resources\edit_32x32.png"/>
+        <None Include="Resources\checkbox2_32x321.png"/>
+        <None Include="Resources\reviewingpane_32x32.png"/>
+        <None Include="Resources\first_32x32.png"/>
+        <None Include="Resources\first_32x321.png"/>
+        <None Include="Resources\first_16x16.png"/>
+        <None Include="Resources\doubleprev_16x16.png"/>
+        <None Include="Resources\doublenext_16x16.png"/>
+        <None Include="Resources\last_16x16.png"/>
+        <None Include="Resources\login_bg6.png"/>
+        <None Include="Resources\publicfix_32x32.png"/>
+        <None Include="Resources\groupbyresource_32x32.png"/>
+        <None Include="Resources\meeting_32x32.png"/>
+        <None Include="Resources\editname_32x32.png"/>
+        <None Include="Resources\addfooter_32x32.png"/>
+        <None Include="Resources\addcalculatedfield_16x16.png"/>
+        <None Include="Resources\serieslines_32x32.png"/>
+        <None Include="Resources\bodepartment_32x32.png"/>
+        <None Include="Resources\bodepartment_16x16.png"/>
+        <None Include="Resources\bouser_16x16.png"/>
+        <None Include="Resources\salesperiodlifetime_32x32.png"/>
+        <None Include="Resources\salesperiodlifetime_16x16.png"/>
+        <None Include="Resources\encryptdocument_32x32.png"/>
+        <None Include="Resources\saveall_32x32.png"/>
+        <None Include="Resources\editrangepermission_32x32.png"/>
+        <None Include="Resources\editrangepermission_16x16.png"/>
+        <None Include="Resources\encryptdocument_32x321.png"/>
+        <None Include="Resources\bouser_16x161.png"/>
+        <None Include="Resources\csharp_16x16.png"/>
+        <None Include="Resources\formatnumbertime_16x16.png"/>
+        <None Include="Resources\find_32x32.png"/>
+        <None Include="Resources\find_16x16.png"/>
+        <None Include="Resources\employee_32x32.png"/>
+        <None Include="Resources\boposition2_16x16.png"/>
+        <None Include="Resources\newitem_16x16.png"/>
+        <None Include="Resources\replace_16x16.png"/>
+        <None Include="Resources\bodepartment_16x161.png"/>
+        <None Include="Resources\engineering_16x16.png"/>
+        <None Include="Resources\cleartablestyle_16x16.png"/>
+        <None Include="Resources\logo_png.png"/>
+        <None Include="Resources\logo_png_black.png"/>
+        <None Include="Resources\group2_32x32.png"/>
+        <None Include="Resources\group_32x32.png"/>
+        <None Include="Resources\alignmiddlecenter_32x32.png"/>
+        <None Include="Resources\formatnumbergeneral_16x16.png"/>
+        <None Include="Resources\sortasc_16x16.png"/>
+        <None Include="Resources\checkbuttons_32x32.png"/>
+        <None Include="Resources\checkbuttons_16x16.png"/>
+        <None Include="Resources\radiobuttons_32x32.png"/>
+        <None Include="Resources\radiobuttons_16x16.png"/>
+        <None Include="Resources\lookup&amp;reference_16x16.png"/>
+        <None Include="Resources\task_16x16.png"/>
+        <None Include="Resources\checkbuttons_16x161.png"/>
+        <Content Include="Resources\user_16x16.png"/>
+    </ItemGroup>
+    <ItemGroup/>
+    <ItemGroup>
+        <BootstrapperPackage Include=".NETFramework,Version=v4.8">
+            <Visible>False</Visible>
+            <ProductName>Microsoft .NET Framework 4.8 %28x86 鍜� x64%29</ProductName>
+            <Install>true</Install>
+        </BootstrapperPackage>
+        <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
+            <Visible>False</Visible>
+            <ProductName>.NET Framework 3.5 SP1</ProductName>
+            <Install>false</Install>
+        </BootstrapperPackage>
+    </ItemGroup>
+    <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets"/>
+    <Import Project="..\packages\Microsoft.Web.WebView2.1.0.2592.51\build\Microsoft.Web.WebView2.targets" Condition="Exists('..\packages\Microsoft.Web.WebView2.1.0.2592.51\build\Microsoft.Web.WebView2.targets')"/>
+    <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
+        <PropertyGroup>
+            <ErrorText>杩欏彴璁$畻鏈轰笂缂哄皯姝ら」鐩紩鐢ㄧ殑 NuGet 绋嬪簭鍖呫�備娇鐢ㄢ�淣uGet 绋嬪簭鍖呰繕鍘熲�濆彲涓嬭浇杩欎簺绋嬪簭鍖呫�傛湁鍏虫洿澶氫俊鎭紝璇峰弬瑙� http://go.microsoft.com/fwlink/?LinkID=322105銆傜己灏戠殑鏂囦欢鏄� {0}銆�</ErrorText>
+        </PropertyGroup>
+        <Error Condition="!Exists('..\packages\Microsoft.Web.WebView2.1.0.2592.51\build\Microsoft.Web.WebView2.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Web.WebView2.1.0.2592.51\build\Microsoft.Web.WebView2.targets'))"/>
+    </Target>
+    <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+         Other similar extension points exist, see Microsoft.Common.targets.
+    <Target Name="BeforeBuild">
+    </Target>
+    <Target Name="AfterBuild">
+    </Target>
+    -->
 </Project>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/Gs.DevApp.csproj.user b/DevApp/Gs.DevApp/Gs.DevApp.csproj.user
index 7a74901..cebb4cf 100644
--- a/DevApp/Gs.DevApp/Gs.DevApp.csproj.user
+++ b/DevApp/Gs.DevApp/Gs.DevApp.csproj.user
@@ -1,7 +1,7 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
-    <ProjectView>ShowAllFiles</ProjectView>
+    <ProjectView>ProjectFiles</ProjectView>
     <PublishUrlHistory>publish\</PublishUrlHistory>
     <InstallUrlHistory />
     <SupportUrlHistory />
diff --git a/DevApp/Gs.DevApp/Program.cs b/DevApp/Gs.DevApp/Program.cs
index 0420d87..1a46a50 100644
--- a/DevApp/Gs.DevApp/Program.cs
+++ b/DevApp/Gs.DevApp/Program.cs
@@ -1,18 +1,22 @@
 锘縰sing System;
 using System.Diagnostics;
+using System.IO;
 using System.Windows.Forms;
+using Gs.DevApp.DevFrm;
 
 namespace Gs.DevApp
 {
-    static class Program
+    internal static class Program
     {
         /// <summary>
-        /// The main entry point for the application.
+        ///     The main entry point for the application.
         /// </summary>
         [STAThread]
-        static void Main()
+        private static void Main()
         {
-            var processName = System.IO.Path.GetFileNameWithoutExtension(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName);
+            var processName =
+                Path.GetFileNameWithoutExtension(Process.GetCurrentProcess()
+                    .MainModule.FileName);
             var processes = Process.GetProcessesByName(processName);
             if (processes.Length > 1)
             {
@@ -26,25 +30,26 @@
                 _startLogin();
             }
         }
+
         /// <summary>
-        /// 鐧诲綍椤靛惎鍔�
+        ///     鐧诲綍椤靛惎鍔�
         /// </summary>
         private static void _startLogin()
         {
             //Application.Run(new TestForm.XtraForm1());
             //return;
 
-            DevFrm.FrmLogin fmLogin = new DevFrm.FrmLogin();
+            var fmLogin = new FrmLogin();
             if (fmLogin.IsDisposed == false)
             {
                 fmLogin.ShowDialog();
                 if (fmLogin.DialogResult == DialogResult.OK)
-                {
-                    Application.Run(new DevFrm.FrmMain());
-                }
+                    Application.Run(new FrmMain());
             }
             else
+            {
                 Application.Exit();
+            }
         }
     }
-}
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/Properties/AssemblyInfo.cs b/DevApp/Gs.DevApp/Properties/AssemblyInfo.cs
index b7ad83c..b6b13d1 100644
--- a/DevApp/Gs.DevApp/Properties/AssemblyInfo.cs
+++ b/DevApp/Gs.DevApp/Properties/AssemblyInfo.cs
@@ -1,6 +1,6 @@
 锘縰sing System.Reflection;
-using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
+
 // General Information about an assembly is controlled through the following 
 // set of attributes. Change these attribute values to modify the information
 // associated with an assembly.
@@ -29,4 +29,4 @@
 // by using the '*' as shown below:
 // [assembly: AssemblyVersion("1.0.*")]
 [assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/Properties/Resources.Designer.cs b/DevApp/Gs.DevApp/Properties/Resources.Designer.cs
index cc8471b..c9f4a66 100644
--- a/DevApp/Gs.DevApp/Properties/Resources.Designer.cs
+++ b/DevApp/Gs.DevApp/Properties/Resources.Designer.cs
@@ -1,10 +1,9 @@
 锘�//------------------------------------------------------------------------------
 // <auto-generated>
-//     姝や唬鐮佺敱宸ュ叿鐢熸垚銆�
-//     杩愯鏃剁増鏈�:4.0.30319.42000
+//     This code was generated by a tool.
 //
-//     瀵规鏂囦欢鐨勬洿鏀瑰彲鑳戒細瀵艰嚧涓嶆纭殑琛屼负锛屽苟涓斿鏋�
-//     閲嶆柊鐢熸垚浠g爜锛岃繖浜涙洿鏀瑰皢浼氫涪澶便��
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
 // </auto-generated>
 //------------------------------------------------------------------------------
 
@@ -13,12 +12,12 @@
     
     
     /// <summary>
-    ///   涓�涓己绫诲瀷鐨勮祫婧愮被锛岀敤浜庢煡鎵炬湰鍦板寲鐨勫瓧绗︿覆绛夈��
+    ///   A strongly-typed resource class, for looking up localized strings, etc.
     /// </summary>
-    // 姝ょ被鏄敱 StronglyTypedResourceBuilder
-    // 绫婚�氳繃绫讳技浜� ResGen 鎴� Visual Studio 鐨勫伐鍏疯嚜鍔ㄧ敓鎴愮殑銆�
-    // 鑻ヨ娣诲姞鎴栫Щ闄ゆ垚鍛橈紝璇风紪杈� .ResX 鏂囦欢锛岀劧鍚庨噸鏂拌繍琛� ResGen
-    // (浠� /str 浣滀负鍛戒护閫夐」)锛屾垨閲嶆柊鐢熸垚 VS 椤圭洰銆�
+    // This class was auto-generated by the StronglyTypedResourceBuilder
+    // class via a tool like ResGen or Visual Studio.
+    // To add or remove a member, edit your .ResX file then rerun ResGen
+    // with the /str option, or rebuild your VS project.
     [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
@@ -33,7 +32,7 @@
         }
         
         /// <summary>
-        ///   杩斿洖姝ょ被浣跨敤鐨勭紦瀛樼殑 ResourceManager 瀹炰緥銆�
+        ///   Returns the cached ResourceManager instance used by this class.
         /// </summary>
         [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
         internal static global::System.Resources.ResourceManager ResourceManager {
@@ -47,8 +46,8 @@
         }
         
         /// <summary>
-        ///   閲嶅啓褰撳墠绾跨▼鐨� CurrentUICulture 灞炴�э紝瀵�
-        ///   浣跨敤姝ゅ己绫诲瀷璧勬簮绫荤殑鎵�鏈夎祫婧愭煡鎵炬墽琛岄噸鍐欍��
+        ///   Overrides the current thread's CurrentUICulture property for all
+        ///   resource lookups using this strongly typed resource class.
         /// </summary>
         [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
         internal static global::System.Globalization.CultureInfo Culture {
@@ -61,7 +60,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap _3dcolumn_16x16 {
             get {
@@ -71,7 +70,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap _3dcolumn_32x32 {
             get {
@@ -81,7 +80,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap _3dcylinder_16x16 {
             get {
@@ -91,7 +90,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap _3dcylinder_32x32 {
             get {
@@ -101,7 +100,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap addcalculatedfield_16x16 {
             get {
@@ -111,7 +110,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap addfooter_32x32 {
             get {
@@ -121,7 +120,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap alignmiddlecenter_32x32 {
             get {
@@ -131,7 +130,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap apply_32x32 {
             get {
@@ -141,7 +140,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap area3d_16x16 {
             get {
@@ -151,7 +150,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap area3d_32x32 {
             get {
@@ -161,7 +160,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap bodepartment_16x16 {
             get {
@@ -171,7 +170,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap bodepartment_16x161 {
             get {
@@ -181,7 +180,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap bodepartment_32x32 {
             get {
@@ -191,7 +190,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap boposition2_16x16 {
             get {
@@ -201,7 +200,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap bouser_16x16 {
             get {
@@ -211,7 +210,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap bouser_16x161 {
             get {
@@ -221,7 +220,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap chartsshowlegend_32x32 {
             get {
@@ -231,7 +230,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap checkbox_32x32 {
             get {
@@ -241,7 +240,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap checkbox2_16x16 {
             get {
@@ -251,7 +250,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap checkbox2_32x32 {
             get {
@@ -261,7 +260,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap checkbox2_32x321 {
             get {
@@ -271,7 +270,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap checkbuttons_16x16 {
             get {
@@ -281,7 +280,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap checkbuttons_16x161 {
             get {
@@ -291,7 +290,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap checkbuttons_32x32 {
             get {
@@ -301,7 +300,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap cleartablestyle_16x16 {
             get {
@@ -311,7 +310,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap convert_16x16 {
             get {
@@ -321,7 +320,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap convert_32x32 {
             get {
@@ -331,7 +330,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap converttorange_16x16 {
             get {
@@ -341,7 +340,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap converttorange_32x32 {
             get {
@@ -351,7 +350,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap csharp_16x16 {
             get {
@@ -361,7 +360,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap doublenext_16x16 {
             get {
@@ -371,7 +370,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap doubleprev_16x16 {
             get {
@@ -381,7 +380,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap download_32x32 {
             get {
@@ -391,7 +390,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap dropandhighlowlines_16x16 {
             get {
@@ -401,7 +400,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap dropandhighlowlines_32x32 {
             get {
@@ -411,7 +410,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap edit_32x32 {
             get {
@@ -421,7 +420,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap editingfillleft_32x32 {
             get {
@@ -431,7 +430,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap editname_32x32 {
             get {
@@ -441,7 +440,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap editrangepermission_16x16 {
             get {
@@ -451,7 +450,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap editrangepermission_32x32 {
             get {
@@ -461,7 +460,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap employee_32x32 {
             get {
@@ -471,7 +470,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap encryptdocument_32x32 {
             get {
@@ -481,7 +480,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap encryptdocument_32x321 {
             get {
@@ -491,7 +490,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap engineering_16x16 {
             get {
@@ -501,7 +500,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap exportfile_16x16 {
             get {
@@ -511,7 +510,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap exportfile_32x32 {
             get {
@@ -521,7 +520,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap filledradarwithoutmarkers_32x32 {
             get {
@@ -531,7 +530,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap find_16x16 {
             get {
@@ -541,7 +540,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap find_32x32 {
             get {
@@ -551,7 +550,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap first_16x16 {
             get {
@@ -561,7 +560,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap first_32x32 {
             get {
@@ -571,7 +570,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap first_32x321 {
             get {
@@ -581,7 +580,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap forcetesting_16x16 {
             get {
@@ -591,7 +590,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap forcetesting_32x32 {
             get {
@@ -601,7 +600,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap formatnumbergeneral_16x16 {
             get {
@@ -611,7 +610,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap formatnumbertime_16x16 {
             get {
@@ -621,7 +620,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap fullstackedcolumn3d_32x32 {
             get {
@@ -631,7 +630,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap group_32x32 {
             get {
@@ -641,7 +640,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap group2_32x32 {
             get {
@@ -651,7 +650,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap groupbyresource_32x32 {
             get {
@@ -661,7 +660,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap knowledgebasearticle_16x16 {
             get {
@@ -671,7 +670,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap last_16x16 {
             get {
@@ -681,7 +680,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap legendnone2_32x32 {
             get {
@@ -691,7 +690,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap linktoprevious_16x16 {
             get {
@@ -701,7 +700,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap listmultilevel_16x16 {
             get {
@@ -711,7 +710,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap login_bg6 {
             get {
@@ -721,7 +720,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap logo_png {
             get {
@@ -731,7 +730,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap logo_png_black {
             get {
@@ -741,7 +740,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap lookup_reference_16x16 {
             get {
@@ -751,7 +750,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap mapit_16x16 {
             get {
@@ -761,7 +760,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap meeting_32x32 {
             get {
@@ -771,7 +770,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap newitem_16x16 {
             get {
@@ -781,7 +780,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap publicfix_32x32 {
             get {
@@ -791,7 +790,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap radiobuttons_16x16 {
             get {
@@ -801,7 +800,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap radiobuttons_32x32 {
             get {
@@ -811,7 +810,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap removegroupfooter_16x16 {
             get {
@@ -821,7 +820,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap removegroupfooter_32x32 {
             get {
@@ -831,7 +830,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap renamedatasource_16x16 {
             get {
@@ -841,7 +840,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap renamedatasource_32x32 {
             get {
@@ -851,7 +850,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap replace_16x16 {
             get {
@@ -861,7 +860,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap reviewingpane_32x32 {
             get {
@@ -871,7 +870,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap salesperiodlifetime_16x16 {
             get {
@@ -881,7 +880,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap salesperiodlifetime_32x32 {
             get {
@@ -891,7 +890,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap saveall_32x32 {
             get {
@@ -901,7 +900,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap serieslines_32x32 {
             get {
@@ -911,7 +910,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap show_16x16 {
             get {
@@ -921,7 +920,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap show_32x32 {
             get {
@@ -931,7 +930,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap sortasc_16x16 {
             get {
@@ -941,7 +940,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap task_16x16 {
             get {
@@ -951,7 +950,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap task_32x32 {
             get {
@@ -961,7 +960,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap time2_16x16 {
             get {
@@ -971,7 +970,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap trackingchanges_allmarkup_16x16 {
             get {
@@ -981,7 +980,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap trackingchanges_allmarkup_32x32 {
             get {
@@ -991,7 +990,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap trackingchanges_trackchanges_16x16 {
             get {
@@ -1001,7 +1000,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap trackingchanges_trackchanges_32x32 {
             get {
@@ -1011,7 +1010,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap user_16x16 {
             get {
@@ -1021,7 +1020,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap user_16x161 {
             get {
@@ -1031,7 +1030,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap usergroup_32x32 {
             get {
@@ -1041,7 +1040,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap zoom100_16x16 {
             get {
@@ -1051,7 +1050,7 @@
         }
         
         /// <summary>
-        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         internal static System.Drawing.Bitmap zoom100_32x32 {
             get {
diff --git a/DevApp/Gs.DevApp/Properties/Resources.resx b/DevApp/Gs.DevApp/Properties/Resources.resx
index 2c90826..35c4052 100644
--- a/DevApp/Gs.DevApp/Properties/Resources.resx
+++ b/DevApp/Gs.DevApp/Properties/Resources.resx
@@ -1,421 +1,840 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
+            <xsd:complexType>
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
+            </xsd:complexType>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <assembly alias="System.Windows.Forms"
+              name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
+    <data name="exportfile_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\exportfile_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
     </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
+    <data name="forcetesting_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\forcetesting_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
     </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
-  <data name="exportfile_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\exportfile_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="forcetesting_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\forcetesting_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="first_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\first_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="trackingchanges_allmarkup_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\trackingchanges_allmarkup_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="group_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\group_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="checkbox2_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\checkbox2_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="checkbuttons_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\checkbuttons_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="boposition2_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\boposition2_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="salesperiodlifetime_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\salesperiodlifetime_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="removegroupfooter_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\removegroupfooter_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="show_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\show_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="groupbyresource_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\groupbyresource_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="last_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\last_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="forcetesting_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\forcetesting_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="area3d_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\area3d_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="user_16x161" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\user_16x161.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="convert_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\convert_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="reviewingpane_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\reviewingpane_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="zoom100_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\zoom100_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="knowledgebasearticle_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\knowledgebasearticle_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="bodepartment_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\bodepartment_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="sortasc_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\sortasc_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="salesperiodlifetime_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\salesperiodlifetime_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="addfooter_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\addfooter_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="time2_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\time2_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="3dcolumn_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\3dcolumn_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="encryptdocument_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\encryptdocument_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="fullstackedcolumn3d_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\fullstackedcolumn3d_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="radiobuttons_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\radiobuttons_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="converttorange_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\converttorange_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="checkbox2_32x321" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\checkbox2_32x321.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="usergroup_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\usergroup_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="encryptdocument_32x321" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\encryptdocument_32x321.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="bodepartment_16x161" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\bodepartment_16x161.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="formatnumbertime_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\formatnumbertime_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="radiobuttons_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\radiobuttons_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="linktoprevious_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\linktoprevious_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="zoom100_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\zoom100_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="chartsshowlegend_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\chartsshowlegend_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="meeting_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\meeting_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="listmultilevel_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\listmultilevel_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="login_bg6" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\login_bg6.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="3dcylinder_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\3dcylinder_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="checkbox_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\checkbox_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="logo_png" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\logo_png.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="trackingchanges_trackchanges_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\trackingchanges_trackchanges_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="renamedatasource_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\renamedatasource_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="cleartablestyle_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\cleartablestyle_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="employee_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\employee_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="bodepartment_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\bodepartment_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="3dcolumn_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\3dcolumn_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="exportfile_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\exportfile_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="user_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\user_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="bouser_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\bouser_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="formatnumbergeneral_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\formatnumbergeneral_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="mapit_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\mapit_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="dropandhighlowlines_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\dropandhighlowlines_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="checkbuttons_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\checkbuttons_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="3dcylinder_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\3dcylinder_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="alignmiddlecenter_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\alignmiddlecenter_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="find_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\find_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="group2_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\group2_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="csharp_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\csharp_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="saveall_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\saveall_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="dropandhighlowlines_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\dropandhighlowlines_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="convert_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\convert_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="addcalculatedfield_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\addcalculatedfield_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="serieslines_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\serieslines_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="logo_png_black" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\logo_png_black.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="first_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\first_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="edit_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\edit_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="first_32x321" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\first_32x321.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="show_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\show_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="replace_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\replace_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="editrangepermission_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\editrangepermission_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="checkbox2_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\checkbox2_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="renamedatasource_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\renamedatasource_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="engineering_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\engineering_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="doublenext_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\doublenext_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="editname_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\editname_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="editrangepermission_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\editrangepermission_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="publicfix_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\publicfix_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="converttorange_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\converttorange_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="find_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\find_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="doubleprev_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\doubleprev_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="apply_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\apply_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="newitem_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\newitem_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="lookup&amp;reference_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\lookup&amp;reference_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="area3d_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\area3d_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="removegroupfooter_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\removegroupfooter_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="task_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\task_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="trackingchanges_allmarkup_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\trackingchanges_allmarkup_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="legendnone2_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\legendnone2_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="filledradarwithoutmarkers_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\filledradarwithoutmarkers_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="bouser_16x161" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\bouser_16x161.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="task_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\task_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="editingfillleft_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\editingfillleft_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="download_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\download_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="trackingchanges_trackchanges_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\trackingchanges_trackchanges_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="checkbuttons_16x161" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\checkbuttons_16x161.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
+    <data name="first_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\first_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="trackingchanges_allmarkup_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>
+            ..\Resources\trackingchanges_allmarkup_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="group_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\group_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="checkbox2_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\checkbox2_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="checkbuttons_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\checkbuttons_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="boposition2_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\boposition2_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="salesperiodlifetime_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\salesperiodlifetime_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="removegroupfooter_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\removegroupfooter_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="show_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\show_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="groupbyresource_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\groupbyresource_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="last_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\last_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="forcetesting_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\forcetesting_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="area3d_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\area3d_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="user_16x161"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\user_16x161.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="convert_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\convert_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="reviewingpane_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\reviewingpane_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="zoom100_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\zoom100_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="knowledgebasearticle_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>
+            ..\Resources\knowledgebasearticle_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="bodepartment_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\bodepartment_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="sortasc_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\sortasc_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="salesperiodlifetime_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\salesperiodlifetime_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="addfooter_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\addfooter_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="time2_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\time2_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="3dcolumn_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\3dcolumn_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="encryptdocument_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\encryptdocument_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="fullstackedcolumn3d_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\fullstackedcolumn3d_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="radiobuttons_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\radiobuttons_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="converttorange_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\converttorange_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="checkbox2_32x321"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\checkbox2_32x321.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="usergroup_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\usergroup_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="encryptdocument_32x321"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\encryptdocument_32x321.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="bodepartment_16x161"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\bodepartment_16x161.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="formatnumbertime_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\formatnumbertime_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="radiobuttons_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\radiobuttons_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="linktoprevious_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\linktoprevious_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="zoom100_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\zoom100_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="chartsshowlegend_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\chartsshowlegend_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="meeting_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\meeting_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="listmultilevel_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\listmultilevel_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="login_bg6"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\login_bg6.png;System.Drawing.Bitmap, System.Drawing,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="3dcylinder_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\3dcylinder_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="checkbox_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\checkbox_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="logo_png"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\logo_png.png;System.Drawing.Bitmap, System.Drawing,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="trackingchanges_trackchanges_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>
+            ..\Resources\trackingchanges_trackchanges_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="renamedatasource_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\renamedatasource_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="cleartablestyle_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\cleartablestyle_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="employee_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\employee_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="bodepartment_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\bodepartment_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="3dcolumn_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\3dcolumn_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="exportfile_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\exportfile_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="user_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\user_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="bouser_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\bouser_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="formatnumbergeneral_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\formatnumbergeneral_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="mapit_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\mapit_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="dropandhighlowlines_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\dropandhighlowlines_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="checkbuttons_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\checkbuttons_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="3dcylinder_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\3dcylinder_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="alignmiddlecenter_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\alignmiddlecenter_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="find_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\find_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="group2_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\group2_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="csharp_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\csharp_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="saveall_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\saveall_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="dropandhighlowlines_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\dropandhighlowlines_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="convert_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\convert_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="addcalculatedfield_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\addcalculatedfield_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="serieslines_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\serieslines_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="logo_png_black"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\logo_png_black.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="first_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\first_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="edit_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\edit_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="first_32x321"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\first_32x321.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="show_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\show_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="replace_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\replace_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="editrangepermission_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\editrangepermission_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="checkbox2_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\checkbox2_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="renamedatasource_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\renamedatasource_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="engineering_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\engineering_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="doublenext_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\doublenext_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="editname_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\editname_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="editrangepermission_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\editrangepermission_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="publicfix_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\publicfix_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="converttorange_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\converttorange_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="find_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\find_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="doubleprev_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\doubleprev_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="apply_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\apply_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="newitem_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\newitem_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="lookup&amp;reference_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\lookup&amp;reference_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="area3d_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\area3d_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="removegroupfooter_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\removegroupfooter_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="task_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\task_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="trackingchanges_allmarkup_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>
+            ..\Resources\trackingchanges_allmarkup_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="legendnone2_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\legendnone2_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="filledradarwithoutmarkers_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>
+            ..\Resources\filledradarwithoutmarkers_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="bouser_16x161"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\bouser_16x161.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="task_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\task_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="editingfillleft_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\editingfillleft_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="download_32x32"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\download_32x32.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="trackingchanges_trackchanges_16x16"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>
+            ..\Resources\trackingchanges_trackchanges_16x16.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
+    <data name="checkbuttons_16x161"
+          type="System.Resources.ResXFileRef, System.Windows.Forms">
+        <value>..\Resources\checkbuttons_16x161.png;System.Drawing.Bitmap,
+            System.Drawing, Version=4.0.0.0, Culture=neutral,
+            PublicKeyToken=b03f5f7f11d50a3a
+        </value>
+    </data>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/Properties/Settings.Designer.cs b/DevApp/Gs.DevApp/Properties/Settings.Designer.cs
index 400ab5c..b64b539 100644
--- a/DevApp/Gs.DevApp/Properties/Settings.Designer.cs
+++ b/DevApp/Gs.DevApp/Properties/Settings.Designer.cs
@@ -1,10 +1,9 @@
 锘�//------------------------------------------------------------------------------
 // <auto-generated>
-//     姝や唬鐮佺敱宸ュ叿鐢熸垚銆�
-//     杩愯鏃剁増鏈�:4.0.30319.42000
+//     This code was generated by a tool.
 //
-//     瀵规鏂囦欢鐨勬洿鏀瑰彲鑳戒細瀵艰嚧涓嶆纭殑琛屼负锛屽苟涓斿鏋�
-//     閲嶆柊鐢熸垚浠g爜锛岃繖浜涙洿鏀瑰皢浼氫涪澶便��
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
 // </auto-generated>
 //------------------------------------------------------------------------------
 
@@ -12,7 +11,7 @@
     
     
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.11.0.0")]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")]
     internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
         
         private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
diff --git a/DevApp/Gs.DevApp/Properties/Settings.settings b/DevApp/Gs.DevApp/Properties/Settings.settings
index a614423..c34a1c3 100644
--- a/DevApp/Gs.DevApp/Properties/Settings.settings
+++ b/DevApp/Gs.DevApp/Properties/Settings.settings
@@ -1,24 +1,27 @@
 锘�<?xml version='1.0' encoding='utf-8'?>
-<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="Gs.DevApp.Properties" GeneratedClassName="Settings">
-  <Profiles />
-  <Settings>
-    <Setting Name="userName" Type="System.String" Scope="User">
-      <Value Profile="(Default)" />
-    </Setting>
-    <Setting Name="userPwd" Type="System.String" Scope="User">
-      <Value Profile="(Default)" />
-    </Setting>
-    <Setting Name="remember" Type="System.Boolean" Scope="User">
-      <Value Profile="(Default)">False</Value>
-    </Setting>
-    <Setting Name="orgGuid" Type="System.String" Scope="User">
-      <Value Profile="(Default)" />
-    </Setting>
-    <Setting Name="fontSize" Type="System.Single" Scope="User">
-      <Value Profile="(Default)">10</Value>
-    </Setting>
-    <Setting Name="fontName" Type="System.String" Scope="User">
-      <Value Profile="(Default)">Tahoma</Value>
-    </Setting>
-  </Settings>
+<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings"
+              CurrentProfile="(Default)"
+              GeneratedClassNamespace="Gs.DevApp.Properties"
+              GeneratedClassName="Settings">
+    <Profiles/>
+    <Settings>
+        <Setting Name="userName" Type="System.String" Scope="User">
+            <Value Profile="(Default)"/>
+        </Setting>
+        <Setting Name="userPwd" Type="System.String" Scope="User">
+            <Value Profile="(Default)"/>
+        </Setting>
+        <Setting Name="remember" Type="System.Boolean" Scope="User">
+            <Value Profile="(Default)">False</Value>
+        </Setting>
+        <Setting Name="orgGuid" Type="System.String" Scope="User">
+            <Value Profile="(Default)"/>
+        </Setting>
+        <Setting Name="fontSize" Type="System.Single" Scope="User">
+            <Value Profile="(Default)">10</Value>
+        </Setting>
+        <Setting Name="fontName" Type="System.String" Scope="User">
+            <Value Profile="(Default)">Tahoma</Value>
+        </Setting>
+    </Settings>
 </SettingsFile>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/TestForm/XtraForm1.cs b/DevApp/Gs.DevApp/TestForm/XtraForm1.cs
index ae6a048..09c1f6a 100644
--- a/DevApp/Gs.DevApp/TestForm/XtraForm1.cs
+++ b/DevApp/Gs.DevApp/TestForm/XtraForm1.cs
@@ -1,92 +1,86 @@
-锘縰sing DevExpress.XtraEditors;
-using Newtonsoft.Json.Serialization;
-using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
+锘縰sing System;
 using System.Data;
-using System.Drawing;
-using System.Linq;
-using System.Text;
 using System.Text.RegularExpressions;
-using System.Threading.Tasks;
-using System.Windows.Forms;
-using System.Dynamic;
+using DevExpress.XtraEditors;
 using Gs.DevApp.Entity;
 using Gs.DevApp.ToolBox;
+using Newtonsoft.Json;
 
 namespace Gs.DevApp.TestForm
 {
-    public partial class XtraForm1 : DevExpress.XtraEditors.XtraForm
+    public partial class XtraForm1 : XtraForm
     {
         public XtraForm1()
         {
             InitializeComponent();
             textBox1.Text = "THIS_IS_AN_EXAMPLE";
             getSuppler();
-            this.lookSearchSupplier.EditValueChanged += LookSearchSupplier_EditValueChanged;
+            lookSearchSupplier.EditValueChanged +=
+                LookSearchSupplier_EditValueChanged;
         }
 
-        private void LookSearchSupplier_EditValueChanged(object sender, EventArgs e)
+        private void LookSearchSupplier_EditValueChanged(object sender,
+            EventArgs e)
         {
             //浣跨敤灞炴��
-            string daID = this.lookSearchSupplier.EditValue.ToString();
-            string xm = this.lookSearchSupplier.Text.Trim();
+            var daID = lookSearchSupplier.EditValue.ToString();
+            var xm = lookSearchSupplier.Text.Trim();
             //浣跨敤鏂规硶
-            DataRowView row = this.lookSearchSupplier.GetSelectedDataRow() as DataRowView;
-            if (row != null)
-            {
-                xm = row["guid"].ToString();
-            }
+            var row = lookSearchSupplier.GetSelectedDataRow() as DataRowView;
+            if (row != null) xm = row["guid"].ToString();
         }
 
         private void getSuppler()
         {
-            PageQueryModel pgq = new PageQueryModel(1, 999999, "supp_no", "asc", "", " and fforbidstatus='A'");
-            string json = JsonConvert.SerializeObject(pgq);
+            var pgq = new PageQueryModel(1, 999999, "supp_no", "asc", "",
+                " and fforbidstatus='A'");
+            var json = JsonConvert.SerializeObject(pgq);
             try
             {
-                string strReturn = UtilityHelper.HttpPost("", "MesSupplierManager/GetListPage", json);
-                ReturnModel<PageListModel> rtn = UtilityHelper.ReturnToTablePage(strReturn);
-                DataTable dt = rtn.rtnData.list;
+                var strReturn = UtilityHelper.HttpPost("",
+                    "MesSupplierManager/GetListPage", json);
+                var rtn = UtilityHelper.ReturnToTablePage(strReturn);
+                var dt = rtn.rtnData.list;
                 lookSearchSupplier.Properties.DataSource = dt;
                 lookSearchSupplier.Properties.DisplayMember = "suppNo";
                 lookSearchSupplier.Properties.ValueMember = "id";
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
+
         private void button1_Click(object sender, EventArgs e)
         {
-            string input = textBox1.Text;
+            var input = textBox1.Text;
             label1.Text = ToCamelCase(input);
 
-            lbMsg2.Text = Gs.DevApp.ToolBox.UtilityHelper.ToCamelCase(input);
-
+            lbMsg2.Text = UtilityHelper.ToCamelCase(input);
         }
+
         public static string ToCamelCase(string strItem)
         {
-            bool hasLowercase = Regex.IsMatch(strItem, @"[a-z]");
+            var hasLowercase = Regex.IsMatch(strItem, @"[a-z]");
             if (hasLowercase)
             {
-                char[] chars = strItem.ToCharArray();
+                var chars = strItem.ToCharArray();
                 chars[0] = char.ToLower(chars[0]);
                 return new string(chars);
             }
-            string[] strItems = strItem.ToLower().Split('_');
-            string strItemTarget = strItems[0];
-            for (int j = 1; j < strItems.Length; j++)
+
+            var strItems = strItem.ToLower().Split('_');
+            var strItemTarget = strItems[0];
+            for (var j = 1; j < strItems.Length; j++)
             {
-                string temp = strItems[j].ToString();
-                string temp1 = temp[0].ToString().ToUpper();
-                string temp2 = "";
+                var temp = strItems[j];
+                var temp1 = temp[0].ToString().ToUpper();
+                var temp2 = "";
                 temp2 = temp1 + temp.Remove(0, 1);
                 strItemTarget += temp2;
             }
+
             return strItemTarget;
         }
-
     }
 }
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/TestForm/XtraForm1.resx b/DevApp/Gs.DevApp/TestForm/XtraForm1.resx
index f212210..be0428b 100644
--- a/DevApp/Gs.DevApp/TestForm/XtraForm1.resx
+++ b/DevApp/Gs.DevApp/TestForm/XtraForm1.resx
@@ -1,140 +1,157 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
+            <xsd:complexType>
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
+            </xsd:complexType>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <assembly alias="System.Drawing"
+              name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
+    <data name="simpleButton2.ImageOptions.Image"
+          type="System.Drawing.Bitmap, System.Drawing"
+          mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>
+            iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABB0RVh0VGl0
+            bGUARHJhZnRWaWV3O9Vg5KIAAALtSURBVDhPbZPLTxNRGMVn68q1bgw7/wA2xoQNJhox7pQ/QNxpjEtD
+            lIcIlEeBtlCGAgVbkAhWHiUoWNRoUCLIw1IQ0NYifU6HTtvpdDptj/deHtHESc7y951vvnMu1zvidFme
+            TcEyPIWe4UnwQxPg7RPoto3DbHOga/AFOgfGYLKOwtD/HIa+EXRYRtDWM4w2fsjFUVjNalBVDZkjKRmq
+            LNJKFrKiIpXOICmrSMgKpJSCeFLBQTINvdkOjjpT+KtXwjuPyPR2Q8T8RgwudwxvvgmYW49idi2CV6sR
+            LGzFGCwm0mgxPwVH16auFKRfoVBAjkjLF5DV8lCyeciZHBJpDZKsYXo5hAMCiwkZzZ2DdMAEMmRlOoBw
+            yBFQy+WhagUC5xicJHBczkJMZeFcCiImyRCkFHSmAXD80Dj7X7r2IVxApW35vxISKia/BMiAFIR4Co2G
+            fnBm20so5FjzZACF1b/WTirUWUVUSiMYS8IfljD24Sf2QgJCgoSGjj46wMGuPe8WDmE194/rg4FFuPkG
+            LJYVnWiu5Cy8/iDq2y3gaM40Khe5tqIeHYw4S8Q5ciBj2VCHz1eL4Ck/zzR78QycNy5ha9eHJ2094GhJ
+            UmmVRXUMHzsbnBu4ZlrFTfsvpuL7Dgb3nTsFz44XdXoeHG1YUs6QnKMsKnrtqKTAOO3GddMKyu2+E/jK
+            HQuDx+7dxq4/gMet3eCMpJ4JMuA1KYlEo0qq7GBlnVu4bPSgtNWNksY1Bp8uqcTo3Qp4tr34HRFR22wG
+            R7tN6/npu8BKQnN2LPhgW4xicCEC68cQet8HGXzrYT82d3wM3icp1DR3gmsnD4N2O87qKUMkJQmEYyjV
+            E2fdOi7UrqC4agkVVVby3z7shUUEonHsE1Xr6ADyqmi3aT1Zw0hBIqIEfyCMbd8eNsm1Pbte/PDvM+cA
+            cabw4QAjOD1vn9F329nDoN1uMllZw2hJ6tt7WVR1rTw7WG2LGTVNXcy5WmfCo0bjzB8xYUcabMztQwAA
+            AABJRU5ErkJggg==
+        </value>
     </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
-  <data name="simpleButton2.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABB0RVh0VGl0
-        bGUARHJhZnRWaWV3O9Vg5KIAAALtSURBVDhPbZPLTxNRGMVn68q1bgw7/wA2xoQNJhox7pQ/QNxpjEtD
-        lIcIlEeBtlCGAgVbkAhWHiUoWNRoUCLIw1IQ0NYifU6HTtvpdDptj/deHtHESc7y951vvnMu1zvidFme
-        TcEyPIWe4UnwQxPg7RPoto3DbHOga/AFOgfGYLKOwtD/HIa+EXRYRtDWM4w2fsjFUVjNalBVDZkjKRmq
-        LNJKFrKiIpXOICmrSMgKpJSCeFLBQTINvdkOjjpT+KtXwjuPyPR2Q8T8RgwudwxvvgmYW49idi2CV6sR
-        LGzFGCwm0mgxPwVH16auFKRfoVBAjkjLF5DV8lCyeciZHBJpDZKsYXo5hAMCiwkZzZ2DdMAEMmRlOoBw
-        yBFQy+WhagUC5xicJHBczkJMZeFcCiImyRCkFHSmAXD80Dj7X7r2IVxApW35vxISKia/BMiAFIR4Co2G
-        fnBm20so5FjzZACF1b/WTirUWUVUSiMYS8IfljD24Sf2QgJCgoSGjj46wMGuPe8WDmE194/rg4FFuPkG
-        LJYVnWiu5Cy8/iDq2y3gaM40Khe5tqIeHYw4S8Q5ciBj2VCHz1eL4Ck/zzR78QycNy5ha9eHJ2094GhJ
-        UmmVRXUMHzsbnBu4ZlrFTfsvpuL7Dgb3nTsFz44XdXoeHG1YUs6QnKMsKnrtqKTAOO3GddMKyu2+E/jK
-        HQuDx+7dxq4/gMet3eCMpJ4JMuA1KYlEo0qq7GBlnVu4bPSgtNWNksY1Bp8uqcTo3Qp4tr34HRFR22wG
-        R7tN6/npu8BKQnN2LPhgW4xicCEC68cQet8HGXzrYT82d3wM3icp1DR3gmsnD4N2O87qKUMkJQmEYyjV
-        E2fdOi7UrqC4agkVVVby3z7shUUEonHsE1Xr6ADyqmi3aT1Zw0hBIqIEfyCMbd8eNsm1Pbte/PDvM+cA
-        cabw4QAjOD1vn9F329nDoN1uMllZw2hJ6tt7WVR1rTw7WG2LGTVNXcy5WmfCo0bjzB8xYUcabMztQwAA
-        AABJRU5ErkJggg==
-</value>
-  </data>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/ToolBox/LogHelper.cs b/DevApp/Gs.DevApp/ToolBox/LogHelper.cs
index 19da9a0..3a05fda 100644
--- a/DevApp/Gs.DevApp/ToolBox/LogHelper.cs
+++ b/DevApp/Gs.DevApp/ToolBox/LogHelper.cs
@@ -1,15 +1,15 @@
-锘縰sing DevExpress.XtraRichEdit.Export.Rtf;
-using System;
+锘縰sing System;
 using System.Configuration;
 using System.IO;
-using System.Windows.Shapes;
 
 namespace Gs.DevApp.ToolBox
 {
     public class LogHelper
     {
         //鍒涘缓鏃ュ織鐩綍
-        private static string path = AppContext.BaseDirectory + ConfigurationManager.AppSettings["LogPath"].ToString();
+        private static readonly string path = AppContext.BaseDirectory +
+                                              ConfigurationManager.AppSettings[
+                                                  "LogPath"];
 
         /**
          * 鍚戞棩蹇楁枃浠跺啓鍏ヨ皟璇曚俊鎭�
@@ -22,27 +22,28 @@
         }
 
         /**
-        * 瀹為檯鐨勫啓鏃ュ織鎿嶄綔
-        * @param type 鏃ュ織璁板綍绫诲瀷
-        * @param className 绫诲悕
-        * @param content 鍐欏叆鍐呭
-        */
-        protected static void WriteLog(string type, string className, string content)
+         * 瀹為檯鐨勫啓鏃ュ織鎿嶄綔
+         * @param type 鏃ュ織璁板綍绫诲瀷
+         * @param className 绫诲悕
+         * @param content 鍐欏叆鍐呭
+         */
+        protected static void WriteLog(string type, string className,
+            string content)
         {
-            if (!Directory.Exists(path))//濡傛灉鏃ュ織鐩綍涓嶅瓨鍦ㄥ氨鍒涘缓
-            {
+            if (!Directory.Exists(path)) //濡傛灉鏃ュ織鐩綍涓嶅瓨鍦ㄥ氨鍒涘缓
                 Directory.CreateDirectory(path);
-            }
-            string time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");//鑾峰彇褰撳墠绯荤粺鏃堕棿
-            string filename = path + "/" + DateTime.Now.ToString("yyyy-MM-dd") + ".log";//鐢ㄦ棩鏈熷鏃ュ織鏂囦欢鍛藉悕
+            var time =
+                DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); //鑾峰彇褰撳墠绯荤粺鏃堕棿
+            var filename = path + "/" + DateTime.Now.ToString("yyyy-MM-dd") +
+                           ".log"; //鐢ㄦ棩鏈熷鏃ュ織鏂囦欢鍛藉悕
             //鍒涘缓鎴栨墦寮�鏃ュ織鏂囦欢锛屽悜鏃ュ織鏂囦欢鏈熬杩藉姞璁板綍
-            StreamWriter mySw = File.AppendText(filename);
+            var mySw = File.AppendText(filename);
             //鍚戞棩蹇楁枃浠跺啓鍏ュ唴瀹�
-            string write_content = time + " " + type + " " + className + ": " + content;
+            var write_content =
+                time + " " + type + " " + className + ": " + content;
             mySw.WriteLine(write_content);
             //鍏抽棴鏃ュ織鏂囦欢
             mySw.Close();
-
         }
     }
-}
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/ToolBox/MsgHelper.cs b/DevApp/Gs.DevApp/ToolBox/MsgHelper.cs
index 4858f8d..7e42e87 100644
--- a/DevApp/Gs.DevApp/ToolBox/MsgHelper.cs
+++ b/DevApp/Gs.DevApp/ToolBox/MsgHelper.cs
@@ -4,12 +4,12 @@
 namespace Gs.DevApp.ToolBox
 {
     /// <summary>
-    ///  绯荤粺娑堟伅鎻愮ず绐椾綋
+    ///     绯荤粺娑堟伅鎻愮ず绐椾綋
     /// </summary>
     public class MsgHelper
     {
         /// <summary>
-        ///  鎵撳紑瀵硅瘽妗�
+        ///     鎵撳紑瀵硅瘽妗�
         /// </summary>
         /// <param name="msg">鏈瀵硅瘽鍐呭</param>
         /// <returns></returns>
@@ -24,7 +24,7 @@
         }
 
         /// <summary>
-        ///  閿欒娑堟伅鎻愮ず妗�
+        ///     閿欒娑堟伅鎻愮ず妗�
         /// </summary>
         /// <param name="msg">閿欒娑堟伅鍐呭</param>
         public static void ShowError(string msg)
@@ -36,7 +36,7 @@
         }
 
         /// <summary>
-        ///  鏄剧ず绯荤粺寮傚父
+        ///     鏄剧ず绯荤粺寮傚父
         /// </summary>
         /// <param name="e">绯荤粺寮傚父</param>
         public static void ShowException(Exception e)
@@ -70,7 +70,7 @@
         }
 
         /// <summary>
-        ///  淇℃伅鎻愮ず妗�
+        ///     淇℃伅鎻愮ず妗�
         /// </summary>
         /// <param name="msg">鏈鏄剧ず鐨勬秷鎭�</param>
         public static void ShowInformation(string msg)
@@ -82,7 +82,7 @@
         }
 
         /// <summary>
-        ///  璀﹀憡鎻愮ず妗�
+        ///     璀﹀憡鎻愮ず妗�
         /// </summary>
         /// <param name="msg">璀﹀憡鍐呭</param>
         public static void Warning(string msg)
@@ -93,4 +93,4 @@
                 MessageBoxDefaultButton.Button1);
         }
     }
-}
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/ToolBox/UpdateParentEventArgs.cs b/DevApp/Gs.DevApp/ToolBox/UpdateParentEventArgs.cs
index 6de4af4..7ca7160 100644
--- a/DevApp/Gs.DevApp/ToolBox/UpdateParentEventArgs.cs
+++ b/DevApp/Gs.DevApp/ToolBox/UpdateParentEventArgs.cs
@@ -1,13 +1,10 @@
 锘縰sing System;
 using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
 
 namespace Gs.DevApp.ToolBox
 {
     /// <summary>
-    /// 鏇存柊鐖剁獥浣撲簨浠�
+    ///     鏇存柊鐖剁獥浣撲簨浠�
     /// </summary>
     public class UpdateParentEventArgs : EventArgs
     {
@@ -16,7 +13,4 @@
 
         public List<string> StringList { get; set; }
     }
-
-
-   
 }
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
index 45b79f0..57aea1e 100644
--- a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
+++ b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
@@ -1,40 +1,39 @@
-锘縰sing Newtonsoft.Json.Linq;
-using System;
-using System.Data;
-using System.IO;
-using System.Linq;
-using System.Net;
-using System.Reflection;
-using System.Text;
-using System.Resources;
-using System.Drawing;
-using Newtonsoft.Json;
-using Gs.DevApp.Entity;
-using System.Windows.Forms;
-using static System.Windows.Forms.Control;
-using DevExpress.XtraEditors;
-using DevExpress.XtraTab;
-using System.Text.RegularExpressions;
+锘縰sing System;
 using System.Collections.Generic;
-using Gs.DevApp.UserControl;
-using DevExpress.XtraGrid.Columns;
-using DevExpress.XtraGrid;
-using DevExpress.XtraGrid.Views.Grid;
 using System.Configuration;
-using DevExpress.XtraGrid.Views.Grid.ViewInfo;
-using DevExpress.XtraTreeList.Nodes;
-using DevExpress.XtraTreeList;
+using System.Data;
+using System.Drawing;
+using System.IO;
+using System.Net;
 using System.Net.Http;
+using System.Reflection;
+using System.Resources;
+using System.Text;
+using System.Text.RegularExpressions;
 using System.Threading.Tasks;
+using System.Windows.Forms;
+using DevExpress.XtraEditors;
+using DevExpress.XtraEditors.Controls;
+using DevExpress.XtraGrid;
+using DevExpress.XtraGrid.Columns;
+using DevExpress.XtraGrid.Views.Grid;
+using DevExpress.XtraTab;
+using DevExpress.XtraTreeList;
+using Gs.DevApp.Entity;
+using Gs.DevApp.UserControl;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using static System.Windows.Forms.Control;
 
 namespace Gs.DevApp.ToolBox
 {
     /// <summary>
-    /// 閫氱敤绫�
+    ///     閫氱敤绫�
     /// </summary>
     public class UtilityHelper
     {
-        private static string WebApiUrl = ConfigurationManager.AppSettings["WebApiUrl"].ToString();
+        private static readonly string WebApiUrl =
+            ConfigurationManager.AppSettings["WebApiUrl"];
 
 
         public static async Task<string> UploadFileAsync(string filePath)
@@ -42,20 +41,24 @@
             using (var httpClient = new HttpClient())
             using (var form = new MultipartFormDataContent())
             {
-                httpClient.DefaultRequestHeaders.Add("token", ToolBox.UtilityHelper.GetBasicAuthTicket());
+                httpClient.DefaultRequestHeaders.Add("token",
+                    GetBasicAuthTicket());
                 using (var fs = File.OpenRead(filePath))
                 using (var streamContent = new StreamContent(fs))
                 {
                     form.Add(streamContent, "file", Path.GetFileName(filePath));
-                    var response = await httpClient.PostAsync(WebApiUrl + "Upload/UploadFile", form);
-                    string responseString = await response.Content.ReadAsStringAsync();
+                    var response =
+                        await httpClient.PostAsync(
+                            WebApiUrl + "Upload/UploadFile", form);
+                    var responseString =
+                        await response.Content.ReadAsStringAsync();
                     return responseString;
                 }
             }
         }
 
         /// <summary>
-        /// httpPost璁块棶鏈嶅姟
+        ///     httpPost璁块棶鏈嶅姟
         /// </summary>
         /// <param name="url">鏈嶅姟鍦板潃</param>
         /// <param name="meth">鏂规硶鍚嶇О</param>
@@ -66,7 +69,7 @@
             if (string.IsNullOrEmpty(url))
                 url = WebApiUrl;
             url += meth;
-            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
+            var request = (HttpWebRequest)WebRequest.Create(url);
             request.Method = "POST";
             request.ContentType = "application/json";
             request.Headers.Add("token", GetBasicAuthTicket());
@@ -84,7 +87,8 @@
                 response = request.GetResponse();
                 if (response != null)
                 {
-                    StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
+                    var reader = new StreamReader(response.GetResponseStream(),
+                        Encoding.UTF8);
                     responseStr = reader.ReadToEnd();
                     //File.WriteAllText(Server.MapPath("~/") + @"\test.txt", responseStr); 
                     reader.Close();
@@ -101,105 +105,112 @@
                 requestStream = null;
                 response = null;
             }
+
             return responseStr;
         }
 
         /// <summary>
-        /// 榛樿椤靛ぇ灏�
+        ///     榛樿椤靛ぇ灏�
         /// </summary>
         /// <returns></returns>
         public static int GetPageSize()
         {
-            return int.Parse(System.Configuration.ConfigurationSettings.AppSettings.Get("PageSize").ToString());
+            return int.Parse(ConfigurationSettings.AppSettings.Get("PageSize"));
         }
 
         /// <summary>
-        /// 鏍规嵁鍥剧墖鍚嶈鍙栬祫婧愭枃浠�,涓嶅甫鍚庣紑鍚�
+        ///     鏍规嵁鍥剧墖鍚嶈鍙栬祫婧愭枃浠�,涓嶅甫鍚庣紑鍚�
         /// </summary>
         /// <param name="imageName"></param>
         /// <param name="lay">1涓哄ぇ鍥�</param>
         /// <returns></returns>
         public static Image GetImgFromResource(string imageName, int lay)
         {
-            Assembly assembly = Assembly.GetExecutingAssembly();
-            ResourceManager resourceManager = new ResourceManager("Gs.DevApp.Properties.Resources", assembly);
+            var assembly = Assembly.GetExecutingAssembly();
+            var resourceManager =
+                new ResourceManager("Gs.DevApp.Properties.Resources", assembly);
             try
             {
-                Image image = resourceManager.GetObject(imageName) as Image;
-                if (image != null)
-                {
-                    return image;
-                }
+                var image = resourceManager.GetObject(imageName) as Image;
+                if (image != null) return image;
             }
             catch (Exception ex)
             {
-
             }
-            Image image2 = resourceManager.GetObject(lay == 1 ? "chartsshowlegend_32x32" : "linktoprevious_16x16") as Image;
+
+            var image2 = resourceManager.GetObject(lay == 1
+                ? "chartsshowlegend_32x32"
+                : "linktoprevious_16x16") as Image;
             return image2;
         }
 
         /// <summary>
-        /// 鍒濆鍖栦竴涓〃
+        ///     鍒濆鍖栦竴涓〃
         /// </summary>
         /// <param name="gc"></param>
         /// <param name="gv"></param>
         public static void SetDefaultTable(GridControl gc, GridView gv)
         {
-            DataTable dt = new DataTable();
+            var dt = new DataTable();
             foreach (GridColumn col in gv.Columns)
-            {
                 dt.Columns.Add(col.FieldName, typeof(string));
-            }
             gc.BindingContext = new BindingContext();
             gc.DataSource = dt;
             gc.ForceInitialize();
         }
+
         /// <summary>
-        /// 鐢熸垚璁块棶鏈嶅姟鐨則oken
+        ///     鐢熸垚璁块棶鏈嶅姟鐨則oken
         /// </summary>
         /// <returns></returns>
         public static string GetBasicAuthTicket()
         {
-            string userGuid = string.IsNullOrEmpty(LoginInfoModel.CurrentUser.LoginUserGuid) ? Guid.NewGuid().ToString() : LoginInfoModel.CurrentUser.LoginUserGuid;
-            string orgGuid = string.IsNullOrEmpty(LoginInfoModel.CurrentUser.LoginOrgGuid) ? Guid.NewGuid().ToString() : LoginInfoModel.CurrentUser.LoginOrgGuid;
-            string token = (userGuid + "~" + orgGuid);
+            var userGuid =
+                string.IsNullOrEmpty(LoginInfoModel.CurrentUser.LoginUserGuid)
+                    ? Guid.NewGuid().ToString()
+                    : LoginInfoModel.CurrentUser.LoginUserGuid;
+            var orgGuid =
+                string.IsNullOrEmpty(LoginInfoModel.CurrentUser.LoginOrgGuid)
+                    ? Guid.NewGuid().ToString()
+                    : LoginInfoModel.CurrentUser.LoginOrgGuid;
+            var token = userGuid + "~" + orgGuid;
             return token;
         }
+
         /// <summary>
-        /// 鏈嶅姟杩斿洖鐨刯son杞负ReturnModel-->鍖呭惈TablePage鍒嗛〉锛�
+        ///     鏈嶅姟杩斿洖鐨刯son杞负ReturnModel-->鍖呭惈TablePage鍒嗛〉锛�
         /// </summary>
         /// <param name="strReturn"></param>
         /// <returns></returns>
-        public static ReturnModel<PageListModel> ReturnToTablePage(string strReturn)
+        public static ReturnModel<PageListModel> ReturnToTablePage(
+            string strReturn)
         {
-            ReturnModel<PageListModel> rto = new ReturnModel<PageListModel>();
-            JObject json = JObject.Parse(strReturn);
+            var rto = new ReturnModel<PageListModel>();
+            var json = JObject.Parse(strReturn);
             rto.rtnCode = int.Parse(json["rtnCode"].ToString());
             rto.rtnMsg = json["rtnMsg"].ToString();
             rto.rtnData = new PageListModel();
             rto.rtnData.pages = int.Parse(json["rtnData"]["pages"].ToString());
             rto.rtnData.total = int.Parse(json["rtnData"]["total"].ToString());
-            rto.rtnData.everyPageSize = int.Parse(json["rtnData"]["everyPageSize"].ToString());
-            JArray array = new JArray();
+            rto.rtnData.everyPageSize =
+                int.Parse(json["rtnData"]["everyPageSize"].ToString());
+            var array = new JArray();
             var d = json["rtnData"]["list"];
-            foreach (var a in d)
-            {
-                array.Add(a);
-            }
-            DataTable dt = JsonConvert.DeserializeObject<DataTable>(array.ToString());
+            foreach (var a in d) array.Add(a);
+            var dt = JsonConvert.DeserializeObject<DataTable>(array.ToString());
             rto.rtnData.list = dt;
             return rto;
         }
+
         /// <summary>
-        /// 鏈嶅姟杩斿洖鐨刯son杩斿洖ReturnModel锛�
+        ///     鏈嶅姟杩斿洖鐨刯son杩斿洖ReturnModel锛�
         /// </summary>
         /// <param name="strReturn"></param>
         /// <returns></returns>
         public static ReturnModel<dynamic> ReturnToDynamic(string strReturn)
         {
-            ReturnModel<dynamic> rto = new ReturnModel<dynamic>();
-            JObject json = JObject.Parse(strReturn);
+            var rto = new ReturnModel<dynamic>();
+            var json = JObject.Parse(strReturn);
             rto.rtnCode = int.Parse(json["rtnCode"].ToString());
             rto.rtnMsg = json["rtnMsg"].ToString();
             rto.rtnData = json["rtnData"];
@@ -207,133 +218,135 @@
         }
 
         /// <summary>
-        /// 鏈嶅姟杩斿洖鐨刯son涓茶繑鍥濺eturnModel-->浠呬粎鏈塴ist,涓嶅垎椤碉紝
+        ///     鏈嶅姟杩斿洖鐨刯son涓茶繑鍥濺eturnModel-->浠呬粎鏈塴ist,涓嶅垎椤碉紝
         /// </summary>
         /// <param name="strReturn"></param>
         /// <returns></returns>
         public static ReturnModel<DataTable> ReturnToList(string strReturn)
         {
-            ReturnModel<DataTable> rto = new ReturnModel<DataTable>();
-            JObject json = JObject.Parse(strReturn);
+            var rto = new ReturnModel<DataTable>();
+            var json = JObject.Parse(strReturn);
             rto.rtnCode = int.Parse(json["rtnCode"].ToString());
             rto.rtnMsg = json["rtnMsg"].ToString();
             rto.rtnData = new DataTable();
-            JArray array = new JArray();
+            var array = new JArray();
             var d = json["rtnData"];
-            foreach (var a in d)
-            {
-                array.Add(a);
-            }
-            DataTable dt = JsonConvert.DeserializeObject<DataTable>(array.ToString());
+            foreach (var a in d) array.Add(a);
+            var dt = JsonConvert.DeserializeObject<DataTable>(array.ToString());
             rto.rtnData = dt;
             return rto;
         }
 
         /// <summary>
-        /// 鏍规嵁瀵硅薄鎵归噺璁剧疆鏂囨湰妗嗙殑鍊�
+        ///     鏍规嵁瀵硅薄鎵归噺璁剧疆鏂囨湰妗嗙殑鍊�
         /// </summary>
         /// <param name="controls">controls:涓篻roupBox1.Controls/panel1.Controls</param>
         /// <param name="dynamicObject">瀵瑰儚</param>
         /// <param name="isEdt">鏄惁鍙紪杈�</param>
         /// <param name="gridViews">鍏宠仈鐨刧rid</param>
-        public static void SetValueByObj(ControlCollection controls, dynamic dynamicObject, Boolean isEdt, List<DevExpress.XtraGrid.Views.Grid.GridView> gridViews = null)
+        public static void SetValueByObj(ControlCollection controls,
+            dynamic dynamicObject, bool isEdt, List<GridView> gridViews = null)
         {
             isEdt = !isEdt;
             if (gridViews != null)
-            {
-                foreach (DevExpress.XtraGrid.Views.Grid.GridView gv in gridViews)
-                {
+                foreach (var gv in gridViews)
                     gv.OptionsBehavior.Editable = !isEdt;
-                }
-            }
             foreach (JProperty property in dynamicObject.Properties())
             {
-                string strName = property.Name;
-                string strVal = property.Value.ToString();
+                var strName = property.Name;
+                var strVal = property.Value.ToString();
                 try
                 {
-                    string _dddddd = "txt_" + strName;
-                    Control[] cols = controls.Find(_dddddd, true);
+                    var _dddddd = "txt_" + strName;
+                    var cols = controls.Find(_dddddd, true);
                     if (cols.Length > 0)
                     {
-                        Control colType = cols[0];
+                        var colType = cols[0];
                         if (colType is LookUpEdit)
                         {
-                            LookUpEdit txt = colType as LookUpEdit;
-                            if (txt != null)
-                            {
-                                txt.EditValue = strVal;
-                            }
+                            var txt = colType as LookUpEdit;
+                            if (txt != null) txt.EditValue = strVal;
                             txt.ReadOnly = isEdt;
                             continue;
                         }
+
                         if (colType is ImageComboBoxEdit)
                         {
-                            ImageComboBoxEdit txt = colType as ImageComboBoxEdit;
-                            for (int i = 0; i < txt.Properties.Items.Count; i++)
+                            var txt = colType as ImageComboBoxEdit;
+                            for (var i = 0; i < txt.Properties.Items.Count; i++)
                             {
-                                if (txt.Properties.Items[i].Description == strVal)
+                                if (txt.Properties.Items[i].Description ==
+                                    strVal)
                                 {
                                     txt.ReadOnly = isEdt;
                                     txt.SelectedIndex = i;
-                                    continue;
-                                };
+                                }
+
+                                ;
                             }
+
                             continue;
                         }
+
                         if (colType is ComboBoxEdit)
                         {
-                            ComboBoxEdit txt = colType as ComboBoxEdit;
-                            if (txt.Properties.TextEditStyle == DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor)
+                            var txt = colType as ComboBoxEdit;
+                            if (txt.Properties.TextEditStyle ==
+                                TextEditStyles.DisableTextEditor)
                                 txt.SelectedIndex = int.Parse(strVal);
                             else
                                 txt.Text = strVal;
                             txt.ReadOnly = isEdt;
                             continue;
                         }
+
                         //涓嬫媺
                         if (colType is ComboBoxEdit)
                         {
-                            ComboBoxEdit txt = colType as ComboBoxEdit;
-                            if (txt.Properties.TextEditStyle == DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor)
+                            var txt = colType as ComboBoxEdit;
+                            if (txt.Properties.TextEditStyle ==
+                                TextEditStyles.DisableTextEditor)
                                 txt.SelectedIndex = int.Parse(strVal);
                             else
                                 txt.Text = strVal;
                             txt.ReadOnly = isEdt;
                             continue;
                         }
+
                         //鑷畾涔変笅鎷�
                         if (colType is UcComBox)
                         {
-                            UcComBox txt = colType as UcComBox;
+                            var txt = colType as UcComBox;
                             txt.Val = strVal;
                             txt.Enabled = !isEdt;
                             continue;
                         }
+
                         //鏂囨湰
                         if (colType is TextEdit)
                         {
-                            TextEdit txt = colType as TextEdit;
+                            var txt = colType as TextEdit;
                             if (txt != null)
                                 txt.Text = strVal;
                             txt.ReadOnly = isEdt;
                             continue;
                         }
+
                         //鏁板瓧鍗�
                         if (colType is NumericUpDown)
                         {
-                            NumericUpDown txt = colType as NumericUpDown;
+                            var txt = colType as NumericUpDown;
                             if (txt != null)
                                 txt.Text = strVal;
                             txt.ReadOnly = isEdt;
                             continue;
                         }
+
                         //鍗曢��
                         if (colType is CheckEdit)
                         {
-                            CheckEdit txt = colType as CheckEdit;
+                            var txt = colType as CheckEdit;
                             if (txt != null)
-                            {
                                 switch (strVal)
                                 {
                                     case "True":
@@ -349,41 +362,45 @@
                                         txt.Checked = false;
                                         break;
                                 }
-                            }
+
                             txt.ReadOnly = isEdt;
                             continue;
                         }
+
                         //鍗曢��
                         if (colType is CheckBox)
                         {
-                            CheckBox txt = colType as CheckBox;
+                            var txt = colType as CheckBox;
                             if (txt != null)
                                 txt.Checked = bool.Parse(strVal);
                             txt.Enabled = !isEdt;
                             continue;
                         }
+
                         //鏃堕棿
                         if (colType is DateTimePicker)
                         {
-                            DateTimePicker txt = colType as DateTimePicker;
-                            txt.Text = strVal.ToString();
+                            var txt = colType as DateTimePicker;
+                            txt.Text = strVal;
                             txt.Enabled = !isEdt;
                             continue;
                         }
+
                         //Label
                         if (colType is Label)
                         {
-                            Label txt = colType as Label;
+                            var txt = colType as Label;
                             if (_dddddd == "txt_checkStatus")
                             {
-                                if (strVal.ToString() == "True")
+                                if (strVal == "True")
                                     txt.Text = "宸插鏍�";
-                                if (strVal.ToString() == "False")
+                                if (strVal == "False")
                                     txt.Text = "鏈鏍�";
                             }
                             else
-                                txt.Text = strVal.ToString();
-                            continue;
+                            {
+                                txt.Text = strVal;
+                            }
                         }
                     }
                 }
@@ -395,133 +412,132 @@
         }
 
         /// <summary>
-        /// 娓呯┖瀹瑰櫒閲岄潰鐨勬帶浠�
+        ///     娓呯┖瀹瑰櫒閲岄潰鐨勬帶浠�
         /// </summary>
         /// <param name="controls">controls:涓篻roupBox1.Controls/panel1.Controls</param>
         /// <param name="isEdt">鏄惁鍙紪杈�</param>
         /// <param name="gridViews">鍏宠仈鐨刧rid</param>
-        public static void CleanValueByControl(ControlCollection controls, Boolean isEdt, List<DevExpress.XtraGrid.Views.Grid.GridView> gridViews = null)
+        public static void CleanValueByControl(ControlCollection controls,
+            bool isEdt, List<GridView> gridViews = null)
         {
             isEdt = !isEdt;
             if (gridViews != null)
-            {
-                foreach (DevExpress.XtraGrid.Views.Grid.GridView gv in gridViews)
-                {
+                foreach (var gv in gridViews)
                     gv.OptionsBehavior.Editable = !isEdt;
-                }
-            }
             foreach (Control ctrl in controls)
             {
                 //澶氳鏂囨湰
                 if (ctrl is MemoEdit)
                 {
-                    MemoEdit txt = ctrl as MemoEdit;
+                    var txt = ctrl as MemoEdit;
                     txt.Text = "";
                     txt.ReadOnly = isEdt;
                     continue;
                 }
+
                 //涓嬫媺
                 if (ctrl is ComboBoxEdit)
                 {
-                    ComboBoxEdit txt = ctrl as ComboBoxEdit;
-                    if (txt.Properties.TextEditStyle == DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor)
+                    var txt = ctrl as ComboBoxEdit;
+                    if (txt.Properties.TextEditStyle ==
+                        TextEditStyles.DisableTextEditor)
                         txt.SelectedIndex = 0;
                     else
                         txt.Text = "";
                     txt.ReadOnly = isEdt;
                     continue;
                 }
+
                 //鑷畾涔夌殑涓嬫媺
                 if (ctrl is UcComBox)
                 {
-                    UcComBox txt = ctrl as UcComBox;
+                    var txt = ctrl as UcComBox;
                     txt.Val = "0";
                     txt.Enabled = !isEdt;
                     continue;
                 }
+
                 //鏂囨湰
                 if (ctrl is TextEdit)
                 {
-                    TextEdit txt = ctrl as TextEdit;
+                    var txt = ctrl as TextEdit;
                     txt.Text = "";
                     txt.ReadOnly = isEdt;
                     continue;
                 }
+
                 //鏃堕棿
                 if (ctrl is DateTimePicker)
                 {
-                    DateTimePicker txt = ctrl as DateTimePicker;
+                    var txt = ctrl as DateTimePicker;
                     txt.Enabled = !isEdt;
                     continue;
                 }
+
                 //鍗曢��
                 if (ctrl is CheckBox)
                 {
-                    CheckBox txt = ctrl as CheckBox;
+                    var txt = ctrl as CheckBox;
                     txt.Checked = false;
                     txt.Enabled = !isEdt;
-                    continue;
                 }
             }
         }
 
         /// <summary>
-        /// 绂佺敤鎴栧惎鐢ㄥ鍣ㄩ噷闈㈢殑鎺т欢
+        ///     绂佺敤鎴栧惎鐢ㄥ鍣ㄩ噷闈㈢殑鎺т欢
         /// </summary>
         /// <param name="controls">controls:涓篻roupBox1.Controls/panel1.Controls</param>
         /// <param name="isEdt"></param>
         /// <param name="gridViews"></param>
-        public static void ChangeEnableByControl(ControlCollection controls, Boolean isEdt, List<DevExpress.XtraGrid.Views.Grid.GridView> gridViews = null)
+        public static void ChangeEnableByControl(ControlCollection controls,
+            bool isEdt, List<GridView> gridViews = null)
         {
             isEdt = !isEdt;
             if (gridViews != null)
-            {
-                foreach (DevExpress.XtraGrid.Views.Grid.GridView gv in gridViews)
-                {
+                foreach (var gv in gridViews)
                     gv.OptionsBehavior.Editable = !isEdt;
-                }
-            }
             foreach (Control ctrl in controls)
             {
                 //鏂囨湰
                 if (ctrl is TextEdit)
                 {
-                    TextEdit txt = ctrl as TextEdit;
+                    var txt = ctrl as TextEdit;
                     txt.ReadOnly = isEdt;
                     continue;
                 }
+
                 //鏁板瓧鍗�
                 if (ctrl is NumericUpDown)
                 {
-                    NumericUpDown txt = ctrl as NumericUpDown;
+                    var txt = ctrl as NumericUpDown;
                     txt.ReadOnly = isEdt;
                     continue;
                 }
+
                 //涓嬫媺
                 if (ctrl is UcComBox)
                 {
-                    UcComBox txt = ctrl as UcComBox;
+                    var txt = ctrl as UcComBox;
                     txt.Val = "0";
                     txt.Enabled = !isEdt;
                     continue;
                 }
+
                 //鏃ユ湡
                 if (ctrl is DateTimePicker)
                 {
                     ctrl.Enabled = !isEdt;
                     continue;
                 }
+
                 //鍗曢��
-                if (ctrl is CheckBox)
-                {
-                    ctrl.Enabled = !isEdt;
-                    continue;
-                }
+                if (ctrl is CheckBox) ctrl.Enabled = !isEdt;
             }
         }
 
         /// <summary>
-        ///鍒囨崲閫夐」鍗�
+        ///     鍒囨崲閫夐」鍗�
         /// </summary>
         /// <param name="tabControl">閫夐」鍗″鍣�</param>
         /// <param name="idx">浠�0寮�濮嬶紝濡傛灉鏄�999锛屽垯鍏ㄩ儴鍙敤</param>
@@ -529,23 +545,20 @@
         {
             if (idx == 999)
             {
-                for (int i = 0; i < tabControl.TabPages.Count; i++)
-                {
+                for (var i = 0; i < tabControl.TabPages.Count; i++)
                     tabControl.TabPages[i].PageEnabled = true;
-                }
                 tabControl.SelectedTabPageIndex = tabControl.TabPages.Count - 1;
                 return;
             }
-            for (int i = 0; i < tabControl.TabPages.Count; i++)
-            {
+
+            for (var i = 0; i < tabControl.TabPages.Count; i++)
                 tabControl.TabPages[i].PageEnabled = false;
-            }
             tabControl.TabPages[idx].PageEnabled = true;
             tabControl.SelectedTabPageIndex = idx;
         }
 
         /// <summary>
-        /// TreeView鑱斿姩閫夋嫨
+        ///     TreeView鑱斿姩閫夋嫨
         /// </summary>
         /// <param name="e"></param>
         public static void TreeViewCheck(TreeViewEventArgs e)
@@ -553,7 +566,6 @@
             try
             {
                 if (e.Node.Nodes.Count > 0)
-                {
                     foreach (TreeNode tn in e.Node.Nodes)
                     {
                         tn.Checked = e.Node.Checked;
@@ -561,15 +573,14 @@
                         {
                             x.Checked = e.Node.Checked;
                             foreach (TreeNode y in x.Nodes)
-                            {
                                 y.Checked = e.Node.Checked;
-                            }
                         }
                     }
-                }
-                if (e.Node.Checked == true && e.Node.Parent != null && e.Node.Parent.Nodes.Count > 0)
+
+                if (e.Node.Checked && e.Node.Parent != null &&
+                    e.Node.Parent.Nodes.Count > 0)
                 {
-                    TreeNode currentNode = e.Node;
+                    var currentNode = e.Node;
                     while (currentNode != null)
                     {
                         currentNode.Checked = e.Node.Checked;
@@ -579,37 +590,38 @@
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.ShowError(ex.Message);
+                MsgHelper.ShowError(ex.Message);
             }
         }
 
         /// <summary>
-        /// 杞┘宄板懡鍚�
+        ///     杞┘宄板懡鍚�
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
         public static string ToCamelCase(string strItem)
         {
             //濡傛灉鍖呭惈灏忓啓锛屼絾涓嶅寘鍚笅鍒掔嚎
-            bool hasLowercase = Regex.IsMatch(strItem, @"[a-z]");
+            var hasLowercase = Regex.IsMatch(strItem, @"[a-z]");
             if (hasLowercase && !strItem.Contains("_"))
             {
-                char[] chars = strItem.ToCharArray();
+                var chars = strItem.ToCharArray();
                 chars[0] = char.ToLower(chars[0]);
                 return new string(chars);
             }
-            string[] strItems = strItem.ToLower().Split('_');
-            string strItemTarget = strItems[0];
-            for (int j = 1; j < strItems.Length; j++)
+
+            var strItems = strItem.ToLower().Split('_');
+            var strItemTarget = strItems[0];
+            for (var j = 1; j < strItems.Length; j++)
             {
-                string temp = strItems[j].ToString();
-                string temp1 = temp[0].ToString().ToUpper();
-                string temp2 = "";
+                var temp = strItems[j];
+                var temp1 = temp[0].ToString().ToUpper();
+                var temp2 = "";
                 temp2 = temp1 + temp.Remove(0, 1);
                 strItemTarget += temp2;
             }
-            return strItemTarget;
 
+            return strItemTarget;
         }
 
         /// <summary>
@@ -632,25 +644,26 @@
         /// <param name="gridView1"></param>
         /// <param name="SelectedTabPageIndex"></param>
         /// <returns></returns>
-        public static (string, string) GetCurrentRow(XtraTabControl xtraTabControl1
-            , System.Windows.Forms.Label lbGuid
-            , DevExpress.XtraEditors.TextEdit txtName
-            , DevExpress.XtraGrid.Views.Grid.GridView gridView1
+        public static (string, string) GetCurrentRow(
+            XtraTabControl xtraTabControl1
+            , Label lbGuid
+            , TextEdit txtName
+            , GridView gridView1
             , int SelectedTabPageIndex = 1)
         {
-            string _strGuid = "";
-            string _strName = "";
-            if (xtraTabControl1.SelectedTabPageIndex == SelectedTabPageIndex && lbGuid.Text.Length > 10)
+            var _strGuid = "";
+            var _strName = "";
+            if (xtraTabControl1.SelectedTabPageIndex == SelectedTabPageIndex &&
+                lbGuid.Text.Length > 10)
             {
                 _strGuid = lbGuid.Text.Trim();
                 _strName = txtName.Text.Trim();
             }
             else
             {
-                DataRow dr = gridView1.GetFocusedDataRow();
+                var dr = gridView1.GetFocusedDataRow();
                 if (dr == null || string.IsNullOrEmpty(dr["guid"].ToString()))
                 {
-
                 }
                 else
                 {
@@ -658,10 +671,12 @@
                     _strName = dr[2].ToString();
                 }
             }
+
             return (_strGuid, _strName);
         }
+
         /// <summary>
-        /// 璇诲彇TreeView鐨勫綋鍓嶈
+        ///     璇诲彇TreeView鐨勫綋鍓嶈
         /// </summary>
         /// <param name="xtraTabControl1"></param>
         /// <param name="lbGuid"></param>
@@ -669,33 +684,36 @@
         /// <param name="tlMenu"></param>
         /// <param name="SelectedTabPageIndex"></param>
         /// <returns></returns>
-        public static (string, string) GetCurrentRow(XtraTabControl xtraTabControl1
-            , System.Windows.Forms.Label lbGuid
-            , DevExpress.XtraEditors.TextEdit txtName
-            , System.Windows.Forms.TreeView tlMenu
+        public static (string, string) GetCurrentRow(
+            XtraTabControl xtraTabControl1
+            , Label lbGuid
+            , TextEdit txtName
+            , TreeView tlMenu
             , int SelectedTabPageIndex = 1)
         {
-            string _strGuid = "";
-            string _strName = "";
-            if (xtraTabControl1.SelectedTabPageIndex == SelectedTabPageIndex && lbGuid.Text.Length > 10)
+            var _strGuid = "";
+            var _strName = "";
+            if (xtraTabControl1.SelectedTabPageIndex == SelectedTabPageIndex &&
+                lbGuid.Text.Length > 10)
             {
                 _strGuid = lbGuid.Text.Trim();
                 _strName = txtName.Text.Trim();
             }
             else
             {
-                TreeNode clickedNode = tlMenu.SelectedNode;
+                var clickedNode = tlMenu.SelectedNode;
                 if (clickedNode != null)
                 {
-                    _strGuid = clickedNode.Name.ToString();
+                    _strGuid = clickedNode.Name;
                     _strName = clickedNode.Text.Trim();
                 }
             }
+
             return (_strGuid, _strName);
         }
 
         /// <summary>
-        /// 璇诲彇TreeList鐨勫綋鍓嶈
+        ///     璇诲彇TreeList鐨勫綋鍓嶈
         /// </summary>
         /// <param name="xtraTabControl1"></param>
         /// <param name="lbGuid"></param>
@@ -703,15 +721,17 @@
         /// <param name="tlMenu"></param>
         /// <param name="SelectedTabPageIndex"></param>
         /// <returns></returns>
-        public static (string, string) GetCurrentRow(XtraTabControl xtraTabControl1
-            , System.Windows.Forms.Label lbGuid
-             , DevExpress.XtraEditors.TextEdit txtName
-            , DevExpress.XtraTreeList.TreeList tlMenu
+        public static (string, string) GetCurrentRow(
+            XtraTabControl xtraTabControl1
+            , Label lbGuid
+            , TextEdit txtName
+            , TreeList tlMenu
             , int SelectedTabPageIndex = 1)
         {
-            string _strGuid = "";
-            string _strName = "";
-            if (xtraTabControl1.SelectedTabPageIndex == SelectedTabPageIndex && lbGuid.Text.Length > 10)
+            var _strGuid = "";
+            var _strName = "";
+            if (xtraTabControl1.SelectedTabPageIndex == SelectedTabPageIndex &&
+                lbGuid.Text.Length > 10)
             {
                 _strGuid = lbGuid.Text.Trim();
                 _strName = txtName.Text.Trim();
@@ -721,151 +741,127 @@
                 _strGuid = tlMenu.FocusedNode.GetValue("guid").ToString();
                 _strName = tlMenu.FocusedNode.GetValue(0).ToString();
             }
+
             return (_strGuid, _strName);
         }
 
         /// <summary>
-        /// 璇诲彇GridView鍙屽嚮鐨勪富閿�
+        ///     璇诲彇GridView鍙屽嚮鐨勪富閿�
         /// </summary>
         /// <param name="gridView1"></param>
         /// <param name="e"></param>
         /// <param name="colName"></param>
         /// <returns></returns>
-        public static string GetCurrentDoubleRow(DevExpress.XtraGrid.Views.Grid.GridView gridView1
+        public static string GetCurrentDoubleRow(GridView gridView1
             , MouseEventArgs e
             , string colName)
         {
-            GridHitInfo info = gridView1.CalcHitInfo(e.Location);
+            var info = gridView1.CalcHitInfo(e.Location);
             if (info.InRow)
             {
-                GridView view = info.View as GridView;
+                var view = info.View;
                 if (view != null)
                 {
-                    DataRow row = view.GetDataRow(info.RowHandle);
+                    var row = view.GetDataRow(info.RowHandle);
                     if (row != null)
                     {
-                        string rowGuid = (row[colName].ToString());
+                        var rowGuid = row[colName].ToString();
                         return rowGuid;
                     }
                 }
             }
+
             return "";
         }
 
 
         /// <summary>
-        /// 璇诲彇GridView鍙屽嚮鐨勪富閿�
+        ///     璇诲彇GridView鍙屽嚮鐨勪富閿�
         /// </summary>
         /// <param name="gridView1"></param>
         /// <param name="e"></param>
         /// <param name="colName"></param>
         /// <returns></returns>
-        public static string GetCurrentDoubleRow(DevExpress.XtraTreeList.TreeList tlMenu
+        public static string GetCurrentDoubleRow(TreeList tlMenu
             , MouseEventArgs e
             , string colName)
         {
-            TreeListHitInfo info = tlMenu.CalcHitInfo(e.Location);
+            var info = tlMenu.CalcHitInfo(e.Location);
             if (info.Node != null)
             {
-                TreeListNode clickedNode = tlMenu.FocusedNode;
+                var clickedNode = tlMenu.FocusedNode;
                 if (clickedNode.FirstNode == null)
                 {
-                    string rowGuid = clickedNode.GetValue(colName).ToString();
+                    var rowGuid = clickedNode.GetValue(colName).ToString();
                     return rowGuid;
                 }
             }
+
             return "";
         }
-
-
     }
 
     /// <summary>
-    /// 涓嬫媺妗嗘潯鐩被
+    ///     涓嬫媺妗嗘潯鐩被
     /// </summary>
     public class CboItemEntity
     {
         public CboItemEntity()
         {
         }
+
         public CboItemEntity(string val, string text)
         {
-            this.Text = text;
-            this.Value = val;
+            Text = text;
+            Value = val;
         }
-        private object _text = 0;
-        private object _Value = "";
+
         /// <summary>
-        /// 鏄剧ず鍊�
+        ///     鏄剧ず鍊�
         /// </summary>
-        public object Text
-        {
-            get { return this._text; }
-            set { this._text = value; }
-        }
+        public object Text { get; set; } = 0;
+
         /// <summary>
-        /// 瀵硅薄鍊�
+        ///     瀵硅薄鍊�
         /// </summary>
-        public object Value
-        {
-            get { return this._Value; }
-            set { this._Value = value; }
-        }
+        public object Value { get; set; } = "";
 
         public override string ToString()
         {
-            return this.Text.ToString();
+            return Text.ToString();
         }
     }
 
     /// <summary>
-    /// 鏌ヨ妗�
+    ///     鏌ヨ妗�
     /// </summary>
     public class FilterEntity
     {
         /// <summary>
-        /// 
         /// </summary>
         /// <param name="id">瀛楁鍚�</param>
         /// <param name="idDec">瀛楁鍚嶅娉�</param>
         /// <param name="oper">鎿嶄綔绗�</param>
         /// <param name="operDec">鎿嶄綔绗﹀娉�</param>
         /// <param name="val"></param>
-        public FilterEntity(string id, string idDec, string oper, string operDec, string val)
+        public FilterEntity(string id, string idDec, string oper,
+            string operDec, string val)
         {
-            this.fileId = id;
-            this.fileIdDec = idDec;
-            this.fileOper = oper;
-            this.fileOperDec = operDec;
-            this.fileValue = val;
+            fileId = id;
+            fileIdDec = idDec;
+            fileOper = oper;
+            fileOperDec = operDec;
+            fileValue = val;
         }
-        public string fileId
-        {
-            get;
-            set;
-        }
-        public string fileIdDec
-        {
-            get;
-            set;
-        }
-        public string fileOper
-        {
-            get;
-            set;
-        }
-        public string fileOperDec
-        {
-            get;
-            set;
-        }
-        public string fileValue
-        {
-            get;
-            set;
-        }
+
+        public string fileId { get; set; }
+
+        public string fileIdDec { get; set; }
+
+        public string fileOper { get; set; }
+
+        public string fileOperDec { get; set; }
+
+        public string fileValue { get; set; }
     }
-
-
-
-}
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/UserControl/SelectCgMx.cs b/DevApp/Gs.DevApp/UserControl/SelectCgMx.cs
index f7a97b9..7c4b7a5 100644
--- a/DevApp/Gs.DevApp/UserControl/SelectCgMx.cs
+++ b/DevApp/Gs.DevApp/UserControl/SelectCgMx.cs
@@ -1,28 +1,21 @@
-锘縰sing DevExpress.XtraEditors;
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using System.Windows.Forms;
+using DevExpress.XtraEditors;
 using Gs.DevApp.Entity;
 using Gs.DevApp.ToolBox;
 using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows.Forms;
 
 namespace Gs.DevApp.UserControl
 {
-    public partial class SelectCgMx : DevExpress.XtraEditors.XtraForm
+    public partial class SelectCgMx : XtraForm
     {
-        /// <summary>
-        /// 鍥炶皟浜嬩欢
-        /// </summary>
-        public event EventHandler<UpdateParentEventArgs> UpdateParent;
+        private readonly List<FilterEntity> _filterList =
+            new List<FilterEntity>();
 
-        string _webServiceName = "MesRohInDataManager/";
-        List<FilterEntity> _filterList = new List<FilterEntity>();
+        private readonly string _webServiceName = "MesRohInDataManager/";
+
         public SelectCgMx()
         {
             InitializeComponent();
@@ -32,28 +25,35 @@
             gridView1.CustomDrawRowIndicator += (s, e) =>
             {
                 if (e.Info.IsRowIndicator && e.RowHandle >= 0)
-                {
                     e.Info.DisplayText = (e.RowHandle + 1).ToString();
-                }
             };
             btnIn.Click += (s, e) =>
             {
-                List<string> list = new List<string>();
-                for (int i = 0; i < gridView1.DataRowCount; i++)
+                var list = new List<string>();
+                for (var i = 0; i < gridView1.DataRowCount; i++)
                 {
                     var checkBox = gridView1.GetRowCellDisplayText(i, "gvChk");
                     if (checkBox == "Checked")
                     {
-                        string _guid = gridView1.GetRowCellValue(i, "guid").ToString();
+                        var _guid = gridView1.GetRowCellValue(i, "guid")
+                            .ToString();
                         list.Add(_guid);
                     }
                 }
-                UpdateParent?.Invoke(this, new UpdateParentEventArgs { StringList = list });
-                this.Close();
+
+                UpdateParent?.Invoke(this,
+                    new UpdateParentEventArgs { StringList = list });
+                Close();
             };
         }
+
         /// <summary>
-        /// 鍒嗛〉浜嬩欢
+        ///     鍥炶皟浜嬩欢
+        /// </summary>
+        public event EventHandler<UpdateParentEventArgs> UpdateParent;
+
+        /// <summary>
+        ///     鍒嗛〉浜嬩欢
         /// </summary>
         /// <param name="curPage"></param>
         /// <param name="pageSize"></param>
@@ -61,40 +61,40 @@
         {
             getPageList(curPage, pageSize);
         }
+
         /// <summary>
-        /// 
         /// </summary>
         /// <param name="curPage">绗嚑椤�</param>
         /// <param name="pageSize">姣忛〉鍑犳潯</param>
         private void getPageList(int curPage, int pageSize)
         {
-            System.Text.StringBuilder _sbSqlWhere = new System.Text.StringBuilder();
-            foreach (FilterEntity itm in _filterList)
-            {
-                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'");
-            }
-            PageQueryModel pgq = new PageQueryModel(curPage, pageSize, "BILL_NO", "asc", "", _sbSqlWhere.ToString());
-            string json = JsonConvert.SerializeObject(pgq);
+            var _sbSqlWhere = new StringBuilder();
+            foreach (var itm in _filterList)
+                _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" +
+                                   itm.fileValue + "'");
+            var pgq = new PageQueryModel(curPage, pageSize, "BILL_NO", "asc",
+                "", _sbSqlWhere.ToString());
+            var json = JsonConvert.SerializeObject(pgq);
             try
             {
-                string strReturn = UtilityHelper.HttpPost("", _webServiceName + "GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
-                DataTable dt = dd.rtnData.list;
+                var strReturn = UtilityHelper.HttpPost("",
+                    _webServiceName + "GetListPage", json);
+                var dd = UtilityHelper.ReturnToTablePage(strReturn);
+                var dt = dd.rtnData.list;
                 gcMain.BindingContext = new BindingContext();
                 gcMain.DataSource = dt;
                 gcMain.ForceInitialize();
-                int dddd = dd.rtnData.pages;//鎬婚〉
+                var dddd = dd.rtnData.pages; //鎬婚〉
                 pageBar1.TotalPages = dddd;
-                pageBar1.RecordCount = dd.rtnData.total;//璁板綍鎬绘暟
-                pageBar1.CurrentPage = curPage;//褰撳墠椤�
-                pageBar1.RowsCount = pageSize;//姣忛〉鏄剧ず
+                pageBar1.RecordCount = dd.rtnData.total; //璁板綍鎬绘暟
+                pageBar1.CurrentPage = curPage; //褰撳墠椤�
+                pageBar1.RowsCount = pageSize; //姣忛〉鏄剧ず
                 pageBar1.setTxt();
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
-
     }
 }
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/UserControl/SelectCgMx.resx b/DevApp/Gs.DevApp/UserControl/SelectCgMx.resx
index 1af7de1..bfad99e 100644
--- a/DevApp/Gs.DevApp/UserControl/SelectCgMx.resx
+++ b/DevApp/Gs.DevApp/UserControl/SelectCgMx.resx
@@ -1,120 +1,134 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
             <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
             </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/UserControl/ShowDialogForm.cs b/DevApp/Gs.DevApp/UserControl/ShowDialogForm.cs
index 900ace8..29d5276 100644
--- a/DevApp/Gs.DevApp/UserControl/ShowDialogForm.cs
+++ b/DevApp/Gs.DevApp/UserControl/ShowDialogForm.cs
@@ -1,69 +1,57 @@
 锘縰sing System.ComponentModel;
+using DevExpress.XtraEditors;
 
 namespace Gs.DevApp.UserControl
 {
-    public partial class ShowDialogForm : DevExpress.XtraEditors.XtraForm
+    public partial class ShowDialogForm : XtraForm
     {
+        #region Events
+
+        protected override void OnClosing(CancelEventArgs e)
+        {
+            base.OnClosing(e);
+        }
+
+        #endregion
+
         #region Fields & Properties
-        /// <summary>
-        /// 鏍囬
-        /// </summary>
-        private string caption;
 
-        public string Caption
-        {
-            get { return caption; }
-            set { caption = value; }
-        }
         /// <summary>
-        /// 娑堟伅
+        ///     鏍囬
         /// </summary>
-        private string message;
+        public string Caption { get; set; }
 
-        public string Message
-        {
-            get { return message; }
-            set { message = value; }
-        }
         /// <summary>
-        /// 鎻忚堪
+        ///     娑堟伅
         /// </summary>
-        private string content;
+        public string Message { get; set; }
 
-        public string Content
-        {
-            get { return content; }
-            set { content = value; }
-        }
         /// <summary>
-        /// 杩涘害鏉℃渶灏忓��
+        ///     鎻忚堪
         /// </summary>
-        private int minProcess = 1;
+        public string Content { get; set; }
 
-        public int MinProcess
-        {
-            get { return minProcess; }
-            set { minProcess = value; }
-        }
         /// <summary>
-        /// 杩涘害鏉℃渶澶у��
+        ///     杩涘害鏉℃渶灏忓��
         /// </summary>
-        private int maxProcess = 100;
+        public int MinProcess { get; set; } = 1;
 
-        public int MaxProcess
-        {
-            get { return maxProcess; }
-            set { maxProcess = value; }
-        }
+        /// <summary>
+        ///     杩涘害鏉℃渶澶у��
+        /// </summary>
+        public int MaxProcess { get; set; } = 100;
+
         #endregion
 
         #region Constructed Function
+
         public ShowDialogForm()
         {
             InitializeComponent();
         }
+
         /// <summary>
-        /// 璁剧疆
+        ///     璁剧疆
         /// </summary>
         /// <param name="_caption">鎻愮ず</param>
         public ShowDialogForm(string _caption)
@@ -72,101 +60,100 @@
         }
 
         /// <summary>
-        /// 璁剧疆
+        ///     璁剧疆
         /// </summary>
         /// <param name="_caption"></param>
         /// <param name="_message"></param>
-        public ShowDialogForm(string _caption,string _message) 
-            : this(_caption, _message, "",100)
+        public ShowDialogForm(string _caption, string _message)
+            : this(_caption, _message, "", 100)
         {
         }
 
         /// <summary>
-        /// 璁剧疆
+        ///     璁剧疆
         /// </summary>
         /// <param name="_caption"></param>
         /// <param name="_message"></param>
         /// <param name="_content"></param>
-        public ShowDialogForm(string _caption, string _message,string _content)
+        public ShowDialogForm(string _caption, string _message, string _content)
             : this(_caption, _message, _content, 100)
         {
         }
-        
+
         /// <summary>
-        /// 璁剧疆
+        ///     璁剧疆
         /// </summary>
         /// <param name="_caption">鎻愮ず</param>
         /// <param name="_message">娑堟伅鍐呭</param>
         /// <param name="_content">璇︾粏鎻忚堪</param>
         /// <param name="_maxProcess">杩涘害鏉℃渶澶у��</param>
-        public ShowDialogForm(string _caption, string _message,string _content,int _maxProcess)
+        public ShowDialogForm(string _caption, string _message, string _content,
+            int _maxProcess)
             : this()
         {
-            this.Caption = "";
-            this.Message = "";
-            this.Content = "";
+            Caption = "";
+            Message = "";
+            Content = "";
 
-            this.Caption = _caption == "" ? "鎻愮ず" : _caption;
-            this.Message = _message == "" ? "姝e湪鍔犺浇锛岃绋嶅悗......" : _message;
-            this.Content = _content;
-            this.maxProcess = _maxProcess > this.MinProcess ? _maxProcess : MinProcess;
-            
-            lblCaption.Text = this.Caption;
-           // lblMessage.Text = this.Message;
-            lblContent.Text = this.Content;
+            Caption = _caption == "" ? "鎻愮ず" : _caption;
+            Message = _message == "" ? "姝e湪鍔犺浇锛岃绋嶅悗......" : _message;
+            Content = _content;
+            MaxProcess = _maxProcess > MinProcess ? _maxProcess : MinProcess;
+
+            lblCaption.Text = Caption;
+            // lblMessage.Text = this.Message;
+            lblContent.Text = Content;
             progressShow.Properties.Minimum = MinProcess;
             progressShow.Properties.Maximum = MaxProcess;
             progressShow.Properties.Step = 1;
             progressShow.PerformStep();
 
-            this.ShowInTaskbar = false;
-            this.TopMost = true;
-            this.Show();
-            this.Refresh();
+            ShowInTaskbar = false;
+            TopMost = true;
+            Show();
+            Refresh();
         }
+
         #endregion
 
         #region Methods
+
         /// <summary>
-        /// 璁剧疆鎻愮ず
+        ///     璁剧疆鎻愮ず
         /// </summary>
         /// <param name="newCaption"></param>
         public void SetCaption(string newCaption)
         {
-            this.Caption = newCaption;
-            lblCaption.Text = this.Caption;
+            Caption = newCaption;
+            lblCaption.Text = Caption;
             progressShow.PerformStep();
-            this.Refresh();
+            Refresh();
         }
+
         /// <summary>
-        /// 璁剧疆娑堟伅
+        ///     璁剧疆娑堟伅
         /// </summary>
         /// <param name="newMessage"></param>
         public void SetMessage(string newMessage)
         {
-            this.Message = newMessage;
-           // lblMessage.Text = this.Message;
+            Message = newMessage;
+            // lblMessage.Text = this.Message;
             progressShow.PerformStep();
-            this.Refresh();
+            Refresh();
         }
+
         /// <summary>
-        /// 璁剧疆鎻忚堪
+        ///     璁剧疆鎻忚堪
         /// </summary>
         /// <param name="newContent"></param>
         public void SetContent(string newContent)
         {
-            this.Content = newContent;
-            lblContent.Text = this.Content;
+            Content = newContent;
+            lblContent.Text = Content;
             progressShow.PerformStep();
-            this.Refresh();
+            Refresh();
         }
-        #endregion
 
-        #region Events
-        protected override void OnClosing(CancelEventArgs e)
-        {
-            base.OnClosing(e);
-        }
         #endregion
     }
 }
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/UserControl/ShowDialogForm.resx b/DevApp/Gs.DevApp/UserControl/ShowDialogForm.resx
index 1af7de1..bfad99e 100644
--- a/DevApp/Gs.DevApp/UserControl/ShowDialogForm.resx
+++ b/DevApp/Gs.DevApp/UserControl/ShowDialogForm.resx
@@ -1,120 +1,134 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
             <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
             </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/UserControl/ShowFilter.cs b/DevApp/Gs.DevApp/UserControl/ShowFilter.cs
index ebfc3f9..91537cc 100644
--- a/DevApp/Gs.DevApp/UserControl/ShowFilter.cs
+++ b/DevApp/Gs.DevApp/UserControl/ShowFilter.cs
@@ -1,126 +1,145 @@
 锘縰sing System;
 using System.Collections.Generic;
 using System.Data;
+using System.Text;
 using System.Windows.Forms;
+using DevExpress.XtraEditors;
+using DevExpress.XtraEditors.Controls;
 using DevExpress.XtraGrid.Columns;
 using Gs.DevApp.ToolBox;
-using static Gs.DevApp.ToolBox.UtilityHelper;
-
 
 namespace Gs.DevApp.UserControl
 {
-    public partial class ShowFilter : DevExpress.XtraEditors.XtraForm
+    public partial class ShowFilter : XtraForm
     {
-        /// <summary>
-        /// 鍥炶皟浜嬩欢
-        /// </summary>
-        public event EventHandler<UpdateParentEventArgs> UpdateParent;
+        private readonly GridColumnCollection _columns;
+
+        public ShowFilter(GridColumnCollection Columns,
+            List<FilterEntity> list = null)
+        {
+            FilterList = list;
+            _columns = Columns;
+            InitializeComponent();
+            repositoryItemComboBox1.TextEditStyle =
+                TextEditStyles.DisableTextEditor;
+            repositoryItemComboBox1.SelectedIndexChanged +=
+                RepositoryItemComboBox1_SelectedIndexChanged;
+            repositoryItemComboBox1.ParseEditValue +=
+                RepositoryItemComboBox1_ParseEditValue;
+            repositoryItemComboBox2.TextEditStyle =
+                TextEditStyles.DisableTextEditor;
+            repositoryItemComboBox2.SelectedIndexChanged +=
+                RepositoryItemComboBox2_SelectedIndexChanged;
+            repositoryItemComboBox2.ParseEditValue +=
+                RepositoryItemComboBox2_ParseEditValue;
+            gridView1.OptionsFind.ShowSearchNavButtons = false;
+            // this.gridView1.OptionsView.ShowAutoFilterRow = true;
+            gridView1.OptionsView.ShowGroupPanel = false;
+            btnEsc.Click += BtnEsc_Click;
+            btnQuery.Click += BtnQuery_Click;
+            getPageList();
+        }
 
         /// <summary>
-        /// 鏌ヨ闆嗗悎
+        ///     鏌ヨ闆嗗悎
         /// </summary>
         public List<FilterEntity> FilterList { get; set; }
 
-
-        private GridColumnCollection _columns;
-        public ShowFilter(GridColumnCollection Columns, List<FilterEntity> list = null)
-        {
-            this.FilterList = list;
-            this._columns = Columns;
-            InitializeComponent();
-            repositoryItemComboBox1.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
-            repositoryItemComboBox1.SelectedIndexChanged += RepositoryItemComboBox1_SelectedIndexChanged;
-            repositoryItemComboBox1.ParseEditValue += RepositoryItemComboBox1_ParseEditValue;
-            repositoryItemComboBox2.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
-            repositoryItemComboBox2.SelectedIndexChanged += RepositoryItemComboBox2_SelectedIndexChanged;
-            repositoryItemComboBox2.ParseEditValue += RepositoryItemComboBox2_ParseEditValue;
-            this.gridView1.OptionsFind.ShowSearchNavButtons = false;
-            // this.gridView1.OptionsView.ShowAutoFilterRow = true;
-            this.gridView1.OptionsView.ShowGroupPanel = false;
-            this.btnEsc.Click += BtnEsc_Click;
-            this.btnQuery.Click += BtnQuery_Click;
-            getPageList();
-        }
+        /// <summary>
+        ///     鍥炶皟浜嬩欢
+        /// </summary>
+        public event EventHandler<UpdateParentEventArgs> UpdateParent;
 
         private void BtnQuery_Click(object sender, EventArgs e)
         {
             gridView1.CloseEditor();
             gridView1.UpdateCurrentRow();
-            System.Text.StringBuilder sbWhere = new System.Text.StringBuilder();
-            List<FilterEntity> list = new List<FilterEntity>();
-            for (int i = 0; i < gridView1.DataRowCount; i++)
+            var sbWhere = new StringBuilder();
+            var list = new List<FilterEntity>();
+            for (var i = 0; i < gridView1.DataRowCount; i++)
             {
-                if (string.IsNullOrEmpty(this.gridView1.GetRowCellValue(i, "field").ToString())
-                    || string.IsNullOrEmpty(this.gridView1.GetRowCellValue(i, "fieldWhere").ToString())
-                    || string.IsNullOrEmpty(this.gridView1.GetRowCellValue(i, "fieldValue").ToString())
-                    )
+                if (string.IsNullOrEmpty(gridView1.GetRowCellValue(i, "field")
+                        .ToString())
+                    || string.IsNullOrEmpty(gridView1
+                        .GetRowCellValue(i, "fieldWhere").ToString())
+                    || string.IsNullOrEmpty(gridView1
+                        .GetRowCellValue(i, "fieldValue").ToString())
+                   )
                     continue;
                 string _fieId, _fileIdDec;
-                (_fieId, _fileIdDec) = _getFiled(this.gridView1.GetRowCellValue(i, "field").ToString());
+                (_fieId, _fileIdDec) =
+                    _getFiled(gridView1.GetRowCellValue(i, "field").ToString());
                 string _fileWhere, _fileWhereDec;
-                (_fileWhere, _fileWhereDec) = _getFiled(this.gridView1.GetRowCellValue(i, "fieldWhere").ToString());
-                string _fieldValue = this.gridView1.GetRowCellValue(i, "fieldValue").ToString();
+                (_fileWhere, _fileWhereDec) = _getFiled(gridView1
+                    .GetRowCellValue(i, "fieldWhere").ToString());
+                var _fieldValue = gridView1.GetRowCellValue(i, "fieldValue")
+                    .ToString();
                 if (_fileWhere.Contains("like"))
                 {
                     _fileWhere = " like ";
                     _fieldValue = "%" + _fieldValue + "%";
                 }
-                list.Add(new FilterEntity(_fieId, _fileIdDec, _fileWhere, _fileWhereDec, _fieldValue));
+
+                list.Add(new FilterEntity(_fieId, _fileIdDec, _fileWhere,
+                    _fileWhereDec, _fieldValue));
             }
-            UpdateParent?.Invoke(this, new UpdateParentEventArgs { FilterList = list });
-            this.Close();
+
+            UpdateParent?.Invoke(this,
+                new UpdateParentEventArgs { FilterList = list });
+            Close();
         }
 
-       /// <summary>
-       /// 
-       /// </summary>
+        /// <summary>
+        /// </summary>
         private void getPageList()
         {
             foreach (GridColumn col in _columns)
-            {
                 if (col.Tag != null && col.Tag.ToString().StartsWith("query"))
                 {
-                    CboItemEntity item = new CboItemEntity();
-                    item.Text = col.Tag.ToString().Replace("query_a.", "") + "锛�" + col.Caption + "锛�";
+                    var item = new CboItemEntity();
+                    item.Text = col.Tag.ToString().Replace("query_a.", "") +
+                                "锛�" + col.Caption + "锛�";
                     //item.Value = col.FieldName;
                     item.Value = col.Tag.ToString().Replace("query_a.", "");
                     repositoryItemComboBox1.Items.Add(item);
                 }
-            }
-            Dictionary<string, string> d2 = new Dictionary<string, string>();
+
+            var d2 = new Dictionary<string, string>();
             d2.Add(">", "澶т簬");
             d2.Add("<", "灏忎簬");
             d2.Add("=", "绛変簬");
             d2.Add("<>", "涓嶇瓑浜�");
             d2.Add("like", "鍖呭惈");
-            foreach (KeyValuePair<string, string> kvp in d2)
+            foreach (var kvp in d2)
             {
-                CboItemEntity item = new CboItemEntity();
+                var item = new CboItemEntity();
                 item.Text = kvp.Key + "锛�" + kvp.Value + "锛�";
                 item.Value = kvp.Key;
                 repositoryItemComboBox2.Items.Add(item);
             }
+
             try
             {
-                DataTable dt = new DataTable();
+                var dt = new DataTable();
                 dt.Columns.Add("field", typeof(string));
                 dt.Columns.Add("fieldWhere", typeof(string));
                 dt.Columns.Add("fieldValue", typeof(string));
-                foreach (FilterEntity _sql in FilterList)
+                foreach (var _sql in FilterList)
                 {
-                    DataRow dr = dt.NewRow();
+                    var dr = dt.NewRow();
                     dr["field"] = _sql.fileId + "锛�" + _sql.fileIdDec;
                     dr["fieldWhere"] = _sql.fileOper + "锛�" + _sql.fileOperDec;
                     dr["fieldValue"] = _sql.fileValue.Replace("%", "");
                     dt.Rows.Add(dr);
                 }
+
                 gcMain.BindingContext = new BindingContext();
                 gcMain.DataSource = dt;
                 gcMain.ForceInitialize();
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
 
@@ -128,34 +147,40 @@
         {
             return (_field.Split('锛�')[0], _field.Split('锛�')[1]);
         }
+
         private void BtnEsc_Click(object sender, EventArgs e)
         {
-            this.Close();
+            Close();
         }
-        private void RepositoryItemComboBox2_ParseEditValue(object sender, DevExpress.XtraEditors.Controls.ConvertEditValueEventArgs e)
+
+        private void RepositoryItemComboBox2_ParseEditValue(object sender,
+            ConvertEditValueEventArgs e)
         {
             if (e.Value != null)
             {
-                e.Value = e.Value.ToString(); e.Handled = true;
+                e.Value = e.Value.ToString();
+                e.Handled = true;
             }
         }
 
-        private void RepositoryItemComboBox2_SelectedIndexChanged(object sender, EventArgs e)
+        private void RepositoryItemComboBox2_SelectedIndexChanged(object sender,
+            EventArgs e)
         {
-
         }
 
-        private void RepositoryItemComboBox1_ParseEditValue(object sender, DevExpress.XtraEditors.Controls.ConvertEditValueEventArgs e)
+        private void RepositoryItemComboBox1_ParseEditValue(object sender,
+            ConvertEditValueEventArgs e)
         {
             if (e.Value != null)
             {
-                e.Value = e.Value.ToString(); e.Handled = true;
+                e.Value = e.Value.ToString();
+                e.Handled = true;
             }
         }
 
-        private void RepositoryItemComboBox1_SelectedIndexChanged(object sender, EventArgs e)
+        private void RepositoryItemComboBox1_SelectedIndexChanged(object sender,
+            EventArgs e)
         {
-
         }
     }
 }
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/UserControl/ShowFilter.resx b/DevApp/Gs.DevApp/UserControl/ShowFilter.resx
index 1af7de1..bfad99e 100644
--- a/DevApp/Gs.DevApp/UserControl/ShowFilter.resx
+++ b/DevApp/Gs.DevApp/UserControl/ShowFilter.resx
@@ -1,120 +1,134 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
             <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
             </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/UserControl/ShowRptWizard.cs b/DevApp/Gs.DevApp/UserControl/ShowRptWizard.cs
index a152a48..0a2cc53 100644
--- a/DevApp/Gs.DevApp/UserControl/ShowRptWizard.cs
+++ b/DevApp/Gs.DevApp/UserControl/ShowRptWizard.cs
@@ -1,20 +1,17 @@
-锘縰sing DevExpress.Office.Model;
+锘縰sing System;
+using System.ComponentModel;
 using DevExpress.XtraEditors;
-using DevExpress.XtraLayout.Customization;
-using Gs.DevApp.Entity;
+using DevExpress.XtraWizard;
+using Gs.DevApp.DevFrm.Sys;
 using Gs.DevApp.ToolBox;
 using Newtonsoft.Json;
-using Newtonsoft.Json.Linq;
-using System;
-using System.Data;
-using System.Windows.Controls;
 
 namespace Gs.DevApp.UserControl
 {
-    public partial class ShowRptWizard : DevExpress.XtraEditors.XtraForm
+    public partial class ShowRptWizard : XtraForm
     {
+        private readonly string _rptParameter;
 
-        private string _rptParameter;
         public ShowRptWizard(string rptParameter)
         {
             _rptParameter = rptParameter;
@@ -23,41 +20,43 @@
             wizardControl1.FinishClick += WizardControl1_FinishClick;
         }
 
-        private void WizardControl1_FinishClick(object sender, System.ComponentModel.CancelEventArgs e)
+        private void WizardControl1_FinishClick(object sender,
+            CancelEventArgs e)
         {
             var _obj = new
             {
-                rptParameter = this._rptParameter,
+                rptParameter = _rptParameter
                 // rptData = null,鍒濆鏃朵笉鐢ㄨ璁℃ā鏉�
             };
             try
             {
-                string strJson = UtilityHelper.HttpPost("", "Report/EdtTemplate", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                var strJson = UtilityHelper.HttpPost("", "Report/EdtTemplate",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
-                    Gs.DevApp.DevFrm.Sys.EasyRptDesign frm = new Gs.DevApp.DevFrm.Sys.EasyRptDesign(this._rptParameter);
+                    var frm = new EasyRptDesign(_rptParameter);
                     frm.Show();
                 }
                 else
                 {
-                    ToolBox.MsgHelper.ShowError("鎻愮ず锛�" + _rtn.rtnData["outMsg"].ToString());
+                    MsgHelper.ShowError("鎻愮ず锛�" +
+                                        _rtn.rtnData["outMsg"].ToString());
                 }
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.ShowError("鎻愮ず锛�" + ex.Message.ToString());
+                MsgHelper.ShowError("鎻愮ず锛�" + ex.Message);
             }
         }
 
-        private void WizardControl1_NextClick(object sender, DevExpress.XtraWizard.WizardCommandButtonClickEventArgs e)
+        private void WizardControl1_NextClick(object sender,
+            WizardCommandButtonClickEventArgs e)
         {
-            if (this.wizardControl1.SelectedPage == this.welcomeWizardPage1)
+            if (wizardControl1.SelectedPage == welcomeWizardPage1)
             {
-                this.lbParameter.Text = "璇ユ姤琛ㄤ娇鐢ㄤ簡濡備笅鍙傛暟锛�" + _rptParameter;
-                return;
+                lbParameter.Text = "璇ユ姤琛ㄤ娇鐢ㄤ簡濡備笅鍙傛暟锛�" + _rptParameter;
             }
         }
-
     }
 }
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/UserControl/ShowRptWizard.resx b/DevApp/Gs.DevApp/UserControl/ShowRptWizard.resx
index 1af7de1..bfad99e 100644
--- a/DevApp/Gs.DevApp/UserControl/ShowRptWizard.resx
+++ b/DevApp/Gs.DevApp/UserControl/ShowRptWizard.resx
@@ -1,120 +1,134 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
             <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
             </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/UserControl/UcComBox.cs b/DevApp/Gs.DevApp/UserControl/UcComBox.cs
index 228875c..f428461 100644
--- a/DevApp/Gs.DevApp/UserControl/UcComBox.cs
+++ b/DevApp/Gs.DevApp/UserControl/UcComBox.cs
@@ -3,8 +3,12 @@
 
 namespace Gs.DevApp.UserControl
 {
-    public partial class UcComBox : DevExpress.XtraEditors.XtraUserControl
+    public partial class UcComBox : XtraUserControl
     {
+        private string _Text = "-璇烽�夋嫨-";
+
+        private string _Value = "0";
+
         public UcComBox()
         {
             InitializeComponent();
@@ -13,25 +17,23 @@
             txt_isStatus.Properties.Items.Add(new CboItemEntity("-1", "涓嶆甯�"));
         }
 
-        private string _Value = "0";
-        private string _Text = "-璇烽�夋嫨-";
-
         /// <summary>
-        /// 鏄剧ず鍊�
+        ///     鏄剧ず鍊�
         /// </summary>
         public string Txt
         {
-            get { return this.txt_isStatus.Text.ToString(); }
-            set { this._Text = value; }
+            get => txt_isStatus.Text;
+            set => _Text = value;
         }
+
         /// <summary>
-        /// 瀵硅薄鍊�
+        ///     瀵硅薄鍊�
         /// </summary>
         public string Val
         {
             get
             {
-                switch (this.txt_isStatus.SelectedIndex)
+                switch (txt_isStatus.SelectedIndex)
                 {
                     case 0:
                         return "0";
@@ -45,25 +47,23 @@
             }
             set
             {
-                this._Value = value;
+                _Value = value;
                 if (!string.IsNullOrEmpty(value))
-                {
                     switch (int.Parse(value))
                     {
                         case 0:
-                            this.txt_isStatus.SelectedIndex=0;
+                            txt_isStatus.SelectedIndex = 0;
                             break;
                         case 1:
-                            this.txt_isStatus.SelectedIndex = 1;
+                            txt_isStatus.SelectedIndex = 1;
                             break;
                         case -1:
-                            this.txt_isStatus.SelectedIndex = 2;
+                            txt_isStatus.SelectedIndex = 2;
                             break;
                         default:
-                            this.txt_isStatus.SelectedIndex = 0;
+                            txt_isStatus.SelectedIndex = 0;
                             break;
                     }
-                }
             }
         }
 
@@ -72,4 +72,4 @@
         //    return this.Text.ToString();
         //}
     }
-}
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/UserControl/UcComBox.resx b/DevApp/Gs.DevApp/UserControl/UcComBox.resx
index 1af7de1..bfad99e 100644
--- a/DevApp/Gs.DevApp/UserControl/UcComBox.resx
+++ b/DevApp/Gs.DevApp/UserControl/UcComBox.resx
@@ -1,120 +1,134 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
             <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
             </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/UserControl/UcLookCk.cs b/DevApp/Gs.DevApp/UserControl/UcLookCk.cs
index d0ee7f0..c08609a 100644
--- a/DevApp/Gs.DevApp/UserControl/UcLookCk.cs
+++ b/DevApp/Gs.DevApp/UserControl/UcLookCk.cs
@@ -1,81 +1,72 @@
-锘縰sing DevExpress.XtraEditors;
+锘縰sing System;
+using System.Data;
+using DevExpress.XtraEditors;
 using Gs.DevApp.Entity;
 using Gs.DevApp.ToolBox;
 using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows.Forms;
 
 namespace Gs.DevApp.UserControl
 {
-    public partial class UcLookCk : DevExpress.XtraEditors.XtraUserControl
+    public partial class UcLookCk : XtraUserControl
     {
-
-        /// <summary>
-        /// 鏀瑰彉浜嬩欢
-        /// </summary>
-        public event EventHandler EditChanged;
-
         public UcLookCk()
         {
             InitializeComponent();
-            this.lookSearchSupplier.EditValueChanged += LookSearchSupplier_EditValueChanged;
+            lookSearchSupplier.EditValueChanged +=
+                LookSearchSupplier_EditValueChanged;
             getSuppler();
         }
-        private void LookSearchSupplier_EditValueChanged(object sender, EventArgs e)
+
+        /// <summary>
+        ///     鏀瑰彉浜嬩欢
+        /// </summary>
+        public event EventHandler EditChanged;
+
+        private void LookSearchSupplier_EditValueChanged(object sender,
+            EventArgs e)
         {
-            if (EditChanged != null)
-            {
-                EditChanged(this, e);
-            }
+            if (EditChanged != null) EditChanged(this, e);
         }
+
         private void getSuppler()
         {
-            PageQueryModel pgq = new PageQueryModel(1, 999999, "depot_code", "asc", "", " and is_ng='A'");
-            string json = JsonConvert.SerializeObject(pgq);
+            var pgq = new PageQueryModel(1, 999999, "depot_code", "asc", "",
+                " and is_ng='A'");
+            var json = JsonConvert.SerializeObject(pgq);
             try
             {
-                string strReturn = UtilityHelper.HttpPost("", "MesDepotsManager/GetListPage", json);
-                ReturnModel<PageListModel> rtn = UtilityHelper.ReturnToTablePage(strReturn);
-                DataTable dt = rtn.rtnData.list;
+                var strReturn = UtilityHelper.HttpPost("",
+                    "MesDepotsManager/GetListPage", json);
+                var rtn = UtilityHelper.ReturnToTablePage(strReturn);
+                var dt = rtn.rtnData.list;
                 lookSearchSupplier.Properties.DataSource = dt;
                 lookSearchSupplier.Properties.DisplayMember = "depotName";
                 lookSearchSupplier.Properties.ValueMember = "depotId";
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
-
         }
 
         /// <summary>
-        /// 鍙栨帶浠剁殑鍊�
+        ///     鍙栨帶浠剁殑鍊�
         /// </summary>
         /// <return>Object</return>
         public string[] GetValue()
         {
-            string id = this.lookSearchSupplier.EditValue.ToString();
-            string name = this.lookSearchSupplier.Text.Trim();
-            string code = "";
-            DataRowView row = this.lookSearchSupplier.GetSelectedDataRow() as DataRowView;
-            if (row != null)
-            {
-                code = row["depotCode"].ToString();
-            }
+            var id = lookSearchSupplier.EditValue.ToString();
+            var name = lookSearchSupplier.Text.Trim();
+            var code = "";
+            var row = lookSearchSupplier.GetSelectedDataRow() as DataRowView;
+            if (row != null) code = row["depotCode"].ToString();
             string[] _ary = { id, name, code };
             return _ary;
         }
 
         public void SetId(string id)
         {
-            lookSearchSupplier.EditValue = Int64.Parse(id);
+            lookSearchSupplier.EditValue = long.Parse(id);
         }
     }
-}
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/UserControl/UcLookCk.resx b/DevApp/Gs.DevApp/UserControl/UcLookCk.resx
index 1af7de1..bfad99e 100644
--- a/DevApp/Gs.DevApp/UserControl/UcLookCk.resx
+++ b/DevApp/Gs.DevApp/UserControl/UcLookCk.resx
@@ -1,120 +1,134 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
             <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
             </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/UserControl/UcLookSupplier.cs b/DevApp/Gs.DevApp/UserControl/UcLookSupplier.cs
index de318ae..2a15b01 100644
--- a/DevApp/Gs.DevApp/UserControl/UcLookSupplier.cs
+++ b/DevApp/Gs.DevApp/UserControl/UcLookSupplier.cs
@@ -1,33 +1,29 @@
-锘縰sing DevExpress.XtraEditors;
+锘縰sing System;
+using System.Data;
+using DevExpress.XtraEditors;
 using Gs.DevApp.Entity;
 using Gs.DevApp.ToolBox;
 using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows.Forms;
 
 namespace Gs.DevApp.UserControl
 {
-    public partial class UcLookSupplier : DevExpress.XtraEditors.XtraUserControl
+    public partial class UcLookSupplier : XtraUserControl
     {
-        /// <summary>
-        /// 鏀瑰彉浜嬩欢
-        /// </summary>
-        public event EventHandler EditChanged;
-
         public UcLookSupplier()
         {
             InitializeComponent();
-            this.lookSearchSupplier.EditValueChanged += LookSearchSupplier_EditValueChanged;
+            lookSearchSupplier.EditValueChanged +=
+                LookSearchSupplier_EditValueChanged;
             getSuppler();
         }
-        private void LookSearchSupplier_EditValueChanged(object sender, EventArgs e)
+
+        /// <summary>
+        ///     鏀瑰彉浜嬩欢
+        /// </summary>
+        public event EventHandler EditChanged;
+
+        private void LookSearchSupplier_EditValueChanged(object sender,
+            EventArgs e)
         {
             ////浣跨敤灞炴��
             //string daID = this.lookSearchSupplier.EditValue.ToString();
@@ -38,53 +34,49 @@
             //{
             //    xm = row["guid"].ToString();
             //}
-            if (EditChanged != null)
-            {
-                EditChanged(this, e);
-            }
+            if (EditChanged != null) EditChanged(this, e);
         }
+
         private void getSuppler()
         {
-            PageQueryModel pgq = new PageQueryModel(1, 999999, "supp_no", "asc", "", " and fforbidstatus='A'");
-            string json = JsonConvert.SerializeObject(pgq);
+            var pgq = new PageQueryModel(1, 999999, "supp_no", "asc", "",
+                " and fforbidstatus='A'");
+            var json = JsonConvert.SerializeObject(pgq);
             try
             {
-                string strReturn = UtilityHelper.HttpPost("", "MesSupplierManager/GetListPage", json);
-                ReturnModel<PageListModel> rtn = UtilityHelper.ReturnToTablePage(strReturn);
-                DataTable dt = rtn.rtnData.list;
+                var strReturn = UtilityHelper.HttpPost("",
+                    "MesSupplierManager/GetListPage", json);
+                var rtn = UtilityHelper.ReturnToTablePage(strReturn);
+                var dt = rtn.rtnData.list;
                 lookSearchSupplier.Properties.DataSource = dt;
                 lookSearchSupplier.Properties.DisplayMember = "suppName";
                 lookSearchSupplier.Properties.ValueMember = "id";
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
-
         }
 
         /// <summary>
-        /// 鍙栨帶浠剁殑鍊�
+        ///     鍙栨帶浠剁殑鍊�
         /// </summary>
         /// <return>Object</return>
         public string[] GetValue()
         {
             //https://www.cnblogs.com/lhyqzx/p/6928817.html
-            string id = this.lookSearchSupplier.EditValue.ToString();
-            string name = this.lookSearchSupplier.Text.Trim();
-            string code = "";
-            DataRowView row = this.lookSearchSupplier.GetSelectedDataRow() as DataRowView;
-            if (row != null)
-            {
-                code = row["suppNo"].ToString();
-            }
+            var id = lookSearchSupplier.EditValue.ToString();
+            var name = lookSearchSupplier.Text.Trim();
+            var code = "";
+            var row = lookSearchSupplier.GetSelectedDataRow() as DataRowView;
+            if (row != null) code = row["suppNo"].ToString();
             string[] _ary = { id, name, code };
             return _ary;
         }
 
         public void SetId(string id)
         {
-            lookSearchSupplier.EditValue = Int64.Parse(id);
+            lookSearchSupplier.EditValue = long.Parse(id);
         }
     }
-}
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/UserControl/UcLookSupplier.resx b/DevApp/Gs.DevApp/UserControl/UcLookSupplier.resx
index 1af7de1..bfad99e 100644
--- a/DevApp/Gs.DevApp/UserControl/UcLookSupplier.resx
+++ b/DevApp/Gs.DevApp/UserControl/UcLookSupplier.resx
@@ -1,120 +1,134 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
             <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
             </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/UserControl/UcPageBar.cs b/DevApp/Gs.DevApp/UserControl/UcPageBar.cs
index 9b3b194..bec80ee 100644
--- a/DevApp/Gs.DevApp/UserControl/UcPageBar.cs
+++ b/DevApp/Gs.DevApp/UserControl/UcPageBar.cs
@@ -1,72 +1,24 @@
 锘縰sing System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Drawing;
-using System.Data;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
 using System.Windows.Forms;
-using DevExpress.XtraEditors;
-using DevExpress.XtraGrid;
-using Gs.DevApp.ToolBox;
 
 namespace UserControls.Data
 {
     public partial class UcPageBar : UserControl
     {
-        public delegate void GetPageDataEvents(int curPage, int pageSize);//瀹氫箟濮旀墭
-        public event GetPageDataEvents PagerEvent;//瀹氫箟浜嬩欢
+        public delegate void
+            GetPageDataEvents(int curPage, int pageSize); //瀹氫箟濮旀墭
 
         public UcPageBar()
         {
             InitializeComponent();
-           // UtilityHelper.SetFont(layoutControl1);
+            // UtilityHelper.SetFont(layoutControl1);
         }
 
-        #region 瀹氫箟灞炴��
-
-
-        int _TotalPages;
-        /// <summary>
-        /// 鎬婚〉鏁�
-        /// </summary>
-        public int TotalPages
-        {
-            get { return _TotalPages; }
-            set
-            {
-                _TotalPages = value;
-            }
-        }
-
-        /// <summary>
-        /// 褰撳墠椤�
-        /// </summary>
-        public int CurrentPage
-        {
-            get; set;
-        }
-
-        /// <summary>
-        /// 姣忛〉鏉℃暟
-        /// </summary>
-        public int RowsCount
-        {
-            get; set;
-        }
-
-        /// <summary>
-        /// 鎬昏褰曟暟
-        /// </summary>
-        public int RecordCount
-        {
-            get; set;
-        }
-        #endregion
+        public event GetPageDataEvents PagerEvent; //瀹氫箟浜嬩欢
 
         //閫夋嫨姣忛〉鏄剧ず鏉℃暟
-        private void cbxRowCount_SelectedIndexChanged(object sender, EventArgs e)
+        private void cbxRowCount_SelectedIndexChanged(object sender,
+            EventArgs e)
         {
             RowsCount = Convert.ToInt32(cbxRowCount.Text);
             CurrentPage = 1;
@@ -79,19 +31,13 @@
         {
             if (e.KeyCode == Keys.Enter)
             {
-                int page = Convert.ToInt32(tbxCurrentPage.Text);
+                var page = Convert.ToInt32(tbxCurrentPage.Text);
                 if (page < 1)
-                {
                     CurrentPage = 1;
-                }
                 else if (page > TotalPages)
-                {
                     CurrentPage = TotalPages;
-                }
                 else
-                {
                     CurrentPage = page;
-                }
                 if (PagerEvent != null)
                     BtnEvents(sender, e);
             }
@@ -113,10 +59,7 @@
         {
             if (CurrentPage == 1)
                 return;
-            if (CurrentPage <= TotalPages)
-            {
-                CurrentPage -= 1;
-            }
+            if (CurrentPage <= TotalPages) CurrentPage -= 1;
             if (PagerEvent != null)
                 BtnEvents(sender, e);
         }
@@ -126,10 +69,7 @@
         {
             if (CurrentPage == TotalPages)
                 return;
-            if (CurrentPage < TotalPages)
-            {
-                CurrentPage += 1;
-            }
+            if (CurrentPage < TotalPages) CurrentPage += 1;
             if (PagerEvent != null)
                 BtnEvents(sender, e);
         }
@@ -153,9 +93,9 @@
         public void setTxt()
         {
             tbxCurrentPage.Text = CurrentPage.ToString();
-            lbTotalPages.Text = "鍏� " + TotalPages.ToString() + "椤�";
-            lbTotalRows.Text = "鍏� " + RecordCount.ToString() + " 鏉¤褰�";
-            this.cbxRowCount.Text = this.RowsCount.ToString();
+            lbTotalPages.Text = "鍏� " + TotalPages + "椤�";
+            lbTotalRows.Text = "鍏� " + RecordCount + " 鏉¤褰�";
+            cbxRowCount.Text = RowsCount.ToString();
             if (CurrentPage == 1)
                 lbFirstPage.Enabled = false;
             else
@@ -173,5 +113,29 @@
             else
                 lbNextPage.Enabled = true;
         }
+
+        #region 瀹氫箟灞炴��
+
+        /// <summary>
+        ///     鎬婚〉鏁�
+        /// </summary>
+        public int TotalPages { get; set; }
+
+        /// <summary>
+        ///     褰撳墠椤�
+        /// </summary>
+        public int CurrentPage { get; set; }
+
+        /// <summary>
+        ///     姣忛〉鏉℃暟
+        /// </summary>
+        public int RowsCount { get; set; }
+
+        /// <summary>
+        ///     鎬昏褰曟暟
+        /// </summary>
+        public int RecordCount { get; set; }
+
+        #endregion
     }
-}
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/UserControl/UcPageBar.resx b/DevApp/Gs.DevApp/UserControl/UcPageBar.resx
index 1af7de1..bfad99e 100644
--- a/DevApp/Gs.DevApp/UserControl/UcPageBar.resx
+++ b/DevApp/Gs.DevApp/UserControl/UcPageBar.resx
@@ -1,120 +1,134 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
             <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
             </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/UserControl/UcToolBarMenu.cs b/DevApp/Gs.DevApp/UserControl/UcToolBarMenu.cs
index 2356000..3e13490 100644
--- a/DevApp/Gs.DevApp/UserControl/UcToolBarMenu.cs
+++ b/DevApp/Gs.DevApp/UserControl/UcToolBarMenu.cs
@@ -1,219 +1,102 @@
-锘縰sing DevExpress.Pdf.Native.BouncyCastle.Asn1.X509;
-using DevExpress.Utils.DirectXPaint;
-using DevExpress.XtraBars;
-using DevExpress.XtraLayout.Customization;
-using DevExpress.XtraReports.Design;
-using Gs.DevApp.Entity;
-using Gs.DevApp.ToolBox;
-using Newtonsoft.Json;
-using Newtonsoft.Json.Linq;
-using System;
+锘縰sing System;
 using System.Collections.Generic;
 using System.Configuration;
 using System.Data;
-using System.IO;
 using System.Linq;
-using System.Net;
-using System.Net.Http;
-using System.Security.Policy;
-using System.Threading.Tasks;
 using System.Windows.Forms;
+using DevExpress.XtraBars;
+using DevExpress.XtraEditors;
+using Gs.DevApp.DevFrm.Rpt;
+using Gs.DevApp.DevFrm.Sys;
+using Gs.DevApp.Entity;
+using Gs.DevApp.ToolBox;
+using Newtonsoft.Json;
 
 namespace Gs.DevApp.UserControl
 {
-    public partial class UcToolBarMenu : DevExpress.XtraEditors.XtraUserControl
+    public partial class UcToolBarMenu : XtraUserControl
     {
-        #region 鍏叡浜嬩欢
-        /// <summary>
-        /// 鏂板
-        /// </summary>
-        public event EventHandler btnAddClick;
-
-        /// <summary>
-        /// 鍒犻櫎
-        /// </summary>
-        public event EventHandler btnDelClick;
-
-        /// <summary>
-        /// 淇敼
-        /// </summary>
-        public event EventHandler btnEdtClick;
-
-        /// <summary>
-        /// 鍒锋柊
-        /// </summary>
-        public event EventHandler btnLoadClick;
-
-        /// <summary>
-        /// 淇濆瓨
-        /// </summary>
-        public event EventHandler btnSaveClick;
-
-        /// <summary>
-        /// 鍙栨秷
-        /// </summary>
-        public event EventHandler btnEscClick;
-
-        /// <summary>
-        /// 寮�宸�
-        /// </summary>
-        public event EventHandler btnKGClick;
-
-        /// <summary>
-        /// 鏉冮檺
-        /// </summary>
-        public event EventHandler btnRoleClick;
-
-        /// <summary>
-        /// 鏌ヨ
-        /// </summary>
-        public event EventHandler btnQueryClick;
-
-        /// <summary>
-        /// 瀹℃牳
-        /// </summary>
-        public event EventHandler btnChkClick;
-
-        /// <summary>
-        /// 鍙嶅鏍�
-        /// </summary>
-        public event EventHandler btnFChkClick;
-
-
-        /// <summary>
-        /// 妫�楠�
-        /// </summary>
-        public event EventHandler btnJianYanClick;
-        /// <summary>
-        /// 鍙嶆楠�
-        /// </summary>
-        public event EventHandler btnFjianYanClick;
-
-        #endregion
-
-        #region 鍏叡灞炴��
-
-
-        public bool isSetBtn { get; set; }
-
-        /// <summary>
-        /// 鍏抽敭瀛楋紝涓�鑸槸涓婚敭
-        /// </summary>
-        public string guidKey { get; set; }
-
-        /// <summary>
-        /// 鎸夐挳鍚嶇О闆嗗悎
-        /// </summary>
-        public List<string> actions { get; }
-
-        /// <summary>
-        /// 鎶ヨ〃锛屽湪鏁版嵁搴撲腑瑕佸敮涓�,濡傦細瀛樺偍杩囩▼鍚峽鍏ュ弬1鍚峾鍏ュ弬鍊�,鍏ュ弬2鍚峾鍏ュ弬鍊紏
-        /// </summary>
-        public string rptParameter { get; set; }
-
-        /// <summary>
-        /// 瀵煎嚭锛岃鍥惧悕,濡傦細瑙嗗浘鍚峽鍏ュ弬1鍚峾鍏ュ弬鍊�,鍏ュ弬2鍚峾鍏ュ弬鍊紏
-        /// </summary>
-        public string xlsOutParameter { get; set; }
-
-        /// <summary>
-        /// 瀵煎叆
-        /// </summary>
-        public string xlsInService { get; set; }
-
-        /// <summary>
-        /// 瀹℃牳鍙傛暟,琛ㄥ悕,瀛楁鍚嶏紝濡傦細MES_HOLIDAY,check_date,check_status,check_by
-        /// </summary>
-        public string chkParameter { get; set; }
-        #endregion
-
-
         public UcToolBarMenu()
         {
             InitializeComponent();
-            this.btnAdd.ItemClick += BtnAdd_ItemClick;
-            this.btnDel.ItemClick += BtnDel_ItemClick;
-            this.btnEdit.ItemClick += BtnEdit_ItemClick;
-            this.btnLoad.ItemClick += BtnLoad_ItemClick;
-            this.btnSave.ItemClick += BtnSave_ItemClick;
-            this.btnKG.ItemClick += BtnKG_ItemClick;
-            this.btnEsc.ItemClick += BtnEsc_ItemClick;
-            this.btnRole.ItemClick += BtnRole_ItemClick;
-            this.btnQuery.ItemClick += BtnQuery_ItemClick;
-            this.btnReport.ItemClick += BtnReport_ItemClick;
-            this.btnDesign.ItemClick += BtnDesign_ItemClick;
-            this.btnOut.ItemClick += BtnOut_ItemClick;
-            this.btnIn.ItemClick += BtnIn_ItemClick;
-            this.btnChk.ItemClick += BtnChk_ItemClick;
-            this.btnFchk.ItemClick += BtnFchk_ItemClick;
-            this.btnJianYan.ItemClick += BtnJianYan_ItemClick;
-            this.btnFjianYan.ItemClick += BtnFjianYan_ItemClick;
-            List<string> lst = new List<string>();
+            btnAdd.ItemClick += BtnAdd_ItemClick;
+            btnDel.ItemClick += BtnDel_ItemClick;
+            btnEdit.ItemClick += BtnEdit_ItemClick;
+            btnLoad.ItemClick += BtnLoad_ItemClick;
+            btnSave.ItemClick += BtnSave_ItemClick;
+            btnKG.ItemClick += BtnKG_ItemClick;
+            btnEsc.ItemClick += BtnEsc_ItemClick;
+            btnRole.ItemClick += BtnRole_ItemClick;
+            btnQuery.ItemClick += BtnQuery_ItemClick;
+            btnReport.ItemClick += BtnReport_ItemClick;
+            btnDesign.ItemClick += BtnDesign_ItemClick;
+            btnOut.ItemClick += BtnOut_ItemClick;
+            btnIn.ItemClick += BtnIn_ItemClick;
+            btnChk.ItemClick += BtnChk_ItemClick;
+            btnFchk.ItemClick += BtnFchk_ItemClick;
+            btnJianYan.ItemClick += BtnJianYan_ItemClick;
+            btnFjianYan.ItemClick += BtnFjianYan_ItemClick;
+            var lst = new List<string>();
             foreach (BarItem item in barManager1.Items)
-            {
                 if (item is BarLargeButtonItem largeButtonItem)
-                {
                     if (!string.IsNullOrEmpty(item.Caption))
                         lst.Add(item.Caption);
-                }
-            }
-            this.actions = lst;
+            actions = lst;
         }
 
 
         /// <summary>
-        /// 鍒濆鍖栨寜閽姸鎬�
+        ///     鍒濆鍖栨寜閽姸鎬�
         /// </summary>
         protected override void OnCreateControl()
         {
             base.OnCreateControl();
-            if (this.Parent != null)
-            {
-                getNamespace();
-            }
+            if (Parent != null) getNamespace();
         }
+
         private void BtnFchk_ItemClick(object sender, ItemClickEventArgs e)
         {
             if (btnFChkClick != null)
-            {
                 btnFChkClick(this, e);
-            }
             else
                 return;
 
-            if (string.IsNullOrEmpty(this.guidKey))
+            if (string.IsNullOrEmpty(guidKey))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
-            if (string.IsNullOrEmpty(this.chkParameter))
+
+            if (string.IsNullOrEmpty(chkParameter))
             {
-                ToolBox.MsgHelper.ShowError("娌℃湁鎸囧畾瀹℃牳鍙傛暟锛岃鑱旂郴寮�鍙戜汉鍛樿幏鍙栨敮鎸侊紒");
+                MsgHelper.ShowError("娌℃湁鎸囧畾瀹℃牳鍙傛暟锛岃鑱旂郴寮�鍙戜汉鍛樿幏鍙栨敮鎸侊紒");
                 return;
             }
+
             if (!MsgHelper.AskQuestion("浣犻�夋嫨浜�1鏉℃暟鎹紝纭畾鍙嶅鏍稿悧锛�"))
                 return;
             _ckService(0.ToString());
         }
+
         private void BtnChk_ItemClick(object sender, ItemClickEventArgs e)
         {
             if (btnChkClick != null)
-            {
                 btnChkClick(this, e);
-            }
             else
                 return;
 
-            if (string.IsNullOrEmpty(this.guidKey))
+            if (string.IsNullOrEmpty(guidKey))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
-            if (string.IsNullOrEmpty(this.chkParameter))
+
+            if (string.IsNullOrEmpty(chkParameter))
             {
-                ToolBox.MsgHelper.ShowError("娌℃湁鎸囧畾瀹℃牳鍙傛暟锛岃鑱旂郴寮�鍙戜汉鍛樿幏鍙栨敮鎸侊紒");
+                MsgHelper.ShowError("娌℃湁鎸囧畾瀹℃牳鍙傛暟锛岃鑱旂郴寮�鍙戜汉鍛樿幏鍙栨敮鎸侊紒");
                 return;
             }
+
             if (!MsgHelper.AskQuestion("浣犻�夋嫨浜�1鏉℃暟鎹紝纭畾瀹℃牳鍚楋紵"))
                 return;
             _ckService(1.ToString());
@@ -222,22 +105,22 @@
         private void BtnFjianYan_ItemClick(object sender, ItemClickEventArgs e)
         {
             if (btnFjianYanClick != null)
-            {
                 btnFjianYanClick(this, e);
-            }
             else
                 return;
 
-            if (string.IsNullOrEmpty(this.guidKey))
+            if (string.IsNullOrEmpty(guidKey))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
-            if (string.IsNullOrEmpty(this.chkParameter))
+
+            if (string.IsNullOrEmpty(chkParameter))
             {
-                ToolBox.MsgHelper.ShowError("娌℃湁鎸囧畾妫�楠屽弬鏁帮紝璇疯仈绯诲紑鍙戜汉鍛樿幏鍙栨敮鎸侊紒");
+                MsgHelper.ShowError("娌℃湁鎸囧畾妫�楠屽弬鏁帮紝璇疯仈绯诲紑鍙戜汉鍛樿幏鍙栨敮鎸侊紒");
                 return;
             }
+
             if (!MsgHelper.AskQuestion("浣犻�夋嫨浜�1鏉℃暟鎹紝纭畾鍙嶆楠屽悧锛�"))
                 return;
             _ckService(0.ToString());
@@ -246,62 +129,68 @@
         private void BtnJianYan_ItemClick(object sender, ItemClickEventArgs e)
         {
             if (btnJianYanClick != null)
-            {
                 btnJianYanClick(this, e);
-            }
             else
                 return;
 
-            if (string.IsNullOrEmpty(this.guidKey))
+            if (string.IsNullOrEmpty(guidKey))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
-            if (string.IsNullOrEmpty(this.chkParameter))
+
+            if (string.IsNullOrEmpty(chkParameter))
             {
-                ToolBox.MsgHelper.ShowError("娌℃湁鎸囧畾妫�楠屽弬鏁帮紝璇疯仈绯诲紑鍙戜汉鍛樿幏鍙栨敮鎸侊紒");
+                MsgHelper.ShowError("娌℃湁鎸囧畾妫�楠屽弬鏁帮紝璇疯仈绯诲紑鍙戜汉鍛樿幏鍙栨敮鎸侊紒");
                 return;
             }
+
             if (!MsgHelper.AskQuestion("浣犻�夋嫨浜�1鏉℃暟鎹紝纭畾鎻愪氦妫�楠屽悧锛�"))
                 return;
             var _obj = new
             {
-                guid = this.guidKey,
-                parameter = this.chkParameter
+                guid = guidKey,
+                parameter = chkParameter
             };
             _ckService(1.ToString());
         }
 
         private async void BtnIn_ItemClick(object sender, ItemClickEventArgs e)
         {
-            if (string.IsNullOrEmpty(this.xlsInService))
+            if (string.IsNullOrEmpty(xlsInService))
             {
-                ToolBox.MsgHelper.ShowError("娌℃湁鎸囧畾瀵煎叆鏈嶅姟锛岃鑱旂郴寮�鍙戜汉鍛樿幏鍙栨敮鎸侊紒");
+                MsgHelper.ShowError("娌℃湁鎸囧畾瀵煎叆鏈嶅姟锛岃鑱旂郴寮�鍙戜汉鍛樿幏鍙栨敮鎸侊紒");
                 return;
             }
-            OpenFileDialog openFileDialog = new OpenFileDialog();
+
+            var openFileDialog = new OpenFileDialog();
             //openFileDialog.InitialDirectory = "c:\\";
             openFileDialog.Filter = "鏂囨湰鏂囦欢 (*.txt)|*.txt|鎵�鏈夋枃浠� (*.*)|*.*";
             openFileDialog.Title = "閫夋嫨鏂囦欢";
-            DialogResult result = openFileDialog.ShowDialog();
+            var result = openFileDialog.ShowDialog();
             if (result == DialogResult.OK)
             {
-                string WebApiUrl = ConfigurationManager.AppSettings["WebApiUrl"].ToString() + "Upload/UploadFile";
-                string strJson = await UtilityHelper.UploadFileAsync(openFileDialog.FileName);
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
+                var WebApiUrl = ConfigurationManager.AppSettings["WebApiUrl"] +
+                                "Upload/UploadFile";
+                var strJson =
+                    await UtilityHelper.UploadFileAsync(openFileDialog
+                        .FileName);
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
                 string filePath = _rtn.rtnData["filePath"].ToString();
                 if (_rtn.rtnCode > 0)
                 {
                     var _obj = filePath;
                     try
                     {
-                        strJson = UtilityHelper.HttpPost("", "XlsInOut/" + xlsInService, JsonConvert.SerializeObject(_obj));
-                        _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
-                        ToolBox.MsgHelper.ShowInformation("鎻愮ず锛�" + _rtn.rtnMsg);
+                        strJson = UtilityHelper.HttpPost("",
+                            "XlsInOut/" + xlsInService,
+                            JsonConvert.SerializeObject(_obj));
+                        _rtn = UtilityHelper.ReturnToDynamic(strJson);
+                        MsgHelper.ShowInformation("鎻愮ず锛�" + _rtn.rtnMsg);
                     }
                     catch (Exception ex)
                     {
-                        ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                        MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
                     }
                 }
             }
@@ -349,58 +238,60 @@
             //    }
             //}
         }
+
         private void BtnReport_ItemClick(object sender, ItemClickEventArgs e)
         {
-            if (string.IsNullOrEmpty(this.rptParameter))
+            if (string.IsNullOrEmpty(rptParameter))
             {
-                ToolBox.MsgHelper.ShowError("娌℃湁鎸囧畾鎶ヨ〃鍙傛暟锛岃鑱旂郴鎶�鏈紑鍙戜汉鍛橈紒");
+                MsgHelper.ShowError("娌℃湁鎸囧畾鎶ヨ〃鍙傛暟锛岃鑱旂郴鎶�鏈紑鍙戜汉鍛橈紒");
                 return;
             }
-            bool _bl = false;
+
+            var _bl = false;
             _bl = _ckRptService();
             if (_bl)
             {
-                Gs.DevApp.DevFrm.Rpt.RptPreview frm = new Gs.DevApp.DevFrm.Rpt.RptPreview(this.rptParameter);
+                var frm = new RptPreview(rptParameter);
                 frm.Show();
                 return;
             }
-            ToolBox.MsgHelper.ShowError("娌℃湁璁捐妯℃澘锛岃鍏堣璁℃ā鏉匡紒");
-            return;
+
+            MsgHelper.ShowError("娌℃湁璁捐妯℃澘锛岃鍏堣璁℃ā鏉匡紒");
         }
+
         private void BtnDesign_ItemClick(object sender, ItemClickEventArgs e)
         {
-            if (string.IsNullOrEmpty(this.rptParameter))
+            if (string.IsNullOrEmpty(rptParameter))
             {
-                ToolBox.MsgHelper.ShowError("娌℃湁鎸囧畾鎶ヨ〃鍙傛暟锛岃鑱旂郴鎶�鏈紑鍙戜汉鍛橈紒");
+                MsgHelper.ShowError("娌℃湁鎸囧畾鎶ヨ〃鍙傛暟锛岃鑱旂郴鎶�鏈紑鍙戜汉鍛橈紒");
                 return;
             }
-            bool _bl = false;
+
+            var _bl = false;
             _bl = _ckRptService();
             //濡傛灉宸茬粡鏈夋ā鏉夸簡锛岀洿鎺ユ墦寮�璁剧疆妯℃澘
             if (_bl)
             {
-                Gs.DevApp.DevFrm.Sys.EasyRptDesign frm = new Gs.DevApp.DevFrm.Sys.EasyRptDesign(this.rptParameter);
+                var frm = new EasyRptDesign(rptParameter);
                 frm.Show();
                 return;
             }
+
             //鍚﹀垯鍚戝璁捐妯℃澘
-            UserControl.ShowRptWizard rptWizard = new ShowRptWizard(this.rptParameter);
+            var rptWizard = new ShowRptWizard(rptParameter);
             rptWizard.ShowDialog();
         }
 
         private void BtnQuery_ItemClick(object sender, ItemClickEventArgs e)
         {
-            if (btnQueryClick != null)
-            {
-                btnQueryClick(this, e);
-            }
+            if (btnQueryClick != null) btnQueryClick(this, e);
         }
 
         private void BtnEsc_ItemClick(object sender, ItemClickEventArgs e)
         {
             if (MsgHelper.AskQuestion("纭畾瑕佽鍙栨秷鍚�?"))
             {
-                List<string> lst = new List<string>();
+                var lst = new List<string>();
                 lst.Add(btnAdd.Name);
                 lst.Add(btnEdit.Name);
                 lst.Add(btnLoad.Name);
@@ -412,29 +303,23 @@
                 lst.Add(btnChk.Name);
                 lst.Add(btnFchk.Name);
                 _enabledBtn(lst);
-                if (btnEscClick != null)
-                {
-                    btnEscClick(this, e);
-                }
+                if (btnEscClick != null) btnEscClick(this, e);
             }
         }
 
-        private void BtnKG_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        private void BtnKG_ItemClick(object sender, ItemClickEventArgs e)
         {
-            if (btnKGClick != null)
-            {
-                btnKGClick(this, e);
-            }
+            if (btnKGClick != null) btnKGClick(this, e);
         }
 
-        private void BtnSave_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        private void BtnSave_ItemClick(object sender, ItemClickEventArgs e)
         {
             if (btnSaveClick != null)
             {
                 btnSaveClick(this, e);
-                if (isSetBtn == true)
+                if (isSetBtn)
                 {
-                    List<string> lst = new List<string>();
+                    var lst = new List<string>();
                     lst.Add(btnAdd.Name);
                     lst.Add(btnEdit.Name);
                     lst.Add(btnEsc.Name);
@@ -443,54 +328,40 @@
             }
         }
 
-        private void BtnLoad_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        private void BtnLoad_ItemClick(object sender, ItemClickEventArgs e)
         {
-
             if (btnLoadClick != null)
-            {
                 //List<string> lst = new List<string>();
                 //lst.Add(btnRole.Name);
                 //setBtn(lst);
                 btnLoadClick(this, e);
-            }
-
         }
 
-        private void BtnEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        private void BtnEdit_ItemClick(object sender, ItemClickEventArgs e)
         {
-            List<string> lst = new List<string>();
+            var lst = new List<string>();
             lst.Add(btnSave.Name);
             lst.Add(btnEsc.Name);
             _enabledBtn(lst);
-            if (btnEdtClick != null)
-            {
-                btnEdtClick(this, e);
-            }
+            if (btnEdtClick != null) btnEdtClick(this, e);
         }
 
-        private void BtnDel_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        private void BtnDel_ItemClick(object sender, ItemClickEventArgs e)
         {
-            if (btnDelClick != null)
-            {
-                btnDelClick(this, e);
-            }
+            if (btnDelClick != null) btnDelClick(this, e);
         }
 
         /// <summary>
-        /// 
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
-        private void BtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        private void BtnAdd_ItemClick(object sender, ItemClickEventArgs e)
         {
-            List<string> lst = new List<string>();
+            var lst = new List<string>();
             lst.Add(btnSave.Name);
             lst.Add(btnEsc.Name);
             _enabledBtn(lst);
-            if (btnAddClick != null)
-            {
-                btnAddClick(this, e);
-            }
+            if (btnAddClick != null) btnAddClick(this, e);
         }
 
         private void BtnRole_ItemClick(object sender, ItemClickEventArgs e)
@@ -499,15 +370,12 @@
             //lst.Add(btnSave.Name);
             //lst.Add(btnEsc.Name);
             //setBtn(lst);
-            if (btnRoleClick != null)
-            {
-                btnRoleClick(this, e);
-            }
+            if (btnRoleClick != null) btnRoleClick(this, e);
         }
+
         private void _enabledBtn(List<string> lstBtn)
         {
             foreach (BarItem item in barManager1.Items)
-            {
                 if (item is BarLargeButtonItem largeButtonItem)
                 {
                     if (lstBtn.Contains(item.Name))
@@ -515,74 +383,82 @@
                     else
                         largeButtonItem.Enabled = false;
                 }
-            }
         }
 
         /// <summary>
-        /// 鏍规嵁鍛藉悕绌洪棿鍜屾潈闄愶紝璇诲彇璇ョ獥浣撲笅闈㈢殑鎸夐挳闆嗗悎
+        ///     鏍规嵁鍛藉悕绌洪棿鍜屾潈闄愶紝璇诲彇璇ョ獥浣撲笅闈㈢殑鎸夐挳闆嗗悎
         /// </summary>
         private void getNamespace()
         {
-            string _formNamespace = "";
-            System.Windows.Forms.Control parentControl = this;
+            var _formNamespace = "";
+            Control parentControl = this;
             while (parentControl.Parent != null)
             {
                 if (parentControl.Parent is Form parentForm)
                 {
-                    Type formType = parentForm.GetType();
+                    var formType = parentForm.GetType();
                     _formNamespace = formType.FullName;
                     break;
                 }
+
                 parentControl = parentControl.Parent;
             }
+
             var _obj = new
             {
                 userGuid = LoginInfoModel.CurrentUser.LoginUserGuid,
                 orgGuid = LoginInfoModel.CurrentUser.LoginOrgGuid,
-                formNamespace = _formNamespace,
+                formNamespace = _formNamespace
             };
-            string strReturn = "";
+            var strReturn = "";
             try
             {
-                strReturn = UtilityHelper.HttpPost("", "Role/GetListByUserOrgSpace", JsonConvert.SerializeObject(_obj));
-                ReturnModel<DataTable> dd = UtilityHelper.ReturnToList(strReturn);
-                DataTable dt = dd.rtnData;
-                List<string> _enabledList = new List<string>();
+                strReturn = UtilityHelper.HttpPost("",
+                    "Role/GetListByUserOrgSpace",
+                    JsonConvert.SerializeObject(_obj));
+                var dd = UtilityHelper.ReturnToList(strReturn);
+                var dt = dd.rtnData;
+                var _enabledList = new List<string>();
                 foreach (BarItem item in barManager1.Items)
                 {
                     ///鍏锋湁鑱斿姩鍏崇郴鐨勬寜閽�(澧炲姞)锛�
                     if (item.Caption == "澧炲姞")
                     {
-                        bool ld1 = dt.AsEnumerable().Any(row => row.Field<string>("name") == "澧炲姞"
-                      //|| row.Field<string>("name") == "淇敼"
-                      );
-                        if (ld1 == true)
+                        var ld1 = dt.AsEnumerable().Any(
+                            row => row.Field<string>("name") == "澧炲姞"
+                            //|| row.Field<string>("name") == "淇敼"
+                        );
+                        if (ld1)
                         {
-
-                            btnEsc.Visibility = btnSave.Visibility = btnLoad.Visibility = BarItemVisibility.Always;
+                            btnEsc.Visibility = btnSave.Visibility =
+                                btnLoad.Visibility = BarItemVisibility.Always;
                             btnAdd.Visibility = BarItemVisibility.Always;
                             _enabledList.Add(item.Name);
                             continue;
                         }
                     }
+
                     ///鍏锋湁鑱斿姩鍏崇郴鐨勬寜閽�(淇敼)锛�
                     if (item.Caption == "淇敼")
                     {
-                        bool ld1 = dt.AsEnumerable().Any(row => row.Field<string>("name") == "淇敼"
-                      );
-                        if (ld1 == true)
+                        var ld1 = dt.AsEnumerable().Any(
+                            row => row.Field<string>("name") == "淇敼"
+                        );
+                        if (ld1)
                         {
-                            btnEsc.Visibility = btnSave.Visibility = btnLoad.Visibility = BarItemVisibility.Always;
+                            btnEsc.Visibility = btnSave.Visibility =
+                                btnLoad.Visibility = BarItemVisibility.Always;
                             btnEdit.Visibility = BarItemVisibility.Always;
                             _enabledList.Add(item.Name);
                             continue;
                         }
                     }
+
                     ///鍏锋湁鑱斿姩鍏崇郴鐨勬寜閽�(鏌ヨ)锛�
-                    bool ld2 = dt.AsEnumerable().Any(row => row.Field<string>("name") == "鏌ヨ"
+                    var ld2 = dt.AsEnumerable().Any(
+                        row => row.Field<string>("name") == "鏌ヨ"
                     );
-                    if (ld2 == true)
-                    {
+                    if (ld2)
                         if (item.Caption == "鍒锋柊")
                         {
                             item.Visibility = BarItemVisibility.Always;
@@ -590,56 +466,59 @@
                             _enabledList.Add(item.Name);
                             continue;
                         }
-                    }
+
                     ///鍏锋湁鑱斿姩鍏崇郴鐨勬寜閽�(鎻愪氦妫�楠�)锛�
                     if (item.Caption == "鎻愪氦妫�楠�")
                     {
-                        bool ld1 = dt.AsEnumerable().Any(row => row.Field<string>("name") == "鎻愪氦妫�楠�"
-                      );
-                        if (ld1 == true)
+                        var ld1 = dt.AsEnumerable().Any(
+                            row => row.Field<string>("name") == "鎻愪氦妫�楠�"
+                        );
+                        if (ld1)
                         {
-                            btnJianYan.Visibility = btnFjianYan.Visibility = btnLoad.Visibility = BarItemVisibility.Always;
+                            btnJianYan.Visibility = btnFjianYan.Visibility =
+                                btnLoad.Visibility = BarItemVisibility.Always;
                             btnJianYan.Visibility = BarItemVisibility.Always;
                             _enabledList.Add(item.Name);
                             continue;
                         }
                     }
+
                     //鎸夐挳鏄惁鍦ㄦ潈闄愯〃涓�
-                    bool exists = dt.AsEnumerable().Any(row => row.Field<string>("name") == item.Caption);
-                    if (exists == true)
+                    var exists = dt.AsEnumerable().Any(row =>
+                        row.Field<string>("name") == item.Caption);
+                    if (exists)
                     {
                         item.Visibility = BarItemVisibility.Always;
                         //鍑嗗鍚敤
-                        string _btnName = _FindBarLargeButtonItemByCaption(item.Caption);
+                        var _btnName =
+                            _FindBarLargeButtonItemByCaption(item.Caption);
                         if (!string.IsNullOrEmpty(_btnName))
                             _enabledList.Add(_btnName);
                     }
                 }
+
                 //榛樿鍚敤鐨勬寜閽�
                 // _enabledList.Add(btnDesign.Name);
                 _enabledBtn(_enabledList);
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
 
 
         /// <summary>
-        /// 鏍规嵁鏂囧瓧锛屾煡鎵炬寜閽畁ame
+        ///     鏍规嵁鏂囧瓧锛屾煡鎵炬寜閽畁ame
         /// </summary>
         /// <param name="caption"></param>
         /// <returns></returns>
         private string _FindBarLargeButtonItemByCaption(string caption)
         {
             foreach (BarItem item in barManager1.Items)
-            {
-                if (item is BarLargeButtonItem largeButtonItem && largeButtonItem.Caption == caption)
-                {
+                if (item is BarLargeButtonItem largeButtonItem &&
+                    largeButtonItem.Caption == caption)
                     return largeButtonItem.Name;
-                }
-            }
             return null;
         }
 
@@ -649,21 +528,20 @@
             {
                 var _obj = new
                 {
-                    rptParameter = this.rptParameter,
+                    rptParameter
                 };
-                string strJson = UtilityHelper.HttpPost("", "Report/GetTemplate", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
-                if (_rtn.rtnCode > 0)
-                {
-                    return true;
-                }
+                var strJson = UtilityHelper.HttpPost("", "Report/GetTemplate",
+                    JsonConvert.SerializeObject(_obj));
+                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
+                if (_rtn.rtnCode > 0) return true;
                 return false;
             }
             catch (Exception ex)
             {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+                MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
                 return true;
             }
+
             return false;
         }
 
@@ -671,21 +549,123 @@
         {
             var _obj = new
             {
-                guid = this.guidKey,
-                parameter = this.chkParameter,
+                guid = guidKey,
+                parameter = chkParameter,
                 ckValue = _ckValue
             };
-            string strJson = UtilityHelper.HttpPost("", "General/GeneralCheck", JsonConvert.SerializeObject(_obj));
-            ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
-            ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnData["outMsg"].ToString());
+            var strJson = UtilityHelper.HttpPost("", "General/GeneralCheck",
+                JsonConvert.SerializeObject(_obj));
+            var _rtn = UtilityHelper.ReturnToDynamic(strJson);
+            MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnData["outMsg"].ToString());
             if (_rtn.rtnCode > 0)
             {
-
-            }
-            else
-            {
-
             }
         }
+
+        #region 鍏叡浜嬩欢
+
+        /// <summary>
+        ///     鏂板
+        /// </summary>
+        public event EventHandler btnAddClick;
+
+        /// <summary>
+        ///     鍒犻櫎
+        /// </summary>
+        public event EventHandler btnDelClick;
+
+        /// <summary>
+        ///     淇敼
+        /// </summary>
+        public event EventHandler btnEdtClick;
+
+        /// <summary>
+        ///     鍒锋柊
+        /// </summary>
+        public event EventHandler btnLoadClick;
+
+        /// <summary>
+        ///     淇濆瓨
+        /// </summary>
+        public event EventHandler btnSaveClick;
+
+        /// <summary>
+        ///     鍙栨秷
+        /// </summary>
+        public event EventHandler btnEscClick;
+
+        /// <summary>
+        ///     寮�宸�
+        /// </summary>
+        public event EventHandler btnKGClick;
+
+        /// <summary>
+        ///     鏉冮檺
+        /// </summary>
+        public event EventHandler btnRoleClick;
+
+        /// <summary>
+        ///     鏌ヨ
+        /// </summary>
+        public event EventHandler btnQueryClick;
+
+        /// <summary>
+        ///     瀹℃牳
+        /// </summary>
+        public event EventHandler btnChkClick;
+
+        /// <summary>
+        ///     鍙嶅鏍�
+        /// </summary>
+        public event EventHandler btnFChkClick;
+
+
+        /// <summary>
+        ///     妫�楠�
+        /// </summary>
+        public event EventHandler btnJianYanClick;
+
+        /// <summary>
+        ///     鍙嶆楠�
+        /// </summary>
+        public event EventHandler btnFjianYanClick;
+
+        #endregion
+
+        #region 鍏叡灞炴��
+
+        public bool isSetBtn { get; set; }
+
+        /// <summary>
+        ///     鍏抽敭瀛楋紝涓�鑸槸涓婚敭
+        /// </summary>
+        public string guidKey { get; set; }
+
+        /// <summary>
+        ///     鎸夐挳鍚嶇О闆嗗悎
+        /// </summary>
+        public List<string> actions { get; }
+
+        /// <summary>
+        ///     鎶ヨ〃锛屽湪鏁版嵁搴撲腑瑕佸敮涓�,濡傦細瀛樺偍杩囩▼鍚峽鍏ュ弬1鍚峾鍏ュ弬鍊�,鍏ュ弬2鍚峾鍏ュ弬鍊紏
+        /// </summary>
+        public string rptParameter { get; set; }
+
+        /// <summary>
+        ///     瀵煎嚭锛岃鍥惧悕,濡傦細瑙嗗浘鍚峽鍏ュ弬1鍚峾鍏ュ弬鍊�,鍏ュ弬2鍚峾鍏ュ弬鍊紏
+        /// </summary>
+        public string xlsOutParameter { get; set; }
+
+        /// <summary>
+        ///     瀵煎叆
+        /// </summary>
+        public string xlsInService { get; set; }
+
+        /// <summary>
+        ///     瀹℃牳鍙傛暟,琛ㄥ悕,瀛楁鍚嶏紝濡傦細MES_HOLIDAY,check_date,check_status,check_by
+        /// </summary>
+        public string chkParameter { get; set; }
+
+        #endregion
     }
-}
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/UserControl/UcToolBarMenu.resx b/DevApp/Gs.DevApp/UserControl/UcToolBarMenu.resx
index 43dd27e..e6604f1 100644
--- a/DevApp/Gs.DevApp/UserControl/UcToolBarMenu.resx
+++ b/DevApp/Gs.DevApp/UserControl/UcToolBarMenu.resx
@@ -1,588 +1,634 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    <!-- 
+      Microsoft ResX Schema 
+      
+      Version 2.0
+      
+      The primary goals of this format is to allow a simple XML format 
+      that is mostly human readable. The generation and parsing of the 
+      various data types are done through the TypeConverter classes 
+      associated with the data types.
+      
+      Example:
+      
+      ... ado.net/XML headers & schema ...
+      <resheader name="resmimetype">text/microsoft-resx</resheader>
+      <resheader name="version">2.0</resheader>
+      <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+      <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+      <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+      <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+      <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+          <value>[base64 mime encoded serialized .NET Framework object]</value>
+      </data>
+      <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+          <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+          <comment>This is a comment</comment>
+      </data>
+                  
+      There are any number of "resheader" rows that contain simple 
+      name/value pairs.
+      
+      Each data row contains a name, and value. The row also contains a 
+      type or mimetype. Type corresponds to a .NET class that support 
+      text/value conversion through the TypeConverter architecture. 
+      Classes that don't support this are serialized and stored with the 
+      mimetype set.
+      
+      The mimetype is used for serialized objects, and tells the 
+      ResXResourceReader how to depersist the object. This is currently not 
+      extensible. For a given mimetype the value must be set accordingly:
+      
+      Note - application/x-microsoft.net.object.binary.base64 is the format 
+      that the ResXResourceWriter will generate, however the reader can 
+      read any of the formats listed below.
+      
+      mimetype: application/x-microsoft.net.object.binary.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+              : and then encoded with base64 encoding.
+      
+      mimetype: application/x-microsoft.net.object.soap.base64
+      value   : The object must be serialized with 
+              : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+              : and then encoded with base64 encoding.
+  
+      mimetype: application/x-microsoft.net.object.bytearray.base64
+      value   : The object must be serialized into a byte array 
+              : using a System.ComponentModel.TypeConverter
+              : and then encoded with base64 encoding.
+      -->
+    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" id="root"
+                xmlns="">
+        <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
+        <xsd:element name="root" msdata:IsDataSet="true">
+            <xsd:complexType>
+                <xsd:choice maxOccurs="unbounded">
+                    <xsd:element name="metadata">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" use="required"
+                                           type="xsd:string"/>
+                            <xsd:attribute name="type" type="xsd:string"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="assembly">
+                        <xsd:complexType>
+                            <xsd:attribute name="alias" type="xsd:string"/>
+                            <xsd:attribute name="name" type="xsd:string"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="data">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                                <xsd:element name="comment" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="2"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required" msdata:Ordinal="1"/>
+                            <xsd:attribute name="type" type="xsd:string"
+                                           msdata:Ordinal="3"/>
+                            <xsd:attribute name="mimetype" type="xsd:string"
+                                           msdata:Ordinal="4"/>
+                            <xsd:attribute ref="xml:space"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                    <xsd:element name="resheader">
+                        <xsd:complexType>
+                            <xsd:sequence>
+                                <xsd:element name="value" type="xsd:string"
+                                             minOccurs="0" msdata:Ordinal="1"/>
+                            </xsd:sequence>
+                            <xsd:attribute name="name" type="xsd:string"
+                                           use="required"/>
+                        </xsd:complexType>
+                    </xsd:element>
+                </xsd:choice>
+            </xsd:complexType>
+        </xsd:element>
+    </xsd:schema>
+    <resheader name="resmimetype">
+        <value>text/microsoft-resx</value>
+    </resheader>
+    <resheader name="version">
+        <value>2.0</value>
+    </resheader>
+    <resheader name="reader">
+        <value>System.Resources.ResXResourceReader, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <resheader name="writer">
+        <value>System.Resources.ResXResourceWriter, System.Windows.Forms,
+            Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+        </value>
+    </resheader>
+    <metadata name="barManager1.TrayLocation"
+              type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+        <value>17, 17</value>
+    </metadata>
+    <assembly alias="System.Drawing"
+              name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
+    <data name="btnEsc.ImageOptions.Image"
+          type="System.Drawing.Bitmap, System.Drawing"
+          mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>
+            iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABZ0RVh0VGl0
+            bGUAQmFja2dyb3VuZDtGaWxsO7QwF3QAAAMCSURBVDhPnZJrSJNRGMffLMOy1L6Yol2EbmShmQZJBSVh
+            F/oiReA1rEQ0tdllotbmiqwcanmbChmJBjqt1AqtnKjllaIPRRJ5S526m1vbu71zr//O2TKkjz3w4xwO
+            PL9znuc8TFtOONMmCWdILCM4EVYQnJesi6z8B3q2jGnJDLNTFLYZ7c1vJ9/Ka9AqE6NrcAwNrUO4X9mH
+            uxX9hF7klvchV9aDO7JeSIo7Ou2SxvRDDABGHOqzT3rAF4r8C4BNiZ4nOeA4DjzPY2FhAfwivANJUTeI
+            wIVgf/qKsnN7k9/cO4ecIE/87H8K3jwKRXkW5vRGGFkOBiOHX6wNBoLVxkNU0EkFq6nAuSgyIKkxIwKD
+            9TI0iS9CuMMdmoF46EfbUX47GIXvg/Diy3VMa7XQGa3g5nlkSRVU4MpII/yTFQ8TwXOzsLHjYEceQtUb
+            iR+1p/BRvB/DbYXIy9gGYfN6VH44jxmdCRaOx9Xcdw5BccROjUk1hAWrjiSXYLY7At+rjqLnWgA+SYLx
+            OG4XXlaVIbbSHQm16zAypYTJYoPgVisVrGFuHvHL7igTwTRcAqXiOL6WHoAicSv6M3aj5PQWND0qw8j4
+            FMJELjhbugrfxsZgNM8jRfyKCtYSmDXC0A23moWB+Jwfgtcxm9Cdth15JzdCXlGMGdUcRiZU8L/ohFhp
+            IIYn1NCbrEi60UIFblRAh8ftUpBXnuyYL1rj/SA57I3a4kJMz2qhmjNjeFKDE2kHUd1Sh/FpA/TGeSRk
+            NlGBOyMJ9VmUeEsFAtw/HoDqBwVQkuRZHUs6b8aEykRq12JsSk/2LLS/OMQLnzkEomAvRhTiTSVu1Q0D
+            UKs1mFHrSbdZKDUWghlThEk1a2dCZYHGwCHuSgMVeDDZezztkHCNFz6HlfwxbZKBJZjm7fXqyJPprVqS
+            qDZYSVkWRAvqHQI6xhQSLlGpNR3UHJvegJh0OWIEckSlyRF9ud5Baj0iCVEpdTiTUNVFL10qoH2gs02/
+            xn0JHn9Y9w+uhOV/Bf8HmN+Yo1PuV+DdyAAAAABJRU5ErkJggg==
+        </value>
     </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
+    <data name="btnEsc.ImageOptions.LargeImage"
+          type="System.Drawing.Bitmap, System.Drawing"
+          mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>
+            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
+        </value>
     </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <metadata name="barManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>17, 17</value>
-  </metadata>
-  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
-  <data name="btnEsc.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABZ0RVh0VGl0
-        bGUAQmFja2dyb3VuZDtGaWxsO7QwF3QAAAMCSURBVDhPnZJrSJNRGMffLMOy1L6Yol2EbmShmQZJBSVh
-        F/oiReA1rEQ0tdllotbmiqwcanmbChmJBjqt1AqtnKjllaIPRRJ5S526m1vbu71zr//O2TKkjz3w4xwO
-        PL9znuc8TFtOONMmCWdILCM4EVYQnJesi6z8B3q2jGnJDLNTFLYZ7c1vJ9/Ka9AqE6NrcAwNrUO4X9mH
-        uxX9hF7klvchV9aDO7JeSIo7Ou2SxvRDDABGHOqzT3rAF4r8C4BNiZ4nOeA4DjzPY2FhAfwivANJUTeI
-        wIVgf/qKsnN7k9/cO4ecIE/87H8K3jwKRXkW5vRGGFkOBiOHX6wNBoLVxkNU0EkFq6nAuSgyIKkxIwKD
-        9TI0iS9CuMMdmoF46EfbUX47GIXvg/Diy3VMa7XQGa3g5nlkSRVU4MpII/yTFQ8TwXOzsLHjYEceQtUb
-        iR+1p/BRvB/DbYXIy9gGYfN6VH44jxmdCRaOx9Xcdw5BccROjUk1hAWrjiSXYLY7At+rjqLnWgA+SYLx
-        OG4XXlaVIbbSHQm16zAypYTJYoPgVisVrGFuHvHL7igTwTRcAqXiOL6WHoAicSv6M3aj5PQWND0qw8j4
-        FMJELjhbugrfxsZgNM8jRfyKCtYSmDXC0A23moWB+Jwfgtcxm9Cdth15JzdCXlGMGdUcRiZU8L/ohFhp
-        IIYn1NCbrEi60UIFblRAh8ftUpBXnuyYL1rj/SA57I3a4kJMz2qhmjNjeFKDE2kHUd1Sh/FpA/TGeSRk
-        NlGBOyMJ9VmUeEsFAtw/HoDqBwVQkuRZHUs6b8aEykRq12JsSk/2LLS/OMQLnzkEomAvRhTiTSVu1Q0D
-        UKs1mFHrSbdZKDUWghlThEk1a2dCZYHGwCHuSgMVeDDZezztkHCNFz6HlfwxbZKBJZjm7fXqyJPprVqS
-        qDZYSVkWRAvqHQI6xhQSLlGpNR3UHJvegJh0OWIEckSlyRF9ud5Baj0iCVEpdTiTUNVFL10qoH2gs02/
-        xn0JHn9Y9w+uhOV/Bf8HmN+Yo1PuV+DdyAAAAABJRU5ErkJggg==
-</value>
-  </data>
-  <data name="btnEsc.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        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
-</value>
-  </data>
-  <data name="btnPrint.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABx0RVh0VGl0
-        bGUAUHJpbnRMYXlvdXRWaWV3O1ByaW50OyLF4Y0AAAM1SURBVDhPVZP9Txt1HMfvfzAx/uA/5K86dQ7r
-        nM5EnahMnIQly5gDCn2CUiilPI7CyOYYBZMlJktkm5vZNA7alVLKYNAn2l57d732+gB5+b0zmnjJJ3f5
-        5vt+uPf3/ZUml36+H7y5RnBxjYnFVQILYQKhMOPzK/jnlxmbu8Po7E/4Zm7jnb6Fd2qJ4eASnolFPIGF
-        +5IJbjRb1OtNqrU6etVAq9RQNZ2yUkEuqxTkshgVpVJF1Q3xNiiLPW5/CMlUbjRaFrhrMSFmmx9CcS6J
-        6byxJSbGxdkXdMxEyebl/8AlrYbTfwPJtF0XBBW9ZoFbJyfUWyfo9WPUWgtZb3Kk1vlmOsJBOmeBywJc
-        0qo4RudMgrCw37IsX1qIYzSO8azu/G9SskH75Cb7B1kLLKtViqrOgG8WKbCwgiH+v6RofC9sV4xjFL1F
-        sdIgI9fYP9JJZlQ+H/uDePIlBTMXAS4qOnbvNJJ//i6G0UQuKXTOb1GuNi1V98o254af8PHQE856HmNz
-        PuJDxyPSR0VBolMo6/QPT5kEy9QEQb5Q4uJcjLzaIC2UdzNlCyxXhButJXJo0jb4kNjOS16lcmQLCn1D
-        QSTznKtGg1yuSMdslFSxhmtqjc+6x7G5HlvArNLkUG5w2v6A09866fHeJPkqRa9nAsksiV4Tqtm8lfRe
-        TuP85QDmY3P+RpvjIWeEsgW2r1vr77cPEEvscd0dQDIbVqnWORS2vp7aJJ5S+LR7zNr45vlVLoc1upcV
-        2ucyvHbmFg+eRnn3Qj+R7V1+dI0jjYh6aoIglT7iq+CGSPsZn3T9Q/B2/zpvnL3L67Y7Anybt678wvrT
-        CKe+7GVja4drDj+S2W2znnJZE+ec4Xkkxrkun0WwL1ztirWdvTSx5AHRxD6//r7JO1/08mckTo9jFGlI
-        XAyznopVzyqHmTzOyTAfdXqxfTdEW4eLD0Rw77XbOXWhT6j30TMc4nkswdUBk0Dcqn/raTYsV1TYFQlv
-        idJEE0k2hdUNsfmvaFyoxni28UJ8b7OXzguCESR3IHTPPR6yLobZ7UHfjNUwsyR9Q5PWUV13BazArjn9
-        9AyOWcpXB3xcsY/c+xvJRDliKSBA7QAAAABJRU5ErkJggg==
-</value>
-  </data>
-  <data name="btnPrint.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        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
-</value>
-  </data>
-  <data name="btnHb.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
-        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAbdEVYdFRpdGxlAE1vZGVsO0NvcHk7Q29weU1vZGVs
-        O4ktWcsAAAJgSURBVDhPjdFdSFNhHMfx1XQvbhokvdx00X3ddlEEQRB0WzeRvYBFkESRWVgstZpz5ZL5
-        Oo0CaysbFBlWSos2hroU1wsWmFA3WelyO9s82862s/36P4+4zqKLDnyQB5//9zx7jgpAgdFoVHc6g75u
-        11t0ud6RIDqcQbQz96ZgJ7bb437ap1mZ+TtQ2uGcQj4PkudyTG6ZTG7emQTt0xcC9KwialKi1WoNg54Z
-        SJIEIZrgwkICkWgKMTGDdDaHG30BFihTBtSW3oDP2vcGLb0TJACLYwzNjgDM5FrPGG4NBBESREiZHCw9
-        oyxgUAZKmx2jRcdWHp0du9Hux49fUaTSMpra/SxgVAY0VztZIA8xmeWWkjIXF2V+bJPNi2/zAhKSDFOb
-        lwXKlQFtfauXvzGWyCLKiFkISxmOvfWs+SW+zC0iTv+7YPWwQIUyoDvf4uHHZQMRuqwI/Y1RRExl6XfL
-        ePZ6BqFwHIlUBi98n6HX6ytproSwy1eVnWp8jqycRyiaJhIWBInelsHcyCBmG2oKPpj3I9C6owgLGE6a
-        hiiQwzwNRuJpGk4jHEti9nIN4HVxKdd1DBzaDAgPufi0ma954PjFp8jQZf2MLH/vu8OfcODKSMEJ+znU
-        9W8p8n346J9Add0Tfttx9hUSEvaccWNCBOeeDmFf/SYsop8b/9rE18qArur0fd+R2sc4XPsI7qH3PNDw
-        aoGr7p7gA86PO7lLD7byddfejbDuXm9jgdVETyrIGrLhfwK0by3R8G+pRI9uW5UDSruOrSuy/WBlGx9m
-        zz8CKycyKpQrsLWW0D6V6jdzUIrq8TztCAAAAABJRU5ErkJggg==
-</value>
-  </data>
-  <data name="btnHb.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        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
-        RU5ErkJggg==
-</value>
-  </data>
-  <data name="btnKG.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
-        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAARdEVYdFRpdGxlAERvd247QXJyb3c7vfyCWAAAAsBJ
-        REFUOE91kllPU0EYhicxJgqu/0iNlyaGaOKF3gjFha1QWcoiKC171BhjILJTVNZAAdlKjEgkUQNdqFIF
-        I0vL6cLpaQulLYm+fjMtxMR48eTrmXfmOe9phmm7be+KX9lR9NKOwm47CgxL0HQtIa/DBnWHFep2C7Jb
-        LchqsSCj2YI7zWbcfmFG2vOP7xljRxk/PLMaJAKYWYljot+m74pgmpjiOBRMflMwTtP4xY/0pkWQ4BjT
-        kmB82Y8a0waqpzdQNUXwSein1uNMrkN3wMQa+iw+qOKC46yIajcYHbhnsEFjsFJ9K3I7iQ6LqJ/TbkZ2
-        2yKyWs3IbFlEBlH2egmqxoSg5pkJu3v78CkR+PyEEoVX3sOWNwSXJygmfxZ5Yk9oZx/3G95wQRLTP53C
-        TpgL6GBiEz9U2Pb5EJebJLTuFS+IILi7j9K6US5IZpVPJhEigQgJPl1SADf005j1/sblohFsSopYP5AE
-        dmIorh7hghOs4tE4QmTkgYequjwh/Fj34FrFBB7bf+FSvhErP91wSkGR831KKIZC/XBcUFY/RpViIpB8
-        u9C1zeNq2RiulI6h1ryPFO2oaFHeNCfknoQgv3KIC06yktoRBEjAA8kXhtXhxMX0DhS/VVD5KQatScaF
-        tHbYljfFC/g+fzAKzYNBLjjFiqqM4ps8cgRuwuXdQc/oAs7nDKBkPoJzmb3oH1+A0x0UOf8MORiDurw/
-        LijQDYlK7u09EUo011wycnSDSKn/gIK6Yaw5ZbHO93BkapBd1scFp5nm4SAJomSnkLegDVtU9evKFlJL
-        euBYleg5DInnCcF2IIrM0l4uOMPyygfEN8m0uE2ThxyPHBb3gU9+Rw4vEicQQUZxT7xBqrp19lZ+N9IT
-        qO4ZoNIYkKbpEqTmJcjtxM2/uH63cY4ESQTdZ/5n8Dr/cvY/8CyZMXbkD/6l4aVZjBcUAAAAAElFTkSu
-        QmCC
-</value>
-  </data>
-  <data name="btnKG.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
-        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAARdEVYdFRpdGxlAERvd247QXJyb3c7vfyCWAAAB3xJ
-        REFUWEe1l9lzFNcVxuU4jhdsY+Nsf04eUklenKXKS2ITUiqIIUph0IZwsAEhMAGkkRAYi5GEQUgabYCR
-        gyQkIbSh1Sxik6x1tIxm1cxoRgvID1/Od7vvTA8kjl8yVb86t3u67/fdc0/f250kv2eEHwg/FH70H3j+
-        e/LC94R9Uoua6vfs9sLWX2aU9A9mlg5Ck6EYMCgZQHqMfqQVDwiMBqn2RHaS030xdlj48POekeTDX/5a
-        dGmCg0967q8F3R57xyzq7i6gbiiAWpOaO0/iRzW55UfVbRNpO6zc9KPipi+BcuH8oEH+1Sm8c/CaV3SZ
-        NZWF57cU3FDC/7g8iY++JBNmTDzefWkiRtalcYOL0hZ2MV4w2xfGY2RayKgbR1m/F2/nXIPovqQNvLA5
-        v1uNjkK7KcRoETME2TlFtWBcxNqm0C4RUqJ1YzEyTM6KgbcOtNLAOuFZZSDZ1qVS+bQgY+Io42ITiWIC
-        R6jatVpQztUSaUtMl3im14M/ZLckGvhLXpeav5hoDBGgqBKMowUzKRDDEDHE4oLpNQZp0k6rGUVJjwe/
-        29dMAy9rAy9uyu1EfvMUsmpGsKtaqBmWKFQNI5M4hpEhMcPxUJFe+RBplQ+QVkEeIlViavkD7CTnGe9j
-        x3mhzODDc/exXXEPuQ3j+O3eJwyUVPVjefVbLCw+Eh6b6DajxvgvEFqFP7yKgODXbYkBuSYQlv/DjE/j
-        FyLLaygq76GBV7SBl4odfVhaMQ3w4oRomAhQWIR8wRV4F4TAEjwWvAvL8NGEKaYFtclASNoCDXx+/kai
-        AXslDawZYroDjlZF45ideIPLOH7pviw+fUiz9yFVFpbU073YWdQL24UhePxLhhivN6GoP8YqIktr+Oxc
-        Nw28qg2ss1f0Ymn525hYzIQF3uz2R5FS0IlpMecUpix8kNeOeV9EmbQKKvRUmQZOno0Z4GqYtI5zEpXU
-        PC0qUXcWXBWBRWy1tWM4+AiXRkO4SL4JYsC9hM1H2+DyhNVUqNErQfNes+2TPhbFwIkvumhgvTbwMufE
-        MEC3pqg2oZD0y7y7vGFsyb2Oe/4V1A3Lsi3UCr2uJSQfbsWsOwgPDYigT5kWUdVm7RiElx6j8ExnooFT
-        ZaYBLaxcEzN1cs4rxTfnCSH5yDUMeZdR/SCAqvsBOISu2Sg2HWrBjGtBpmlZXasEnxBXBqKPUVDaQQOv
-        aQOvsChYnYaYmS7TgFduYlrdviimRWCTjPSWpLzirmw0Q36UD/nQ7lzE+weuYnLGD5fUgSdgMcH7zUhC
-        YiC/pD3RwImzXaYBy6hN53zEOLdOER+dcmPjwWYMzEVx7rZXcfaWBy0TYfxxfxNGxubEhE+mIiT1EhXj
-        cWE1ECEceQyb/ToNvK4NvFooRRGJrql0sdjUTWKGI5nzRrAxp1mN8L1sg56ZCEq/dqN00I0SoVGK8Z1P
-        GvC28NbH5ApmxISbmRATWpyExEDeaWVggzaw/nhpp3o8jNSboxfUvLsXkV3ciVNNw+iaCmPQFUXn1CLs
-        /fMo6iMu1EshtoyH0TK6gNyLd5Ce26CyoAwoYS5eEgUaOFaktmMaeE4ZKCjpkOpcg5eipgniUZUfwb1R
-        Fzbtr0dxxxSOtk7C1j6NE91zONkzh8KuORxrm8anVydlPxnD79MrcWd4Vgp2UTJorpqmOPsLRR7hyCll
-        4A1t4DVbcbuqTh8fGzNVOnIUHE1T9zDe23cZ9htzONA4hv1XxoUx7PuXtIXCdifezKxCfdtdTM8HpRi5
-        PJvCKgMrYmAVQVns/vmZeh+IG8g73WYaiAsrTNcub1RV+NEz17HjVDtsbU7s/WosxrEWJzbnNiOnqAkT
-        01KEnkh8/s0+KM7IfeXTk+p94MfawOu5RYYBq7CaN3UsN7MYpRZGJtz4855q5NTdQU7jOD6uH0WObK97
-        Km/i3YwyPBydw8y8MfeGKO+1QAOy3xwqVNtx3MBRmRMWBy8whHmxxbkYcctG43QF0T04il+lfAFb8wQ+
-        uTyGI42j+MUWOzoGRmSdYOqjYmAFbrmXMWaCxwIzkHP8Kg38RBvYwDkJKgMU1cJmBvQ5GRU7n5DnvLS2
-        C29mOCT1k/jNznIUV3dg3OlTjyxXQqug7ksdy3lueNn5TYkGDsucBKU6legTJgyYAaODWZmKbybm8fcD
-        1dha0Ipt+x3qeNYdjl1DAyoDyjjPyf3shwbkKcu2NdLAT7WBNw6daFZzkyjMmyxm2Il0MC9TwSq/J4/a
-        xqwy3B2egVOOeZ5zr4V0P7xHmTFNcMPbl9egDfArKWnDQZkTzo0hqG822qpDDQ2IyLw8YjPzxvI8LUWn
-        xHXqTZQw2+yDbTNykdt77EpCBtZn2xpCfbenxZ3xFqRewbgrqmie47GJfsHg6xmXbmLsoMb576LnphN7
-        DteHOHBt4MVt6Sf/lJJV6Uv5qAopu4kDbP9N2gaOeMyKs80S41Ri265KbFXRIVFg5Dnhg8yKxeTttvdF
-        l98F6suIGwI/k7g78dlkdTI938XP/gc//y/wP66AfCWnrvo4tX6eMyXWT/P/B9Tgy6joJj3zb99dMruc
-        T5oqAAAAAElFTkSuQmCC
-</value>
-  </data>
-  <data name="btnIn.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAA50RVh0VGl0
-        bGUAWGxzO1NlbmRxQ3oaAAACiElEQVQ4T3WQ2U8TYRTFhxYKuP4hCBXhD/HBV5cXFawkqJgCXYSyRCWF
-        EMGkSX0gKgKxYWklBdkqJqaEQFQwhspSKoHQhek2nZbC8X7TOtIEJzmZb+Z+53fuvRyAHFW2F9pIqGxj
-        UqGiVYUrLUwFKG8uwOUm0pN8qI1KqPVK22kAJFOHqCBAQkyhgszxREo2d08YwUdEHEQSKNUrcs0ZgAqi
-        mJaShcQhyk0qROMpMudLyXxURJlBiTIylzaeAmDJvTPNkrlnuomS8xGJJ+W2u5xGhMICSnVKAuSBo0eR
-        lZLpX3IBYsxIyZGYmJk5m2weN8AfEnCpgQCWfvfsq6FFWAcXsbSyIy1MEDIzRwmgpuRwduZOMgYPEpK5
-        w6FDST0BdM+d8O3yODo6Rjp9jIcD17ILy8zMkuWZdQpKZcojM4cSLWfj2nrmMDa1gg/TqxIkmTqCmEzL
-        Yt/s//KKF/PuNXxa2GRzF/7dGdfyYo7aE+Gc+wmzZQpxISm1HggKiMboTPPXmV7D8tYFj/cAevNHBiiS
-        AU3dswjyCaz7eLwf/4ZHpiFs/Q5SDVjf2scNTS9e9rnw45cf69th1D+bZIBiGWDsnEGAF/F50YcJlwdb
-        vhCazcO4eqsLtYY+LCxvYnRiFfNUX/PyeNzuZIAzMqCxYwqrHj8G7V8RjqWkbja2g1j67iN5qZuQ9J/V
-        vyzv4IFpnAHOygDt00lYB9wIkdEfyipw4pwVq1vfuVFjdDDAeRlQ1+rEfjCOPVraXiCO3UDuWxbV2b3q
-        xtFcwPWaN7P3DQ5oDHZo9HbcI1XrxujiGKroclXDCO7Wj+COdgS3tcO4WdvvylkiPUWkc6QL/9HFE2Lf
-        xSRFBgDuD6syoJrXuXr4AAAAAElFTkSuQmCC
-</value>
-  </data>
-  <data name="btnIn.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        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
-        gCow0mM+bAAAAABJRU5ErkJggg==
-</value>
-  </data>
-  <data name="btnOut.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAB10RVh0VGl0
-        bGUARXhwb3J0O1hscztFeHBvcnRUb1hscztMoJn+AAACZklEQVQ4T2WTWWsTYRSGszdtg1r/Rk3Tmv4S
-        RWhUEAQFJVqLF7FNmqSpXdKqRazQDW/0pimBghKsuMRWaNJ7b70UsWaZJTOTmSSv5/tmGqY68CQzgfc5
-        3zln4qDLSbgIN+Gx8Nrw/QP7zQnAwWCXK7tZKi5vHYGxtFVGdrOMJWJx44goYWG9jIW1Q8yvlZBZLe4z
-        iV3gyW6U0aEnDn2YdDjtE9ommRffWMpvF3jn1g95SNVaUIiGaiIrBkdSWhAJvdVGamWfpfrsAh+zMoGs
-        moGTEA/KLQgNA3WiabQRf/KFpfpPCVIrX/lxJUWH1NCpmtENMWqyjiqhNdv4cPDjP0HPFFlZnwIFJ3JX
-        MDrfg9E5hg/hxz5cnGV4MTLjxXCaSHkQSroRSrjzTOCPLX7kgpps8HBTNxAmgarpCFO4oerd8PO9JOqi
-        hpqoIphw8SP0TszuoUUTrko6CXzQaJCsskIzGcn4eFvDaQ+vXJc0DE27MUTh4JQliKYKXHBcb/LKLz/P
-        8PDqpzRV9kBsNLvHXnmfRFVQEIy7SeDkgr47ibcwWh38rmu2yl7ILEiVRVkze7YqPy1M47iq4MKkKei/
-        PbkLg1b0q6rxgSm0DdazRIIQVRasnp9RsFJTeXj5XRyDj0xB4GZsFzoJflZURN9ctgZm9swqd3uOu6gq
-        w0lhBwZjDr6FwI2Hef6SiLRzgQZWp53z3Ys6KoKOP4JG89F4i/nCd1Z1wP4e+CN3XxevP9jB1fEdsO9r
-        4zlE7ufoeRuRe3QfNRmLbuPSrVcHlDn1IrG/ci9xhjhLnLMYsHHegt0HCLcpgOMvLlVmbi0MtN8AAAAA
-        SUVORK5CYII=
-</value>
-  </data>
-  <data name="btnOut.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        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
-</value>
-  </data>
-  <data name="btnReport.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        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
-        UnOkUrvSAAAAAElFTkSuQmCC
-</value>
-  </data>
-  <data name="btnDesign.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAADZ0RVh0VGl0
-        bGUAUGFnZSBTZXR1cDtTZXR1cDtDdXN0b21pejtEZXNpZ247U2V0dGluZztQcm9wZXJ07jthbQAAA0NJ
-        REFUOE9Nk3tMjWEcx1/m0o3cyW3G/MU/jc3K5o+mMbk1tqYtZjLkciSKKI5JK6eLczqFYjmFEitFuqCI
-        zkGXZS1Ro5Jy6nTOqc717Zy+fs9ztHm2z/vueZ/n93l+v+d9HoHa5Iz8xtrMh81gKB82QfnARUZ+M9EI
-        RV4TFKoGyFWNxGek5NS/o7hpAFi8MEWZ34Rx6nHo4WKc45zA6cJBpN77yCLdJwRTb+Y18CCrzQELYbY6
-        MGoWMTxqc2ESMWJxYNgyBvuYEzfuqFmkB4+mNi313icuMFnHYKJJIyY7kpRPIIm7hYTUBygur8eAwQID
-        fbeJTiRmvmcCz5CDcS6BjIws3VGLyFc20kRFdhHOxKahtOoTslTlkMry8Edn4hleldcxgdee/Re4YHpi
-        1geqzQk9pWsYtdNKInRGK25mFeDMJQXau/SQ55Qgt6CSyrEjPq2WCWYEh0Zzgdu1jDrYRREXr99FSYUa
-        A0YLdMM2dHYPYEdIJOpb+1FR+wXHomQYMpoRm/KKC3aGRHGB+2UyWqw2HI6U4bbqJR4V16C7T4/7j6sh
-        zy5GXUsf1F/6sC88HtqhEcQkVzPBzG17T7sEsbLXXHA0KhVPyzW4lfscEdFpUFDaNZp21DT9RlFlC8KO
-        XMVvrQHJt/kmem8NPskFHueTqugXipDfeYIrybn41q1H/5AZHb1GaNq0eN3QQ5IePlb07A3KqtuYYHbg
-        zuNc4HnuegVE0YEOqvlghBSSWAVyCmtQpfkBVYkaFZouvFT/RPN3LS4mZCMxrYAJFhGTmMAr8hoJ6ID0
-        DprxvXsQSekqBO2JwJp1QfALCEG4JAGlbztR8q4TDV8HECPNwjr/XRKKdeMCifQFP2Ej5jF+BgYNZvQP
-        DuNXvx5dvTrcVT1FaPgFPK5uRwGhbu3DieiUcV+/3WFM4HY0pqj2RHwZIuLKwN7H40px7FIp9Z9Bmv6G
-        NrYFMfEZ2LXvJO6XtxGtqFR3YGPgAR0TTCbciZmENzHrH7P/Yy6xeN6C5Wc3bw8bVxZqkFn4kcoL0wrs
-        Rk3cqmWrNwlLVvkLPis2CAuXrxfmL/UVtgafEhb4rGTDbMM8vOcsOuS/+YDOL2C/bq3vltC/pJl/VsY4
-        5MMAAAAASUVORK5CYII=
-</value>
-  </data>
-  <data name="btnDesign.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        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
-        AABJRU5ErkJggg==
-</value>
-  </data>
+    <data name="btnPrint.ImageOptions.Image"
+          type="System.Drawing.Bitmap, System.Drawing"
+          mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>
+            iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABx0RVh0VGl0
+            bGUAUHJpbnRMYXlvdXRWaWV3O1ByaW50OyLF4Y0AAAM1SURBVDhPVZP9Txt1HMfvfzAx/uA/5K86dQ7r
+            nM5EnahMnIQly5gDCn2CUiilPI7CyOYYBZMlJktkm5vZNA7alVLKYNAn2l57d732+gB5+b0zmnjJJ3f5
+            5vt+uPf3/ZUml36+H7y5RnBxjYnFVQILYQKhMOPzK/jnlxmbu8Po7E/4Zm7jnb6Fd2qJ4eASnolFPIGF
+            +5IJbjRb1OtNqrU6etVAq9RQNZ2yUkEuqxTkshgVpVJF1Q3xNiiLPW5/CMlUbjRaFrhrMSFmmx9CcS6J
+            6byxJSbGxdkXdMxEyebl/8AlrYbTfwPJtF0XBBW9ZoFbJyfUWyfo9WPUWgtZb3Kk1vlmOsJBOmeBywJc
+            0qo4RudMgrCw37IsX1qIYzSO8azu/G9SskH75Cb7B1kLLKtViqrOgG8WKbCwgiH+v6RofC9sV4xjFL1F
+            sdIgI9fYP9JJZlQ+H/uDePIlBTMXAS4qOnbvNJJ//i6G0UQuKXTOb1GuNi1V98o254af8PHQE856HmNz
+            PuJDxyPSR0VBolMo6/QPT5kEy9QEQb5Q4uJcjLzaIC2UdzNlCyxXhButJXJo0jb4kNjOS16lcmQLCn1D
+            QSTznKtGg1yuSMdslFSxhmtqjc+6x7G5HlvArNLkUG5w2v6A09866fHeJPkqRa9nAsksiV4Tqtm8lfRe
+            TuP85QDmY3P+RpvjIWeEsgW2r1vr77cPEEvscd0dQDIbVqnWORS2vp7aJJ5S+LR7zNr45vlVLoc1upcV
+            2ucyvHbmFg+eRnn3Qj+R7V1+dI0jjYh6aoIglT7iq+CGSPsZn3T9Q/B2/zpvnL3L67Y7Anybt678wvrT
+            CKe+7GVja4drDj+S2W2znnJZE+ec4Xkkxrkun0WwL1ztirWdvTSx5AHRxD6//r7JO1/08mckTo9jFGlI
+            XAyznopVzyqHmTzOyTAfdXqxfTdEW4eLD0Rw77XbOXWhT6j30TMc4nkswdUBk0Dcqn/raTYsV1TYFQlv
+            idJEE0k2hdUNsfmvaFyoxni28UJ8b7OXzguCESR3IHTPPR6yLobZ7UHfjNUwsyR9Q5PWUV13BazArjn9
+            9AyOWcpXB3xcsY/c+xvJRDliKSBA7QAAAABJRU5ErkJggg==
+        </value>
+    </data>
+    <data name="btnPrint.ImageOptions.LargeImage"
+          type="System.Drawing.Bitmap, System.Drawing"
+          mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>
+            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
+        </value>
+    </data>
+    <data name="btnHb.ImageOptions.Image"
+          type="System.Drawing.Bitmap, System.Drawing"
+          mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>
+            iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+            dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAbdEVYdFRpdGxlAE1vZGVsO0NvcHk7Q29weU1vZGVs
+            O4ktWcsAAAJgSURBVDhPjdFdSFNhHMfx1XQvbhokvdx00X3ddlEEQRB0WzeRvYBFkESRWVgstZpz5ZL5
+            Oo0CaysbFBlWSos2hroU1wsWmFA3WelyO9s82862s/36P4+4zqKLDnyQB5//9zx7jgpAgdFoVHc6g75u
+            11t0ud6RIDqcQbQz96ZgJ7bb437ap1mZ+TtQ2uGcQj4PkudyTG6ZTG7emQTt0xcC9KwialKi1WoNg54Z
+            SJIEIZrgwkICkWgKMTGDdDaHG30BFihTBtSW3oDP2vcGLb0TJACLYwzNjgDM5FrPGG4NBBESREiZHCw9
+            oyxgUAZKmx2jRcdWHp0du9Hux49fUaTSMpra/SxgVAY0VztZIA8xmeWWkjIXF2V+bJPNi2/zAhKSDFOb
+            lwXKlQFtfauXvzGWyCLKiFkISxmOvfWs+SW+zC0iTv+7YPWwQIUyoDvf4uHHZQMRuqwI/Y1RRExl6XfL
+            ePZ6BqFwHIlUBi98n6HX6ytproSwy1eVnWp8jqycRyiaJhIWBInelsHcyCBmG2oKPpj3I9C6owgLGE6a
+            hiiQwzwNRuJpGk4jHEti9nIN4HVxKdd1DBzaDAgPufi0ma954PjFp8jQZf2MLH/vu8OfcODKSMEJ+znU
+            9W8p8n346J9Add0Tfttx9hUSEvaccWNCBOeeDmFf/SYsop8b/9rE18qArur0fd+R2sc4XPsI7qH3PNDw
+            aoGr7p7gA86PO7lLD7byddfejbDuXm9jgdVETyrIGrLhfwK0by3R8G+pRI9uW5UDSruOrSuy/WBlGx9m
+            zz8CKycyKpQrsLWW0D6V6jdzUIrq8TztCAAAAABJRU5ErkJggg==
+        </value>
+    </data>
+    <data name="btnHb.ImageOptions.LargeImage"
+          type="System.Drawing.Bitmap, System.Drawing"
+          mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>
+            iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+            dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAbdEVYdFRpdGxlAE1vZGVsO0NvcHk7Q29weU1vZGVs
+            O4ktWcsAAAhaSURBVFhHjZZ7UFXXFcYRFBB8v5LaiZM4k0wmbf/pdDqNiY1p0sRJ7WOSMa+mnbSxTmKT
+            ZqiCDqOgXtAQjALG2GhVCIhvMIhIEJAi4jM+iQooCvK478t987jw9Vv7nnMDgkz2zI99L/ec831r7bXX
+            PmEAhjBu3Dh9Ds87fKky7+vL4EwuI1fNlzhfRG7hRXxVcBE5nHMKvlVkZVev5X2j5V4yakvembAtubVh
+            nxN5ro6uFfowELlRmyNEfLjR3d0Lr68bTpcPZpsbza0OXKprw+mLzfhs23ED7x1DlIm6+vawjJ3VDzYw
+            cMh3uUljtEQsI9DXh95AP3oCfQp/V9BAp9sPk82DO/fs+E/+WfT3AxW1t5GaVZrC+yOJMvHp1sofbiAy
+            MjJciImJiZS09vOp3b2BID0BdGn4/N3weLthc3hpwIbMnBplwOPrRVlNI5I2FKVSLIpEEAloRAOjNMIj
+            IiJGC1FRUdEVtQ0IBALwd/coQUEi9/i6ggb42c5laGIG0r88oQz4uvuUidITN7Ei9eA6CkaTQSaGMxCe
+            mX2qMjOnFlm7apG56xQySHCuQcbOGmzaUYONnDfuOKkoO3kTbm8XbE4vbt21wpD1jTLQ09tPw2IigOKK
+            64hLyh9i4n4DEnmEiA83pOAk0k6nDyarC3cZ7fmr91BxqhFHT9TB6nDj1h0rVqYXq+vFBMuEtSJGAigq
+            u4Z/Jn4lJvSaGNbAaIlYhkQgdPf2KXz+XkbKVDv96LBQrNmG9O3/U0JF5ddxuPQKbt+zIO2LMiSkFGKZ
+            YCjE0rVCAQr5eyazSOEYIlkY1sCYTUyvDCXcQwM9fSy2ILLeLk83LDYvbjdbkLKlXBlwc60Ly+qwp+g8
+            GppMuHqzDRfqWnD+SovaktXnm3DqQpNuYPyIBmRdZejCauZa+rkEXdoyWDt9aGy2YtWGklDBiYmDR69g
+            d+EZtBntaDW7cK/Diea2Tpq14U6LDRk7qsXABCJNalgDkRu2Bw2IuBSRLi74BO59G+ug8Y4Fy1IPDyo4
+            NwtubxG748FT7AtOWDo9MDs8XDIPLHYPi7ZKDEx8kIFwEpW+jevKf/h7gqJKmKI6nq4eOFx+NLDgPko6
+            wCuHFlx+4Tlk76tWhWnl7rAwY9KsNnypDEwayUB0Gi/S0xoU5d5XwsTfQ3ppoAt32h2s+CNYvHw3FsXn
+            YdGyPLy3VMjF/iMXkbSpFB1mh8qWjYalWbETioHJIxpYv1VrJFq0IqgLy+zig5zEZOe+b7Hj8s12nLva
+            zGK7i+pzTag83YjqM7dYH8fQarSwXrxwuLvg5b1pW8vFwJSRDIxd90WlMiBi7oH4KE7cLEKZJQsWB3sC
+            d0S72Y0WKTYaqm+ysOisSEw7ipZ2M6/xsEt2qaVZ//lxMTCVyCE1rIGYlM0VNNB/n3BQVHAK3IqdjEpm
+            iU4EZJ2NPJDaTC42KjdWpB3B3VYTzCw+mzLQi9TNZWJgmmZAnbYDDUSQWENWOfpowEXxkKhHEyVOd3Du
+            lJk4dChipokOZsTOdU9IPcKzwcgMSSHyzOCSGjJLxcD0kQyMX83i6evrV4JKbKCIJuRwBWeJTB4exM8s
+            BJGsLTUUoOFuOw25YOFvXtZQMp9N4RlE2vGwBiYkfVbCLdWvCYuYJqh9toUEg1h0NHGzw89oA4hbfYj1
+            0Io2NiQTa8VDU9K4KPzQEAPaGE0mSvGIAT1CHRELivuDwiI2QNRkZ0ESWQIp1H+xR1xvaEaL0YF21oSL
+            ASR+WozY2NiZY8eOjZZ3jaDs90MMTFq+7mv1tvN9lJoIP5s7BYrpMDKj1cuG46dh7ndWvIUpd7o8KCz5
+            ljuDNWDt5OuaE45OF4rLLyM6Ono2xSeGh4ePoZ5039AQA5PjDYeVAVk3hYhrwhKpitbmh5HiHewFFmK1
+            833w6CHcSl6ChiSyagnqVy7BzZXv43pZFs5lzMXZjc/idPozqP1kDmrWPY1Ro0bFUG9QFsTRFDk+e3gS
+            6ikORSzCErGI2yjOyEXczIi/y9mOlvQE4EReiKasJFQteQb3yuMAx94Q7aXvoiTup2JgAvWk7kJDDEyV
+            4pGjWMRE1KiEg6Ii3k7aKC6d0ETxnTwB3zKU4c01pXh9dSkWJh/Da0kl2BQ/F39dNxt/SZmNdwTDY3h7
+            7aO4kDwDBYufkMqbRCTroSEGpn2cfECdhLp4UNhHYQ2rh0ct15oHzX+LLmNjaQPOehAi83gj/piwCLlV
+            78KK7BA7Kl7H7+JmKgN73nlMDEwmIQPqXYBM+2gVDbBtDhb1MeograTZ6ESHyY4/JRYj46wDm07bsbGW
+            L6Q1Nryx5hjeTH4UB+rnY3/Dy9hf/xL21f8WCxJj8eIHM5SB7FcfGZIB3cDUDxP3q74tncsrqEOIr2Na
+            WxbkDdhktuGV+AJ8Um3F+pNWpFZZYKiyKgMLV87C3hsvYs+NF5B/4zfYff15ZeC5v09D8eKHkf7CjAxq
+            jSNSA2onyB/ViN77966q91fsweIEsjwf/4jP52eZeezyyBX+FpeD3YdO4qWP92FNpRmrK8xIKjdh5XGz
+            MvDqikeQ99088hxy6+Yih4iBX/15MlJ/PT2LOlNIJBm0C+RLFJHqnE5+dB8zBzCL/GTekt1I/MaE5ceM
+            SDjWgfgSI+YtzsYf4n+MnGvPIvvaHOy6+rTi+Q/G42cLxm/mfdNINBG9QX1Avsg/ZV3EnY6Yup9YMv2p
+            36fjyQVpePKV9Xhifgoef9mAWXM+3PbLtybjF2+QhZPw89cmKp6aP04i18VDqVdD78k/BA7dqBiRQpJs
+            PaQxQ/su88NEMiezfJ9I5J7B4jKGE3oQ2hiYLSnegRkbLnNyjVw7JO1hYWFh/wecxwMOH7dYDAAAAABJ
+            RU5ErkJggg==
+        </value>
+    </data>
+    <data name="btnKG.ImageOptions.Image"
+          type="System.Drawing.Bitmap, System.Drawing"
+          mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>
+            iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+            dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAARdEVYdFRpdGxlAERvd247QXJyb3c7vfyCWAAAAsBJ
+            REFUOE91kllPU0EYhicxJgqu/0iNlyaGaOKF3gjFha1QWcoiKC171BhjILJTVNZAAdlKjEgkUQNdqFIF
+            I0vL6cLpaQulLYm+fjMtxMR48eTrmXfmOe9phmm7be+KX9lR9NKOwm47CgxL0HQtIa/DBnWHFep2C7Jb
+            LchqsSCj2YI7zWbcfmFG2vOP7xljRxk/PLMaJAKYWYljot+m74pgmpjiOBRMflMwTtP4xY/0pkWQ4BjT
+            kmB82Y8a0waqpzdQNUXwSein1uNMrkN3wMQa+iw+qOKC46yIajcYHbhnsEFjsFJ9K3I7iQ6LqJ/TbkZ2
+            2yKyWs3IbFlEBlH2egmqxoSg5pkJu3v78CkR+PyEEoVX3sOWNwSXJygmfxZ5Yk9oZx/3G95wQRLTP53C
+            TpgL6GBiEz9U2Pb5EJebJLTuFS+IILi7j9K6US5IZpVPJhEigQgJPl1SADf005j1/sblohFsSopYP5AE
+            dmIorh7hghOs4tE4QmTkgYequjwh/Fj34FrFBB7bf+FSvhErP91wSkGR831KKIZC/XBcUFY/RpViIpB8
+            u9C1zeNq2RiulI6h1ryPFO2oaFHeNCfknoQgv3KIC06yktoRBEjAA8kXhtXhxMX0DhS/VVD5KQatScaF
+            tHbYljfFC/g+fzAKzYNBLjjFiqqM4ps8cgRuwuXdQc/oAs7nDKBkPoJzmb3oH1+A0x0UOf8MORiDurw/
+            LijQDYlK7u09EUo011wycnSDSKn/gIK6Yaw5ZbHO93BkapBd1scFp5nm4SAJomSnkLegDVtU9evKFlJL
+            euBYleg5DInnCcF2IIrM0l4uOMPyygfEN8m0uE2ThxyPHBb3gU9+Rw4vEicQQUZxT7xBqrp19lZ+N9IT
+            qO4ZoNIYkKbpEqTmJcjtxM2/uH63cY4ESQTdZ/5n8Dr/cvY/8CyZMXbkD/6l4aVZjBcUAAAAAElFTkSu
+            QmCC
+        </value>
+    </data>
+    <data name="btnKG.ImageOptions.LargeImage"
+          type="System.Drawing.Bitmap, System.Drawing"
+          mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>
+            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
+            T5oqAAAAAElFTkSuQmCC
+        </value>
+    </data>
+    <data name="btnIn.ImageOptions.Image"
+          type="System.Drawing.Bitmap, System.Drawing"
+          mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>
+            iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAA50RVh0VGl0
+            bGUAWGxzO1NlbmRxQ3oaAAACiElEQVQ4T3WQ2U8TYRTFhxYKuP4hCBXhD/HBV5cXFawkqJgCXYSyRCWF
+            EMGkSX0gKgKxYWklBdkqJqaEQFQwhspSKoHQhek2nZbC8X7TOtIEJzmZb+Z+53fuvRyAHFW2F9pIqGxj
+            UqGiVYUrLUwFKG8uwOUm0pN8qI1KqPVK22kAJFOHqCBAQkyhgszxREo2d08YwUdEHEQSKNUrcs0ZgAqi
+            mJaShcQhyk0qROMpMudLyXxURJlBiTIylzaeAmDJvTPNkrlnuomS8xGJJ+W2u5xGhMICSnVKAuSBo0eR
+            lZLpX3IBYsxIyZGYmJk5m2weN8AfEnCpgQCWfvfsq6FFWAcXsbSyIy1MEDIzRwmgpuRwduZOMgYPEpK5
+            w6FDST0BdM+d8O3yODo6Rjp9jIcD17ILy8zMkuWZdQpKZcojM4cSLWfj2nrmMDa1gg/TqxIkmTqCmEzL
+            Yt/s//KKF/PuNXxa2GRzF/7dGdfyYo7aE+Gc+wmzZQpxISm1HggKiMboTPPXmV7D8tYFj/cAevNHBiiS
+            AU3dswjyCaz7eLwf/4ZHpiFs/Q5SDVjf2scNTS9e9rnw45cf69th1D+bZIBiGWDsnEGAF/F50YcJlwdb
+            vhCazcO4eqsLtYY+LCxvYnRiFfNUX/PyeNzuZIAzMqCxYwqrHj8G7V8RjqWkbja2g1j67iN5qZuQ9J/V
+            vyzv4IFpnAHOygDt00lYB9wIkdEfyipw4pwVq1vfuVFjdDDAeRlQ1+rEfjCOPVraXiCO3UDuWxbV2b3q
+            xtFcwPWaN7P3DQ5oDHZo9HbcI1XrxujiGKroclXDCO7Wj+COdgS3tcO4WdvvylkiPUWkc6QL/9HFE2Lf
+            xSRFBgDuD6syoJrXuXr4AAAAAElFTkSuQmCC
+        </value>
+    </data>
+    <data name="btnIn.ImageOptions.LargeImage"
+          type="System.Drawing.Bitmap, System.Drawing"
+          mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>
+            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
+            gCow0mM+bAAAAABJRU5ErkJggg==
+        </value>
+    </data>
+    <data name="btnOut.ImageOptions.Image"
+          type="System.Drawing.Bitmap, System.Drawing"
+          mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>
+            iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAB10RVh0VGl0
+            bGUARXhwb3J0O1hscztFeHBvcnRUb1hscztMoJn+AAACZklEQVQ4T2WTWWsTYRSGszdtg1r/Rk3Tmv4S
+            RWhUEAQFJVqLF7FNmqSpXdKqRazQDW/0pimBghKsuMRWaNJ7b70UsWaZJTOTmSSv5/tmGqY68CQzgfc5
+            3zln4qDLSbgIN+Gx8Nrw/QP7zQnAwWCXK7tZKi5vHYGxtFVGdrOMJWJx44goYWG9jIW1Q8yvlZBZLe4z
+            iV3gyW6U0aEnDn2YdDjtE9ommRffWMpvF3jn1g95SNVaUIiGaiIrBkdSWhAJvdVGamWfpfrsAh+zMoGs
+            moGTEA/KLQgNA3WiabQRf/KFpfpPCVIrX/lxJUWH1NCpmtENMWqyjiqhNdv4cPDjP0HPFFlZnwIFJ3JX
+            MDrfg9E5hg/hxz5cnGV4MTLjxXCaSHkQSroRSrjzTOCPLX7kgpps8HBTNxAmgarpCFO4oerd8PO9JOqi
+            hpqoIphw8SP0TszuoUUTrko6CXzQaJCsskIzGcn4eFvDaQ+vXJc0DE27MUTh4JQliKYKXHBcb/LKLz/P
+            8PDqpzRV9kBsNLvHXnmfRFVQEIy7SeDkgr47ibcwWh38rmu2yl7ILEiVRVkze7YqPy1M47iq4MKkKei/
+            PbkLg1b0q6rxgSm0DdazRIIQVRasnp9RsFJTeXj5XRyDj0xB4GZsFzoJflZURN9ctgZm9swqd3uOu6gq
+            w0lhBwZjDr6FwI2Hef6SiLRzgQZWp53z3Ys6KoKOP4JG89F4i/nCd1Z1wP4e+CN3XxevP9jB1fEdsO9r
+            4zlE7ufoeRuRe3QfNRmLbuPSrVcHlDn1IrG/ci9xhjhLnLMYsHHegt0HCLcpgOMvLlVmbi0MtN8AAAAA
+            SUVORK5CYII=
+        </value>
+    </data>
+    <data name="btnOut.ImageOptions.LargeImage"
+          type="System.Drawing.Bitmap, System.Drawing"
+          mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>
+            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
+        </value>
+    </data>
+    <data name="btnReport.ImageOptions.Image"
+          type="System.Drawing.Bitmap, System.Drawing"
+          mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>
+            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
+            UnOkUrvSAAAAAElFTkSuQmCC
+        </value>
+    </data>
+    <data name="btnDesign.ImageOptions.Image"
+          type="System.Drawing.Bitmap, System.Drawing"
+          mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>
+            iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAADZ0RVh0VGl0
+            bGUAUGFnZSBTZXR1cDtTZXR1cDtDdXN0b21pejtEZXNpZ247U2V0dGluZztQcm9wZXJ07jthbQAAA0NJ
+            REFUOE9Nk3tMjWEcx1/m0o3cyW3G/MU/jc3K5o+mMbk1tqYtZjLkciSKKI5JK6eLczqFYjmFEitFuqCI
+            zkGXZS1Ro5Jy6nTOqc717Zy+fs9ztHm2z/vueZ/n93l+v+d9HoHa5Iz8xtrMh81gKB82QfnARUZ+M9EI
+            RV4TFKoGyFWNxGek5NS/o7hpAFi8MEWZ34Rx6nHo4WKc45zA6cJBpN77yCLdJwRTb+Y18CCrzQELYbY6
+            MGoWMTxqc2ESMWJxYNgyBvuYEzfuqFmkB4+mNi313icuMFnHYKJJIyY7kpRPIIm7hYTUBygur8eAwQID
+            fbeJTiRmvmcCz5CDcS6BjIws3VGLyFc20kRFdhHOxKahtOoTslTlkMry8Edn4hleldcxgdee/Re4YHpi
+            1geqzQk9pWsYtdNKInRGK25mFeDMJQXau/SQ55Qgt6CSyrEjPq2WCWYEh0Zzgdu1jDrYRREXr99FSYUa
+            A0YLdMM2dHYPYEdIJOpb+1FR+wXHomQYMpoRm/KKC3aGRHGB+2UyWqw2HI6U4bbqJR4V16C7T4/7j6sh
+            zy5GXUsf1F/6sC88HtqhEcQkVzPBzG17T7sEsbLXXHA0KhVPyzW4lfscEdFpUFDaNZp21DT9RlFlC8KO
+            XMVvrQHJt/kmem8NPskFHueTqugXipDfeYIrybn41q1H/5AZHb1GaNq0eN3QQ5IePlb07A3KqtuYYHbg
+            zuNc4HnuegVE0YEOqvlghBSSWAVyCmtQpfkBVYkaFZouvFT/RPN3LS4mZCMxrYAJFhGTmMAr8hoJ6ID0
+            DprxvXsQSekqBO2JwJp1QfALCEG4JAGlbztR8q4TDV8HECPNwjr/XRKKdeMCifQFP2Ej5jF+BgYNZvQP
+            DuNXvx5dvTrcVT1FaPgFPK5uRwGhbu3DieiUcV+/3WFM4HY0pqj2RHwZIuLKwN7H40px7FIp9Z9Bmv6G
+            NrYFMfEZ2LXvJO6XtxGtqFR3YGPgAR0TTCbciZmENzHrH7P/Yy6xeN6C5Wc3bw8bVxZqkFn4kcoL0wrs
+            Rk3cqmWrNwlLVvkLPis2CAuXrxfmL/UVtgafEhb4rGTDbMM8vOcsOuS/+YDOL2C/bq3vltC/pJl/VsY4
+            5MMAAAAASUVORK5CYII=
+        </value>
+    </data>
+    <data name="btnDesign.ImageOptions.LargeImage"
+          type="System.Drawing.Bitmap, System.Drawing"
+          mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>
+            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
+            AABJRU5ErkJggg==
+        </value>
+    </data>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/bin/Debug/FastReport.Bars.dll b/DevApp/Gs.DevApp/bin/Debug/FastReport.Bars.dll
deleted file mode 100644
index 1ed0d59..0000000
--- a/DevApp/Gs.DevApp/bin/Debug/FastReport.Bars.dll
+++ /dev/null
Binary files differ
diff --git a/DevApp/Gs.DevApp/bin/Debug/FastReport.Editor.dll b/DevApp/Gs.DevApp/bin/Debug/FastReport.Editor.dll
deleted file mode 100644
index b64b4e2..0000000
--- a/DevApp/Gs.DevApp/bin/Debug/FastReport.Editor.dll
+++ /dev/null
Binary files differ
diff --git a/DevApp/Gs.DevApp/packages.config b/DevApp/Gs.DevApp/packages.config
index 572b239..b54ea3e 100644
--- a/DevApp/Gs.DevApp/packages.config
+++ b/DevApp/Gs.DevApp/packages.config
@@ -1,19 +1,29 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <packages>
-  <package id="Autoupdater.NET.Official" version="1.9.2" targetFramework="net48" />
-  <package id="Microsoft.Bcl.AsyncInterfaces" version="8.0.0" targetFramework="net48" />
-  <package id="Microsoft.Web.WebView2" version="1.0.2592.51" targetFramework="net48" />
-  <package id="Newtonsoft.Json" version="13.0.3" targetFramework="net48" />
-  <package id="Oracle.ManagedDataAccess" version="23.6.0" targetFramework="net48" />
-  <package id="System.Buffers" version="4.5.1" targetFramework="net48" />
-  <package id="System.Configuration.ConfigurationManager" version="8.0.0" targetFramework="net48" />
-  <package id="System.Diagnostics.DiagnosticSource" version="6.0.1" targetFramework="net48" />
-  <package id="System.Formats.Asn1" version="8.0.1" targetFramework="net48" />
-  <package id="System.Memory" version="4.5.5" targetFramework="net48" />
-  <package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net48" />
-  <package id="System.Runtime.CompilerServices.Unsafe" version="6.0.0" targetFramework="net48" />
-  <package id="System.Text.Encodings.Web" version="8.0.0" targetFramework="net48" />
-  <package id="System.Text.Json" version="8.0.4" targetFramework="net48" />
-  <package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net48" />
-  <package id="System.ValueTuple" version="4.5.0" targetFramework="net48" />
+    <package id="Autoupdater.NET.Official" version="1.9.2"
+             targetFramework="net48"/>
+    <package id="Microsoft.Bcl.AsyncInterfaces" version="8.0.0"
+             targetFramework="net48"/>
+    <package id="Microsoft.Web.WebView2" version="1.0.2592.51"
+             targetFramework="net48"/>
+    <package id="Newtonsoft.Json" version="13.0.3" targetFramework="net48"/>
+    <package id="Oracle.ManagedDataAccess" version="23.6.0"
+             targetFramework="net48"/>
+    <package id="System.Buffers" version="4.5.1" targetFramework="net48"/>
+    <package id="System.Configuration.ConfigurationManager" version="8.0.0"
+             targetFramework="net48"/>
+    <package id="System.Diagnostics.DiagnosticSource" version="6.0.1"
+             targetFramework="net48"/>
+    <package id="System.Formats.Asn1" version="8.0.1" targetFramework="net48"/>
+    <package id="System.Memory" version="4.5.5" targetFramework="net48"/>
+    <package id="System.Numerics.Vectors" version="4.5.0"
+             targetFramework="net48"/>
+    <package id="System.Runtime.CompilerServices.Unsafe" version="6.0.0"
+             targetFramework="net48"/>
+    <package id="System.Text.Encodings.Web" version="8.0.0"
+             targetFramework="net48"/>
+    <package id="System.Text.Json" version="8.0.4" targetFramework="net48"/>
+    <package id="System.Threading.Tasks.Extensions" version="4.5.4"
+             targetFramework="net48"/>
+    <package id="System.ValueTuple" version="4.5.0" targetFramework="net48"/>
 </packages>
\ No newline at end of file

--
Gitblit v1.9.3