From c115ac388af5a6928716f0146a75a2a42fb27d8e Mon Sep 17 00:00:00 2001
From: lg <999544862qq.com>
Date: 星期日, 22 九月 2024 20:52:16 +0800
Subject: [PATCH] 仓库管理

---
 DevApp/Gs.DevApp/DevFrm/BasicData/FrmDepartment.cs      |    8 
 DevApp/Gs.DevApp/DevFrm/BasicData/FrmStaff.cs           |   22 
 DevApp/Gs.DevApp/DevFrm/BasicData/FrmItemType.cs        |    8 
 DevApp/Gs.DevApp/DevFrm/BasicData/FrmSupplier.cs        |    8 
 DevApp/Gs.DevApp/DevFrm/BasicData/FrmPosition.cs        |    8 
 DevApp/Gs.DevApp/DevFrm/Sys/EasyRpt.cs                  |    4 
 DevApp/Gs.DevApp/DevFrm/BasicData/FrmHolidy.Designer.cs |   32 +-
 DevApp/Gs.DevApp/DevFrm/User/UserSetPwd.cs              |    2 
 DevApp/Gs.DevApp/Service/MesItemServices.cs             |    2 
 DevApp/Gs.DevApp/DevFrm/Sys/DocNoRule.Designer.cs       |    7 
 DevApp/Gs.DevApp/DevFrm/BasicData/FrmDictionary.cs      |    8 
 DevApp/Gs.DevApp/DevFrm/BasicData/FrmHolidy.cs          |   49 +-
 DevApp/Gs.DevApp/DevFrm/FrmMain.cs                      |    4 
 DevApp/Gs.DevApp/UserControl/ToolBarMenu.cs             |   17 
 DevApp/Gs.DevApp/DevFrm/Sys/DocNoRule.cs                |   56 ++-
 DevApp/Gs.DevApp/DevFrm/User/UserSelectRole.cs          |   12 
 DevApp/Gs.DevApp/Gs.DevApp.csproj                       |   16 
 DevApp/Gs.DevApp/DevFrm/BasicData/FrmCustomer.cs        |    8 
 DevApp/Gs.DevApp/DevFrm/User/User.cs                    |   46 +-
 DevApp/Gs.DevApp/DevFrm/Warehouse/FrmDepot.Designer.cs  |  150 +++++----
 DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs               |  171 +++++++---
 /dev/null                                               |  120 -------
 DevApp/Gs.DevApp/DevFrm/FrmLogin.cs                     |    4 
 DevApp/Gs.DevApp/DevFrm/User/Role.cs                    |   62 +--
 DevApp/Gs.DevApp/DevFrm/Warehouse/FrmDepot.cs           |   94 ++++-
 DevApp/Gs.DevApp/DevFrm/Sys/SysLog.cs                   |    4 
 26 files changed, 452 insertions(+), 470 deletions(-)

diff --git a/DevApp/Gs.DevApp/DevFrm/BasicData/FrmCustomer.cs b/DevApp/Gs.DevApp/DevFrm/BasicData/FrmCustomer.cs
index 97b7a48..c854c58 100644
--- a/DevApp/Gs.DevApp/DevFrm/BasicData/FrmCustomer.cs
+++ b/DevApp/Gs.DevApp/DevFrm/BasicData/FrmCustomer.cs
@@ -103,7 +103,7 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnLoadClick(object sender, EventArgs e)
         {
-            UtilityHelper.ChangeTab(xtraTabControl1, 0);
+            UtilityHelper.JumpToTab(xtraTabControl1, 0);
             getPageList(1, UtilityHelper.GetPageSize());
         }
         /// <summary>
@@ -118,7 +118,7 @@
             try
             {
                 string strReturn = UtilityHelper.HttpPost("", "Customer/GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.GetTableByJson(strReturn);
+                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
                 DataTable dt = dd.rtnData.list;
                 gcMain.BindingContext = new BindingContext();
                 gcMain.DataSource = dt;
@@ -142,7 +142,7 @@
                 ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
-            UtilityHelper.ChangeTab(xtraTabControl1, tabIdx);
+            UtilityHelper.JumpToTab(xtraTabControl1, tabIdx);
             var _obj = new
             {
                 guid = strGuid,//涓诲缓
@@ -150,7 +150,7 @@
             try
             {
                 string strJson = UtilityHelper.HttpPost("", "Customer/GetModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
                     dynamic dy = _rtn.rtnData;
diff --git a/DevApp/Gs.DevApp/DevFrm/BasicData/FrmDepartment.cs b/DevApp/Gs.DevApp/DevFrm/BasicData/FrmDepartment.cs
index 814a95c..57747d9 100644
--- a/DevApp/Gs.DevApp/DevFrm/BasicData/FrmDepartment.cs
+++ b/DevApp/Gs.DevApp/DevFrm/BasicData/FrmDepartment.cs
@@ -102,7 +102,7 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnLoadClick(object sender, EventArgs e)
         {
-            UtilityHelper.ChangeTab(xtraTabControl1, 0);
+            UtilityHelper.JumpToTab(xtraTabControl1, 0);
             getPageList(1, UtilityHelper.GetPageSize());
         }
         /// <summary>
@@ -117,7 +117,7 @@
             try
             {
                 string strReturn = UtilityHelper.HttpPost("", "DepartMent/GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.GetTableByJson(strReturn);
+                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
                 DataTable dt = dd.rtnData.list;
                 gcMain.BindingContext = new BindingContext();
                 gcMain.DataSource = dt;
@@ -141,7 +141,7 @@
                 ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
-            UtilityHelper.ChangeTab(xtraTabControl1, tabIdx);
+            UtilityHelper.JumpToTab(xtraTabControl1, tabIdx);
             var _obj = new
             {
                 guid = strGuid,//涓诲缓
@@ -149,7 +149,7 @@
             try
             {
                 string strJson = UtilityHelper.HttpPost("", "DepartMent/GetModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
                     dynamic dy = _rtn.rtnData;
diff --git a/DevApp/Gs.DevApp/DevFrm/BasicData/FrmDictionary.cs b/DevApp/Gs.DevApp/DevFrm/BasicData/FrmDictionary.cs
index 04c3e61..f99a545 100644
--- a/DevApp/Gs.DevApp/DevFrm/BasicData/FrmDictionary.cs
+++ b/DevApp/Gs.DevApp/DevFrm/BasicData/FrmDictionary.cs
@@ -103,7 +103,7 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnLoadClick(object sender, EventArgs e)
         {
-            UtilityHelper.ChangeTab(xtraTabControl1, 0);
+            UtilityHelper.JumpToTab(xtraTabControl1, 0);
             getPageList(1, UtilityHelper.GetPageSize());
         }
         /// <summary>
@@ -118,7 +118,7 @@
             try
             {
                 string strReturn = UtilityHelper.HttpPost("", "Dictionary/GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.GetTableByJson(strReturn);
+                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
                 DataTable dt = dd.rtnData.list;
                 gcMain.BindingContext = new BindingContext();
                 gcMain.DataSource = dt;
@@ -142,7 +142,7 @@
                 ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
-            UtilityHelper.ChangeTab(xtraTabControl1, tabIdx);
+            UtilityHelper.JumpToTab(xtraTabControl1, tabIdx);
             var _obj = new
             {
                 guid = strGuid,//涓诲缓
@@ -150,7 +150,7 @@
             try
             {
                 string strJson = UtilityHelper.HttpPost("", "Dictionary/GetModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
                     dynamic dy = _rtn.rtnData;
diff --git a/DevApp/Gs.DevApp/DevFrm/BasicData/FrmHolidy.Designer.cs b/DevApp/Gs.DevApp/DevFrm/BasicData/FrmHolidy.Designer.cs
index 014fe7d..c7a5f8e 100644
--- a/DevApp/Gs.DevApp/DevFrm/BasicData/FrmHolidy.Designer.cs
+++ b/DevApp/Gs.DevApp/DevFrm/BasicData/FrmHolidy.Designer.cs
@@ -44,6 +44,7 @@
             this.toolBarMenu1 = new Gs.DevApp.UserControl.ToolBarMenu();
             this.gcMain = new DevExpress.XtraGrid.GridControl();
             this.gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
+            this.weekdayName = new DevExpress.XtraGrid.Columns.GridColumn();
             this.xtraTabControl1 = new DevExpress.XtraTab.XtraTabControl();
             this.xtraTabPage1 = new DevExpress.XtraTab.XtraTabPage();
             this.pageBar1 = new UserControls.Data.PageBar();
@@ -53,7 +54,6 @@
             this.txt_time1 = new System.Windows.Forms.DateTimePicker();
             this.labelControl11 = new DevExpress.XtraEditors.LabelControl();
             this.lbGuid = new System.Windows.Forms.Label();
-            this.weekdayName = new DevExpress.XtraGrid.Columns.GridColumn();
             ((System.ComponentModel.ISupportInitialize)(this.txt_name.Properties)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.gcMain)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.gridView1)).BeginInit();
@@ -137,7 +137,7 @@
             this.gv_time2.Name = "gv_time2";
             this.gv_time2.OptionsColumn.AllowEdit = false;
             this.gv_time2.Visible = true;
-            this.gv_time2.VisibleIndex = 3;
+            this.gv_time2.VisibleIndex = 2;
             this.gv_time2.Width = 94;
             // 
             // lb_time1
@@ -161,7 +161,7 @@
             this.gv_time1.Name = "gv_time1";
             this.gv_time1.OptionsColumn.AllowEdit = false;
             this.gv_time1.Visible = true;
-            this.gv_time1.VisibleIndex = 2;
+            this.gv_time1.VisibleIndex = 1;
             this.gv_time1.Width = 94;
             // 
             // lb_name
@@ -195,7 +195,7 @@
             this.gv_name.Name = "gv_name";
             this.gv_name.OptionsColumn.AllowEdit = false;
             this.gv_name.Visible = true;
-            this.gv_name.VisibleIndex = 1;
+            this.gv_name.VisibleIndex = 0;
             this.gv_name.Width = 94;
             // 
             // toolBarMenu1
@@ -238,6 +238,16 @@
             this.gridView1.OptionsFind.ShowSearchNavButtons = false;
             this.gridView1.OptionsView.ShowAutoFilterRow = true;
             this.gridView1.OptionsView.ShowGroupPanel = false;
+            // 
+            // weekdayName
+            // 
+            this.weekdayName.Caption = "鏄熸湡";
+            this.weekdayName.FieldName = "weekdayName";
+            this.weekdayName.MinWidth = 25;
+            this.weekdayName.Name = "weekdayName";
+            this.weekdayName.Visible = true;
+            this.weekdayName.VisibleIndex = 3;
+            this.weekdayName.Width = 94;
             // 
             // xtraTabControl1
             // 
@@ -299,7 +309,7 @@
             // 
             // txt_time2
             // 
-            this.txt_time2.CustomFormat = "yyyy-MM-dd HH:mm:ss";
+            this.txt_time2.CustomFormat = "yyyy-MM-dd";
             this.txt_time2.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
             this.txt_time2.Location = new System.Drawing.Point(136, 131);
             this.txt_time2.MinDate = new System.DateTime(2024, 10, 1, 0, 0, 0, 0);
@@ -310,7 +320,7 @@
             // 
             // txt_time1
             // 
-            this.txt_time1.CustomFormat = "yyyy-MM-dd HH:mm:ss";
+            this.txt_time1.CustomFormat = "yyyy-MM-dd";
             this.txt_time1.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
             this.txt_time1.Location = new System.Drawing.Point(136, 74);
             this.txt_time1.MinDate = new System.DateTime(2024, 10, 1, 0, 0, 0, 0);
@@ -335,16 +345,6 @@
             this.lbGuid.Name = "lbGuid";
             this.lbGuid.Size = new System.Drawing.Size(0, 21);
             this.lbGuid.TabIndex = 1;
-            // 
-            // weekdayName
-            // 
-            this.weekdayName.Caption = "鏄熸湡";
-            this.weekdayName.FieldName = "weekdayName";
-            this.weekdayName.MinWidth = 25;
-            this.weekdayName.Name = "weekdayName";
-            this.weekdayName.Visible = true;
-            this.weekdayName.VisibleIndex = 3;
-            this.weekdayName.Width = 94;
             // 
             // FrmHolidy
             // 
diff --git a/DevApp/Gs.DevApp/DevFrm/BasicData/FrmHolidy.cs b/DevApp/Gs.DevApp/DevFrm/BasicData/FrmHolidy.cs
index 684147d..9d9a706 100644
--- a/DevApp/Gs.DevApp/DevFrm/BasicData/FrmHolidy.cs
+++ b/DevApp/Gs.DevApp/DevFrm/BasicData/FrmHolidy.cs
@@ -1,13 +1,10 @@
-锘縰sing DevExpress.XtraEditors;
-using DevExpress.XtraGrid.Views.Base;
-using DevExpress.XtraGrid.Views.Grid;
+锘縰sing DevExpress.XtraGrid.Views.Grid;
 using DevExpress.XtraGrid.Views.Grid.ViewInfo;
 using Gs.DevApp.Entity;
 using Gs.DevApp.ToolBox;
 using Newtonsoft.Json;
 using System;
 using System.Data;
-using System.Drawing;
 using System.Windows.Forms;
 
 namespace Gs.DevApp.DevFrm.BasicData
@@ -108,7 +105,7 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnEscClick(object sender, EventArgs e)
         {
-            UtilityHelper.ChangeTab(xtraTabControl1, 0);
+            UtilityHelper.JumpToTab(xtraTabControl1, 0);
         }
         /// <summary>
         /// 鍒犻櫎浜嬩欢
@@ -117,26 +114,27 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnDelClick1(object sender, EventArgs e)
         {
-            DataRow dr = gridView1.GetFocusedDataRow();
-            if (dr == null || string.IsNullOrEmpty(dr["guid"].ToString()))
+            string rowGuid, rowName;
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_name, gridView1);
+            if (string.IsNullOrEmpty(rowGuid))
             {
                 ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
-            if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + dr["name"].ToString() + "銆戯紝纭畾鍒犻櫎鍚楋紵"))
+            if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + rowName + "銆戯紝纭畾鍒犻櫎鍚楋紵"))
                 return;
             var _obj = new
             {
-                guidList = dr["guid"].ToString(),//涓诲缓
+                guidList = rowGuid,//涓诲缓
             };
             string strJson = "";
             try
             {
                 strJson = UtilityHelper.HttpPost("", "Holiday/DeleteModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
-                    UtilityHelper.ChangeTab(xtraTabControl1, 0);
+                    UtilityHelper.JumpToTab(xtraTabControl1, 0);
                     getPageList(1, UtilityHelper.GetPageSize());
                 }
                 ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
@@ -153,7 +151,7 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnLoadClick(object sender, EventArgs e)
         {
-            UtilityHelper.ChangeTab(xtraTabControl1, 0);
+            UtilityHelper.JumpToTab(xtraTabControl1, 0);
             getPageList(1, UtilityHelper.GetPageSize());
         }
         /// <summary>
@@ -163,13 +161,14 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnEdtClick(object sender, EventArgs e)
         {
-            DataRow dr = gridView1.GetFocusedDataRow();
-            if (dr == null || string.IsNullOrEmpty(dr["guid"].ToString()))
+            string rowGuid, rowName;
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_name, gridView1);
+            if (string.IsNullOrEmpty(rowGuid))
             {
                 ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
-            getModel(dr["guid"].ToString(), true, 1);
+            getModel(rowGuid, true, 1);
         }
         /// <summary>
         /// 鏂板浜嬩欢
@@ -178,9 +177,9 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnAddClick(object sender, EventArgs e)
         {
-            UtilityHelper.ChangeTab(xtraTabControl1, 1);
+            UtilityHelper.JumpToTab(xtraTabControl1, 1);
             lbGuid.Text = "";
-            UtilityHelper.CleanValue(this.panel1.Controls, true);
+            UtilityHelper.CleanValueByControl(this.panel1.Controls, true);
         }
         /// <summary>
         /// 淇濆瓨浜嬩欢
@@ -196,7 +195,7 @@
                 txt_name.Focus();
                 return;
             }
-            if (txt_time1.Value>=txt_time2.Value)
+            if (txt_time1.Value.Date > txt_time2.Value.Date)
             {
                 Gs.DevApp.ToolBox.MsgHelper.Warning("寮�濮嬫椂闂翠笉鑳藉ぇ浜庣粨鏉熸椂闂达紒");
                 txt_time1.Focus();
@@ -206,19 +205,19 @@
             {
                 guid = lbGuid.Text.Trim(),//涓诲缓
                 name = txt_name.Text.Trim(),
-                time1=txt_time1.Value,
-                time2 = txt_time2.Value,
+                time1 = txt_time1.Value.Date,
+                time2 = txt_time2.Value.Date,
             };
             try
             {
                 string strJson = UtilityHelper.HttpPost("", "Holiday/EditModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
                 ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
                 if (_rtn.rtnCode > 0)
                 {
                     lbGuid.Text = _rtn.rtnData;
                     toolBarMenu1.isSetBtn = true;
-                    UtilityHelper.ChangeEnable(this.panel1.Controls, false);
+                    UtilityHelper.ChangeEnableByControl(this.panel1.Controls, false);
                 }
             }
             catch (Exception ex)
@@ -238,7 +237,7 @@
             try
             {
                 string strReturn = UtilityHelper.HttpPost("", "Holiday/GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.GetTableByJson(strReturn);
+                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
                 DataTable dt = dd.rtnData.list;
                 gcMain.BindingContext = new BindingContext();
                 gcMain.DataSource = dt;
@@ -262,7 +261,7 @@
                 ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
-            UtilityHelper.ChangeTab(xtraTabControl1, tabIdx);
+            UtilityHelper.JumpToTab(xtraTabControl1, tabIdx);
             var _obj = new
             {
                 guid = strGuid,//涓诲缓
@@ -270,7 +269,7 @@
             try
             {
                 string strJson = UtilityHelper.HttpPost("", "Holiday/GetModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
                     dynamic dy = _rtn.rtnData;
diff --git a/DevApp/Gs.DevApp/DevFrm/BasicData/FrmItemType.cs b/DevApp/Gs.DevApp/DevFrm/BasicData/FrmItemType.cs
index 975cf8c..daefa97 100644
--- a/DevApp/Gs.DevApp/DevFrm/BasicData/FrmItemType.cs
+++ b/DevApp/Gs.DevApp/DevFrm/BasicData/FrmItemType.cs
@@ -100,7 +100,7 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnLoadClick(object sender, EventArgs e)
         {
-            UtilityHelper.ChangeTab(xtraTabControl1, 0);
+            UtilityHelper.JumpToTab(xtraTabControl1, 0);
             getPageList(1, UtilityHelper.GetPageSize());
         }
         /// <summary>
@@ -115,7 +115,7 @@
             try
             {
                 string strReturn = UtilityHelper.HttpPost("", "Dictionary/GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.GetTableByJson(strReturn);
+                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
                 DataTable dt = dd.rtnData.list;
                 gcMain.BindingContext = new BindingContext();
                 gcMain.DataSource = dt;
@@ -139,7 +139,7 @@
                 ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
-            UtilityHelper.ChangeTab(xtraTabControl1, tabIdx);
+            UtilityHelper.JumpToTab(xtraTabControl1, tabIdx);
             var _obj = new
             {
                 guid = strGuid,//涓诲缓
@@ -147,7 +147,7 @@
             try
             {
                 string strJson = UtilityHelper.HttpPost("", "Dictionary/GetModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
                     dynamic dy = _rtn.rtnData;
diff --git a/DevApp/Gs.DevApp/DevFrm/BasicData/FrmPosition.cs b/DevApp/Gs.DevApp/DevFrm/BasicData/FrmPosition.cs
index 46bfd83..c5c3a5a 100644
--- a/DevApp/Gs.DevApp/DevFrm/BasicData/FrmPosition.cs
+++ b/DevApp/Gs.DevApp/DevFrm/BasicData/FrmPosition.cs
@@ -102,7 +102,7 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnLoadClick(object sender, EventArgs e)
         {
-            UtilityHelper.ChangeTab(xtraTabControl1, 0);
+            UtilityHelper.JumpToTab(xtraTabControl1, 0);
             getPageList(1, UtilityHelper.GetPageSize());
         }
         /// <summary>
@@ -118,7 +118,7 @@
             try
             {
                 string strReturn = UtilityHelper.HttpPost("", "Dictionary/GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.GetTableByJson(strReturn);
+                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
                 DataTable dt = dd.rtnData.list;
                 gcMain.BindingContext = new BindingContext();
                 gcMain.DataSource = dt;
@@ -142,7 +142,7 @@
                 ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
-            UtilityHelper.ChangeTab(xtraTabControl1, tabIdx);
+            UtilityHelper.JumpToTab(xtraTabControl1, tabIdx);
             var _obj = new
             {
                 guid = strGuid,//涓诲缓
@@ -150,7 +150,7 @@
             try
             {
                 string strJson = UtilityHelper.HttpPost("", "Dictionary/GetModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
                     dynamic dy = _rtn.rtnData;
diff --git a/DevApp/Gs.DevApp/DevFrm/BasicData/FrmStaff.cs b/DevApp/Gs.DevApp/DevFrm/BasicData/FrmStaff.cs
index 3aade08..e72db25 100644
--- a/DevApp/Gs.DevApp/DevFrm/BasicData/FrmStaff.cs
+++ b/DevApp/Gs.DevApp/DevFrm/BasicData/FrmStaff.cs
@@ -108,7 +108,7 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnEscClick(object sender, EventArgs e)
         {
-            UtilityHelper.ChangeTab(xtraTabControl1, 0);
+            UtilityHelper.JumpToTab(xtraTabControl1, 0);
         }
         /// <summary>
         /// 鍒犻櫎浜嬩欢
@@ -133,10 +133,10 @@
             try
             {
                 strJson = UtilityHelper.HttpPost("", "User/DeleteModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
-                    UtilityHelper.ChangeTab(xtraTabControl1, 0);
+                    UtilityHelper.JumpToTab(xtraTabControl1, 0);
                     getPageList(1, UtilityHelper.GetPageSize());
                 }
                 ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
@@ -153,7 +153,7 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnLoadClick(object sender, EventArgs e)
         {
-            UtilityHelper.ChangeTab(xtraTabControl1, 0);
+            UtilityHelper.JumpToTab(xtraTabControl1, 0);
             getPageList(1, UtilityHelper.GetPageSize());
         }
         /// <summary>
@@ -178,9 +178,9 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnAddClick(object sender, EventArgs e)
         {
-            UtilityHelper.ChangeTab(xtraTabControl1, 1);
+            UtilityHelper.JumpToTab(xtraTabControl1, 1);
             lbGuid.Text = "";
-            UtilityHelper.CleanValue(this.panel1.Controls, true);
+            UtilityHelper.CleanValueByControl(this.panel1.Controls, true);
         }
         /// <summary>
         /// 淇濆瓨浜嬩欢
@@ -197,13 +197,13 @@
             try
             {
                 string strJson = UtilityHelper.HttpPost("", "User/EditModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
                 ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
                 if (_rtn.rtnCode > 0)
                 {
                     lbGuid.Text = _rtn.rtnData;
                     toolBarMenu1.isSetBtn = true;
-                    UtilityHelper.ChangeEnable(this.panel1.Controls, false);
+                    UtilityHelper.ChangeEnableByControl(this.panel1.Controls, false);
                 }
             }
             catch (Exception ex)
@@ -223,7 +223,7 @@
             try
             {
                 string strReturn = UtilityHelper.HttpPost("", "Staff/GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.GetTableByJson(strReturn);
+                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
                 DataTable dt = dd.rtnData.list;
                 gcMain.BindingContext = new BindingContext();
                 gcMain.DataSource = dt;
@@ -247,7 +247,7 @@
                 ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
-            UtilityHelper.ChangeTab(xtraTabControl1, tabIdx);
+            UtilityHelper.JumpToTab(xtraTabControl1, tabIdx);
             var _obj = new
             {
                 guid = strGuid,//涓诲缓
@@ -255,7 +255,7 @@
             try
             {
                 string strJson = UtilityHelper.HttpPost("", "Staff/GetModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
                     dynamic dy = _rtn.rtnData;
diff --git a/DevApp/Gs.DevApp/DevFrm/BasicData/FrmSupplier.cs b/DevApp/Gs.DevApp/DevFrm/BasicData/FrmSupplier.cs
index ffebf1b..7298c34 100644
--- a/DevApp/Gs.DevApp/DevFrm/BasicData/FrmSupplier.cs
+++ b/DevApp/Gs.DevApp/DevFrm/BasicData/FrmSupplier.cs
@@ -99,7 +99,7 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnLoadClick(object sender, EventArgs e)
         {
-            UtilityHelper.ChangeTab(xtraTabControl1, 0);
+            UtilityHelper.JumpToTab(xtraTabControl1, 0);
             getPageList(1, UtilityHelper.GetPageSize());
         }
         /// <summary>
@@ -114,7 +114,7 @@
             try
             {
                 string strReturn = UtilityHelper.HttpPost("", "Supplier/GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.GetTableByJson(strReturn);
+                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
                 DataTable dt = dd.rtnData.list;
                 gcMain.BindingContext = new BindingContext();
                 gcMain.DataSource = dt;
@@ -138,7 +138,7 @@
                 ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
-            UtilityHelper.ChangeTab(xtraTabControl1, tabIdx);
+            UtilityHelper.JumpToTab(xtraTabControl1, tabIdx);
             var _obj = new
             {
                 guid = strGuid,//涓诲缓
@@ -146,7 +146,7 @@
             try
             {
                 string strJson = UtilityHelper.HttpPost("", "Supplier/GetModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
                     dynamic dy = _rtn.rtnData;
diff --git a/DevApp/Gs.DevApp/DevFrm/FrmLogin.cs b/DevApp/Gs.DevApp/DevFrm/FrmLogin.cs
index bd83b22..d901261 100644
--- a/DevApp/Gs.DevApp/DevFrm/FrmLogin.cs
+++ b/DevApp/Gs.DevApp/DevFrm/FrmLogin.cs
@@ -36,7 +36,7 @@
             try
             {
                 strReturn = UtilityHelper.HttpPost("", "Organization/GetListPage", json);
-                ReturnModel<PageListModel> rtn = UtilityHelper.GetTableByJson(strReturn);
+                ReturnModel<PageListModel> rtn = UtilityHelper.ReturnToTablePage(strReturn);
                 DataTable dt = rtn.rtnData.list;
                 comOrg.DataSource = dt;
                 comOrg.DisplayMember = "name";
@@ -86,7 +86,7 @@
             try
             {
                 string strJson = UtilityHelper.HttpPost("", "User/UserLogin", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
                 JObject _login = _rtn.rtnData;
                 if (_rtn.rtnCode > 0)
                 {
diff --git a/DevApp/Gs.DevApp/DevFrm/FrmMain.cs b/DevApp/Gs.DevApp/DevFrm/FrmMain.cs
index 4733e48..0aa8a0c 100644
--- a/DevApp/Gs.DevApp/DevFrm/FrmMain.cs
+++ b/DevApp/Gs.DevApp/DevFrm/FrmMain.cs
@@ -22,10 +22,10 @@
             this.Text = System.Configuration.ConfigurationSettings.AppSettings.Get("ProductName").ToString();
             tab.CloseButtonClick += Tab_CloseButtonClick;
             tooLoading.Click += TooLoading_Click;
-            getTree();
             barPwd.ItemClick += BarPwd_ItemClick;
             barExit.ItemClick += BarExit_ItemClick;
             this.FormClosing += FrmMain_FormClosing;
+            getTree();
         }
 
         private void FrmMain_FormClosing(object sender, FormClosingEventArgs e)
@@ -300,7 +300,7 @@
             try
             {
                 string strJson = UtilityHelper.HttpPost("", "User/UserOut", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                     return _rtn.rtnCode;
                 ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnData.outMsg);
diff --git a/DevApp/Gs.DevApp/DevFrm/Sys/DocNoRule.Designer.cs b/DevApp/Gs.DevApp/DevFrm/Sys/DocNoRule.Designer.cs
index ad2d61b..8051098 100644
--- a/DevApp/Gs.DevApp/DevFrm/Sys/DocNoRule.Designer.cs
+++ b/DevApp/Gs.DevApp/DevFrm/Sys/DocNoRule.Designer.cs
@@ -122,7 +122,7 @@
             this.gv_flagIncludeDocCode.AppearanceCell.Font = new System.Drawing.Font("Tahoma", 10F);
             this.gv_flagIncludeDocCode.AppearanceCell.Options.UseFont = true;
             this.gv_flagIncludeDocCode.Caption = "鍖呭惈鍗曟嵁绫诲瀷";
-            this.gv_flagIncludeDocCode.FieldName = "flagIncludeDocCode";
+            this.gv_flagIncludeDocCode.FieldName = "flagIncludeDocCodeTxt";
             this.gv_flagIncludeDocCode.MinWidth = 25;
             this.gv_flagIncludeDocCode.Name = "gv_flagIncludeDocCode";
             this.gv_flagIncludeDocCode.OptionsColumn.AllowEdit = false;
@@ -135,7 +135,7 @@
             this.gv_flagSpilitNo.AppearanceCell.Font = new System.Drawing.Font("Tahoma", 10F);
             this.gv_flagSpilitNo.AppearanceCell.Options.UseFont = true;
             this.gv_flagSpilitNo.Caption = "搴忓彿鍓嶅垎闅旂";
-            this.gv_flagSpilitNo.FieldName = "flagSpilitNo";
+            this.gv_flagSpilitNo.FieldName = "flagSpilitNoTxt";
             this.gv_flagSpilitNo.MinWidth = 25;
             this.gv_flagSpilitNo.Name = "gv_flagSpilitNo";
             this.gv_flagSpilitNo.OptionsColumn.AllowEdit = false;
@@ -148,7 +148,7 @@
             this.gv_resetZero.AppearanceCell.Font = new System.Drawing.Font("Tahoma", 10F);
             this.gv_resetZero.AppearanceCell.Options.UseFont = true;
             this.gv_resetZero.Caption = "姣忓ぉ褰掗浂";
-            this.gv_resetZero.FieldName = "resetZero";
+            this.gv_resetZero.FieldName = "resetZeroTxt";
             this.gv_resetZero.MinWidth = 25;
             this.gv_resetZero.Name = "gv_resetZero";
             this.gv_resetZero.OptionsColumn.AllowEdit = false;
@@ -197,7 +197,6 @@
             // 
             // toolBarMenu1
             // 
-        
             this.toolBarMenu1.Dock = System.Windows.Forms.DockStyle.Top;
             this.toolBarMenu1.isSetBtn = false;
             this.toolBarMenu1.Location = new System.Drawing.Point(0, 0);
diff --git a/DevApp/Gs.DevApp/DevFrm/Sys/DocNoRule.cs b/DevApp/Gs.DevApp/DevFrm/Sys/DocNoRule.cs
index 774d757..eff27cf 100644
--- a/DevApp/Gs.DevApp/DevFrm/Sys/DocNoRule.cs
+++ b/DevApp/Gs.DevApp/DevFrm/Sys/DocNoRule.cs
@@ -15,6 +15,7 @@
         public DocNoRule()
         {
             InitializeComponent();
+            txt_docCode.Properties.TextEditStyle = TextEditStyles.DisableTextEditor;
             this.toolBarMenu1.btnAddClick += ToolBarMenu1_btnAddClick;
             this.toolBarMenu1.btnEdtClick += ToolBarMenu1_btnEdtClick;
             this.toolBarMenu1.btnSaveClick += ToolBarMenu1_btnSaveClick;
@@ -66,6 +67,7 @@
                     {
                         string rowGuid = (row["guid"].ToString());
                         getModel(rowGuid, false, 999);
+                        txxtItem1.Enabled = txxtItem2.Enabled = txxtItem3.Enabled = txxtItem4.Enabled = false;
                     }
                 }
             }
@@ -108,7 +110,7 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnEscClick(object sender, EventArgs e)
         {
-            UtilityHelper.ChangeTab(xtraTabControl1, 0);
+            UtilityHelper.JumpToTab(xtraTabControl1, 0);
         }
         /// <summary>
         /// 鍒犻櫎浜嬩欢
@@ -117,26 +119,26 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnDelClick1(object sender, EventArgs e)
         {
-            DataRow dr = gridView1.GetFocusedDataRow();
-            if (dr == null || string.IsNullOrEmpty(dr["guid"].ToString()))
+            string rowGuid, rowName;
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_docCode, gridView1);
+            if (string.IsNullOrEmpty(rowGuid))
             {
                 ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
-            if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + dr["docCode"].ToString() + "銆戯紝纭畾鍒犻櫎鍚楋紵"))
+            if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + rowName + "銆戯紝纭畾鍒犻櫎鍚楋紵"))
                 return;
             var _obj = new
             {
-                guidList = dr["guid"].ToString(),//涓诲缓
+                guidList = rowGuid,//涓诲缓
             };
-            string strJson = "";
             try
             {
-                strJson = UtilityHelper.HttpPost("", "DocNoRule/DeleteModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                string strJson = UtilityHelper.HttpPost("", "DocNoRule/DeleteModel", JsonConvert.SerializeObject(_obj));
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
-                    UtilityHelper.ChangeTab(xtraTabControl1, 0);
+                    UtilityHelper.JumpToTab(xtraTabControl1, 0);
                     getPageList(1, UtilityHelper.GetPageSize());
                 }
                 ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
@@ -153,7 +155,7 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnLoadClick(object sender, EventArgs e)
         {
-            UtilityHelper.ChangeTab(xtraTabControl1, 0);
+            UtilityHelper.JumpToTab(xtraTabControl1, 0);
             getPageList(1, UtilityHelper.GetPageSize());
         }
         /// <summary>
@@ -163,15 +165,15 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnEdtClick(object sender, EventArgs e)
         {
-            DataRow dr = gridView1.GetFocusedDataRow();
-            if (dr == null || string.IsNullOrEmpty(dr["guid"].ToString()))
+            string rowGuid, rowName;
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_docCode, gridView1);
+            if (string.IsNullOrEmpty(rowGuid))
             {
                 ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
-            txxtItem1.Enabled = txxtItem2.Enabled = txxtItem3.Enabled = txxtItem4.Enabled = false;
-            getModel(dr["guid"].ToString(), true, 1);
-            txxtItem1.Enabled = txxtItem2.Enabled = txxtItem3.Enabled = txxtItem4.Enabled = true;
+            getModel(rowGuid, true, 1);
+           txxtItem1.Enabled = txxtItem2.Enabled = txxtItem3.Enabled = txxtItem4.Enabled= panelControl1.Enabled = true;
         }
         /// <summary>
         /// 鏂板浜嬩欢
@@ -180,11 +182,11 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnAddClick(object sender, EventArgs e)
         {
-            UtilityHelper.ChangeTab(xtraTabControl1, 1);
+            UtilityHelper.JumpToTab(xtraTabControl1, 1);
             lbGuid.Text = "";
-            UtilityHelper.CleanValue(this.panel1.Controls, true);
+            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;
         }
         /// <summary>
         /// 淇濆瓨浜嬩欢
@@ -198,6 +200,12 @@
             {
                 ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨鍗曟嵁绫诲瀷锛�");
                 txt_docCode.Focus();
+                return;
+            }
+            if ((txxtItem1.SelectedIndex+ txxtItem2.SelectedIndex+ txxtItem3.SelectedIndex+ txxtItem4.SelectedIndex)<=0)
+            {
+                ToolBox.MsgHelper.Warning("璇疯嚦灏戦�夋嫨涓�涓弬鏁帮紒");
+                txxtItem1.Focus();
                 return;
             }
             if (txt_ruleFormat.Text.Length <= 0)
@@ -226,13 +234,13 @@
             try
             {
                 string strJson = UtilityHelper.HttpPost("", "DocNoRule/EditModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
                 ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
                 if (_rtn.rtnCode > 0)
                 {
                     lbGuid.Text = _rtn.rtnData;
                     toolBarMenu1.isSetBtn = true;
-                    UtilityHelper.ChangeEnable(this.panel1.Controls, false);
+                    UtilityHelper.ChangeEnableByControl(this.panel1.Controls, false);
                 }
             }
             catch (Exception ex)
@@ -252,7 +260,7 @@
             try
             {
                 string strReturn = UtilityHelper.HttpPost("", "DocNoRule/GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.GetTableByJson(strReturn);
+                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
                 DataTable dt = dd.rtnData.list;
                 gcMain.BindingContext = new BindingContext();
                 gcMain.DataSource = dt;
@@ -276,7 +284,7 @@
                 ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
-            UtilityHelper.ChangeTab(xtraTabControl1, tabIdx);
+            UtilityHelper.JumpToTab(xtraTabControl1, tabIdx);
             var _obj = new
             {
                 guid = strGuid,//涓诲缓
@@ -284,14 +292,14 @@
             try
             {
                 string strJson = UtilityHelper.HttpPost("", "DocNoRule/GetModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
                     dynamic dy = _rtn.rtnData;
                     lbGuid.Text = strGuid;
                     UtilityHelper.SetValueByObj(this.panel1.Controls, dy, isEdit);
                     txt_docCode.EditValue = dy.docCode.ToString();
-                    txxtItem1.Enabled = txxtItem2.Enabled = txxtItem3.Enabled = txxtItem4.Enabled = false;
+                 
                     string _rule = dy.ruleFormat.ToString();
                     string[] _ary = _rule.Split(new char[] { '<' }, StringSplitOptions.RemoveEmptyEntries);
                     if (_ary.Length > 0)
diff --git a/DevApp/Gs.DevApp/DevFrm/Sys/EasyRpt.cs b/DevApp/Gs.DevApp/DevFrm/Sys/EasyRpt.cs
index b8d5811..5899cb1 100644
--- a/DevApp/Gs.DevApp/DevFrm/Sys/EasyRpt.cs
+++ b/DevApp/Gs.DevApp/DevFrm/Sys/EasyRpt.cs
@@ -33,7 +33,7 @@
             try
             {
                 string strJson = UtilityHelper.HttpPost("", "Report/GetTemplate", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
                     dynamic dy = _rtn.rtnData;
@@ -74,7 +74,7 @@
             try
             {
                 string strJson = UtilityHelper.HttpPost("", "Report/EdtTemplate", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
                 ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnData.outMsg);
             }
             catch (Exception ex)
diff --git a/DevApp/Gs.DevApp/DevFrm/Sys/SysLog.cs b/DevApp/Gs.DevApp/DevFrm/Sys/SysLog.cs
index 1ab03fd..a6f87ab 100644
--- a/DevApp/Gs.DevApp/DevFrm/Sys/SysLog.cs
+++ b/DevApp/Gs.DevApp/DevFrm/Sys/SysLog.cs
@@ -83,7 +83,7 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnLoadClick(object sender, EventArgs e)
         {
-            UtilityHelper.ChangeTab(xtraTabControl1, 0);
+            UtilityHelper.JumpToTab(xtraTabControl1, 0);
             getPageList(1, UtilityHelper.GetPageSize());
         }
         /// <summary>
@@ -98,7 +98,7 @@
             try
             {
                 string strReturn = UtilityHelper.HttpPost("", "SysLog/GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.GetTableByJson(strReturn);
+                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
                 DataTable dt = dd.rtnData.list;
                 gcMain.BindingContext = new BindingContext();
                 gcMain.DataSource = dt;
diff --git a/DevApp/Gs.DevApp/DevFrm/User/Organization.Designer.cs b/DevApp/Gs.DevApp/DevFrm/User/Organization.Designer.cs
deleted file mode 100644
index 8f50f89..0000000
--- a/DevApp/Gs.DevApp/DevFrm/User/Organization.Designer.cs
+++ /dev/null
@@ -1,384 +0,0 @@
-锘�
-namespace Gs.DevApp.DevFrm.User
-{
-    partial class Organization
-    {
-        /// <summary>
-        /// Required designer variable.
-        /// </summary>
-        private System.ComponentModel.IContainer components = null;
-
-        /// <summary>
-        /// Clean up any resources being used.
-        /// </summary>
-        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-        protected override void Dispose(bool disposing)
-        {
-            if (disposing && (components != null))
-            {
-                components.Dispose();
-            }
-            base.Dispose(disposing);
-        }
-
-        #region Windows Form Designer generated code
-
-        /// <summary>
-        /// Required method for Designer support - do not modify
-        /// the contents of this method with the code editor.
-        /// </summary>
-        private void InitializeComponent()
-        {
-            this.toolBarMenu1 = new Gs.DevApp.UserControl.ToolBarMenu();
-            this.xtraTabControl1 = new DevExpress.XtraTab.XtraTabControl();
-            this.xtraTabPage1 = new DevExpress.XtraTab.XtraTabPage();
-            this.tlMenu = new System.Windows.Forms.TreeView();
-            this.xtraTabPage2 = new DevExpress.XtraTab.XtraTabPage();
-            this.panel1 = new System.Windows.Forms.Panel();
-            this.txt_factory = new DevExpress.XtraEditors.TextEdit();
-            this.labelControl9 = new DevExpress.XtraEditors.LabelControl();
-            this.labelControl11 = new DevExpress.XtraEditors.LabelControl();
-            this.label1 = new System.Windows.Forms.Label();
-            this.labelControl8 = new DevExpress.XtraEditors.LabelControl();
-            this.txt_upGuid = new System.Windows.Forms.ComboBox();
-            this.labelControl6 = new DevExpress.XtraEditors.LabelControl();
-            this.labelControl7 = new DevExpress.XtraEditors.LabelControl();
-            this.txt_isStatus = new DevExpress.XtraEditors.ComboBoxEdit();
-            this.lbGuid = new System.Windows.Forms.Label();
-            this.labelControl5 = new DevExpress.XtraEditors.LabelControl();
-            this.labelControl1 = new DevExpress.XtraEditors.LabelControl();
-            this.labelControl12 = new DevExpress.XtraEditors.LabelControl();
-            this.txt_conTel = new DevExpress.XtraEditors.TextEdit();
-            this.labelControl4 = new DevExpress.XtraEditors.LabelControl();
-            this.txt_conPeople = new DevExpress.XtraEditors.TextEdit();
-            this.labelControl3 = new DevExpress.XtraEditors.LabelControl();
-            this.txt_name = new DevExpress.XtraEditors.TextEdit();
-            this.labelControl2 = new DevExpress.XtraEditors.LabelControl();
-            ((System.ComponentModel.ISupportInitialize)(this.xtraTabControl1)).BeginInit();
-            this.xtraTabControl1.SuspendLayout();
-            this.xtraTabPage1.SuspendLayout();
-            this.xtraTabPage2.SuspendLayout();
-            this.panel1.SuspendLayout();
-            ((System.ComponentModel.ISupportInitialize)(this.txt_factory.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txt_isStatus.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txt_conTel.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txt_conPeople.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txt_name.Properties)).BeginInit();
-            this.SuspendLayout();
-            // 
-            // toolBarMenu1
-            // 
-            this.toolBarMenu1.Dock = System.Windows.Forms.DockStyle.Top;
-            this.toolBarMenu1.isSetBtn = false;
-            this.toolBarMenu1.Location = new System.Drawing.Point(0, 0);
-            this.toolBarMenu1.Name = "toolBarMenu1";
-            this.toolBarMenu1.Size = new System.Drawing.Size(917, 80);
-            this.toolBarMenu1.TabIndex = 0;
-            // 
-            // xtraTabControl1
-            // 
-            this.xtraTabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.xtraTabControl1.Location = new System.Drawing.Point(0, 80);
-            this.xtraTabControl1.Name = "xtraTabControl1";
-            this.xtraTabControl1.SelectedTabPage = this.xtraTabPage1;
-            this.xtraTabControl1.Size = new System.Drawing.Size(917, 564);
-            this.xtraTabControl1.TabIndex = 3;
-            this.xtraTabControl1.TabPages.AddRange(new DevExpress.XtraTab.XtraTabPage[] {
-            this.xtraTabPage1,
-            this.xtraTabPage2});
-            // 
-            // xtraTabPage1
-            // 
-            this.xtraTabPage1.Controls.Add(this.tlMenu);
-            this.xtraTabPage1.Name = "xtraTabPage1";
-            this.xtraTabPage1.Size = new System.Drawing.Size(915, 532);
-            this.xtraTabPage1.Text = "鏁版嵁鏌ヨ";
-            // 
-            // tlMenu
-            // 
-            this.tlMenu.Dock = System.Windows.Forms.DockStyle.Left;
-            this.tlMenu.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.tlMenu.Location = new System.Drawing.Point(0, 0);
-            this.tlMenu.Name = "tlMenu";
-            this.tlMenu.Size = new System.Drawing.Size(207, 532);
-            this.tlMenu.TabIndex = 2;
-            // 
-            // xtraTabPage2
-            // 
-            this.xtraTabPage2.Controls.Add(this.panel1);
-            this.xtraTabPage2.Name = "xtraTabPage2";
-            this.xtraTabPage2.PageEnabled = false;
-            this.xtraTabPage2.Size = new System.Drawing.Size(915, 532);
-            this.xtraTabPage2.Text = "鏁版嵁缂栬緫";
-            // 
-            // panel1
-            // 
-            this.panel1.BackColor = System.Drawing.Color.White;
-            this.panel1.Controls.Add(this.txt_factory);
-            this.panel1.Controls.Add(this.labelControl9);
-            this.panel1.Controls.Add(this.labelControl11);
-            this.panel1.Controls.Add(this.label1);
-            this.panel1.Controls.Add(this.labelControl8);
-            this.panel1.Controls.Add(this.txt_upGuid);
-            this.panel1.Controls.Add(this.labelControl6);
-            this.panel1.Controls.Add(this.labelControl7);
-            this.panel1.Controls.Add(this.txt_isStatus);
-            this.panel1.Controls.Add(this.lbGuid);
-            this.panel1.Controls.Add(this.labelControl5);
-            this.panel1.Controls.Add(this.labelControl1);
-            this.panel1.Controls.Add(this.labelControl12);
-            this.panel1.Controls.Add(this.txt_conTel);
-            this.panel1.Controls.Add(this.labelControl4);
-            this.panel1.Controls.Add(this.txt_conPeople);
-            this.panel1.Controls.Add(this.labelControl3);
-            this.panel1.Controls.Add(this.txt_name);
-            this.panel1.Controls.Add(this.labelControl2);
-            this.panel1.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.panel1.Location = new System.Drawing.Point(21, 17);
-            this.panel1.Name = "panel1";
-            this.panel1.Size = new System.Drawing.Size(554, 413);
-            this.panel1.TabIndex = 1;
-            // 
-            // txt_factory
-            // 
-            this.txt_factory.Location = new System.Drawing.Point(138, 76);
-            this.txt_factory.Name = "txt_factory";
-            this.txt_factory.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.txt_factory.Properties.Appearance.Options.UseFont = true;
-            this.txt_factory.Size = new System.Drawing.Size(156, 28);
-            this.txt_factory.TabIndex = 135;
-            // 
-            // labelControl9
-            // 
-            this.labelControl9.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.labelControl9.Appearance.Options.UseFont = true;
-            this.labelControl9.Location = new System.Drawing.Point(41, 80);
-            this.labelControl9.Name = "labelControl9";
-            this.labelControl9.Size = new System.Drawing.Size(85, 21);
-            this.labelControl9.TabIndex = 134;
-            this.labelControl9.Text = "缁勭粐缂栧彿锛�";
-            // 
-            // labelControl11
-            // 
-            this.labelControl11.Location = new System.Drawing.Point(81, 290);
-            this.labelControl11.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl11.Name = "labelControl11";
-            this.labelControl11.Size = new System.Drawing.Size(45, 18);
-            this.labelControl11.TabIndex = 133;
-            this.labelControl11.Text = "涓婚敭锛�";
-            // 
-            // label1
-            // 
-            this.label1.AutoSize = true;
-            this.label1.Location = new System.Drawing.Point(119, 285);
-            this.label1.Name = "label1";
-            this.label1.Size = new System.Drawing.Size(0, 21);
-            this.label1.TabIndex = 132;
-            // 
-            // labelControl8
-            // 
-            this.labelControl8.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.labelControl8.Appearance.Options.UseFont = true;
-            this.labelControl8.Location = new System.Drawing.Point(300, 35);
-            this.labelControl8.Name = "labelControl8";
-            this.labelControl8.Size = new System.Drawing.Size(136, 21);
-            this.labelControl8.TabIndex = 120;
-            this.labelControl8.Text = "锛堢┖灏嗕负鏍圭粍缁囷級";
-            // 
-            // txt_upGuid
-            // 
-            this.txt_upGuid.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
-            this.txt_upGuid.FormattingEnabled = true;
-            this.txt_upGuid.Location = new System.Drawing.Point(138, 34);
-            this.txt_upGuid.Name = "txt_upGuid";
-            this.txt_upGuid.Size = new System.Drawing.Size(156, 29);
-            this.txt_upGuid.TabIndex = 119;
-            // 
-            // labelControl6
-            // 
-            this.labelControl6.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.labelControl6.Appearance.Options.UseFont = true;
-            this.labelControl6.Location = new System.Drawing.Point(41, 38);
-            this.labelControl6.Name = "labelControl6";
-            this.labelControl6.Size = new System.Drawing.Size(85, 21);
-            this.labelControl6.TabIndex = 118;
-            this.labelControl6.Text = "涓婄骇缁勭粐锛�";
-            // 
-            // labelControl7
-            // 
-            this.labelControl7.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.labelControl7.Appearance.Options.UseFont = true;
-            this.labelControl7.Location = new System.Drawing.Point(41, 248);
-            this.labelControl7.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl7.Name = "labelControl7";
-            this.labelControl7.Size = new System.Drawing.Size(85, 21);
-            this.labelControl7.TabIndex = 117;
-            this.labelControl7.Text = "缁勭粐鐘舵�侊細";
-            // 
-            // txt_isStatus
-            // 
-            this.txt_isStatus.Location = new System.Drawing.Point(138, 244);
-            this.txt_isStatus.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.txt_isStatus.Name = "txt_isStatus";
-            this.txt_isStatus.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.txt_isStatus.Properties.Appearance.Options.UseFont = true;
-            this.txt_isStatus.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
-            this.txt_isStatus.Properties.Items.AddRange(new object[] {
-            "-璇烽�夋嫨-",
-            "姝e父",
-            "绂佺敤"});
-            this.txt_isStatus.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
-            this.txt_isStatus.Size = new System.Drawing.Size(156, 28);
-            this.txt_isStatus.TabIndex = 116;
-            // 
-            // lbGuid
-            // 
-            this.lbGuid.AutoSize = true;
-            this.lbGuid.Location = new System.Drawing.Point(138, 295);
-            this.lbGuid.Name = "lbGuid";
-            this.lbGuid.Size = new System.Drawing.Size(0, 21);
-            this.lbGuid.TabIndex = 111;
-            // 
-            // labelControl5
-            // 
-            this.labelControl5.Appearance.ForeColor = System.Drawing.Color.Red;
-            this.labelControl5.Appearance.Options.UseForeColor = true;
-            this.labelControl5.Location = new System.Drawing.Point(303, 209);
-            this.labelControl5.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl5.Name = "labelControl5";
-            this.labelControl5.Size = new System.Drawing.Size(8, 18);
-            this.labelControl5.TabIndex = 110;
-            this.labelControl5.Text = "*";
-            // 
-            // labelControl1
-            // 
-            this.labelControl1.Appearance.ForeColor = System.Drawing.Color.Red;
-            this.labelControl1.Appearance.Options.UseForeColor = true;
-            this.labelControl1.Location = new System.Drawing.Point(303, 166);
-            this.labelControl1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl1.Name = "labelControl1";
-            this.labelControl1.Size = new System.Drawing.Size(8, 18);
-            this.labelControl1.TabIndex = 109;
-            this.labelControl1.Text = "*";
-            // 
-            // labelControl12
-            // 
-            this.labelControl12.Appearance.ForeColor = System.Drawing.Color.Red;
-            this.labelControl12.Appearance.Options.UseForeColor = true;
-            this.labelControl12.Location = new System.Drawing.Point(303, 123);
-            this.labelControl12.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl12.Name = "labelControl12";
-            this.labelControl12.Size = new System.Drawing.Size(8, 18);
-            this.labelControl12.TabIndex = 108;
-            this.labelControl12.Text = "*";
-            // 
-            // txt_conTel
-            // 
-            this.txt_conTel.Location = new System.Drawing.Point(138, 202);
-            this.txt_conTel.Name = "txt_conTel";
-            this.txt_conTel.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.txt_conTel.Properties.Appearance.Options.UseFont = true;
-            this.txt_conTel.Size = new System.Drawing.Size(156, 28);
-            this.txt_conTel.TabIndex = 7;
-            // 
-            // labelControl4
-            // 
-            this.labelControl4.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.labelControl4.Appearance.Options.UseFont = true;
-            this.labelControl4.Location = new System.Drawing.Point(24, 206);
-            this.labelControl4.Name = "labelControl4";
-            this.labelControl4.Size = new System.Drawing.Size(102, 21);
-            this.labelControl4.TabIndex = 6;
-            this.labelControl4.Text = "璐熻矗浜虹數璇濓細";
-            // 
-            // txt_conPeople
-            // 
-            this.txt_conPeople.Location = new System.Drawing.Point(138, 160);
-            this.txt_conPeople.Name = "txt_conPeople";
-            this.txt_conPeople.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.txt_conPeople.Properties.Appearance.Options.UseFont = true;
-            this.txt_conPeople.Size = new System.Drawing.Size(156, 28);
-            this.txt_conPeople.TabIndex = 5;
-            // 
-            // labelControl3
-            // 
-            this.labelControl3.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.labelControl3.Appearance.Options.UseFont = true;
-            this.labelControl3.Location = new System.Drawing.Point(24, 164);
-            this.labelControl3.Name = "labelControl3";
-            this.labelControl3.Size = new System.Drawing.Size(102, 21);
-            this.labelControl3.TabIndex = 4;
-            this.labelControl3.Text = "缁勭粐璐熻矗浜猴細";
-            // 
-            // txt_name
-            // 
-            this.txt_name.Location = new System.Drawing.Point(138, 118);
-            this.txt_name.Name = "txt_name";
-            this.txt_name.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.txt_name.Properties.Appearance.Options.UseFont = true;
-            this.txt_name.Size = new System.Drawing.Size(156, 28);
-            this.txt_name.TabIndex = 3;
-            // 
-            // labelControl2
-            // 
-            this.labelControl2.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.labelControl2.Appearance.Options.UseFont = true;
-            this.labelControl2.Location = new System.Drawing.Point(41, 122);
-            this.labelControl2.Name = "labelControl2";
-            this.labelControl2.Size = new System.Drawing.Size(85, 21);
-            this.labelControl2.TabIndex = 2;
-            this.labelControl2.Text = "缁勭粐鍚嶇О锛�";
-            // 
-            // Organization
-            // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 18F);
-            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(917, 644);
-            this.Controls.Add(this.xtraTabControl1);
-            this.Controls.Add(this.toolBarMenu1);
-            this.Name = "Organization";
-            this.Text = "Organization";
-            ((System.ComponentModel.ISupportInitialize)(this.xtraTabControl1)).EndInit();
-            this.xtraTabControl1.ResumeLayout(false);
-            this.xtraTabPage1.ResumeLayout(false);
-            this.xtraTabPage2.ResumeLayout(false);
-            this.panel1.ResumeLayout(false);
-            this.panel1.PerformLayout();
-            ((System.ComponentModel.ISupportInitialize)(this.txt_factory.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txt_isStatus.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txt_conTel.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txt_conPeople.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txt_name.Properties)).EndInit();
-            this.ResumeLayout(false);
-
-        }
-
-        #endregion
-        private UserControl.ToolBarMenu toolBarMenu1;
-        private DevExpress.XtraTab.XtraTabControl xtraTabControl1;
-        private DevExpress.XtraTab.XtraTabPage xtraTabPage1;
-        private System.Windows.Forms.TreeView tlMenu;
-        private DevExpress.XtraTab.XtraTabPage xtraTabPage2;
-        private System.Windows.Forms.Panel panel1;
-        private DevExpress.XtraEditors.LabelControl labelControl8;
-        private System.Windows.Forms.ComboBox txt_upGuid;
-        private DevExpress.XtraEditors.LabelControl labelControl6;
-        private DevExpress.XtraEditors.LabelControl labelControl7;
-        private DevExpress.XtraEditors.ComboBoxEdit txt_isStatus;
-        private System.Windows.Forms.Label lbGuid;
-        private DevExpress.XtraEditors.LabelControl labelControl5;
-        private DevExpress.XtraEditors.LabelControl labelControl1;
-        private DevExpress.XtraEditors.LabelControl labelControl12;
-        private DevExpress.XtraEditors.TextEdit txt_conTel;
-        private DevExpress.XtraEditors.LabelControl labelControl4;
-        private DevExpress.XtraEditors.TextEdit txt_conPeople;
-        private DevExpress.XtraEditors.LabelControl labelControl3;
-        private DevExpress.XtraEditors.TextEdit txt_name;
-        private DevExpress.XtraEditors.LabelControl labelControl2;
-        private DevExpress.XtraEditors.LabelControl labelControl11;
-        private System.Windows.Forms.Label label1;
-        private DevExpress.XtraEditors.TextEdit txt_factory;
-        private DevExpress.XtraEditors.LabelControl labelControl9;
-    }
-}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/User/Organization.cs b/DevApp/Gs.DevApp/DevFrm/User/Organization.cs
deleted file mode 100644
index ec5df29..0000000
--- a/DevApp/Gs.DevApp/DevFrm/User/Organization.cs
+++ /dev/null
@@ -1,268 +0,0 @@
-锘縰sing Gs.DevApp.Entity;
-using Gs.DevApp.ToolBox;
-using Newtonsoft.Json;
-using System;
-using System.Data;
-using System.Windows.Forms;
-
-namespace Gs.DevApp.DevFrm.User
-{
-    public partial class Organization : DevExpress.XtraEditors.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;
-            tlMenu.DoubleClick += TlMenu_DoubleClick;
-            getTree();
-        }
-
-        private void TlMenu_DoubleClick(object sender, EventArgs e)
-        {
-            TreeNode clickedNode = tlMenu.SelectedNode;
-            if (clickedNode.FirstNode == null)
-            {
-                string rowGuid = clickedNode.Name.ToString();
-                getModel(rowGuid, false, 999);
-            }
-        }
-        /// <summary>
-        /// 鍙栨秷浜嬩欢
-        /// </summary>
-        /// <param name="sender"></param>
-        /// <param name="e"></param>
-        private void ToolBarMenu1_btnEscClick(object sender, EventArgs e)
-        {
-            UtilityHelper.ChangeTab(xtraTabControl1, 0);
-        }
-
-        /// <summary>
-        /// 鍒犻櫎浜嬩欢
-        /// </summary>
-        /// <param name="sender"></param>
-        /// <param name="e"></param>
-        private void ToolBarMenu1_btnDelClick1(object sender, EventArgs e)
-        {
-            TreeNode clickedNode = tlMenu.SelectedNode;
-            if (clickedNode.FirstNode != null)
-                return;
-            string rowGuid = clickedNode.Name.ToString();
-            if (string.IsNullOrEmpty(rowGuid))
-            {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鍒犻櫎鐨勮锛�");
-                return;
-            }
-            if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + clickedNode.Text + "銆戯紝纭畾鍒犻櫎鍚楋紵"))
-            {
-                return;
-            }
-            var _obj = new
-            {
-                guid = rowGuid,//涓诲缓
-            };
-            string strJson = "";
-            try
-            {
-                strJson = UtilityHelper.HttpPost("", "Organization/DeleteModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
-                if (_rtn.rtnCode > 0) { getTree(); }
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
-            }
-            catch (Exception ex)
-            {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
-            }
-        }
-
-        /// <summary>
-        /// 鍒锋柊浜嬩欢
-        /// </summary>
-        /// <param name="sender"></param>
-        /// <param name="e"></param>
-        private void ToolBarMenu1_btnLoadClick(object sender, EventArgs e)
-        {
-            UtilityHelper.ChangeTab(xtraTabControl1, 0);
-            getTree();
-        }
-
-
-        /// <summary>
-        /// 淇敼浜嬩欢
-        /// </summary>
-        /// <param name="sender"></param>
-        /// <param name="e"></param>
-        private void ToolBarMenu1_btnEdtClick(object sender, EventArgs e)
-        {
-            TreeNode clickedNode = tlMenu.SelectedNode;
-            //if (clickedNode.FirstNode != null)
-            //    return;
-            string rowGuid = clickedNode.Name.ToString();
-            if (string.IsNullOrEmpty(rowGuid))
-            {
-                ToolBox.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.ChangeTab(xtraTabControl1, 1);
-            lbGuid.Text = "";
-            UtilityHelper.CleanValue(this.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_factory.Text.Trim()))
-            {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("鍚嶇О涓嶈兘涓虹┖锛�");
-                txt_factory.Focus();
-                return;
-            }
-            if (string.IsNullOrEmpty(txt_name.Text.Trim()))
-            {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("鍚嶇О涓嶈兘涓虹┖锛�");
-                txt_name.Focus();
-                return;
-            }
-            if (string.IsNullOrEmpty(txt_conPeople.Text.Trim()))
-            {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("鑱旂郴浜轰笉鑳戒负绌猴紒");
-                txt_conPeople.Focus();
-                return;
-            }
-            if (string.IsNullOrEmpty(txt_conTel.Text.Trim()))
-            {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("鑱旂郴鐢佃瘽涓嶈兘涓虹┖锛�");
-                txt_conTel.Focus();
-                return;
-            }
-            if (txt_isStatus.SelectedIndex <= 0)
-            {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("鐘舵�佷笉鑳戒负绌猴紒");
-                txt_isStatus.Focus();
-                return;
-            }
-            string _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.SelectedIndex,//鐘舵��
-                factory = txt_factory.Text,//缁勭粐缂栧彿
-            };
-            try
-            {
-                string strJson = UtilityHelper.HttpPost("", "Organization/EditModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
-                if (_rtn.rtnCode > 0)
-                {
-                    lbGuid.Text = _rtn.rtnData;
-                    toolBarMenu1.isSetBtn = true;
-                    UtilityHelper.ChangeEnable(this.panel1.Controls, false);
-                }
-            }
-            catch (Exception ex)
-            {
-                ToolBox.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);
-            tlMenu.ImageList = imageList;
-            PageQueryModel pgq = new PageQueryModel(1, 999999, "name", "desc", "", "");
-            string json = JsonConvert.SerializeObject(pgq);
-            try
-            {
-                string strReturn = UtilityHelper.HttpPost("", "Organization/GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.GetTableByJson(strReturn);
-                DataTable dt = dd.rtnData.list;
-                DataRow[] drGrp = dt.Select("upGuid='' or upguid is null");
-                DataTable dtComList = new DataTable();
-                dtComList.Columns.Add("guid", typeof(string));
-                dtComList.Columns.Add("name", typeof(string));
-                foreach (DataRow _dy in drGrp)
-                {
-                    dtComList.Rows.Add(_dy["guid"].ToString(), _dy["name"].ToString());
-                    TreeNode node = new TreeNode();//瀹氫箟缁撶偣
-                    node.Text = _dy["name"].ToString();//涓虹粨鐐硅祴鍊�
-                    node.Name = _dy["guid"].ToString();
-                    node.ImageIndex = 0;
-                    DataRow[] drItem = dt.Select("upGuid='" + _dy["guid"].ToString() + "'");
-                    foreach (DataRow _dy2 in drItem)
-                    {
-                        TreeNode node22 = new TreeNode();//瀹氫箟缁撶偣
-                        node22.Text = _dy2["name"].ToString();//涓虹粨鐐硅祴鍊�
-                        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);
-            }
-        }
-
-        private void getModel(string strGuid, bool isEdit, int tabIdx)
-        {
-            if (string.IsNullOrEmpty(strGuid))
-            {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
-                return;
-            }
-            UtilityHelper.ChangeTab(xtraTabControl1, tabIdx);
-            var _obj = new
-            {
-                guid = strGuid,//涓诲缓
-            };
-            try
-            {
-                string strJson = UtilityHelper.HttpPost("", "Organization/GetModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
-                if (_rtn.rtnCode > 0)
-                {
-                    dynamic dy = _rtn.rtnData;
-                    lbGuid.Text = strGuid;
-                    UtilityHelper.SetValueByObj(this.panel1.Controls, dy, isEdit);
-                }
-                else
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
-            }
-            catch (Exception ex)
-            {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/User/Organization.resx b/DevApp/Gs.DevApp/DevFrm/User/Organization.resx
deleted file mode 100644
index 1af7de1..0000000
--- a/DevApp/Gs.DevApp/DevFrm/User/Organization.resx
+++ /dev/null
@@ -1,120 +0,0 @@
-锘�<?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">
-            <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>
-</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 bfc70e4..1d8b7f9 100644
--- a/DevApp/Gs.DevApp/DevFrm/User/Role.cs
+++ b/DevApp/Gs.DevApp/DevFrm/User/Role.cs
@@ -10,8 +10,6 @@
 
 namespace Gs.DevApp.DevFrm.User
 {
-    //https://www.cnblogs.com/mkmkbj/p/16771297.html
-    //https://blog.csdn.net/m0_54035969/article/details/140716675
     public partial class Role : DevExpress.XtraEditors.XtraForm
     {
         System.Text.StringBuilder actionLst = new System.Text.StringBuilder();
@@ -113,7 +111,7 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnEscClick(object sender, EventArgs e)
         {
-            UtilityHelper.ChangeTab(xtraTabControl1, 0);
+            UtilityHelper.JumpToTab(xtraTabControl1, 0);
         }
         /// <summary>
         /// 鍒犻櫎浜嬩欢
@@ -122,26 +120,26 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnDelClick1(object sender, EventArgs e)
         {
-            DataRow dr = gridView1.GetFocusedDataRow();
-            if (dr == null || string.IsNullOrEmpty(dr["guid"].ToString()))
+            string rowGuid, rowName;
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_roleName, gridView1);
+            if (string.IsNullOrEmpty(rowGuid))
             {
                 ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
-            if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + dr["roleName"].ToString() + "銆戯紝纭畾鍒犻櫎鍚楋紵\n璇ユ搷浣滃皢浼氭竻绌虹浉搴旂殑鐢ㄦ埛鏉冮檺"))
+            if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + rowName + "銆戯紝纭畾鍒犻櫎鍚楋紵\n璇ユ搷浣滃皢浼氭竻绌虹浉搴旂殑鐢ㄦ埛鏉冮檺"))
                 return;
             var _obj = new
             {
-                guid = dr["guid"].ToString(),//涓诲缓
+                guid = rowGuid,//涓诲缓
             };
-            string strJson = "";
             try
             {
-                strJson = UtilityHelper.HttpPost("", "Role/DeleteModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                string strJson = UtilityHelper.HttpPost("", "Role/DeleteModel", JsonConvert.SerializeObject(_obj));
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
-                    UtilityHelper.ChangeTab(xtraTabControl1, 0);
+                    UtilityHelper.JumpToTab(xtraTabControl1, 0);
                     getPageList(1, UtilityHelper.GetPageSize());
                 }
                 ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
@@ -158,7 +156,7 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnLoadClick(object sender, EventArgs e)
         {
-            UtilityHelper.ChangeTab(xtraTabControl1, 0);
+            UtilityHelper.JumpToTab(xtraTabControl1, 0);
             getPageList(1, UtilityHelper.GetPageSize());
         }
         /// <summary>
@@ -168,14 +166,14 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnEdtClick(object sender, EventArgs e)
         {
-            DataRow dr = gridView1.GetFocusedDataRow();
-            if (dr == null || string.IsNullOrEmpty(dr["guid"].ToString()))
+            string rowGuid, rowName;
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_roleName, gridView1);
+            if (string.IsNullOrEmpty(rowGuid))
             {
                 ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
-            getModel(dr["guid"].ToString(), true, 1);
-
+            getModel(rowGuid, true, 1);
         }
         /// <summary>
         /// 鏂板浜嬩欢
@@ -184,9 +182,9 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnAddClick(object sender, EventArgs e)
         {
-            UtilityHelper.ChangeTab(xtraTabControl1, 1);
+            UtilityHelper.JumpToTab(xtraTabControl1, 1);
             lbGuid.Text = "";
-            UtilityHelper.CleanValue(this.panel1.Controls, true);
+            UtilityHelper.CleanValueByControl(this.panel1.Controls, true);
         }
         /// <summary>
         /// 淇濆瓨浜嬩欢
@@ -224,13 +222,13 @@
             try
             {
                 string strJson = UtilityHelper.HttpPost("", "Role/EditModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
                 ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
                 if (_rtn.rtnCode > 0)
                 {
                     lbGuid.Text = _rtn.rtnData;
                     toolBarMenu1.isSetBtn = true;
-                    UtilityHelper.ChangeEnable(this.panel1.Controls, false);
+                    UtilityHelper.ChangeEnableByControl(this.panel1.Controls, false);
                 }
             }
             catch (Exception ex)
@@ -246,25 +244,26 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnRoleClick(object sender, EventArgs e)
         {
-            DataRow dr = gridView1.GetFocusedDataRow();
-            if (dr == null || string.IsNullOrEmpty(dr["guid"].ToString()))
+            string rowGuid, rowName;
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_roleName, gridView1);
+            if (string.IsNullOrEmpty(rowGuid))
             {
                 ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
-            if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + dr["roleName"].ToString() + "銆戯紝纭畾璁剧疆鏉冮檺鍚楋紵"))
+            if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + rowName + "銆戯紝纭畾璁剧疆鏉冮檺鍚楋紵"))
                 return;
             actionLst = new System.Text.StringBuilder();
             TraverseTreeViewNodes(trv.Nodes);
             var _obj = new
             {
-                roleGuid = dr["guid"].ToString(),
+                roleGuid = rowGuid,
                 actionLst = actionLst.ToString(),
             };
             try
             {
-                string strJson = UtilityHelper.HttpPost("", "MenuAction/SetMenuActionByRole", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                string strJson = UtilityHelper.HttpPost("", "Role/SetRoleMenuAction", JsonConvert.SerializeObject(_obj));
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
                 ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnData.outMsg);
             }
             catch (Exception ex)
@@ -285,7 +284,7 @@
             try
             {
                 string strReturn = UtilityHelper.HttpPost("", "Role/GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.GetTableByJson(strReturn);
+                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
                 DataTable dt = dd.rtnData.list;
                 gcMain.BindingContext = new BindingContext();
                 gcMain.DataSource = dt;
@@ -309,7 +308,7 @@
                 ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
-            UtilityHelper.ChangeTab(xtraTabControl1, tabIdx);
+            UtilityHelper.JumpToTab(xtraTabControl1, tabIdx);
             var _obj = new
             {
                 guid = strGuid,//涓诲缓
@@ -318,7 +317,7 @@
             try
             {
                 strJson = UtilityHelper.HttpPost("", "Role/GetModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
                     dynamic dy = _rtn.rtnData;
@@ -346,11 +345,10 @@
             {
                 roleGuid = roleGuid,//涓诲缓
             };
-            string strReturn = "";
             try
             {
-                strReturn = UtilityHelper.HttpPost("", "MenuAction/GetListByRole", JsonConvert.SerializeObject(_obj));
-                ReturnModel<PageListModel> dd = UtilityHelper.GetTableByJson(strReturn);
+                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)
diff --git a/DevApp/Gs.DevApp/DevFrm/User/SysMenu.Designer.cs b/DevApp/Gs.DevApp/DevFrm/User/SysMenu.Designer.cs
deleted file mode 100644
index 71b93fc..0000000
--- a/DevApp/Gs.DevApp/DevFrm/User/SysMenu.Designer.cs
+++ /dev/null
@@ -1,583 +0,0 @@
-锘�
-namespace Gs.DevApp.DevFrm.User
-{
-    partial class SysMenu
-    {
-        /// <summary>
-        /// Required designer variable.
-        /// </summary>
-        private System.ComponentModel.IContainer components = null;
-
-        /// <summary>
-        /// Clean up any resources being used.
-        /// </summary>
-        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-        protected override void Dispose(bool disposing)
-        {
-            if (disposing && (components != null))
-            {
-                components.Dispose();
-            }
-            base.Dispose(disposing);
-        }
-
-        #region Windows Form Designer generated code
-
-        /// <summary>
-        /// Required method for Designer support - do not modify
-        /// the contents of this method with the code editor.
-        /// </summary>
-        private void InitializeComponent()
-        {
-            this.toolBarMenu1 = new Gs.DevApp.UserControl.ToolBarMenu();
-            this.xtraTabControl1 = new DevExpress.XtraTab.XtraTabControl();
-            this.xtraTabPage1 = new DevExpress.XtraTab.XtraTabPage();
-            this.tlMenu = new DevExpress.XtraTreeList.TreeList();
-            this.tlcModuleID = new DevExpress.XtraTreeList.Columns.TreeListColumn();
-            this.tlcMenuName = new DevExpress.XtraTreeList.Columns.TreeListColumn();
-            this.tlcMenuCaption = new DevExpress.XtraTreeList.Columns.TreeListColumn();
-            this.tlcActions = new DevExpress.XtraTreeList.Columns.TreeListColumn();
-            this.treeListColumn1 = new DevExpress.XtraTreeList.Columns.TreeListColumn();
-            this.tlcParentMenuName = new DevExpress.XtraTreeList.Columns.TreeListColumn();
-            this.tlcMenuType = new DevExpress.XtraTreeList.Columns.TreeListColumn();
-            this.xtraTabPage2 = new DevExpress.XtraTab.XtraTabPage();
-            this.panel1 = new System.Windows.Forms.Panel();
-            this.label2 = new System.Windows.Forms.Label();
-            this.txt_formPath = new DevExpress.XtraEditors.ComboBoxEdit();
-            this.label3 = new System.Windows.Forms.Label();
-            this.txt_name = new DevExpress.XtraEditors.ComboBoxEdit();
-            this.labelControl11 = new DevExpress.XtraEditors.LabelControl();
-            this.lbGuid = new System.Windows.Forms.Label();
-            this.label1 = new System.Windows.Forms.Label();
-            this.labelControl8 = new DevExpress.XtraEditors.LabelControl();
-            this.txt_upGuid = new DevExpress.XtraEditors.TreeListLookUpEdit();
-            this.treeListLookUpEdit1TreeList = new DevExpress.XtraTreeList.TreeList();
-            this.treeListColumn2 = new DevExpress.XtraTreeList.Columns.TreeListColumn();
-            this.labelControl7 = new DevExpress.XtraEditors.LabelControl();
-            this.txt_isStatus = new DevExpress.XtraEditors.ComboBoxEdit();
-            this.txt_idx = new System.Windows.Forms.NumericUpDown();
-            this.labelControl1 = new DevExpress.XtraEditors.LabelControl();
-            this.labelControl12 = new DevExpress.XtraEditors.LabelControl();
-            this.labelControl9 = new DevExpress.XtraEditors.LabelControl();
-            this.labelControl6 = new DevExpress.XtraEditors.LabelControl();
-            this.labelControl5 = new DevExpress.XtraEditors.LabelControl();
-            this.txt_category = new DevExpress.XtraEditors.ComboBoxEdit();
-            this.txt_icon = new DevExpress.XtraEditors.TextEdit();
-            this.labelControl4 = new DevExpress.XtraEditors.LabelControl();
-            this.labelControl3 = new DevExpress.XtraEditors.LabelControl();
-            this.labelControl2 = new DevExpress.XtraEditors.LabelControl();
-            ((System.ComponentModel.ISupportInitialize)(this.xtraTabControl1)).BeginInit();
-            this.xtraTabControl1.SuspendLayout();
-            this.xtraTabPage1.SuspendLayout();
-            ((System.ComponentModel.ISupportInitialize)(this.tlMenu)).BeginInit();
-            this.xtraTabPage2.SuspendLayout();
-            this.panel1.SuspendLayout();
-            ((System.ComponentModel.ISupportInitialize)(this.txt_formPath.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txt_name.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txt_upGuid.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.treeListLookUpEdit1TreeList)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txt_isStatus.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txt_idx)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txt_category.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txt_icon.Properties)).BeginInit();
-            this.SuspendLayout();
-            // 
-            // toolBarMenu1
-            // 
-            this.toolBarMenu1.Dock = System.Windows.Forms.DockStyle.Top;
-            this.toolBarMenu1.isSetBtn = false;
-            this.toolBarMenu1.Location = new System.Drawing.Point(0, 0);
-            this.toolBarMenu1.Name = "toolBarMenu1";
-            this.toolBarMenu1.Size = new System.Drawing.Size(1107, 80);
-            this.toolBarMenu1.TabIndex = 0;
-            // 
-            // xtraTabControl1
-            // 
-            this.xtraTabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.xtraTabControl1.Location = new System.Drawing.Point(0, 80);
-            this.xtraTabControl1.Name = "xtraTabControl1";
-            this.xtraTabControl1.SelectedTabPage = this.xtraTabPage1;
-            this.xtraTabControl1.Size = new System.Drawing.Size(1107, 507);
-            this.xtraTabControl1.TabIndex = 4;
-            this.xtraTabControl1.TabPages.AddRange(new DevExpress.XtraTab.XtraTabPage[] {
-            this.xtraTabPage1,
-            this.xtraTabPage2});
-            // 
-            // xtraTabPage1
-            // 
-            this.xtraTabPage1.Controls.Add(this.tlMenu);
-            this.xtraTabPage1.Name = "xtraTabPage1";
-            this.xtraTabPage1.Size = new System.Drawing.Size(1105, 475);
-            this.xtraTabPage1.Text = "鏁版嵁鏌ヨ";
-            // 
-            // tlMenu
-            // 
-            this.tlMenu.Appearance.Row.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.tlMenu.Appearance.Row.Options.UseFont = true;
-            this.tlMenu.Columns.AddRange(new DevExpress.XtraTreeList.Columns.TreeListColumn[] {
-            this.tlcModuleID,
-            this.tlcMenuName,
-            this.tlcMenuCaption,
-            this.tlcActions,
-            this.treeListColumn1,
-            this.tlcParentMenuName,
-            this.tlcMenuType});
-            this.tlMenu.Cursor = System.Windows.Forms.Cursors.Default;
-            this.tlMenu.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.tlMenu.Font = new System.Drawing.Font("Tahoma", 9F);
-            this.tlMenu.Location = new System.Drawing.Point(0, 0);
-            this.tlMenu.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.tlMenu.MinWidth = 23;
-            this.tlMenu.Name = "tlMenu";
-            this.tlMenu.OptionsBehavior.Editable = false;
-            this.tlMenu.OptionsView.TreeLineStyle = DevExpress.XtraTreeList.LineStyle.Solid;
-            this.tlMenu.Size = new System.Drawing.Size(1105, 475);
-            this.tlMenu.TabIndex = 3;
-            this.tlMenu.TreeLevelWidth = 21;
-            // 
-            // tlcModuleID
-            // 
-            this.tlcModuleID.Caption = "guid";
-            this.tlcModuleID.FieldName = "guid";
-            this.tlcModuleID.MinWidth = 23;
-            this.tlcModuleID.Name = "tlcModuleID";
-            this.tlcModuleID.Visible = true;
-            this.tlcModuleID.VisibleIndex = 5;
-            this.tlcModuleID.Width = 103;
-            // 
-            // tlcMenuName
-            // 
-            this.tlcMenuName.Caption = "鑿滃崟鍚嶇О";
-            this.tlcMenuName.FieldName = "name";
-            this.tlcMenuName.MinWidth = 38;
-            this.tlcMenuName.Name = "tlcMenuName";
-            this.tlcMenuName.Visible = true;
-            this.tlcMenuName.VisibleIndex = 0;
-            this.tlcMenuName.Width = 215;
-            // 
-            // tlcMenuCaption
-            // 
-            this.tlcMenuCaption.Caption = "绐椾綋璺緞";
-            this.tlcMenuCaption.FieldName = "formPath";
-            this.tlcMenuCaption.MinWidth = 23;
-            this.tlcMenuCaption.Name = "tlcMenuCaption";
-            this.tlcMenuCaption.Visible = true;
-            this.tlcMenuCaption.VisibleIndex = 2;
-            this.tlcMenuCaption.Width = 139;
-            // 
-            // tlcActions
-            // 
-            this.tlcActions.Caption = "绐椾綋绫诲瀷";
-            this.tlcActions.FieldName = "categoryTxt";
-            this.tlcActions.MinWidth = 23;
-            this.tlcActions.Name = "tlcActions";
-            this.tlcActions.Visible = true;
-            this.tlcActions.VisibleIndex = 3;
-            this.tlcActions.Width = 50;
-            // 
-            // treeListColumn1
-            // 
-            this.treeListColumn1.Caption = "绐椾綋鍥炬爣";
-            this.treeListColumn1.FieldName = "icon";
-            this.treeListColumn1.Name = "treeListColumn1";
-            this.treeListColumn1.Visible = true;
-            this.treeListColumn1.VisibleIndex = 6;
-            this.treeListColumn1.Width = 104;
-            // 
-            // tlcParentMenuName
-            // 
-            this.tlcParentMenuName.Caption = "鐘舵��";
-            this.tlcParentMenuName.FieldName = "isStatusTxt";
-            this.tlcParentMenuName.MinWidth = 23;
-            this.tlcParentMenuName.Name = "tlcParentMenuName";
-            this.tlcParentMenuName.Visible = true;
-            this.tlcParentMenuName.VisibleIndex = 4;
-            this.tlcParentMenuName.Width = 64;
-            // 
-            // tlcMenuType
-            // 
-            this.tlcMenuType.Caption = "鎺掑簭鍙�";
-            this.tlcMenuType.FieldName = "idx";
-            this.tlcMenuType.MinWidth = 23;
-            this.tlcMenuType.Name = "tlcMenuType";
-            this.tlcMenuType.Visible = true;
-            this.tlcMenuType.VisibleIndex = 1;
-            this.tlcMenuType.Width = 50;
-            // 
-            // xtraTabPage2
-            // 
-            this.xtraTabPage2.Controls.Add(this.panel1);
-            this.xtraTabPage2.Name = "xtraTabPage2";
-            this.xtraTabPage2.PageEnabled = false;
-            this.xtraTabPage2.Size = new System.Drawing.Size(1105, 475);
-            this.xtraTabPage2.Text = "鏁版嵁缂栬緫";
-            // 
-            // panel1
-            // 
-            this.panel1.BackColor = System.Drawing.Color.White;
-            this.panel1.Controls.Add(this.label2);
-            this.panel1.Controls.Add(this.txt_formPath);
-            this.panel1.Controls.Add(this.label3);
-            this.panel1.Controls.Add(this.txt_name);
-            this.panel1.Controls.Add(this.labelControl11);
-            this.panel1.Controls.Add(this.lbGuid);
-            this.panel1.Controls.Add(this.label1);
-            this.panel1.Controls.Add(this.labelControl8);
-            this.panel1.Controls.Add(this.txt_upGuid);
-            this.panel1.Controls.Add(this.labelControl7);
-            this.panel1.Controls.Add(this.txt_isStatus);
-            this.panel1.Controls.Add(this.txt_idx);
-            this.panel1.Controls.Add(this.labelControl1);
-            this.panel1.Controls.Add(this.labelControl12);
-            this.panel1.Controls.Add(this.labelControl9);
-            this.panel1.Controls.Add(this.labelControl6);
-            this.panel1.Controls.Add(this.labelControl5);
-            this.panel1.Controls.Add(this.txt_category);
-            this.panel1.Controls.Add(this.txt_icon);
-            this.panel1.Controls.Add(this.labelControl4);
-            this.panel1.Controls.Add(this.labelControl3);
-            this.panel1.Controls.Add(this.labelControl2);
-            this.panel1.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.panel1.Location = new System.Drawing.Point(29, 34);
-            this.panel1.Name = "panel1";
-            this.panel1.Size = new System.Drawing.Size(679, 411);
-            this.panel1.TabIndex = 2;
-            // 
-            // label2
-            // 
-            this.label2.AutoSize = true;
-            this.label2.Location = new System.Drawing.Point(429, 163);
-            this.label2.Name = "label2";
-            this.label2.Size = new System.Drawing.Size(197, 21);
-            this.label2.TabIndex = 135;
-            this.label2.Text = "锛堝缓璁粠涓嬫媺妗嗕腑閫夋嫨锛�";
-            // 
-            // txt_formPath
-            // 
-            this.txt_formPath.Location = new System.Drawing.Point(111, 160);
-            this.txt_formPath.Name = "txt_formPath";
-            this.txt_formPath.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.txt_formPath.Properties.Appearance.Options.UseFont = true;
-            this.txt_formPath.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
-            this.txt_formPath.Properties.DropDownRows = 20;
-            this.txt_formPath.Size = new System.Drawing.Size(297, 28);
-            this.txt_formPath.TabIndex = 134;
-            // 
-            // label3
-            // 
-            this.label3.AutoSize = true;
-            this.label3.Location = new System.Drawing.Point(429, 87);
-            this.label3.Name = "label3";
-            this.label3.Size = new System.Drawing.Size(248, 21);
-            this.label3.TabIndex = 132;
-            this.label3.Text = "锛堟寜閽被鍨嬭浠庝笅鎷夋涓�夋嫨锛�";
-            // 
-            // txt_name
-            // 
-            this.txt_name.Location = new System.Drawing.Point(111, 83);
-            this.txt_name.Name = "txt_name";
-            this.txt_name.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.txt_name.Properties.Appearance.Options.UseFont = true;
-            this.txt_name.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
-            this.txt_name.Properties.DropDownRows = 30;
-            this.txt_name.Size = new System.Drawing.Size(297, 28);
-            this.txt_name.TabIndex = 3;
-            // 
-            // labelControl11
-            // 
-            this.labelControl11.Location = new System.Drawing.Point(13, 319);
-            this.labelControl11.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl11.Name = "labelControl11";
-            this.labelControl11.Size = new System.Drawing.Size(45, 18);
-            this.labelControl11.TabIndex = 131;
-            this.labelControl11.Text = "涓婚敭锛�";
-            // 
-            // lbGuid
-            // 
-            this.lbGuid.AutoSize = true;
-            this.lbGuid.Location = new System.Drawing.Point(111, 319);
-            this.lbGuid.Name = "lbGuid";
-            this.lbGuid.Size = new System.Drawing.Size(0, 21);
-            this.lbGuid.TabIndex = 1;
-            // 
-            // label1
-            // 
-            this.label1.AutoSize = true;
-            this.label1.Location = new System.Drawing.Point(412, 15);
-            this.label1.Name = "label1";
-            this.label1.Size = new System.Drawing.Size(163, 21);
-            this.label1.TabIndex = 118;
-            this.label1.Text = "锛堢┖灏嗕负涓�绾ц彍鍗曪級";
-            // 
-            // labelControl8
-            // 
-            this.labelControl8.Appearance.ForeColor = System.Drawing.Color.Red;
-            this.labelControl8.Appearance.Options.UseForeColor = true;
-            this.labelControl8.Location = new System.Drawing.Point(418, 211);
-            this.labelControl8.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl8.Name = "labelControl8";
-            this.labelControl8.Size = new System.Drawing.Size(8, 18);
-            this.labelControl8.TabIndex = 117;
-            this.labelControl8.Text = "*";
-            // 
-            // txt_upGuid
-            // 
-            this.txt_upGuid.EditValue = "";
-            this.txt_upGuid.Location = new System.Drawing.Point(111, 11);
-            this.txt_upGuid.Name = "txt_upGuid";
-            this.txt_upGuid.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.txt_upGuid.Properties.Appearance.Options.UseFont = true;
-            this.txt_upGuid.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
-            this.txt_upGuid.Properties.TreeList = this.treeListLookUpEdit1TreeList;
-            this.txt_upGuid.Size = new System.Drawing.Size(297, 28);
-            this.txt_upGuid.TabIndex = 116;
-            // 
-            // treeListLookUpEdit1TreeList
-            // 
-            this.treeListLookUpEdit1TreeList.Columns.AddRange(new DevExpress.XtraTreeList.Columns.TreeListColumn[] {
-            this.treeListColumn2});
-            this.treeListLookUpEdit1TreeList.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.treeListLookUpEdit1TreeList.KeyFieldName = "";
-            this.treeListLookUpEdit1TreeList.Location = new System.Drawing.Point(99, 73);
-            this.treeListLookUpEdit1TreeList.Name = "treeListLookUpEdit1TreeList";
-            this.treeListLookUpEdit1TreeList.OptionsView.ShowIndentAsRowStyle = true;
-            this.treeListLookUpEdit1TreeList.ParentFieldName = "";
-            this.treeListLookUpEdit1TreeList.Size = new System.Drawing.Size(400, 200);
-            this.treeListLookUpEdit1TreeList.TabIndex = 0;
-            // 
-            // treeListColumn2
-            // 
-            this.treeListColumn2.Caption = "鑿滃崟鍚�";
-            this.treeListColumn2.FieldName = "name";
-            this.treeListColumn2.Name = "treeListColumn2";
-            this.treeListColumn2.Visible = true;
-            this.treeListColumn2.VisibleIndex = 0;
-            // 
-            // labelControl7
-            // 
-            this.labelControl7.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.labelControl7.Appearance.Options.UseFont = true;
-            this.labelControl7.Location = new System.Drawing.Point(13, 209);
-            this.labelControl7.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl7.Name = "labelControl7";
-            this.labelControl7.Size = new System.Drawing.Size(85, 21);
-            this.labelControl7.TabIndex = 115;
-            this.labelControl7.Text = "鑿滃崟鐘舵�侊細";
-            // 
-            // txt_isStatus
-            // 
-            this.txt_isStatus.Location = new System.Drawing.Point(111, 208);
-            this.txt_isStatus.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.txt_isStatus.Name = "txt_isStatus";
-            this.txt_isStatus.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.txt_isStatus.Properties.Appearance.Options.UseFont = true;
-            this.txt_isStatus.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
-            this.txt_isStatus.Properties.Items.AddRange(new object[] {
-            "-璇烽�夋嫨-",
-            "姝e父",
-            "绂佺敤"});
-            this.txt_isStatus.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
-            this.txt_isStatus.Size = new System.Drawing.Size(297, 28);
-            this.txt_isStatus.TabIndex = 114;
-            // 
-            // txt_idx
-            // 
-            this.txt_idx.Location = new System.Drawing.Point(111, 244);
-            this.txt_idx.Name = "txt_idx";
-            this.txt_idx.Size = new System.Drawing.Size(297, 28);
-            this.txt_idx.TabIndex = 113;
-            this.txt_idx.Value = new decimal(new int[] {
-            2,
-            0,
-            0,
-            0});
-            // 
-            // labelControl1
-            // 
-            this.labelControl1.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.labelControl1.Appearance.Options.UseFont = true;
-            this.labelControl1.Location = new System.Drawing.Point(13, 252);
-            this.labelControl1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl1.Name = "labelControl1";
-            this.labelControl1.Size = new System.Drawing.Size(85, 21);
-            this.labelControl1.TabIndex = 112;
-            this.labelControl1.Text = "鑿滃崟鎺掑簭锛�";
-            // 
-            // labelControl12
-            // 
-            this.labelControl12.Appearance.ForeColor = System.Drawing.Color.Red;
-            this.labelControl12.Appearance.Options.UseForeColor = true;
-            this.labelControl12.Location = new System.Drawing.Point(418, 52);
-            this.labelControl12.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl12.Name = "labelControl12";
-            this.labelControl12.Size = new System.Drawing.Size(8, 18);
-            this.labelControl12.TabIndex = 107;
-            this.labelControl12.Text = "*";
-            // 
-            // labelControl9
-            // 
-            this.labelControl9.Appearance.ForeColor = System.Drawing.Color.Red;
-            this.labelControl9.Appearance.Options.UseForeColor = true;
-            this.labelControl9.Location = new System.Drawing.Point(418, 88);
-            this.labelControl9.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl9.Name = "labelControl9";
-            this.labelControl9.Size = new System.Drawing.Size(8, 18);
-            this.labelControl9.TabIndex = 108;
-            this.labelControl9.Text = "*";
-            // 
-            // labelControl6
-            // 
-            this.labelControl6.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.labelControl6.Appearance.Options.UseFont = true;
-            this.labelControl6.Location = new System.Drawing.Point(13, 161);
-            this.labelControl6.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl6.Name = "labelControl6";
-            this.labelControl6.Size = new System.Drawing.Size(85, 21);
-            this.labelControl6.TabIndex = 103;
-            this.labelControl6.Text = "绐椾綋绫诲悕锛�";
-            // 
-            // labelControl5
-            // 
-            this.labelControl5.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.labelControl5.Appearance.Options.UseFont = true;
-            this.labelControl5.Location = new System.Drawing.Point(13, 49);
-            this.labelControl5.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl5.Name = "labelControl5";
-            this.labelControl5.Size = new System.Drawing.Size(85, 21);
-            this.labelControl5.TabIndex = 101;
-            this.labelControl5.Text = "鑿滃崟绫诲瀷锛�";
-            // 
-            // txt_category
-            // 
-            this.txt_category.EditValue = "-璇烽�夋嫨-";
-            this.txt_category.Location = new System.Drawing.Point(111, 47);
-            this.txt_category.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.txt_category.Name = "txt_category";
-            this.txt_category.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.txt_category.Properties.Appearance.Options.UseFont = true;
-            this.txt_category.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
-            this.txt_category.Properties.Items.AddRange(new object[] {
-            "-璇烽�夋嫨-",
-            "绐椾綋绫诲瀷",
-            "鎸夐挳绫诲瀷"});
-            this.txt_category.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
-            this.txt_category.Size = new System.Drawing.Size(297, 28);
-            this.txt_category.TabIndex = 100;
-            // 
-            // txt_icon
-            // 
-            this.txt_icon.Location = new System.Drawing.Point(111, 119);
-            this.txt_icon.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.txt_icon.Name = "txt_icon";
-            this.txt_icon.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.txt_icon.Properties.Appearance.Options.UseFont = true;
-            this.txt_icon.Size = new System.Drawing.Size(297, 28);
-            this.txt_icon.TabIndex = 99;
-            // 
-            // labelControl4
-            // 
-            this.labelControl4.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.labelControl4.Appearance.Options.UseFont = true;
-            this.labelControl4.Location = new System.Drawing.Point(13, 119);
-            this.labelControl4.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl4.Name = "labelControl4";
-            this.labelControl4.Size = new System.Drawing.Size(85, 21);
-            this.labelControl4.TabIndex = 98;
-            this.labelControl4.Text = "鑿滃崟鍥炬爣锛�";
-            // 
-            // labelControl3
-            // 
-            this.labelControl3.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.labelControl3.Appearance.Options.UseFont = true;
-            this.labelControl3.Location = new System.Drawing.Point(13, 17);
-            this.labelControl3.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl3.Name = "labelControl3";
-            this.labelControl3.Size = new System.Drawing.Size(85, 21);
-            this.labelControl3.TabIndex = 97;
-            this.labelControl3.Text = "鐖剁骇鑿滃崟锛�";
-            // 
-            // labelControl2
-            // 
-            this.labelControl2.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.labelControl2.Appearance.Options.UseFont = true;
-            this.labelControl2.Location = new System.Drawing.Point(13, 84);
-            this.labelControl2.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl2.Name = "labelControl2";
-            this.labelControl2.Size = new System.Drawing.Size(85, 21);
-            this.labelControl2.TabIndex = 94;
-            this.labelControl2.Text = "鑿滃崟鍚嶇О锛�";
-            // 
-            // SysMenu
-            // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 18F);
-            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(1107, 587);
-            this.Controls.Add(this.xtraTabControl1);
-            this.Controls.Add(this.toolBarMenu1);
-            this.Name = "SysMenu";
-            this.Text = "SysMenu";
-            ((System.ComponentModel.ISupportInitialize)(this.xtraTabControl1)).EndInit();
-            this.xtraTabControl1.ResumeLayout(false);
-            this.xtraTabPage1.ResumeLayout(false);
-            ((System.ComponentModel.ISupportInitialize)(this.tlMenu)).EndInit();
-            this.xtraTabPage2.ResumeLayout(false);
-            this.panel1.ResumeLayout(false);
-            this.panel1.PerformLayout();
-            ((System.ComponentModel.ISupportInitialize)(this.txt_formPath.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txt_name.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txt_upGuid.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.treeListLookUpEdit1TreeList)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txt_isStatus.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txt_idx)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txt_category.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txt_icon.Properties)).EndInit();
-            this.ResumeLayout(false);
-
-        }
-
-        #endregion
-
-        private UserControl.ToolBarMenu toolBarMenu1;
-        private DevExpress.XtraTab.XtraTabControl xtraTabControl1;
-        private DevExpress.XtraTab.XtraTabPage xtraTabPage1;
-        private DevExpress.XtraTreeList.TreeList tlMenu;
-        private DevExpress.XtraTreeList.Columns.TreeListColumn tlcModuleID;
-        private DevExpress.XtraTreeList.Columns.TreeListColumn tlcMenuName;
-        private DevExpress.XtraTreeList.Columns.TreeListColumn tlcMenuCaption;
-        private DevExpress.XtraTreeList.Columns.TreeListColumn tlcActions;
-        private DevExpress.XtraTreeList.Columns.TreeListColumn treeListColumn1;
-        private DevExpress.XtraTreeList.Columns.TreeListColumn tlcParentMenuName;
-        private DevExpress.XtraTreeList.Columns.TreeListColumn tlcMenuType;
-        private DevExpress.XtraTab.XtraTabPage xtraTabPage2;
-        private System.Windows.Forms.Panel panel1;
-        private DevExpress.XtraEditors.LabelControl labelControl11;
-        private System.Windows.Forms.Label lbGuid;
-        private System.Windows.Forms.Label label1;
-        private DevExpress.XtraEditors.LabelControl labelControl8;
-        private DevExpress.XtraEditors.TreeListLookUpEdit txt_upGuid;
-        private DevExpress.XtraTreeList.TreeList treeListLookUpEdit1TreeList;
-        private DevExpress.XtraTreeList.Columns.TreeListColumn treeListColumn2;
-        private DevExpress.XtraEditors.LabelControl labelControl7;
-        private DevExpress.XtraEditors.ComboBoxEdit txt_isStatus;
-        private System.Windows.Forms.NumericUpDown txt_idx;
-        private DevExpress.XtraEditors.LabelControl labelControl1;
-        private DevExpress.XtraEditors.LabelControl labelControl12;
-        private DevExpress.XtraEditors.LabelControl labelControl9;
-        private DevExpress.XtraEditors.LabelControl labelControl6;
-        private DevExpress.XtraEditors.LabelControl labelControl5;
-        private DevExpress.XtraEditors.ComboBoxEdit txt_category;
-        private DevExpress.XtraEditors.TextEdit txt_icon;
-        private DevExpress.XtraEditors.LabelControl labelControl4;
-        private DevExpress.XtraEditors.LabelControl labelControl3;
-        private DevExpress.XtraEditors.LabelControl labelControl2;
-        private DevExpress.XtraEditors.ComboBoxEdit txt_name;
-        private System.Windows.Forms.Label label3;
-        private DevExpress.XtraEditors.ComboBoxEdit txt_formPath;
-        private System.Windows.Forms.Label label2;
-    }
-}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/User/SysMenu.cs b/DevApp/Gs.DevApp/DevFrm/User/SysMenu.cs
deleted file mode 100644
index 81f995e..0000000
--- a/DevApp/Gs.DevApp/DevFrm/User/SysMenu.cs
+++ /dev/null
@@ -1,340 +0,0 @@
-锘縰sing DevExpress.XtraEditors.Controls;
-using DevExpress.XtraTreeList;
-using DevExpress.XtraTreeList.Nodes;
-using Gs.DevApp.Entity;
-using Gs.DevApp.ToolBox;
-using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.Data;
-using System.Reflection;
-using System.Windows.Forms;
-
-namespace Gs.DevApp.DevFrm.User
-{
-    public partial class SysMenu : DevExpress.XtraEditors.XtraForm
-    {
-        public SysMenu()
-        {
-            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;
-            txt_category.TextChanged += Txt_category_TextChanged;
-            tlMenu.MouseDoubleClick += TlMenu_MouseDoubleClick;
-            getTree();
-            getDownList();
-            getActionList();
-            txt_upGuid.Properties.PopupFormSize = new System.Drawing.Size(txt_upGuid.Width, 300);
-            txt_upGuid.Properties.ImmediatePopup = true;
-            txt_upGuid.Properties.TextEditStyle = TextEditStyles.Standard;
-            txt_upGuid.Properties.TreeList.IndicatorWidth = 50;
-            txt_upGuid.Properties.TreeList.CustomDrawNodeIndicator += (s, ee) =>
-            {
-                if (ee.IsNodeIndicator)
-                {
-                    var index = ee.Node.TreeList.GetVisibleIndexByNode(ee.Node);
-                    ee.Info.DisplayText = (index + 1).ToString();
-                }
-            };
-            tlMenu.IndicatorWidth = 50;
-            tlMenu.CustomDrawNodeIndicator += (s, ee) =>
-            {
-                if (ee.IsNodeIndicator)
-                {
-                    var index = ee.Node.TreeList.GetVisibleIndexByNode(ee.Node);
-                    ee.Info.DisplayText = (index + 1).ToString();
-                }
-            };
-        }
-
-        /// <summary>
-        /// 鑿滃崟绫诲瀷鏀瑰彉浜嬩欢
-        /// </summary>
-        /// <param name="sender"></param>
-        /// <param name="e"></param>
-        private void Txt_category_TextChanged(object sender, EventArgs e)
-        {
-            if (txt_category.SelectedIndex == 1)
-            {
-                this.txt_formPath.Enabled = true;
-                this.txt_icon.Enabled = true;
-            }
-            else
-            {
-                this.txt_formPath.Enabled = false;
-                this.txt_icon.Enabled = false;
-                this.txt_formPath.Text = "";
-                this.txt_icon.Text = "";
-            }
-        }
-        /// <summary>
-        /// 鍙屽嚮琛屼簨浠�
-        /// </summary>
-        /// <param name="sender"></param>
-        /// <param name="e"></param>
-        private void TlMenu_MouseDoubleClick(object sender, System.Windows.Forms.MouseEventArgs e)
-        {
-            TreeListHitInfo info = tlMenu.CalcHitInfo(e.Location);
-            if (info.Node != null)
-            {
-                TreeListNode clickedNode = this.tlMenu.FocusedNode;
-                if (clickedNode.FirstNode == null)
-                {
-                    string rowGuid = clickedNode.GetValue("guid").ToString();
-                    getModel(rowGuid, false, 999);
-                }
-            }
-        }
-        /// <summary>
-        /// 鍙栨秷浜嬩欢
-        /// </summary>
-        /// <param name="sender"></param>
-        /// <param name="e"></param>
-        private void ToolBarMenu1_btnEscClick(object sender, EventArgs e)
-        {
-            UtilityHelper.ChangeTab(xtraTabControl1, 0);
-        }
-
-        /// <summary>
-        /// 鍒犻櫎浜嬩欢
-        /// </summary>
-        /// <param name="sender"></param>
-        /// <param name="e"></param>
-        private void ToolBarMenu1_btnDelClick1(object sender, EventArgs e)
-        {
-            String rowGuid = Convert.ToString(tlMenu.FocusedNode.GetValue("guid"));
-            if (string.IsNullOrEmpty(rowGuid))
-            {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鍒犻櫎鐨勮锛�");
-                return;
-            }
-            if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + tlMenu.FocusedNode.GetValue("name") + "銆戯紝纭畾鍒犻櫎鍚楋紵"))
-            {
-                return;
-            }
-            var _obj = new
-            {
-                guid = rowGuid,//涓诲缓
-            };
-            try
-            {
-                string strJson = UtilityHelper.HttpPost("", "MenuAction/DeleteModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
-                if (_rtn.rtnCode > 0) { getTree(); }
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
-            }
-            catch (Exception ex)
-            {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
-            }
-        }
-
-        /// <summary>
-        /// 鍒锋柊浜嬩欢
-        /// </summary>
-        /// <param name="sender"></param>
-        /// <param name="e"></param>
-        private void ToolBarMenu1_btnLoadClick(object sender, EventArgs e)
-        {
-            UtilityHelper.ChangeTab(xtraTabControl1, 0);
-            getTree();
-        }
-        /// <summary>
-        /// 淇敼浜嬩欢
-        /// </summary>
-        /// <param name="sender"></param>
-        /// <param name="e"></param>
-        private void ToolBarMenu1_btnEdtClick(object sender, EventArgs e)
-        {
-            String rowGuid = Convert.ToString(tlMenu.FocusedNode.GetValue("guid"));
-            if (string.IsNullOrEmpty(rowGuid))
-            {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
-                return;
-            }
-            getModel(rowGuid, true, 1);
-            if (txt_category.SelectedIndex == 1)
-            {
-                this.txt_formPath.Enabled = true;
-                this.txt_icon.Enabled = true;
-            }
-            else
-            {
-                this.txt_formPath.Enabled = false;
-                this.txt_icon.Enabled = false;
-            }
-        }
-        /// <summary>
-        /// 鏂板浜嬩欢
-        /// </summary>
-        /// <param name="sender"></param>
-        /// <param name="e"></param>
-        private void ToolBarMenu1_btnAddClick(object sender, EventArgs e)
-        {
-            UtilityHelper.ChangeTab(xtraTabControl1, 1);
-            lbGuid.Text = "";
-            UtilityHelper.CleanValue(this.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)
-            {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("鑿滃崟绫诲瀷涓嶈兘涓虹┖锛�");
-                txt_category.Focus();
-                return;
-            }
-            if (string.IsNullOrEmpty(txt_name.Text.Trim()))
-            {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("鑿滃崟鍚嶇О涓嶈兘涓虹┖锛�");
-                txt_name.Focus();
-                return;
-            }
-            if (string.IsNullOrEmpty(txt_isStatus.Text.Trim()) || txt_isStatus.SelectedIndex == 0)
-            {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("鑿滃崟鐘舵�佷笉鑳戒负绌猴紒");
-                txt_isStatus.Focus();
-                return;
-            }
-            string _upGuid = txt_upGuid.EditValue.ToString();
-            if (txt_category.SelectedIndex == 2 && string.IsNullOrEmpty(_upGuid))
-            {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("鎸夐挳绫诲瀷蹇呴』閫夋嫨鐖剁骇鑿滃崟锛�");
-                txt_isStatus.Focus();
-                return;
-            }
-            var _obj = new
-            {
-                guid = lbGuid.Text.Trim(),//涓诲缓
-                upGuid = _upGuid,//涓婄骇鐨勪富寤�
-                name = txt_name.Text.Trim(),//鍚嶇О
-                icon = txt_icon.Text,//鑿滃崟鍥炬爣
-                isStatus = txt_isStatus.SelectedIndex,//鐘舵��
-                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.GetDataByJson(strJson);
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
-                if (_rtn.rtnCode > 0)
-                {
-                    lbGuid.Text = _rtn.rtnData;
-                    toolBarMenu1.isSetBtn = true;
-                    UtilityHelper.ChangeEnable(this.panel1.Controls, false);
-                }
-            }
-            catch (Exception ex)
-            {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
-            }
-        }
-
-        /// <summary>
-        /// 璇诲彇鍒楄〃
-        /// </summary>
-        private void getTree()
-        {
-            PageQueryModel pgq = new PageQueryModel(1, 999999, "idx", "asc", "", "");
-            string json = JsonConvert.SerializeObject(pgq);
-            try
-            {
-                string strReturn = UtilityHelper.HttpPost("", "MenuAction/GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.GetTableByJson(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();
-                this.tlMenu.ExpandAll();
-                tlMenu.OptionsView.CheckBoxStyle = DevExpress.XtraTreeList.DefaultNodeCheckBoxStyle.Default;
-            }
-            catch (Exception ex)
-            {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
-            }
-        }
-
-        private void getModel(string strGuid, bool isEdit, int tabIdx)
-        {
-            if (string.IsNullOrEmpty(strGuid))
-            {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
-                return;
-            }
-            UtilityHelper.ChangeTab(xtraTabControl1, tabIdx);
-            var _obj = new
-            {
-                guid = strGuid,//涓诲缓
-            };
-            try
-            {
-                string strJson = UtilityHelper.HttpPost("", "MenuAction/GetModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
-                if (_rtn.rtnCode > 0)
-                {
-                    dynamic dy = _rtn.rtnData;
-                    lbGuid.Text = strGuid;
-                    UtilityHelper.SetValueByObj(this.panel1.Controls, dy, isEdit);
-                    txt_upGuid.EditValue = dy.upGuid.ToString();
-                }
-                else
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
-            }
-            catch (Exception ex)
-            {
-                ToolBox.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);
-            try
-            {
-                string strReturn = UtilityHelper.HttpPost("", "MenuAction/GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.GetTableByJson(strReturn);
-                DataTable dt = dd.rtnData.list;
-                txt_upGuid.Properties.TreeList.KeyFieldName = "guid";
-                txt_upGuid.Properties.TreeList.ParentFieldName = "upGuid";
-                txt_upGuid.Properties.ValueMember = "guid";
-                txt_upGuid.Properties.DisplayMember = "name";
-                txt_upGuid.Properties.DataSource = dt;
-            }
-            catch (Exception ex)
-            {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
-            }
-        }
-        private void getActionList()
-        {
-            List<string> 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)
-            {
-                if (type.IsSubclassOf(typeof(Form)))
-                {
-                    txt_formPath.Properties.Items.Add(type.FullName);
-                }
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/User/SysMenu.resx b/DevApp/Gs.DevApp/DevFrm/User/SysMenu.resx
deleted file mode 100644
index 1af7de1..0000000
--- a/DevApp/Gs.DevApp/DevFrm/User/SysMenu.resx
+++ /dev/null
@@ -1,120 +0,0 @@
-锘�<?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">
-            <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>
-</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 7e2a371..8e14f84 100644
--- a/DevApp/Gs.DevApp/DevFrm/User/User.cs
+++ b/DevApp/Gs.DevApp/DevFrm/User/User.cs
@@ -1,13 +1,10 @@
-锘縰sing DevExpress.XtraEditors;
-using DevExpress.XtraGrid.Views.Base;
-using DevExpress.XtraGrid.Views.Grid;
+锘縰sing DevExpress.XtraGrid.Views.Grid;
 using DevExpress.XtraGrid.Views.Grid.ViewInfo;
 using Gs.DevApp.Entity;
 using Gs.DevApp.ToolBox;
 using Newtonsoft.Json;
 using System;
 using System.Data;
-using System.Drawing;
 using System.Windows.Forms;
 
 namespace Gs.DevApp.DevFrm.User
@@ -117,7 +114,7 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnEscClick(object sender, EventArgs e)
         {
-            UtilityHelper.ChangeTab(xtraTabControl1, 0);
+            UtilityHelper.JumpToTab(xtraTabControl1, 0);
         }
 
         /// <summary>
@@ -127,26 +124,26 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnDelClick1(object sender, EventArgs e)
         {
-            DataRow dr = gridView1.GetFocusedDataRow();
-            if (dr == null || string.IsNullOrEmpty(dr["guid"].ToString()))
+            string rowGuid, rowName;
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_userName, gridView1);
+            if (string.IsNullOrEmpty(rowGuid))
             {
                 ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
-            if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + dr["userName"].ToString() + "銆戯紝纭畾鍒犻櫎鍚楋紵"))
+            if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + rowName + "銆戯紝纭畾鍒犻櫎鍚楋紵"))
                 return;
             var _obj = new
             {
-                guidList = dr["guid"].ToString(),//涓诲缓
+                guidList = rowGuid,//涓诲缓
             };
-            string strJson = "";
             try
             {
-                strJson = UtilityHelper.HttpPost("", "User/DeleteModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                string strJson = UtilityHelper.HttpPost("", "User/DeleteModel", JsonConvert.SerializeObject(_obj));
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
-                    UtilityHelper.ChangeTab(xtraTabControl1, 0);
+                    UtilityHelper.JumpToTab(xtraTabControl1, 0);
                     getPageList(1, UtilityHelper.GetPageSize());
                 }
                 ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
@@ -164,7 +161,7 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnLoadClick(object sender, EventArgs e)
         {
-            UtilityHelper.ChangeTab(xtraTabControl1, 0);
+            UtilityHelper.JumpToTab(xtraTabControl1, 0);
             getPageList(1, UtilityHelper.GetPageSize());
         }
         /// <summary>
@@ -174,13 +171,14 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnEdtClick(object sender, EventArgs e)
         {
-            DataRow dr = gridView1.GetFocusedDataRow();
-            if (dr == null || string.IsNullOrEmpty(dr["guid"].ToString()))
+            string rowGuid, rowName;
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_userName, gridView1);
+            if (string.IsNullOrEmpty(rowGuid))
             {
                 ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
-            getModel(dr["guid"].ToString(), true, 1);
+            getModel(rowGuid, true, 1);
         }
         /// <summary>
         /// 鏂板浜嬩欢
@@ -189,9 +187,9 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnAddClick(object sender, EventArgs e)
         {
-            UtilityHelper.ChangeTab(xtraTabControl1, 1);
+            UtilityHelper.JumpToTab(xtraTabControl1, 1);
             lbGuid.Text = "";
-            UtilityHelper.CleanValue(this.panel1.Controls, true);
+            UtilityHelper.CleanValueByControl(this.panel1.Controls, true);
             txt_password.Visible = lbPwd.Visible = true;
         }
         /// <summary>
@@ -247,13 +245,13 @@
             try
             {
                 string strJson = UtilityHelper.HttpPost("", "User/EditModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
                 ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
                 if (_rtn.rtnCode > 0)
                 {
                     lbGuid.Text = _rtn.rtnData;
                     toolBarMenu1.isSetBtn = true;
-                    UtilityHelper.ChangeEnable(this.panel1.Controls, false);
+                    UtilityHelper.ChangeEnableByControl(this.panel1.Controls, false);
                 }
             }
             catch (Exception ex)
@@ -274,7 +272,7 @@
             try
             {
                 string strReturn = UtilityHelper.HttpPost("", "User/GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.GetTableByJson(strReturn);
+                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
                 DataTable dt = dd.rtnData.list;
                 gcMain.BindingContext = new BindingContext();
                 gcMain.DataSource = dt;
@@ -298,7 +296,7 @@
                 ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
-            UtilityHelper.ChangeTab(xtraTabControl1, tabIdx);
+            UtilityHelper.JumpToTab(xtraTabControl1, tabIdx);
             var _obj = new
             {
                 guid = strGuid,//涓诲缓
@@ -306,7 +304,7 @@
             try
             {
                 string strJson = UtilityHelper.HttpPost("", "User/GetModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
                     dynamic dy = _rtn.rtnData;
diff --git a/DevApp/Gs.DevApp/DevFrm/User/UserSelectRole.cs b/DevApp/Gs.DevApp/DevFrm/User/UserSelectRole.cs
index e638298..985c8c9 100644
--- a/DevApp/Gs.DevApp/DevFrm/User/UserSelectRole.cs
+++ b/DevApp/Gs.DevApp/DevFrm/User/UserSelectRole.cs
@@ -50,8 +50,8 @@
             string strJson = "";
             try
             {
-                strJson = UtilityHelper.HttpPost("", "MenuAction/SetRoleByUser", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                strJson = UtilityHelper.HttpPost("", "Role/SetUserRole", JsonConvert.SerializeObject(_obj));
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
                 ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnData.outMsg);
                 this.Close();
             }
@@ -70,8 +70,8 @@
             string strReturn = "";
             try
             {
-                strReturn = UtilityHelper.HttpPost("", "MenuAction/GetRoleByUser", JsonConvert.SerializeObject(_obj));
-                ReturnModel<DataTable> dd = UtilityHelper.GetNoPageTableByJson(strReturn);
+                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";
@@ -110,8 +110,8 @@
             string strReturn = "";
             try
             {
-                strReturn = UtilityHelper.HttpPost("", "MenuAction/GetListByUser", JsonConvert.SerializeObject(_obj));
-                ReturnModel<PageListModel> dd = UtilityHelper.GetTableByJson(strReturn);
+                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");
                 foreach (DataRow _dy in drGrp)
diff --git a/DevApp/Gs.DevApp/DevFrm/User/UserSetPwd.cs b/DevApp/Gs.DevApp/DevFrm/User/UserSetPwd.cs
index efe9e25..1db36e1 100644
--- a/DevApp/Gs.DevApp/DevFrm/User/UserSetPwd.cs
+++ b/DevApp/Gs.DevApp/DevFrm/User/UserSetPwd.cs
@@ -55,7 +55,7 @@
             try
             {
                 string strJson = UtilityHelper.HttpPost("", "User/SetUserPass", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
                 ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnData.outMsg);
                 if (_rtn.rtnCode > 0)
                 {
diff --git a/DevApp/Gs.DevApp/DevFrm/Warehouse/FrmDepot.Designer.cs b/DevApp/Gs.DevApp/DevFrm/Warehouse/FrmDepot.Designer.cs
index 96ec057..8c4c221 100644
--- a/DevApp/Gs.DevApp/DevFrm/Warehouse/FrmDepot.Designer.cs
+++ b/DevApp/Gs.DevApp/DevFrm/Warehouse/FrmDepot.Designer.cs
@@ -45,12 +45,13 @@
             this.groupBox1 = new System.Windows.Forms.GroupBox();
             this.gridControl1 = new DevExpress.XtraGrid.GridControl();
             this.gvMx1 = new DevExpress.XtraGrid.Views.Grid.GridView();
-            this.gridColumn1 = new DevExpress.XtraGrid.Columns.GridColumn();
-            this.gridColumn2 = new DevExpress.XtraGrid.Columns.GridColumn();
-            this.gridColumn3 = new DevExpress.XtraGrid.Columns.GridColumn();
+            this.colSectionCode = new DevExpress.XtraGrid.Columns.GridColumn();
+            this.colSectionName = new DevExpress.XtraGrid.Columns.GridColumn();
+            this.colRemark = new DevExpress.XtraGrid.Columns.GridColumn();
             this.gridColumn4 = new DevExpress.XtraGrid.Columns.GridColumn();
             this.gridColumn5 = new DevExpress.XtraGrid.Columns.GridColumn();
-            this.gridColumn6 = new DevExpress.XtraGrid.Columns.GridColumn();
+            this.colIsStatus = new DevExpress.XtraGrid.Columns.GridColumn();
+            this.colGuid = new DevExpress.XtraGrid.Columns.GridColumn();
             this.panel1 = new System.Windows.Forms.Panel();
             this.txt_itemNo = new DevExpress.XtraEditors.TextEdit();
             this.lb_itemNo = new DevExpress.XtraEditors.LabelControl();
@@ -138,7 +139,7 @@
             // 
             // tlcMenuName
             // 
-            this.tlcMenuName.Caption = "浠撳簱鍚嶇О";
+            this.tlcMenuName.Caption = "浠撳簱(搴撲綅)鍚嶇О";
             this.tlcMenuName.FieldName = "name";
             this.tlcMenuName.MinWidth = 38;
             this.tlcMenuName.Name = "tlcMenuName";
@@ -148,7 +149,7 @@
             // 
             // tlcMenuCaption
             // 
-            this.tlcMenuCaption.Caption = "浠撳簱缂栧彿";
+            this.tlcMenuCaption.Caption = "浠撳簱(搴撲綅)缂栧彿";
             this.tlcMenuCaption.FieldName = "itemNo";
             this.tlcMenuCaption.MinWidth = 23;
             this.tlcMenuCaption.Name = "tlcMenuCaption";
@@ -221,9 +222,9 @@
             // 
             this.groupBox1.Controls.Add(this.gridControl1);
             this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.groupBox1.Location = new System.Drawing.Point(0, 166);
+            this.groupBox1.Location = new System.Drawing.Point(0, 160);
             this.groupBox1.Name = "groupBox1";
-            this.groupBox1.Size = new System.Drawing.Size(1126, 429);
+            this.groupBox1.Size = new System.Drawing.Size(1126, 435);
             this.groupBox1.TabIndex = 235;
             this.groupBox1.TabStop = false;
             this.groupBox1.Text = "浠撲綅淇℃伅";
@@ -234,7 +235,7 @@
             this.gridControl1.Location = new System.Drawing.Point(3, 22);
             this.gridControl1.MainView = this.gvMx1;
             this.gridControl1.Name = "gridControl1";
-            this.gridControl1.Size = new System.Drawing.Size(1120, 404);
+            this.gridControl1.Size = new System.Drawing.Size(1120, 410);
             this.gridControl1.TabIndex = 2;
             this.gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] {
             this.gvMx1});
@@ -242,12 +243,13 @@
             // gvMx1
             // 
             this.gvMx1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] {
-            this.gridColumn1,
-            this.gridColumn2,
-            this.gridColumn3,
+            this.colSectionCode,
+            this.colSectionName,
+            this.colRemark,
             this.gridColumn4,
             this.gridColumn5,
-            this.gridColumn6});
+            this.colIsStatus,
+            this.colGuid});
             this.gvMx1.GridControl = this.gridControl1;
             this.gvMx1.Name = "gvMx1";
             this.gvMx1.OptionsBehavior.AllowAddRows = DevExpress.Utils.DefaultBoolean.True;
@@ -255,35 +257,35 @@
             this.gvMx1.OptionsView.NewItemRowPosition = DevExpress.XtraGrid.Views.Grid.NewItemRowPosition.Bottom;
             this.gvMx1.OptionsView.ShowGroupPanel = false;
             // 
-            // gridColumn1
+            // colSectionCode
             // 
-            this.gridColumn1.Caption = "浠撲綅缂栧彿";
-            this.gridColumn1.FieldName = "sectionCode";
-            this.gridColumn1.MinWidth = 25;
-            this.gridColumn1.Name = "gridColumn1";
-            this.gridColumn1.Visible = true;
-            this.gridColumn1.VisibleIndex = 0;
-            this.gridColumn1.Width = 94;
+            this.colSectionCode.Caption = "浠撲綅缂栧彿";
+            this.colSectionCode.FieldName = "sectionCode";
+            this.colSectionCode.MinWidth = 25;
+            this.colSectionCode.Name = "colSectionCode";
+            this.colSectionCode.Visible = true;
+            this.colSectionCode.VisibleIndex = 0;
+            this.colSectionCode.Width = 94;
             // 
-            // gridColumn2
+            // colSectionName
             // 
-            this.gridColumn2.Caption = "浠撲綅鍚嶇О";
-            this.gridColumn2.FieldName = "sectionName";
-            this.gridColumn2.MinWidth = 25;
-            this.gridColumn2.Name = "gridColumn2";
-            this.gridColumn2.Visible = true;
-            this.gridColumn2.VisibleIndex = 1;
-            this.gridColumn2.Width = 94;
+            this.colSectionName.Caption = "浠撲綅鍚嶇О";
+            this.colSectionName.FieldName = "sectionName";
+            this.colSectionName.MinWidth = 25;
+            this.colSectionName.Name = "colSectionName";
+            this.colSectionName.Visible = true;
+            this.colSectionName.VisibleIndex = 1;
+            this.colSectionName.Width = 94;
             // 
-            // gridColumn3
+            // colRemark
             // 
-            this.gridColumn3.Caption = "澶囨敞";
-            this.gridColumn3.FieldName = "remark";
-            this.gridColumn3.MinWidth = 25;
-            this.gridColumn3.Name = "gridColumn3";
-            this.gridColumn3.Visible = true;
-            this.gridColumn3.VisibleIndex = 2;
-            this.gridColumn3.Width = 94;
+            this.colRemark.Caption = "澶囨敞";
+            this.colRemark.FieldName = "remark";
+            this.colRemark.MinWidth = 25;
+            this.colRemark.Name = "colRemark";
+            this.colRemark.Visible = true;
+            this.colRemark.VisibleIndex = 2;
+            this.colRemark.Width = 94;
             // 
             // gridColumn4
             // 
@@ -291,8 +293,9 @@
             this.gridColumn4.FieldName = "createBy";
             this.gridColumn4.MinWidth = 25;
             this.gridColumn4.Name = "gridColumn4";
+            this.gridColumn4.OptionsColumn.ReadOnly = true;
             this.gridColumn4.Visible = true;
-            this.gridColumn4.VisibleIndex = 3;
+            this.gridColumn4.VisibleIndex = 4;
             this.gridColumn4.Width = 94;
             // 
             // gridColumn5
@@ -301,19 +304,29 @@
             this.gridColumn5.FieldName = "createTime";
             this.gridColumn5.MinWidth = 25;
             this.gridColumn5.Name = "gridColumn5";
+            this.gridColumn5.OptionsColumn.ReadOnly = true;
             this.gridColumn5.Visible = true;
-            this.gridColumn5.VisibleIndex = 4;
+            this.gridColumn5.VisibleIndex = 5;
             this.gridColumn5.Width = 94;
             // 
-            // gridColumn6
+            // colIsStatus
             // 
-            this.gridColumn6.Caption = "鐘舵��";
-            this.gridColumn6.FieldName = "isStatusTxt";
-            this.gridColumn6.MinWidth = 25;
-            this.gridColumn6.Name = "gridColumn6";
-            this.gridColumn6.Visible = true;
-            this.gridColumn6.VisibleIndex = 5;
-            this.gridColumn6.Width = 94;
+            this.colIsStatus.Caption = "鐘舵��";
+            this.colIsStatus.FieldName = "isStatusTxt";
+            this.colIsStatus.MinWidth = 25;
+            this.colIsStatus.Name = "colIsStatus";
+            this.colIsStatus.Visible = true;
+            this.colIsStatus.VisibleIndex = 3;
+            this.colIsStatus.Width = 94;
+            // 
+            // colGuid
+            // 
+            this.colGuid.Caption = "gridColumn1";
+            this.colGuid.FieldName = "guid";
+            this.colGuid.MinWidth = 25;
+            this.colGuid.Name = "colGuid";
+            this.colGuid.OptionsColumn.ReadOnly = true;
+            this.colGuid.Width = 94;
             // 
             // panel1
             // 
@@ -336,12 +349,12 @@
             this.panel1.Font = new System.Drawing.Font("Tahoma", 10F);
             this.panel1.Location = new System.Drawing.Point(0, 0);
             this.panel1.Name = "panel1";
-            this.panel1.Size = new System.Drawing.Size(1126, 166);
+            this.panel1.Size = new System.Drawing.Size(1126, 160);
             this.panel1.TabIndex = 1;
             // 
             // txt_itemNo
             // 
-            this.txt_itemNo.Location = new System.Drawing.Point(105, 35);
+            this.txt_itemNo.Location = new System.Drawing.Point(105, 30);
             this.txt_itemNo.Name = "txt_itemNo";
             this.txt_itemNo.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
             this.txt_itemNo.Properties.Appearance.Options.UseFont = true;
@@ -353,7 +366,7 @@
             // 
             this.lb_itemNo.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
             this.lb_itemNo.Appearance.Options.UseFont = true;
-            this.lb_itemNo.Location = new System.Drawing.Point(14, 39);
+            this.lb_itemNo.Location = new System.Drawing.Point(14, 34);
             this.lb_itemNo.Name = "lb_itemNo";
             this.lb_itemNo.Size = new System.Drawing.Size(85, 21);
             this.lb_itemNo.TabIndex = 211;
@@ -363,7 +376,7 @@
             // txt_category
             // 
             this.txt_category.EditValue = "-璇烽�夋嫨-";
-            this.txt_category.Location = new System.Drawing.Point(105, 115);
+            this.txt_category.Location = new System.Drawing.Point(105, 110);
             this.txt_category.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
             this.txt_category.Name = "txt_category";
             this.txt_category.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
@@ -381,7 +394,7 @@
             // txt_isStatus
             // 
             this.txt_isStatus.EditValue = "-璇烽�夋嫨-";
-            this.txt_isStatus.Location = new System.Drawing.Point(389, 77);
+            this.txt_isStatus.Location = new System.Drawing.Point(389, 72);
             this.txt_isStatus.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
             this.txt_isStatus.Name = "txt_isStatus";
             this.txt_isStatus.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
@@ -393,12 +406,12 @@
             "姝e父",
             "閿佸畾"});
             this.txt_isStatus.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
-            this.txt_isStatus.Size = new System.Drawing.Size(127, 28);
+            this.txt_isStatus.Size = new System.Drawing.Size(150, 28);
             this.txt_isStatus.TabIndex = 232;
             // 
             // txt_name
             // 
-            this.txt_name.Location = new System.Drawing.Point(105, 77);
+            this.txt_name.Location = new System.Drawing.Point(105, 72);
             this.txt_name.Name = "txt_name";
             this.txt_name.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
             this.txt_name.Properties.Appearance.Options.UseFont = true;
@@ -410,7 +423,7 @@
             // 
             this.lb_isWy.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
             this.lb_isWy.Appearance.Options.UseFont = true;
-            this.lb_isWy.Location = new System.Drawing.Point(298, 39);
+            this.lb_isWy.Location = new System.Drawing.Point(298, 34);
             this.lb_isWy.Name = "lb_isWy";
             this.lb_isWy.Size = new System.Drawing.Size(85, 21);
             this.lb_isWy.TabIndex = 220;
@@ -420,7 +433,7 @@
             // txt_isWy
             // 
             this.txt_isWy.EditValue = "-璇烽�夋嫨-";
-            this.txt_isWy.Location = new System.Drawing.Point(389, 35);
+            this.txt_isWy.Location = new System.Drawing.Point(389, 30);
             this.txt_isWy.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
             this.txt_isWy.Name = "txt_isWy";
             this.txt_isWy.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
@@ -432,14 +445,14 @@
             "鏄澶栦粨",
             "涓嶆槸濮斿浠�"});
             this.txt_isWy.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
-            this.txt_isWy.Size = new System.Drawing.Size(127, 28);
+            this.txt_isWy.Size = new System.Drawing.Size(150, 28);
             this.txt_isWy.TabIndex = 233;
             // 
             // lb_isStatus
             // 
             this.lb_isStatus.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
             this.lb_isStatus.Appearance.Options.UseFont = true;
-            this.lb_isStatus.Location = new System.Drawing.Point(332, 81);
+            this.lb_isStatus.Location = new System.Drawing.Point(332, 76);
             this.lb_isStatus.Name = "lb_isStatus";
             this.lb_isStatus.Size = new System.Drawing.Size(51, 21);
             this.lb_isStatus.TabIndex = 231;
@@ -450,7 +463,7 @@
             // 
             this.lb_name.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
             this.lb_name.Appearance.Options.UseFont = true;
-            this.lb_name.Location = new System.Drawing.Point(14, 81);
+            this.lb_name.Location = new System.Drawing.Point(14, 76);
             this.lb_name.Name = "lb_name";
             this.lb_name.Size = new System.Drawing.Size(85, 21);
             this.lb_name.TabIndex = 216;
@@ -461,7 +474,7 @@
             // 
             this.lb_category.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
             this.lb_category.Appearance.Options.UseFont = true;
-            this.lb_category.Location = new System.Drawing.Point(48, 118);
+            this.lb_category.Location = new System.Drawing.Point(48, 113);
             this.lb_category.Name = "lb_category";
             this.lb_category.Size = new System.Drawing.Size(51, 21);
             this.lb_category.TabIndex = 226;
@@ -471,14 +484,14 @@
             // lbGuid
             // 
             this.lbGuid.AutoSize = true;
-            this.lbGuid.Location = new System.Drawing.Point(708, 35);
+            this.lbGuid.Location = new System.Drawing.Point(708, 30);
             this.lbGuid.Name = "lbGuid";
             this.lbGuid.Size = new System.Drawing.Size(0, 21);
             this.lbGuid.TabIndex = 1;
             // 
             // txt_remark
             // 
-            this.txt_remark.Location = new System.Drawing.Point(389, 115);
+            this.txt_remark.Location = new System.Drawing.Point(389, 110);
             this.txt_remark.Name = "txt_remark";
             this.txt_remark.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
             this.txt_remark.Properties.Appearance.Options.UseFont = true;
@@ -490,7 +503,7 @@
             // 
             this.lb_remark.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
             this.lb_remark.Appearance.Options.UseFont = true;
-            this.lb_remark.Location = new System.Drawing.Point(332, 119);
+            this.lb_remark.Location = new System.Drawing.Point(332, 114);
             this.lb_remark.Name = "lb_remark";
             this.lb_remark.Size = new System.Drawing.Size(51, 21);
             this.lb_remark.TabIndex = 217;
@@ -499,7 +512,7 @@
             // 
             // labelControl11
             // 
-            this.labelControl11.Location = new System.Drawing.Point(657, 38);
+            this.labelControl11.Location = new System.Drawing.Point(657, 33);
             this.labelControl11.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
             this.labelControl11.Name = "labelControl11";
             this.labelControl11.Size = new System.Drawing.Size(45, 18);
@@ -564,11 +577,12 @@
         private DevExpress.XtraEditors.LabelControl lb_isWy;
         private DevExpress.XtraGrid.GridControl gridControl1;
         private DevExpress.XtraGrid.Views.Grid.GridView gvMx1;
-        private DevExpress.XtraGrid.Columns.GridColumn gridColumn1;
-        private DevExpress.XtraGrid.Columns.GridColumn gridColumn2;
-        private DevExpress.XtraGrid.Columns.GridColumn gridColumn3;
+        private DevExpress.XtraGrid.Columns.GridColumn colSectionCode;
+        private DevExpress.XtraGrid.Columns.GridColumn colSectionName;
+        private DevExpress.XtraGrid.Columns.GridColumn colRemark;
         private DevExpress.XtraGrid.Columns.GridColumn gridColumn4;
         private DevExpress.XtraGrid.Columns.GridColumn gridColumn5;
-        private DevExpress.XtraGrid.Columns.GridColumn gridColumn6;
+        private DevExpress.XtraGrid.Columns.GridColumn colIsStatus;
+        private DevExpress.XtraGrid.Columns.GridColumn colGuid;
     }
 }
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/Warehouse/FrmDepot.cs b/DevApp/Gs.DevApp/DevFrm/Warehouse/FrmDepot.cs
index 2056e48..bb2ac9a 100644
--- a/DevApp/Gs.DevApp/DevFrm/Warehouse/FrmDepot.cs
+++ b/DevApp/Gs.DevApp/DevFrm/Warehouse/FrmDepot.cs
@@ -1,4 +1,5 @@
 锘縰sing DevExpress.XtraGrid.Columns;
+using DevExpress.XtraGrid.Views.Grid.ViewInfo;
 using DevExpress.XtraTreeList;
 using DevExpress.XtraTreeList.Nodes;
 using Gs.DevApp.Entity;
@@ -8,6 +9,7 @@
 using System;
 using System.Collections.Generic;
 using System.Data;
+using System.Windows.Controls;
 using System.Windows.Forms;
 
 namespace Gs.DevApp.DevFrm.Warehouse
@@ -107,7 +109,7 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnEscClick(object sender, EventArgs e)
         {
-            UtilityHelper.ChangeTab(xtraTabControl1, 0);
+            UtilityHelper.JumpToTab(xtraTabControl1, 0);
         }
         /// <summary>
         /// 鍒犻櫎浜嬩欢
@@ -116,13 +118,14 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnDelClick1(object sender, EventArgs e)
         {
-            String rowGuid = Convert.ToString(tlMenu.FocusedNode.GetValue("guid"));
+            string rowGuid, rowName;
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_name, tlMenu);
             if (string.IsNullOrEmpty(rowGuid))
             {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鍒犻櫎鐨勮锛�");
+                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
-            if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + tlMenu.FocusedNode.GetValue("name") + "銆戯紝纭畾鍒犻櫎鍚楋紵"))
+            if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + rowName + "銆戯紝纭畾鍒犻櫎鍚楋紵"))
             {
                 return;
             }
@@ -130,14 +133,13 @@
             {
                 guidList = rowGuid,//涓诲缓
             };
-            string strJson = "";
             try
             {
-                strJson = UtilityHelper.HttpPost("", "Depot/DeleteModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                string strJson = UtilityHelper.HttpPost("", "Depot/DeleteModel", JsonConvert.SerializeObject(_obj));
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
-                    UtilityHelper.ChangeTab(xtraTabControl1, 0);
+                    UtilityHelper.JumpToTab(xtraTabControl1, 0);
                     getPageList(1, UtilityHelper.GetPageSize());
                 }
                 ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
@@ -154,7 +156,7 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnLoadClick(object sender, EventArgs e)
         {
-            UtilityHelper.ChangeTab(xtraTabControl1, 0);
+            UtilityHelper.JumpToTab(xtraTabControl1, 0);
             getPageList(1, UtilityHelper.GetPageSize());
         }
         /// <summary>
@@ -164,8 +166,11 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnEdtClick(object sender, EventArgs e)
         {
-            String rowGuid = Convert.ToString(tlMenu.FocusedNode.GetValue("guid"));
-            string depotGuid = Convert.ToString(tlMenu.FocusedNode.GetValue("upGuid"));
+            string rowGuid, rowName;
+            (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_name, tlMenu);
+            string depotGuid = "";
+            if (tlMenu.FocusedNode != null)
+                depotGuid = Convert.ToString(tlMenu.FocusedNode.GetValue("upGuid"));
             if (!string.IsNullOrEmpty(depotGuid))
                 rowGuid = depotGuid;
             if (string.IsNullOrEmpty(rowGuid))
@@ -182,19 +187,12 @@
         /// <param name="e"></param>
         private void ToolBarMenu1_btnAddClick(object sender, EventArgs e)
         {
-            UtilityHelper.ChangeTab(xtraTabControl1, 1);
+            UtilityHelper.JumpToTab(xtraTabControl1, 1);
             lbGuid.Text = "";
             List<DevExpress.XtraGrid.Views.Grid.GridView> gridViews = new List<DevExpress.XtraGrid.Views.Grid.GridView>();
             gridViews.Add(gvMx1);
-            UtilityHelper.CleanValue(this.panel1.Controls, true, gridViews);
-            DataTable dt = new DataTable();
-            foreach (GridColumn col in gvMx1.Columns)
-            {
-                dt.Columns.Add(col.FieldName, typeof(string));
-            }
-            gridControl1.BindingContext = new BindingContext();
-            gridControl1.DataSource = dt;
-            gridControl1.ForceInitialize();
+            UtilityHelper.CleanValueByControl(this.panel1.Controls, true, gridViews);
+            _setTable();
         }
         /// <summary>
         /// 淇濆瓨浜嬩欢
@@ -206,7 +204,7 @@
             toolBarMenu1.isSetBtn = false;
             if (string.IsNullOrEmpty(txt_itemNo.Text.Trim()))
             {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("缂栧彿鍙蜂笉鑳戒负绌猴紒");
+                Gs.DevApp.ToolBox.MsgHelper.Warning("缂栧彿涓嶈兘涓虹┖锛�");
                 txt_itemNo.Focus();
                 return;
             }
@@ -234,6 +232,23 @@
                 txt_isStatus.Focus();
                 return;
             }
+            gvMx1.UpdateCurrentRow();
+            List<dynamic> lst = new List<dynamic>();
+            for (int i = 0; i < gvMx1.DataRowCount; i++)
+            {
+                DataRow row = gvMx1.GetDataRow(i);
+                if (row != null)
+                {
+                    lst.Add(new
+                    {
+                        guid = row["guid"].ToString(),
+                        sectionCode = row["sectionCode"].ToString(),
+                        sectionName = row["sectionName"].ToString(),
+                        remark = row["remark"].ToString(),
+                        isStatus = row["isStatusTxt"].ToString(),
+                    });
+                }
+            }
             var _obj = new
             {
                 guid = lbGuid.Text.Trim(),//涓诲缓
@@ -243,11 +258,12 @@
                 category = txt_category.SelectedIndex,
                 isWy = txt_isWy.SelectedIndex,
                 isStatus = txt_isStatus.SelectedIndex,
+                list = lst
             };
             try
             {
                 string strJson = UtilityHelper.HttpPost("", "Depot/EditModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
                 ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
                 if (_rtn.rtnCode > 0)
                 {
@@ -255,7 +271,7 @@
                     toolBarMenu1.isSetBtn = true;
                     List<DevExpress.XtraGrid.Views.Grid.GridView> gridViews = new List<DevExpress.XtraGrid.Views.Grid.GridView>();
                     gridViews.Add(gvMx1);
-                    UtilityHelper.ChangeEnable(this.panel1.Controls, false, gridViews);
+                    UtilityHelper.ChangeEnableByControl(this.panel1.Controls, false, gridViews);
                 }
             }
             catch (Exception ex)
@@ -275,7 +291,7 @@
             try
             {
                 string strReturn = UtilityHelper.HttpPost("", "Depot/GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.GetTableByJson(strReturn);
+                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
                 DataTable dt = dd.rtnData.list;
                 this.tlMenu.DataSource = dt;
                 this.tlMenu.KeyFieldName = "guid";
@@ -303,7 +319,7 @@
                 ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
                 return;
             }
-            UtilityHelper.ChangeTab(xtraTabControl1, tabIdx);
+            UtilityHelper.JumpToTab(xtraTabControl1, tabIdx);
             var _obj = new
             {
                 guid = strGuid,//涓诲缓
@@ -311,7 +327,7 @@
             try
             {
                 string strJson = UtilityHelper.HttpPost("", "Depot/GetModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
                 if (_rtn.rtnCode > 0)
                 {
                     dynamic dy = _rtn.rtnData;
@@ -327,9 +343,16 @@
                         array.Add(a);
                     }
                     DataTable dt = JsonConvert.DeserializeObject<DataTable>(array.ToString());
-                    gridControl1.BindingContext = new BindingContext();
-                    gridControl1.DataSource = dt;
-                    gridControl1.ForceInitialize();
+                    if (dt.Rows.Count > 0)
+                    {
+                        gridControl1.BindingContext = new BindingContext();
+                        gridControl1.DataSource = dt;
+                        gridControl1.ForceInitialize();
+                    }
+                    else
+                    {
+                        _setTable();
+                    }
                 }
                 else
                     ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
@@ -340,6 +363,17 @@
             }
         }
 
+        private void _setTable()
+        {
+            DataTable dt = new DataTable();
+            foreach (GridColumn col in gvMx1.Columns)
+            {
+                dt.Columns.Add(col.FieldName, typeof(string));
+            }
+            gridControl1.BindingContext = new BindingContext();
+            gridControl1.DataSource = dt;
+            gridControl1.ForceInitialize();
+        }
     }
 }
 
diff --git a/DevApp/Gs.DevApp/Gs.DevApp.csproj b/DevApp/Gs.DevApp/Gs.DevApp.csproj
index 2e16884..09d6ab5 100644
--- a/DevApp/Gs.DevApp/Gs.DevApp.csproj
+++ b/DevApp/Gs.DevApp/Gs.DevApp.csproj
@@ -217,10 +217,10 @@
     <Compile Include="DevFrm\Sys\SysLog.Designer.cs">
       <DependentUpon>SysLog.cs</DependentUpon>
     </Compile>
-    <Compile Include="DevFrm\User\Organization.cs">
+    <Compile Include="DevFrm\Sys\Organization.cs">
       <SubType>Form</SubType>
     </Compile>
-    <Compile Include="DevFrm\User\Organization.Designer.cs">
+    <Compile Include="DevFrm\Sys\Organization.Designer.cs">
       <DependentUpon>Organization.cs</DependentUpon>
     </Compile>
     <Compile Include="DevFrm\User\Role.cs">
@@ -229,10 +229,10 @@
     <Compile Include="DevFrm\User\Role.Designer.cs">
       <DependentUpon>Role.cs</DependentUpon>
     </Compile>
-    <Compile Include="DevFrm\User\SysMenu.cs">
+    <Compile Include="DevFrm\Sys\SysMenu.cs">
       <SubType>Form</SubType>
     </Compile>
-    <Compile Include="DevFrm\User\SysMenu.Designer.cs">
+    <Compile Include="DevFrm\Sys\SysMenu.Designer.cs">
       <DependentUpon>SysMenu.cs</DependentUpon>
     </Compile>
     <Compile Include="DevFrm\User\User.cs">
@@ -348,13 +348,13 @@
     <EmbeddedResource Include="DevFrm\Sys\SysLog.resx">
       <DependentUpon>SysLog.cs</DependentUpon>
     </EmbeddedResource>
-    <EmbeddedResource Include="DevFrm\User\Organization.resx">
+    <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\User\SysMenu.resx">
+    <EmbeddedResource Include="DevFrm\Sys\SysMenu.resx">
       <DependentUpon>SysMenu.cs</DependentUpon>
     </EmbeddedResource>
     <EmbeddedResource Include="DevFrm\User\User.resx">
@@ -440,9 +440,6 @@
     <None Include="Resources\doubleprev_16x16.png" />
     <None Include="Resources\doublenext_16x16.png" />
     <None Include="Resources\last_16x16.png" />
-    <None Include="Resources\login_bg2.png" />
-    <None Include="Resources\login_bg1.png" />
-    <None Include="Resources\login_bg222.png" />
     <None Include="Resources\login_bg6.png" />
     <None Include="Resources\publicfix_32x32.png" />
     <None Include="Resources\groupbyresource_32x32.png" />
@@ -466,7 +463,6 @@
     <None Include="Resources\formatnumbertime_16x16.png" />
     <None Include="Resources\find_32x32.png" />
     <None Include="Resources\find_16x16.png" />
-    <None Include="Resources\enablesearch.svg" />
     <None Include="Resources\employee_32x32.png" />
     <None Include="Resources\boposition2_16x16.png" />
     <None Include="Resources\newitem_16x16.png" />
diff --git a/DevApp/Gs.DevApp/Service/MesItemServices.cs b/DevApp/Gs.DevApp/Service/MesItemServices.cs
index ef30a70..79f29b1 100644
--- a/DevApp/Gs.DevApp/Service/MesItemServices.cs
+++ b/DevApp/Gs.DevApp/Service/MesItemServices.cs
@@ -22,7 +22,7 @@
             try
             {
                 strReturn = UtilityHelper.HttpPost("", "MesItemsManager/GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.GetTableByJson(strReturn);
+                ReturnModel<PageListModel> dd = UtilityHelper.ReturnToTablePage(strReturn);
                 return dd;
             }
             catch (Exception ex)
diff --git a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
index 83f1141..38b4766 100644
--- a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
+++ b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
@@ -15,7 +15,6 @@
 using DevExpress.XtraEditors;
 using DevExpress.XtraTab;
 using System.Text.RegularExpressions;
-using System.Xml;
 using System.Collections.Generic;
 
 namespace Gs.DevApp.ToolBox
@@ -75,6 +74,17 @@
             }
             return responseStr;
         }
+
+        /// <summary>
+        /// 璇诲彇榛樿椤靛ぇ灏�
+        /// </summary>
+        /// <returns></returns>
+        public static int GetPageSize()
+        {
+            return 50;
+            // return int.Parse(System.Configuration.ConfigurationSettings.AppSettings.Get("PageSize").ToString());
+        }
+
         /// <summary>
         /// 鏍规嵁鍥剧墖鍚嶈鍙栬祫婧愭枃浠�,涓嶅甫鍚庣紑鍚�
         /// </summary>
@@ -114,11 +124,11 @@
             return token;
         }
         /// <summary>
-        /// 鏍囧噯json涓茶繑鍥濺eturnModel-->table锛�
+        /// 鏍囧噯json杩斿洖ReturnModel-->鍖呭惈TablePage鍒嗛〉锛�
         /// </summary>
         /// <param name="strReturn"></param>
         /// <returns></returns>
-        public static ReturnModel<PageListModel> GetTableByJson(string strReturn)
+        public static ReturnModel<PageListModel> ReturnToTablePage(string strReturn)
         {
             ReturnModel<PageListModel> rto = new ReturnModel<PageListModel>();
             JObject json = JObject.Parse(strReturn);
@@ -139,11 +149,11 @@
             return rto;
         }
         /// <summary>
-        /// 鏍囧噯json涓茶繑鍥濺eturnModel->瀛楃涓诧紝
+        /// 鏍囧噯json杩斿洖ReturnModel锛�
         /// </summary>
         /// <param name="strReturn"></param>
         /// <returns></returns>
-        public static ReturnModel<dynamic> GetDataByJson(string strReturn)
+        public static ReturnModel<dynamic> ReturnToDynamic(string strReturn)
         {
             ReturnModel<dynamic> rto = new ReturnModel<dynamic>();
             JObject json = JObject.Parse(strReturn);
@@ -154,11 +164,11 @@
         }
 
         /// <summary>
-        /// 鏍囧噯json涓茶繑鍥濺eturnModel-->table锛�
+        /// 鏍囧噯json涓茶繑鍥濺eturnModel-->浠呬粎鏈塴ist,涓嶅垎椤碉紝
         /// </summary>
         /// <param name="strReturn"></param>
         /// <returns></returns>
-        public static ReturnModel<DataTable> GetNoPageTableByJson(string strReturn)
+        public static ReturnModel<DataTable> ReturnToList(string strReturn)
         {
             ReturnModel<DataTable> rto = new ReturnModel<DataTable>();
             JObject json = JObject.Parse(strReturn);
@@ -174,17 +184,6 @@
             DataTable dt = JsonConvert.DeserializeObject<DataTable>(array.ToString());
             rto.rtnData = dt;
             return rto;
-        }
-
-
-        /// <summary>
-        /// 璇诲彇榛樿椤靛ぇ灏�
-        /// </summary>
-        /// <returns></returns>
-        public static int GetPageSize()
-        {
-            return 50;
-            // return int.Parse(System.Configuration.ConfigurationSettings.AppSettings.Get("PageSize").ToString());
         }
 
         /// <summary>
@@ -297,7 +296,7 @@
         /// </summary>
         /// <param name="controls">controls:涓篻roupBox1.Controls/panel1.Controls</param>
         /// <param name="isEdt">鏄惁鍙紪杈�</param>
-        public static void CleanValue(ControlCollection controls, Boolean isEdt, List<DevExpress.XtraGrid.Views.Grid.GridView> gridViews = null)
+        public static void CleanValueByControl(ControlCollection controls, Boolean isEdt, List<DevExpress.XtraGrid.Views.Grid.GridView> gridViews = null)
         {
             if (gridViews != null)
             {
@@ -342,7 +341,7 @@
         /// </summary>
         /// <param name="controls">controls:涓篻roupBox1.Controls/panel1.Controls</param>
         /// <param name="isEdt">鏄惁鍙紪杈�</param>
-        public static void ChangeEnable(ControlCollection controls, Boolean isEdt, List<DevExpress.XtraGrid.Views.Grid.GridView> gridViews = null)
+        public static void ChangeEnableByControl(ControlCollection controls, Boolean isEdt, List<DevExpress.XtraGrid.Views.Grid.GridView> gridViews = null)
         {
             if (gridViews != null)
             {
@@ -351,8 +350,10 @@
                     gv.OptionsBehavior.Editable = isEdt;
                 }
             }
+          
             foreach (Control ctrl in controls)
             {
+                ctrl.Enabled = isEdt;
                 //鏂囨湰
                 if (ctrl is TextEdit)
                 {
@@ -379,7 +380,7 @@
         /// </summary>
         /// <param name="tabControl">閫夐」鍗″鍣�</param>
         /// <param name="idx">浠�0寮�濮嬶紝濡傛灉鏄�999锛屽垯鍏ㄩ儴鍙敤</param>
-        public static void ChangeTab(XtraTabControl tabControl, int idx)
+        public static void JumpToTab(XtraTabControl tabControl, int idx)
         {
             if (idx == 999)
             {
@@ -397,7 +398,6 @@
             tabControl.TabPages[idx].PageEnabled = true;
             tabControl.SelectedTabPageIndex = idx;
         }
-
 
         public static void TreeViewCheck(TreeViewEventArgs e)
         {
@@ -459,45 +459,114 @@
             string dd = Regex.Replace(propertyName, @"_([a-z])", m => m.Groups[1].Value.ToUpper());
             return dd;
         }
-        public static void UpdateAppConfig(string key, string newValue)
-        {
-            string configFile = AppDomain.CurrentDomain.SetupInformation.ConfigurationFile;
-            XmlDocument xmlDoc = new XmlDocument();
-            xmlDoc.Load(configFile);
 
-            XmlNode node = xmlDoc.SelectSingleNode($"//appSettings//add[@key='{key}']");
-            if (node != null)
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="xtraTabControl1"></param>
+        /// <param name="lbGuid">缂栬緫妗嗕腑鐨勪富閿悕</param>
+        /// <param name="txtName">缂栬緫妗嗕腑鐨勬枃鏈鍚�</param>
+        /// <param name="gridView1"></param>
+        /// <param name="gridRowName">鍒楄〃涓殑鏂囨湰鍒楀悕</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
+            , int SelectedTabPageIndex = 1)
+        {
+            string _strGuid = "";
+            string _strName = "";
+            if (xtraTabControl1.SelectedTabPageIndex == SelectedTabPageIndex && lbGuid.Text.Length > 10)
             {
-                XmlAttribute attribute = node as XmlAttribute;
-                attribute.Value = newValue;
-                xmlDoc.Save(configFile);
+                _strGuid = lbGuid.Text.Trim();
+                _strName = txtName.Text.Trim();
             }
+            else
+            {
+                DataRow dr = gridView1.GetFocusedDataRow();
+                if (dr == null || string.IsNullOrEmpty(dr["guid"].ToString()))
+                {
+
+                }
+                else {
+                    _strGuid = dr["guid"].ToString();
+                    _strName = dr[1].ToString();
+                }
+            }
+            return (_strGuid, _strName);
         }
-        public class CboItemEntity
+        public static (string, string) GetCurrentRow(XtraTabControl xtraTabControl1
+            , System.Windows.Forms.Label lbGuid
+            , DevExpress.XtraEditors.TextEdit txtName
+            , System.Windows.Forms.TreeView tlMenu
+            , int SelectedTabPageIndex = 1)
         {
-            private object _text = 0;
-            private object _Value = "";
-            /// <summary>
-            /// 鏄剧ず鍊�
-            /// </summary>
-            public object Text
+            string _strGuid = "";
+            string _strName = "";
+            if (xtraTabControl1.SelectedTabPageIndex == SelectedTabPageIndex && lbGuid.Text.Length > 10)
             {
-                get { return this._text; }
-                set { this._text = value; }
+                _strGuid = lbGuid.Text.Trim();
+                _strName = txtName.Text.Trim();
             }
-            /// <summary>
-            /// 瀵硅薄鍊�
-            /// </summary>
-            public object Value
+            else
             {
-                get { return this._Value; }
-                set { this._Value = value; }
+                TreeNode clickedNode = tlMenu.SelectedNode;
+                if (clickedNode != null)
+                {
+                    _strGuid = clickedNode.Name.ToString();
+                    _strName = clickedNode.Text.Trim();
+                }
             }
+            return (_strGuid, _strName);
+        }
+        public static (string, string) GetCurrentRow(XtraTabControl xtraTabControl1
+            , System.Windows.Forms.Label lbGuid
+             , DevExpress.XtraEditors.TextEdit txtName
+            , DevExpress.XtraTreeList.TreeList tlMenu
+            , int SelectedTabPageIndex = 1)
+        {
+            string _strGuid = "";
+            string _strName = "";
+            if (xtraTabControl1.SelectedTabPageIndex == SelectedTabPageIndex && lbGuid.Text.Length > 10)
+            {
+                _strGuid = lbGuid.Text.Trim();
+                _strName = txtName.Text.Trim();
+            }
+            else
+            {
+                _strGuid = tlMenu.FocusedNode.GetValue("guid").ToString();
+                _strName = tlMenu.FocusedNode.GetValue(0).ToString();
+            }
+            return (_strGuid, _strName);
+        }
+    }
 
-            public override string ToString()
-            {
-                return this.Text.ToString();
-            }
+    public class CboItemEntity
+    {
+        private object _text = 0;
+        private object _Value = "";
+        /// <summary>
+        /// 鏄剧ず鍊�
+        /// </summary>
+        public object Text
+        {
+            get { return this._text; }
+            set { this._text = value; }
+        }
+        /// <summary>
+        /// 瀵硅薄鍊�
+        /// </summary>
+        public object Value
+        {
+            get { return this._Value; }
+            set { this._Value = value; }
+        }
+
+        public override string ToString()
+        {
+            return this.Text.ToString();
         }
     }
 }
diff --git a/DevApp/Gs.DevApp/UserControl/ToolBarMenu.cs b/DevApp/Gs.DevApp/UserControl/ToolBarMenu.cs
index 9fc2707..c1db253 100644
--- a/DevApp/Gs.DevApp/UserControl/ToolBarMenu.cs
+++ b/DevApp/Gs.DevApp/UserControl/ToolBarMenu.cs
@@ -1,5 +1,4 @@
 锘縰sing DevExpress.XtraBars;
-using DevExpress.XtraEditors;
 using Gs.DevApp.Entity;
 using Gs.DevApp.ToolBox;
 using Newtonsoft.Json;
@@ -119,18 +118,6 @@
                 getNamespace();
             }
         }
-        //private void initialization()
-        //{
-        //    List<string> lst = new List<string>();
-        //    //lst.Add(btnAdd.Name);
-        //    //lst.Add(btnEdit.Name);
-        //    //lst.Add(btnLoad.Name);
-        //    //lst.Add(btnDel.Name);
-        //    //lst.Add(btnRole.Name);
-        //    //lst.Add(btnReport.Name);
-        //    //lst.Add(btnQuery.Name);
-        //    setBtn(lst);
-        //}
 
         private void BtnEsc_ItemClick(object sender, ItemClickEventArgs e)
         {
@@ -277,8 +264,8 @@
             string strReturn = "";
             try
             {
-                strReturn = UtilityHelper.HttpPost("", "MenuAction/GetListByUserOrgSpace", JsonConvert.SerializeObject(_obj));
-                ReturnModel<DataTable> dd = UtilityHelper.GetNoPageTableByJson(strReturn);
+                strReturn = UtilityHelper.HttpPost("", "Role/GetListByUserOrgSpace", JsonConvert.SerializeObject(_obj));
+                ReturnModel<DataTable> dd = UtilityHelper.ReturnToList(strReturn);
                 DataTable dt = dd.rtnData;
                 List<string> _enabledList = new List<string>();
                 foreach (BarItem item in barManager1.Items)

--
Gitblit v1.9.3