From 3d6533f1381e3e513ffb3d65bf34fb254f967088 Mon Sep 17 00:00:00 2001
From: lg <999544862qq.com>
Date: 星期五, 06 九月 2024 11:39:04 +0800
Subject: [PATCH] 优化系统模块下面的增删改查

---
 DevApp/Gs.DevApp/DevFrm/User/Role.Designer.cs         |  371 ++++-
 DevApp/Gs.DevApp/App.config                           |    1 
 DevApp/Gs.DevApp/DevFrm/User/SysMenu.Designer.cs      |  408 +++++
 DevApp/Gs.DevApp/DevFrm/FrmMain.Designer.cs           |   13 
 DevApp/Gs.DevApp/UserControl/ToolBarMenu.resx         |  108 
 DevApp/Gs.DevApp/DevFrm/User/SysMenu.resx             |    3 
 DevApp/Gs.DevApp/DevFrm/User/Organization.cs          |  235 +++
 DevApp/Gs.DevApp/DevFrm/User/SysMenu.cs               |  201 ++
 DevApp/Gs.DevApp/Program.cs                           |   29 
 DevApp/Gs.DevApp/DevFrm/FrmMain.cs                    |   92 
 DevApp/Gs.DevApp/UserControl/ToolBarMenu.cs           |  102 +
 DevApp/Gs.DevApp/DevFrm/FrmLogin.Designer.cs          |   35 
 DevApp/Gs.DevApp/DevFrm/BasicData/FrmMesItems.cs      |    4 
 DevApp/Gs.DevApp/UserControl/PageBar.cs               |   16 
 DevApp/Gs.DevApp/Gs.DevApp.csproj                     |   32 
 DevApp/Gs.DevApp/DevFrm/User/Organization.Designer.cs |  481 ++++---
 DevApp/Gs.DevApp/Models/LoginInfoModel.cs             |    6 
 DevApp/Gs.DevApp/DevFrm/User/User.Designer.cs         |  373 +++++
 DevApp/Gs.DevApp/DevFrm/User/User.cs                  |  246 +++
 DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs             |  163 ++
 /dev/null                                             |  120 -
 DevApp/Gs.DevApp/DevFrm/FrmLogin.cs                   |   45 
 DevApp/Gs.DevApp/Properties/Resources1.Designer.cs    |   40 
 DevApp/Gs.DevApp/UserControl/ToolBarMenu.Designer.cs  |  189 +-
 DevApp/Gs.DevApp/Properties/Resources.resx            |   38 
 DevApp/Gs.DevApp/DevFrm/User/Role.cs                  |  324 ++++
 DevApp/Gs.DevApp/Properties/licenses.licx             |   17 
 27 files changed, 2,770 insertions(+), 922 deletions(-)

diff --git a/DevApp/Gs.DevApp/App.config b/DevApp/Gs.DevApp/App.config
index 876599f..b8f9161 100644
--- a/DevApp/Gs.DevApp/App.config
+++ b/DevApp/Gs.DevApp/App.config
@@ -22,5 +22,6 @@
 		<add key="WebApiUrl" value="http://localhost:5263/"/>
 		<add key="LogPath" value="logs"/>
 		<add key="ProductName" value="骞挎繁绉戞妧 G-MES V2.0"/>
+	    <add key="PageSize" value="50"/>
 	</appSettings>
 </configuration>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/BasicData/FrmMesItems.cs b/DevApp/Gs.DevApp/DevFrm/BasicData/FrmMesItems.cs
index c3e15aa..0d78b7a 100644
--- a/DevApp/Gs.DevApp/DevFrm/BasicData/FrmMesItems.cs
+++ b/DevApp/Gs.DevApp/DevFrm/BasicData/FrmMesItems.cs
@@ -24,11 +24,11 @@
         {
             InitializeComponent();
             toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
-            pageBar1.williamPagerEvent += PageBar1_williamPagerEvent;
+            pageBar1.PagerEvent += PageBar1_PagerEvent;
             gcSummary.DataSource = MesItemsDT;
         }
 
-        private void PageBar1_williamPagerEvent(int curPage, int pageSize)
+        private void PageBar1_PagerEvent(int curPage, int pageSize)
         {
             GetPageList(curPage, pageSize);
         }
diff --git a/DevApp/Gs.DevApp/DevFrm/FrmLogin.Designer.cs b/DevApp/Gs.DevApp/DevFrm/FrmLogin.Designer.cs
index d4fa2f9..0b64911 100644
--- a/DevApp/Gs.DevApp/DevFrm/FrmLogin.Designer.cs
+++ b/DevApp/Gs.DevApp/DevFrm/FrmLogin.Designer.cs
@@ -32,12 +32,12 @@
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmLogin));
             this.lbVersion = new System.Windows.Forms.Label();
             this.panel1 = new System.Windows.Forms.Panel();
+            this.comOrg = new System.Windows.Forms.ComboBox();
             this.txtUser = new DevExpress.XtraEditors.TextEdit();
             this.chkSaveLoginInfo = new DevExpress.XtraEditors.CheckEdit();
             this.txtPwd = new DevExpress.XtraEditors.TextEdit();
             this.btnCancel = new DevExpress.XtraEditors.SimpleButton();
             this.labelControl3 = new DevExpress.XtraEditors.LabelControl();
-            this.txtDataset = new DevExpress.XtraEditors.LookUpEdit();
             this.btnLogin = new DevExpress.XtraEditors.SimpleButton();
             this.labelControl2 = new DevExpress.XtraEditors.LabelControl();
             this.labelControl1 = new DevExpress.XtraEditors.LabelControl();
@@ -46,7 +46,6 @@
             ((System.ComponentModel.ISupportInitialize)(this.txtUser.Properties)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.chkSaveLoginInfo.Properties)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.txtPwd.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtDataset.Properties)).BeginInit();
             this.SuspendLayout();
             // 
             // lbVersion
@@ -63,12 +62,12 @@
             // panel1
             // 
             this.panel1.BackColor = System.Drawing.Color.Transparent;
+            this.panel1.Controls.Add(this.comOrg);
             this.panel1.Controls.Add(this.txtUser);
             this.panel1.Controls.Add(this.chkSaveLoginInfo);
             this.panel1.Controls.Add(this.txtPwd);
             this.panel1.Controls.Add(this.btnCancel);
             this.panel1.Controls.Add(this.labelControl3);
-            this.panel1.Controls.Add(this.txtDataset);
             this.panel1.Controls.Add(this.btnLogin);
             this.panel1.Controls.Add(this.labelControl2);
             this.panel1.Controls.Add(this.labelControl1);
@@ -78,6 +77,15 @@
             this.panel1.Name = "panel1";
             this.panel1.Size = new System.Drawing.Size(392, 276);
             this.panel1.TabIndex = 243;
+            // 
+            // comOrg
+            // 
+            this.comOrg.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+            this.comOrg.FormattingEnabled = true;
+            this.comOrg.Location = new System.Drawing.Point(100, 89);
+            this.comOrg.Name = "comOrg";
+            this.comOrg.Size = new System.Drawing.Size(156, 26);
+            this.comOrg.TabIndex = 245;
             // 
             // txtUser
             // 
@@ -105,7 +113,7 @@
             // 
             // txtPwd
             // 
-            this.txtPwd.EditValue = "csframework";
+            this.txtPwd.EditValue = "123456";
             this.txtPwd.Location = new System.Drawing.Point(102, 52);
             this.txtPwd.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
             this.txtPwd.Name = "txtPwd";
@@ -141,22 +149,6 @@
             this.labelControl3.Size = new System.Drawing.Size(93, 18);
             this.labelControl3.TabIndex = 233;
             this.labelControl3.Text = "缁勭粐鏈烘瀯锛�";
-            // 
-            // txtDataset
-            // 
-            this.txtDataset.Location = new System.Drawing.Point(102, 93);
-            this.txtDataset.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.txtDataset.Name = "txtDataset";
-            this.txtDataset.Properties.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.HotFlat;
-            this.txtDataset.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
-            this.txtDataset.Properties.Columns.AddRange(new DevExpress.XtraEditors.Controls.LookUpColumnInfo[] {
-            new DevExpress.XtraEditors.Controls.LookUpColumnInfo("DataSetID", "甯愬缂栧彿", 100, DevExpress.Utils.FormatType.None, "", true, DevExpress.Utils.HorzAlignment.Default, DevExpress.Data.ColumnSortOrder.None, DevExpress.Utils.DefaultBoolean.Default),
-            new DevExpress.XtraEditors.Controls.LookUpColumnInfo("DataSetName", "甯愬鍚嶇О", 200, DevExpress.Utils.FormatType.None, "", true, DevExpress.Utils.HorzAlignment.Default, DevExpress.Data.ColumnSortOrder.None, DevExpress.Utils.DefaultBoolean.Default)});
-            this.txtDataset.Properties.NullText = "";
-            this.txtDataset.Properties.PopupWidth = 343;
-            this.txtDataset.Size = new System.Drawing.Size(154, 26);
-            this.txtDataset.TabIndex = 228;
             // 
             // btnLogin
             // 
@@ -235,7 +227,6 @@
             ((System.ComponentModel.ISupportInitialize)(this.txtUser.Properties)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.chkSaveLoginInfo.Properties)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.txtPwd.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtDataset.Properties)).EndInit();
             this.ResumeLayout(false);
             this.PerformLayout();
 
@@ -250,10 +241,10 @@
         private DevExpress.XtraEditors.TextEdit txtPwd;
         private DevExpress.XtraEditors.SimpleButton btnCancel;
         private DevExpress.XtraEditors.LabelControl labelControl3;
-        private DevExpress.XtraEditors.LookUpEdit txtDataset;
         private DevExpress.XtraEditors.SimpleButton btnLogin;
         private DevExpress.XtraEditors.LabelControl labelControl2;
         private DevExpress.XtraEditors.LabelControl labelControl1;
         private System.Windows.Forms.Label lblLoadingInfo;
+        private System.Windows.Forms.ComboBox comOrg;
     }
 }
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/FrmLogin.cs b/DevApp/Gs.DevApp/DevFrm/FrmLogin.cs
index 142ff73..d02f0c4 100644
--- a/DevApp/Gs.DevApp/DevFrm/FrmLogin.cs
+++ b/DevApp/Gs.DevApp/DevFrm/FrmLogin.cs
@@ -4,6 +4,7 @@
 using System.Windows.Forms;
 using Gs.DevApp.Models;
 using Newtonsoft.Json.Linq;
+using System.Data;
 
 namespace Gs.DevApp.DevFrm
 {
@@ -12,12 +13,37 @@
         public FrmLogin()
         {
             InitializeComponent();
-            this.Text=lbVersion.Text = System.Configuration.ConfigurationSettings.AppSettings.Get("ProductName").ToString();
+            this.Text = lbVersion.Text = System.Configuration.ConfigurationSettings.AppSettings.Get("ProductName").ToString();
             btnLogin.Click += BtnLogin_Click;
             btnCancel.Click += BtnCancel_Click;
             UtilityHelper.SetFont(panel1);
+            getTree();
         }
 
+        private void getTree()
+        {
+            Models.PageQueryModel pgq = new Models.PageQueryModel(1, 999999, "factory", "asc", "", "and upGuid is not null");
+            string json = JsonConvert.SerializeObject(pgq);
+            string strReturn = "";
+            try
+            {
+                strReturn = UtilityHelper.HttpPost("", "Organization/GetListPage", json);
+                ReturnModel<PageListModel> rtn = UtilityHelper.GetTableByJson(strReturn);
+                DataTable dt = rtn.rtnData.list;
+                DataRow newRow = dt.NewRow();
+                newRow["guid"] = "00000000-0000-0000-0000-000000000000";
+                newRow["name"] = "-璇烽�夋嫨-";
+                dt.Rows.Add(newRow);
+                comOrg.DataSource = dt;
+                comOrg.DisplayMember = "name";
+                comOrg.ValueMember = "guid";
+                comOrg.SelectedIndex = dt.Rows.Count - 1;
+            }
+            catch (Exception ex)
+            {
+                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+            }
+        }
         private void BtnCancel_Click(object sender, EventArgs e)
         {
             if (MsgHelper.AskQuestion("纭畾瑕侀��鍑虹郴缁熷悧?"))
@@ -28,15 +54,12 @@
 
         private void BtnLogin_Click(object sender, EventArgs e)
         {
-            int i = 100;
-            Gs.DevApp.UserControl.ShowDialogForm sdf = new Gs.DevApp.UserControl.ShowDialogForm("鎻愮ず", "", "璇疯�愬績绛夊�欙紝姝e湪楠岃瘉鎮ㄧ殑韬唤锛�");
             var _obj = new
             {
-                accountPwd = txtUser.Text.Trim(),
-                accountNo = txtPwd.Text.Trim(),
-                orgGuid = Guid.NewGuid()
+                accountPwd = txtPwd.Text.Trim(),
+                accountNo = txtUser.Text.Trim(),
+                orgGuid = comOrg.SelectedValue
             };
-            sdf.SetCaption("鎵ц杩涘害锛�" + (i - 80) + "/" + i.ToString() + "锛�");
             try
             {
                 string strJson = UtilityHelper.HttpPost("", "User/UserLogin", JsonConvert.SerializeObject(_obj));
@@ -47,21 +70,21 @@
                     LoginInfoModel.CurrentUser.LoginUserGuid = _login["loginGuid"].ToString();
                     LoginInfoModel.CurrentUser.LoginOrgGuid = _login["loginOrgGuid"].ToString();
                     LoginInfoModel.CurrentUser.LoginTime = DateTime.Now.ToString("yyyy-MM-dd hh:mm");
+                    LoginInfoModel.CurrentUser.LoginFactory = _login["loginFactory"].ToString();
+                    this.DialogResult = DialogResult.OK;
                 }
                 else
                 {
                     ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+                    this.DialogResult = DialogResult.None;
                 }
-                sdf.SetCaption("鎵ц杩涘害锛�" + (i - 10) + "/" + i.ToString() + "锛�");
             }
             catch (Exception ex)
             {
-                sdf.Close();
                 ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
                 return;
             }
-            sdf.Close();
-            this.DialogResult = DialogResult.OK;
+
         }
     }
 }
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/FrmMain.Designer.cs b/DevApp/Gs.DevApp/DevFrm/FrmMain.Designer.cs
index 3398ead..ae497d5 100644
--- a/DevApp/Gs.DevApp/DevFrm/FrmMain.Designer.cs
+++ b/DevApp/Gs.DevApp/DevFrm/FrmMain.Designer.cs
@@ -74,6 +74,7 @@
             this.barButtonItem5 = new DevExpress.XtraBars.BarButtonItem();
             this.fluentFormDefaultManager1 = new DevExpress.XtraBars.FluentDesignSystem.FluentFormDefaultManager(this.components);
             this.acrd = new DevExpress.XtraBars.Navigation.AccordionControl();
+            this.accordionControlElement1 = new DevExpress.XtraBars.Navigation.AccordionControlElement();
             this.fluentDesignFormContainer1.SuspendLayout();
             this.statusStrip1.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.tab)).BeginInit();
@@ -84,8 +85,8 @@
             // 
             // fluentDesignFormContainer1
             // 
-            this.fluentDesignFormContainer1.Controls.Add(this.statusStrip1);
             this.fluentDesignFormContainer1.Controls.Add(this.tab);
+            this.fluentDesignFormContainer1.Controls.Add(this.statusStrip1);
             this.fluentDesignFormContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
             this.fluentDesignFormContainer1.Location = new System.Drawing.Point(208, 39);
             this.fluentDesignFormContainer1.Name = "fluentDesignFormContainer1";
@@ -161,7 +162,7 @@
             this.tab.Dock = System.Windows.Forms.DockStyle.Fill;
             this.tab.Location = new System.Drawing.Point(0, 0);
             this.tab.Name = "tab";
-            this.tab.Size = new System.Drawing.Size(806, 727);
+            this.tab.Size = new System.Drawing.Size(806, 701);
             this.tab.TabIndex = 4;
             // 
             // fluentDesignFormControl1
@@ -459,12 +460,19 @@
             // acrd
             // 
             this.acrd.Dock = System.Windows.Forms.DockStyle.Left;
+            this.acrd.Elements.AddRange(new DevExpress.XtraBars.Navigation.AccordionControlElement[] {
+            this.accordionControlElement1});
             this.acrd.Location = new System.Drawing.Point(0, 39);
             this.acrd.Name = "acrd";
             this.acrd.ScrollBarMode = DevExpress.XtraBars.Navigation.ScrollBarMode.Touch;
             this.acrd.Size = new System.Drawing.Size(208, 727);
             this.acrd.TabIndex = 1;
             this.acrd.ViewType = DevExpress.XtraBars.Navigation.AccordionControlViewType.HamburgerMenu;
+            // 
+            // accordionControlElement1
+            // 
+            this.accordionControlElement1.Name = "accordionControlElement1";
+            this.accordionControlElement1.Text = "Element1";
             // 
             // FrmMain
             // 
@@ -536,5 +544,6 @@
         private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1;
         private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel4;
         private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel5;
+        private DevExpress.XtraBars.Navigation.AccordionControlElement accordionControlElement1;
     }
 }
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/FrmMain.cs b/DevApp/Gs.DevApp/DevFrm/FrmMain.cs
index c71d77b..3a4a473 100644
--- a/DevApp/Gs.DevApp/DevFrm/FrmMain.cs
+++ b/DevApp/Gs.DevApp/DevFrm/FrmMain.cs
@@ -56,53 +56,59 @@
                 strJson = UtilityHelper.HttpPost("", "User/GetUserLoginInfo", JsonConvert.SerializeObject(_obj));
                 JObject _job = JObject.Parse(strJson);
                 string rtnCode = _job["rtnCode"].ToString();
-                this.acrd.Clear();
-                string rtnMsg = _job["rtnMsg"].ToString();
-                barMsg.Caption = rtnMsg;
-                JArray array = new JArray();
-                var d = _job["rtnData"]["list"];
-                foreach (var a in d)
+                if (int.Parse(rtnCode) > 0)
                 {
-                    array.Add(a);
-                }
-                System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmMain));
-                DataTable dt = JsonConvert.DeserializeObject<DataTable>(array.ToString());
-                DataRow[] drGrp = dt.Select("upGuid is null");
-                int idx = 0;
-                foreach (DataRow _dy in drGrp)
-                {
-                    AccordionControlElement _grp = this.acrd.AddGroup();
-                    _grp.ImageOptions.Image = UtilityHelper.GetImgFromResource(_dy["icon"].ToString(), 1);
-                    _grp.Name = _dy["guid"].ToString();
-                    _grp.Style = DevExpress.XtraBars.Navigation.ElementStyle.Group;
-                    _grp.Text = _dy["name"].ToString();
-                    _grp.Tag = _dy["formPath"].ToString();//瀛樿矾寰勶紝绫诲悕
-                    _grp.Click += _grp_Click;
-                    DataRow[] drItem = dt.Select("upGuid='" + _dy["guid"].ToString() + "'");
-                    foreach (DataRow _dy2 in drItem)
+                    this.acrd.Clear();
+                    barMsg.Caption = _job["rtnData"]["loginMsg"].ToString();
+                    JArray array = new JArray();
+                    var d = _job["rtnData"]["list"];
+                    foreach (var a in d)
                     {
-                        AccordionControlElement _itm = this.acrd.AddItem();
-                        _itm.ImageOptions.Image = UtilityHelper.GetImgFromResource(_dy2["icon"].ToString(), 2);
-                        _itm.Name = _dy2["guid"].ToString();
-                        _itm.Style = DevExpress.XtraBars.Navigation.ElementStyle.Item;
-                        _itm.Text = _dy2["name"].ToString();
-                        _itm.Appearance.Normal.Font = new System.Drawing.Font("Tahoma", 10F);
-                        _itm.Tag = _dy2["formPath"].ToString();//瀛樿矾寰勶紝绫诲悕
-                        _itm.Click += _grp_Click;
-                        _grp.Elements.Add(_itm);
-                        //
-                        if (idx == 0 && tab.TabPages.Count <= 0)
+                        array.Add(a);
+                    }
+                    System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmMain));
+                    DataTable dt = JsonConvert.DeserializeObject<DataTable>(array.ToString());
+                    DataRow[] drGrp = dt.Select("upGuid is null");
+                    int idx = 0;
+                    foreach (DataRow _dy in drGrp)
+                    {
+                        AccordionControlElement _grp = this.acrd.AddGroup();
+                        _grp.ImageOptions.Image = UtilityHelper.GetImgFromResource(_dy["icon"].ToString(), 1);
+                        _grp.Name = _dy["guid"].ToString();
+                        _grp.Style = DevExpress.XtraBars.Navigation.ElementStyle.Group;
+                        _grp.Text = _dy["name"].ToString();
+                        _grp.Tag = _dy["formPath"].ToString();//瀛樿矾寰勶紝绫诲悕
+                        _grp.Click += _grp_Click;
+                        DataRow[] drItem = dt.Select("upGuid='" + _dy["guid"].ToString() + "'");
+                        foreach (DataRow _dy2 in drItem)
                         {
-                            string tabPageName = _itm.Name + "_page";
-                            string tabText = _itm.Text;//褰撳墠閫夐」鍗¢〉Text鏍囬
-                            string newFormName = _itm.Tag.ToString();//瀛樿矾寰勶紝绫诲悕
-                            Image imgIcon = _itm.Image;
-                            AddTabpage(tab, tabPageName, tabText, newFormName, imgIcon);
-                        }
-                        idx++;
-                        //
-                    };
+                            AccordionControlElement _itm = this.acrd.AddItem();
+                            _itm.ImageOptions.Image = UtilityHelper.GetImgFromResource(_dy2["icon"].ToString(), 2);
+                            _itm.Name = _dy2["guid"].ToString();
+                            _itm.Style = DevExpress.XtraBars.Navigation.ElementStyle.Item;
+                            _itm.Text = _dy2["name"].ToString();
+                            _itm.Appearance.Normal.Font = new System.Drawing.Font("Tahoma", 10F);
+                            _itm.Tag = _dy2["formPath"].ToString();//瀛樿矾寰勶紝绫诲悕
+                            _itm.Click += _grp_Click;
+                            _grp.Elements.Add(_itm);
+                            //
+                            if (idx == 0 && tab.TabPages.Count <= 0)
+                            {
+                                string tabPageName = _itm.Name + "_page";
+                                string tabText = _itm.Text;//褰撳墠閫夐」鍗¢〉Text鏍囬
+                                string newFormName = _itm.Tag.ToString();//瀛樿矾寰勶紝绫诲悕
+                                Image imgIcon = _itm.Image;
+                                AddTabpage(tab, tabPageName, tabText, newFormName, imgIcon);
+                            }
+                            idx++;
+                            //
+                        };
+                    }
                 }
+                else {
+                    ToolBox.MsgHelper.ShowError("鎻愮ず锛氬垵濮嬪寲澶辫触锛岃鑱旂郴绠$悊鍛橈紒" );
+                }
+               
             }
             catch (Exception ex)
             {
diff --git a/DevApp/Gs.DevApp/DevFrm/User/Organization.Designer.cs b/DevApp/Gs.DevApp/DevFrm/User/Organization.Designer.cs
index 6ff5c34..7218e54 100644
--- a/DevApp/Gs.DevApp/DevFrm/User/Organization.Designer.cs
+++ b/DevApp/Gs.DevApp/DevFrm/User/Organization.Designer.cs
@@ -29,213 +29,129 @@
         /// </summary>
         private void InitializeComponent()
         {
-            this.tabControl1 = new System.Windows.Forms.TabControl();
             this.toolBarMenu1 = new Gs.DevApp.UserControl.ToolBarMenu();
-            this.trv = new System.Windows.Forms.TreeView();
-            this.groupBox1 = new System.Windows.Forms.GroupBox();
-            this.tabPage1 = new System.Windows.Forms.TabPage();
-            this.labelControl2 = new DevExpress.XtraEditors.LabelControl();
-            this.txtName = new DevExpress.XtraEditors.TextEdit();
-            this.labelControl3 = new DevExpress.XtraEditors.LabelControl();
-            this.txtConPeople = new DevExpress.XtraEditors.TextEdit();
-            this.labelControl4 = new DevExpress.XtraEditors.LabelControl();
-            this.txtConTel = new DevExpress.XtraEditors.TextEdit();
-            this.labelControl12 = new DevExpress.XtraEditors.LabelControl();
-            this.labelControl1 = new DevExpress.XtraEditors.LabelControl();
-            this.labelControl5 = new DevExpress.XtraEditors.LabelControl();
-            this.lbGuid = new System.Windows.Forms.Label();
-            this.txtStatus = new DevExpress.XtraEditors.ComboBoxEdit();
-            this.labelControl7 = new DevExpress.XtraEditors.LabelControl();
-            this.labelControl6 = new DevExpress.XtraEditors.LabelControl();
-            this.comUp = new System.Windows.Forms.ComboBox();
-            this.labelControl8 = new DevExpress.XtraEditors.LabelControl();
+            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.tabControl1.SuspendLayout();
-            this.groupBox1.SuspendLayout();
-            this.tabPage1.SuspendLayout();
-            ((System.ComponentModel.ISupportInitialize)(this.txtName.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtConPeople.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtConTel.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtStatus.Properties)).BeginInit();
+            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_status = 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();
+            this.txt_factory = new DevExpress.XtraEditors.TextEdit();
+            this.labelControl9 = 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_status.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();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_factory.Properties)).BeginInit();
             this.SuspendLayout();
-            // 
-            // tabControl1
-            // 
-            this.tabControl1.Controls.Add(this.tabPage1);
-            this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.tabControl1.Location = new System.Drawing.Point(0, 80);
-            this.tabControl1.Name = "tabControl1";
-            this.tabControl1.SelectedIndex = 0;
-            this.tabControl1.Size = new System.Drawing.Size(917, 564);
-            this.tabControl1.TabIndex = 2;
             // 
             // 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;
             // 
-            // trv
+            // xtraTabControl1
             // 
-            this.trv.Dock = System.Windows.Forms.DockStyle.Left;
-            this.trv.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.trv.Location = new System.Drawing.Point(3, 3);
-            this.trv.Name = "trv";
-            this.trv.Size = new System.Drawing.Size(207, 527);
-            this.trv.TabIndex = 1;
+            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});
             // 
-            // groupBox1
+            // xtraTabPage1
             // 
-            this.groupBox1.Controls.Add(this.panel1);
-            this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.groupBox1.Location = new System.Drawing.Point(210, 3);
-            this.groupBox1.Name = "groupBox1";
-            this.groupBox1.Size = new System.Drawing.Size(696, 527);
-            this.groupBox1.TabIndex = 2;
-            this.groupBox1.TabStop = false;
-            this.groupBox1.Text = "鍩烘湰淇℃伅";
+            this.xtraTabPage1.Controls.Add(this.tlMenu);
+            this.xtraTabPage1.Name = "xtraTabPage1";
+            this.xtraTabPage1.Size = new System.Drawing.Size(915, 532);
+            this.xtraTabPage1.Text = "鏁版嵁鏌ヨ";
             // 
-            // tabPage1
+            // tlMenu
             // 
-            this.tabPage1.Controls.Add(this.groupBox1);
-            this.tabPage1.Controls.Add(this.trv);
-            this.tabPage1.Location = new System.Drawing.Point(4, 27);
-            this.tabPage1.Name = "tabPage1";
-            this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
-            this.tabPage1.Size = new System.Drawing.Size(909, 533);
-            this.tabPage1.TabIndex = 0;
-            this.tabPage1.Text = "鏁版嵁鍒楄〃";
-            this.tabPage1.UseVisualStyleBackColor = true;
+            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;
             // 
-            // labelControl2
+            // xtraTabPage2
             // 
-            this.labelControl2.Location = new System.Drawing.Point(41, 80);
-            this.labelControl2.Name = "labelControl2";
-            this.labelControl2.Size = new System.Drawing.Size(75, 18);
-            this.labelControl2.TabIndex = 2;
-            this.labelControl2.Text = "缁勭粐鍚嶇О锛�";
+            this.xtraTabPage2.Controls.Add(this.panel1);
+            this.xtraTabPage2.Name = "xtraTabPage2";
+            this.xtraTabPage2.Size = new System.Drawing.Size(915, 532);
+            this.xtraTabPage2.Text = "鏁版嵁缂栬緫";
             // 
-            // txtName
+            // panel1
             // 
-            this.txtName.Location = new System.Drawing.Point(133, 74);
-            this.txtName.Name = "txtName";
-            this.txtName.Size = new System.Drawing.Size(156, 24);
-            this.txtName.TabIndex = 3;
+            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_status);
+            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.Location = new System.Drawing.Point(21, 17);
+            this.panel1.Name = "panel1";
+            this.panel1.Size = new System.Drawing.Size(554, 413);
+            this.panel1.TabIndex = 1;
             // 
-            // labelControl3
+            // labelControl11
             // 
-            this.labelControl3.Location = new System.Drawing.Point(26, 125);
-            this.labelControl3.Name = "labelControl3";
-            this.labelControl3.Size = new System.Drawing.Size(90, 18);
-            this.labelControl3.TabIndex = 4;
-            this.labelControl3.Text = "缁勭粐璐熻矗浜猴細";
+            this.labelControl11.Location = new System.Drawing.Point(71, 294);
+            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 = "涓婚敭锛�";
             // 
-            // txtConPeople
+            // label1
             // 
-            this.txtConPeople.Location = new System.Drawing.Point(133, 119);
-            this.txtConPeople.Name = "txtConPeople";
-            this.txtConPeople.Size = new System.Drawing.Size(156, 24);
-            this.txtConPeople.TabIndex = 5;
-            // 
-            // labelControl4
-            // 
-            this.labelControl4.Location = new System.Drawing.Point(26, 174);
-            this.labelControl4.Name = "labelControl4";
-            this.labelControl4.Size = new System.Drawing.Size(90, 18);
-            this.labelControl4.TabIndex = 6;
-            this.labelControl4.Text = "璐熻矗浜虹數璇濓細";
-            // 
-            // txtConTel
-            // 
-            this.txtConTel.Location = new System.Drawing.Point(133, 168);
-            this.txtConTel.Name = "txtConTel";
-            this.txtConTel.Size = new System.Drawing.Size(156, 24);
-            this.txtConTel.TabIndex = 7;
-            // 
-            // labelControl12
-            // 
-            this.labelControl12.Appearance.ForeColor = System.Drawing.Color.Red;
-            this.labelControl12.Appearance.Options.UseForeColor = true;
-            this.labelControl12.Location = new System.Drawing.Point(296, 77);
-            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 = "*";
-            // 
-            // labelControl1
-            // 
-            this.labelControl1.Appearance.ForeColor = System.Drawing.Color.Red;
-            this.labelControl1.Appearance.Options.UseForeColor = true;
-            this.labelControl1.Location = new System.Drawing.Point(296, 125);
-            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 = "*";
-            // 
-            // labelControl5
-            // 
-            this.labelControl5.Appearance.ForeColor = System.Drawing.Color.Red;
-            this.labelControl5.Appearance.Options.UseForeColor = true;
-            this.labelControl5.Location = new System.Drawing.Point(296, 174);
-            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 = "*";
-            // 
-            // lbGuid
-            // 
-            this.lbGuid.AutoSize = true;
-            this.lbGuid.Location = new System.Drawing.Point(41, 250);
-            this.lbGuid.Name = "lbGuid";
-            this.lbGuid.Size = new System.Drawing.Size(0, 18);
-            this.lbGuid.TabIndex = 111;
-            // 
-            // txtStatus
-            // 
-            this.txtStatus.Location = new System.Drawing.Point(133, 213);
-            this.txtStatus.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.txtStatus.Name = "txtStatus";
-            this.txtStatus.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
-            this.txtStatus.Properties.Items.AddRange(new object[] {
-            "-璇烽�夋嫨-",
-            "姝e父",
-            "绂佺敤"});
-            this.txtStatus.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
-            this.txtStatus.Size = new System.Drawing.Size(156, 24);
-            this.txtStatus.TabIndex = 116;
-            // 
-            // labelControl7
-            // 
-            this.labelControl7.Location = new System.Drawing.Point(41, 216);
-            this.labelControl7.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl7.Name = "labelControl7";
-            this.labelControl7.Size = new System.Drawing.Size(75, 18);
-            this.labelControl7.TabIndex = 117;
-            this.labelControl7.Text = "缁勭粐鐘舵�侊細";
-            // 
-            // labelControl6
-            // 
-            this.labelControl6.Location = new System.Drawing.Point(41, 38);
-            this.labelControl6.Name = "labelControl6";
-            this.labelControl6.Size = new System.Drawing.Size(75, 18);
-            this.labelControl6.TabIndex = 118;
-            this.labelControl6.Text = "涓婄骇缁勭粐锛�";
-            // 
-            // comUp
-            // 
-            this.comUp.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
-            this.comUp.FormattingEnabled = true;
-            this.comUp.Location = new System.Drawing.Point(133, 32);
-            this.comUp.Name = "comUp";
-            this.comUp.Size = new System.Drawing.Size(156, 26);
-            this.comUp.TabIndex = 119;
+            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, 18);
+            this.label1.TabIndex = 132;
             // 
             // labelControl8
             // 
@@ -245,72 +161,197 @@
             this.labelControl8.TabIndex = 120;
             this.labelControl8.Text = "锛堢┖灏嗕负鏍圭粍缁囷級";
             // 
-            // panel1
+            // txt_upGuid
             // 
-            this.panel1.Controls.Add(this.labelControl8);
-            this.panel1.Controls.Add(this.comUp);
-            this.panel1.Controls.Add(this.labelControl6);
-            this.panel1.Controls.Add(this.labelControl7);
-            this.panel1.Controls.Add(this.txtStatus);
-            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.txtConTel);
-            this.panel1.Controls.Add(this.labelControl4);
-            this.panel1.Controls.Add(this.txtConPeople);
-            this.panel1.Controls.Add(this.labelControl3);
-            this.panel1.Controls.Add(this.txtName);
-            this.panel1.Controls.Add(this.labelControl2);
-            this.panel1.Location = new System.Drawing.Point(28, 45);
-            this.panel1.Name = "panel1";
-            this.panel1.Size = new System.Drawing.Size(462, 307);
-            this.panel1.TabIndex = 0;
+            this.txt_upGuid.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+            this.txt_upGuid.FormattingEnabled = true;
+            this.txt_upGuid.Location = new System.Drawing.Point(133, 32);
+            this.txt_upGuid.Name = "txt_upGuid";
+            this.txt_upGuid.Size = new System.Drawing.Size(156, 26);
+            this.txt_upGuid.TabIndex = 119;
+            // 
+            // labelControl6
+            // 
+            this.labelControl6.Location = new System.Drawing.Point(41, 38);
+            this.labelControl6.Name = "labelControl6";
+            this.labelControl6.Size = new System.Drawing.Size(75, 18);
+            this.labelControl6.TabIndex = 118;
+            this.labelControl6.Text = "涓婄骇缁勭粐锛�";
+            // 
+            // labelControl7
+            // 
+            this.labelControl7.Location = new System.Drawing.Point(41, 251);
+            this.labelControl7.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.labelControl7.Name = "labelControl7";
+            this.labelControl7.Size = new System.Drawing.Size(75, 18);
+            this.labelControl7.TabIndex = 117;
+            this.labelControl7.Text = "缁勭粐鐘舵�侊細";
+            // 
+            // txt_status
+            // 
+            this.txt_status.Location = new System.Drawing.Point(133, 248);
+            this.txt_status.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.txt_status.Name = "txt_status";
+            this.txt_status.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
+            this.txt_status.Properties.Items.AddRange(new object[] {
+            "-璇烽�夋嫨-",
+            "姝e父",
+            "绂佺敤"});
+            this.txt_status.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
+            this.txt_status.Size = new System.Drawing.Size(156, 24);
+            this.txt_status.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, 18);
+            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(296, 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(296, 160);
+            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(296, 112);
+            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(133, 203);
+            this.txt_conTel.Name = "txt_conTel";
+            this.txt_conTel.Size = new System.Drawing.Size(156, 24);
+            this.txt_conTel.TabIndex = 7;
+            // 
+            // labelControl4
+            // 
+            this.labelControl4.Location = new System.Drawing.Point(26, 209);
+            this.labelControl4.Name = "labelControl4";
+            this.labelControl4.Size = new System.Drawing.Size(90, 18);
+            this.labelControl4.TabIndex = 6;
+            this.labelControl4.Text = "璐熻矗浜虹數璇濓細";
+            // 
+            // txt_conPeople
+            // 
+            this.txt_conPeople.Location = new System.Drawing.Point(133, 154);
+            this.txt_conPeople.Name = "txt_conPeople";
+            this.txt_conPeople.Size = new System.Drawing.Size(156, 24);
+            this.txt_conPeople.TabIndex = 5;
+            // 
+            // labelControl3
+            // 
+            this.labelControl3.Location = new System.Drawing.Point(26, 160);
+            this.labelControl3.Name = "labelControl3";
+            this.labelControl3.Size = new System.Drawing.Size(90, 18);
+            this.labelControl3.TabIndex = 4;
+            this.labelControl3.Text = "缁勭粐璐熻矗浜猴細";
+            // 
+            // txt_name
+            // 
+            this.txt_name.Location = new System.Drawing.Point(133, 109);
+            this.txt_name.Name = "txt_name";
+            this.txt_name.Size = new System.Drawing.Size(156, 24);
+            this.txt_name.TabIndex = 3;
+            // 
+            // labelControl2
+            // 
+            this.labelControl2.Location = new System.Drawing.Point(41, 115);
+            this.labelControl2.Name = "labelControl2";
+            this.labelControl2.Size = new System.Drawing.Size(75, 18);
+            this.labelControl2.TabIndex = 2;
+            this.labelControl2.Text = "缁勭粐鍚嶇О锛�";
+            // 
+            // txt_factory
+            // 
+            this.txt_factory.Location = new System.Drawing.Point(134, 74);
+            this.txt_factory.Name = "txt_factory";
+            this.txt_factory.Size = new System.Drawing.Size(156, 24);
+            this.txt_factory.TabIndex = 135;
+            // 
+            // labelControl9
+            // 
+            this.labelControl9.Location = new System.Drawing.Point(42, 80);
+            this.labelControl9.Name = "labelControl9";
+            this.labelControl9.Size = new System.Drawing.Size(75, 18);
+            this.labelControl9.TabIndex = 134;
+            this.labelControl9.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.tabControl1);
+            this.Controls.Add(this.xtraTabControl1);
             this.Controls.Add(this.toolBarMenu1);
             this.Name = "Organization";
             this.Text = "Organization";
-            this.tabControl1.ResumeLayout(false);
-            this.groupBox1.ResumeLayout(false);
-            this.tabPage1.ResumeLayout(false);
-            ((System.ComponentModel.ISupportInitialize)(this.txtName.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtConPeople.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtConTel.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtStatus.Properties)).EndInit();
+            ((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_status.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();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_factory.Properties)).EndInit();
             this.ResumeLayout(false);
 
         }
 
         #endregion
-
-        private System.Windows.Forms.TabControl tabControl1;
-        private System.Windows.Forms.TabPage tabPage1;
-        private System.Windows.Forms.GroupBox groupBox1;
+        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 comUp;
+        private System.Windows.Forms.ComboBox txt_upGuid;
         private DevExpress.XtraEditors.LabelControl labelControl6;
         private DevExpress.XtraEditors.LabelControl labelControl7;
-        private DevExpress.XtraEditors.ComboBoxEdit txtStatus;
+        private DevExpress.XtraEditors.ComboBoxEdit txt_status;
         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 txtConTel;
+        private DevExpress.XtraEditors.TextEdit txt_conTel;
         private DevExpress.XtraEditors.LabelControl labelControl4;
-        private DevExpress.XtraEditors.TextEdit txtConPeople;
+        private DevExpress.XtraEditors.TextEdit txt_conPeople;
         private DevExpress.XtraEditors.LabelControl labelControl3;
-        private DevExpress.XtraEditors.TextEdit txtName;
+        private DevExpress.XtraEditors.TextEdit txt_name;
         private DevExpress.XtraEditors.LabelControl labelControl2;
-        private System.Windows.Forms.TreeView trv;
-        private UserControl.ToolBarMenu toolBarMenu1;
+        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
index 28336c2..3b094b4 100644
--- a/DevApp/Gs.DevApp/DevFrm/User/Organization.cs
+++ b/DevApp/Gs.DevApp/DevFrm/User/Organization.cs
@@ -1,12 +1,8 @@
-锘縰sing DevExpress.XtraEditors;
-using Gs.DevApp.Models;
+锘縰sing Gs.DevApp.Models;
 using Gs.DevApp.ToolBox;
 using Newtonsoft.Json;
 using System;
-using System.Collections.Generic;
-using System.ComponentModel;
 using System.Data;
-using System.Threading.Tasks;
 using System.Windows.Forms;
 
 namespace Gs.DevApp.DevFrm.User
@@ -16,53 +12,67 @@
         public Organization()
         {
             InitializeComponent();
+            this.toolBarMenu1.btnAddClick += ToolBarMenu1_btnAddClick;
+            this.toolBarMenu1.btnEdtClick += ToolBarMenu1_btnEdtClick;
             this.toolBarMenu1.btnSaveClick += ToolBarMenu1_btnSaveClick;
-            getTree();
+            this.toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
+            this.toolBarMenu1.btnDelClick += ToolBarMenu1_btnDelClick1;
+            this.toolBarMenu1.btnEscClick += ToolBarMenu1_btnEscClick;
+            tlMenu.DoubleClick += TlMenu_DoubleClick;
+            GetTree();
             UtilityHelper.SetFont(panel1);
         }
-        private void ToolBarMenu1_btnSaveClick(object sender, EventArgs e)
+
+        private void TlMenu_DoubleClick(object sender, EventArgs e)
         {
-            if (string.IsNullOrEmpty(txtName.Text.Trim()))
+            TreeNode clickedNode = tlMenu.SelectedNode;
+            if (clickedNode.FirstNode == null)
             {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("鍚嶇О涓嶈兘涓虹┖锛�");
-                txtName.Focus();
+                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 (string.IsNullOrEmpty(txtConPeople.Text.Trim()))
+            if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + clickedNode.Text + "銆戯紝纭畾鍒犻櫎鍚楋紵"))
             {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("鑱旂郴浜轰笉鑳戒负绌猴紒");
-                txtConPeople.Focus();
                 return;
             }
-            if (string.IsNullOrEmpty(txtConPeople.Text.Trim()))
-            {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("鑱旂郴鐢佃瘽涓嶈兘涓虹┖锛�");
-                txtConPeople.Focus();
-                return;
-            }
-            if (string.IsNullOrEmpty(txtConTel.Text.Trim()))
-            {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("鐘舵�佷笉鑳戒负绌猴紒");
-                txtConTel.Focus();
-                return;
-            }
-            string _upGuid = comUp.Text.Trim().Length > 0 ? comUp.SelectedValue.ToString() : "";
             var _obj = new
             {
-                guid = lbGuid.Text.Trim(),//涓诲缓
-                upGuid = _upGuid,//涓婄骇鐨勪富寤�
-                name = txtName.Text.Trim(),//鍚嶇О
-                conPeople = txtConPeople.Text,//鑱旂郴浜�
-                conTel = txtConPeople.Text,//鑱旂郴鐢佃瘽
-                status = txtStatus.SelectedIndex,//鐘舵��
+                guid = rowGuid,//涓诲缓
             };
             string strJson = "";
             try
             {
-                strJson = UtilityHelper.HttpPost("", "Organization/EditModel", JsonConvert.SerializeObject(_obj));
+                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);
-                if (_rtn.rtnCode > 0) { getTree(); }
             }
             catch (Exception ex)
             {
@@ -70,13 +80,122 @@
             }
         }
 
-        private void getTree()
+        /// <summary>
+        /// 鍒锋柊浜嬩欢
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void ToolBarMenu1_btnLoadClick(object sender, EventArgs e)
         {
-            trv.Nodes.Clear();
+            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_status.SelectedIndex <= 0)
+            {
+                Gs.DevApp.ToolBox.MsgHelper.Warning("鐘舵�佷笉鑳戒负绌猴紒");
+                txt_status.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,//鑱旂郴鐢佃瘽
+                status = txt_status.SelectedIndex,//鐘舵��
+
+            };
+            string strJson = "";
+            try
+            {
+                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);
-            trv.ImageList = imageList;
+            tlMenu.ImageList = imageList;
             Models.PageQueryModel pgq = new Models.PageQueryModel(1, 999999, "name", "desc", "", "");
             string json = JsonConvert.SerializeObject(pgq);
             string strReturn = "";
@@ -106,16 +225,50 @@
                         node.Nodes.Add(node22);
                     }
                     node.ExpandAll();
-                    trv.Nodes.Add(node);
+                    tlMenu.Nodes.Add(node);
                 }
-                comUp.DataSource = dtComList;
-                comUp.DisplayMember = "name";
-                comUp.ValueMember = "guid";
+                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,//涓诲缓
+            };
+            string strJson = "";
+            try
+            {
+                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/Role.Designer.cs b/DevApp/Gs.DevApp/DevFrm/User/Role.Designer.cs
index 46571fc..e72dd84 100644
--- a/DevApp/Gs.DevApp/DevFrm/User/Role.Designer.cs
+++ b/DevApp/Gs.DevApp/DevFrm/User/Role.Designer.cs
@@ -29,84 +29,82 @@
         /// </summary>
         private void InitializeComponent()
         {
-            DevExpress.XtraEditors.Controls.EditorButtonImageOptions editorButtonImageOptions1 = new DevExpress.XtraEditors.Controls.EditorButtonImageOptions();
-            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject1 = new DevExpress.Utils.SerializableAppearanceObject();
-            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject2 = new DevExpress.Utils.SerializableAppearanceObject();
-            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject3 = new DevExpress.Utils.SerializableAppearanceObject();
-            DevExpress.Utils.SerializableAppearanceObject serializableAppearanceObject4 = new DevExpress.Utils.SerializableAppearanceObject();
-            this.tabControl1 = new System.Windows.Forms.TabControl();
-            this.tabPage1 = new System.Windows.Forms.TabPage();
-            this.groupBox1 = new System.Windows.Forms.GroupBox();
-            this.trv = new System.Windows.Forms.TreeView();
-            this.gc_Main = new DevExpress.XtraGrid.GridControl();
+            this.toolBarMenu1 = new Gs.DevApp.UserControl.ToolBarMenu();
+            this.xtraTabControl1 = new DevExpress.XtraTab.XtraTabControl();
+            this.xtraTabPage1 = new DevExpress.XtraTab.XtraTabPage();
+            this.gcMain = new DevExpress.XtraGrid.GridControl();
             this.gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
             this.roleName = new DevExpress.XtraGrid.Columns.GridColumn();
             this.rolRemark = new DevExpress.XtraGrid.Columns.GridColumn();
             this.status = new DevExpress.XtraGrid.Columns.GridColumn();
-            this.repositoryItemButtonEdit1 = new DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit();
-            this.toolBarMenu1 = new Gs.DevApp.UserControl.ToolBarMenu();
-            this.tabControl1.SuspendLayout();
-            this.tabPage1.SuspendLayout();
-            this.groupBox1.SuspendLayout();
-            ((System.ComponentModel.ISupportInitialize)(this.gc_Main)).BeginInit();
+            this.createDate = new DevExpress.XtraGrid.Columns.GridColumn();
+            this.PageBar1 = new UserControls.Data.PageBar();
+            this.xtraTabPage2 = new DevExpress.XtraTab.XtraTabPage();
+            this.panel1 = new System.Windows.Forms.Panel();
+            this.labelControl1 = new DevExpress.XtraEditors.LabelControl();
+            this.labelControl10 = new DevExpress.XtraEditors.LabelControl();
+            this.txt_roleName = new DevExpress.XtraEditors.TextEdit();
+            this.labelControl8 = new DevExpress.XtraEditors.LabelControl();
+            this.txt_rolRemark = new DevExpress.XtraEditors.MemoEdit();
+            this.labelControl7 = new DevExpress.XtraEditors.LabelControl();
+            this.lbGuid = new System.Windows.Forms.Label();
+            this.labelControl12 = new DevExpress.XtraEditors.LabelControl();
+            this.labelControl9 = new DevExpress.XtraEditors.LabelControl();
+            this.labelControl5 = new DevExpress.XtraEditors.LabelControl();
+            this.txt_status = new DevExpress.XtraEditors.ComboBoxEdit();
+            this.groupBox1 = new System.Windows.Forms.GroupBox();
+            this.trv = new System.Windows.Forms.TreeView();
+            ((System.ComponentModel.ISupportInitialize)(this.xtraTabControl1)).BeginInit();
+            this.xtraTabControl1.SuspendLayout();
+            this.xtraTabPage1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.gcMain)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.gridView1)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.repositoryItemButtonEdit1)).BeginInit();
+            this.xtraTabPage2.SuspendLayout();
+            this.panel1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_roleName.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_rolRemark.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_status.Properties)).BeginInit();
+            this.groupBox1.SuspendLayout();
             this.SuspendLayout();
             // 
-            // tabControl1
+            // toolBarMenu1
             // 
-            this.tabControl1.Controls.Add(this.tabPage1);
-            this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.tabControl1.Location = new System.Drawing.Point(0, 80);
-            this.tabControl1.Name = "tabControl1";
-            this.tabControl1.SelectedIndex = 0;
-            this.tabControl1.Size = new System.Drawing.Size(1036, 460);
-            this.tabControl1.TabIndex = 6;
+            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(1237, 80);
+            this.toolBarMenu1.TabIndex = 5;
             // 
-            // tabPage1
+            // xtraTabControl1
             // 
-            this.tabPage1.Controls.Add(this.groupBox1);
-            this.tabPage1.Controls.Add(this.gc_Main);
-            this.tabPage1.Location = new System.Drawing.Point(4, 27);
-            this.tabPage1.Name = "tabPage1";
-            this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
-            this.tabPage1.Size = new System.Drawing.Size(1028, 429);
-            this.tabPage1.TabIndex = 0;
-            this.tabPage1.Text = "鏁版嵁鍒楄〃";
-            this.tabPage1.UseVisualStyleBackColor = true;
+            this.xtraTabControl1.Dock = System.Windows.Forms.DockStyle.Left;
+            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(935, 661);
+            this.xtraTabControl1.TabIndex = 7;
+            this.xtraTabControl1.TabPages.AddRange(new DevExpress.XtraTab.XtraTabPage[] {
+            this.xtraTabPage1,
+            this.xtraTabPage2});
             // 
-            // groupBox1
+            // xtraTabPage1
             // 
-            this.groupBox1.Controls.Add(this.trv);
-            this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.groupBox1.Location = new System.Drawing.Point(547, 3);
-            this.groupBox1.Name = "groupBox1";
-            this.groupBox1.Size = new System.Drawing.Size(478, 423);
-            this.groupBox1.TabIndex = 3;
-            this.groupBox1.TabStop = false;
-            this.groupBox1.Text = "璇烽�夋嫨璇ヨ鑹茬殑鏉冮檺";
+            this.xtraTabPage1.Controls.Add(this.gcMain);
+            this.xtraTabPage1.Controls.Add(this.PageBar1);
+            this.xtraTabPage1.Name = "xtraTabPage1";
+            this.xtraTabPage1.Size = new System.Drawing.Size(933, 629);
+            this.xtraTabPage1.Text = "鏁版嵁鏌ヨ";
             // 
-            // trv
+            // gcMain
             // 
-            this.trv.CheckBoxes = true;
-            this.trv.Dock = System.Windows.Forms.DockStyle.Left;
-            this.trv.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.trv.Location = new System.Drawing.Point(3, 22);
-            this.trv.Name = "trv";
-            this.trv.Size = new System.Drawing.Size(337, 398);
-            this.trv.TabIndex = 2;
-            // 
-            // gc_Main
-            // 
-            this.gc_Main.Dock = System.Windows.Forms.DockStyle.Left;
-            this.gc_Main.Location = new System.Drawing.Point(3, 3);
-            this.gc_Main.MainView = this.gridView1;
-            this.gc_Main.Name = "gc_Main";
-            this.gc_Main.RepositoryItems.AddRange(new DevExpress.XtraEditors.Repository.RepositoryItem[] {
-            this.repositoryItemButtonEdit1});
-            this.gc_Main.Size = new System.Drawing.Size(544, 423);
-            this.gc_Main.TabIndex = 4;
-            this.gc_Main.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] {
+            this.gcMain.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.gcMain.Location = new System.Drawing.Point(0, 0);
+            this.gcMain.MainView = this.gridView1;
+            this.gcMain.Name = "gcMain";
+            this.gcMain.Size = new System.Drawing.Size(933, 589);
+            this.gcMain.TabIndex = 5;
+            this.gcMain.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] {
             this.gridView1});
             // 
             // gridView1
@@ -114,9 +112,11 @@
             this.gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] {
             this.roleName,
             this.rolRemark,
-            this.status});
-            this.gridView1.GridControl = this.gc_Main;
+            this.status,
+            this.createDate});
+            this.gridView1.GridControl = this.gcMain;
             this.gridView1.Name = "gridView1";
+            this.gridView1.OptionsView.ShowButtonMode = DevExpress.XtraGrid.Views.Base.ShowButtonModeEnum.ShowAlways;
             // 
             // roleName
             // 
@@ -124,6 +124,7 @@
             this.roleName.FieldName = "roleName";
             this.roleName.MinWidth = 25;
             this.roleName.Name = "roleName";
+            this.roleName.OptionsColumn.AllowEdit = false;
             this.roleName.Visible = true;
             this.roleName.VisibleIndex = 0;
             this.roleName.Width = 94;
@@ -134,6 +135,7 @@
             this.rolRemark.FieldName = "rolRemark";
             this.rolRemark.MinWidth = 25;
             this.rolRemark.Name = "rolRemark";
+            this.rolRemark.OptionsColumn.AllowEdit = false;
             this.rolRemark.Visible = true;
             this.rolRemark.VisibleIndex = 1;
             this.rolRemark.Width = 94;
@@ -141,61 +143,244 @@
             // status
             // 
             this.status.Caption = "鐘舵��";
-            this.status.FieldName = "status";
+            this.status.FieldName = "statusTxt";
             this.status.MinWidth = 25;
             this.status.Name = "status";
+            this.status.OptionsColumn.AllowEdit = false;
             this.status.Visible = true;
             this.status.VisibleIndex = 2;
             this.status.Width = 94;
             // 
-            // repositoryItemButtonEdit1
+            // createDate
             // 
-            this.repositoryItemButtonEdit1.AutoHeight = false;
-            editorButtonImageOptions1.Image = global::Gs.DevApp.Properties.Resources.meeting_32x32;
-            this.repositoryItemButtonEdit1.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Ellipsis, "", -1, true, true, false, editorButtonImageOptions1, new DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), serializableAppearanceObject1, serializableAppearanceObject2, serializableAppearanceObject3, serializableAppearanceObject4, "", null, null, DevExpress.Utils.ToolTipAnchor.Default)});
-            this.repositoryItemButtonEdit1.Name = "repositoryItemButtonEdit1";
-            this.repositoryItemButtonEdit1.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.HideTextEditor;
+            this.createDate.Caption = "寤虹珛鏃堕棿";
+            this.createDate.FieldName = "createDate";
+            this.createDate.MinWidth = 25;
+            this.createDate.Name = "createDate";
+            this.createDate.OptionsColumn.AllowEdit = false;
+            this.createDate.Visible = true;
+            this.createDate.VisibleIndex = 3;
+            this.createDate.Width = 94;
             // 
-            // toolBarMenu1
+            // PageBar1
             // 
-            this.toolBarMenu1.Dock = System.Windows.Forms.DockStyle.Top;
-            this.toolBarMenu1.Location = new System.Drawing.Point(0, 0);
-            this.toolBarMenu1.Name = "toolBarMenu1";
-            this.toolBarMenu1.Size = new System.Drawing.Size(1036, 80);
-            this.toolBarMenu1.TabIndex = 5;
+            this.PageBar1.CurrentPage = 0;
+            this.PageBar1.Dock = System.Windows.Forms.DockStyle.Bottom;
+            this.PageBar1.Location = new System.Drawing.Point(0, 589);
+            this.PageBar1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.PageBar1.Name = "PageBar1";
+            this.PageBar1.RecordCount = 0;
+            this.PageBar1.RowsCount = 0;
+            this.PageBar1.Size = new System.Drawing.Size(933, 40);
+            this.PageBar1.TabIndex = 6;
+            this.PageBar1.TotalPages = 0;
+            // 
+            // xtraTabPage2
+            // 
+            this.xtraTabPage2.Controls.Add(this.panel1);
+            this.xtraTabPage2.Name = "xtraTabPage2";
+            this.xtraTabPage2.Size = new System.Drawing.Size(933, 629);
+            this.xtraTabPage2.Text = "鏁版嵁缂栬緫";
+            // 
+            // panel1
+            // 
+            this.panel1.Controls.Add(this.labelControl1);
+            this.panel1.Controls.Add(this.labelControl10);
+            this.panel1.Controls.Add(this.txt_roleName);
+            this.panel1.Controls.Add(this.labelControl8);
+            this.panel1.Controls.Add(this.txt_rolRemark);
+            this.panel1.Controls.Add(this.labelControl7);
+            this.panel1.Controls.Add(this.lbGuid);
+            this.panel1.Controls.Add(this.labelControl12);
+            this.panel1.Controls.Add(this.labelControl9);
+            this.panel1.Controls.Add(this.labelControl5);
+            this.panel1.Controls.Add(this.txt_status);
+            this.panel1.Location = new System.Drawing.Point(62, 49);
+            this.panel1.Name = "panel1";
+            this.panel1.Size = new System.Drawing.Size(585, 386);
+            this.panel1.TabIndex = 1;
+            // 
+            // labelControl1
+            // 
+            this.labelControl1.Location = new System.Drawing.Point(61, 226);
+            this.labelControl1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.labelControl1.Name = "labelControl1";
+            this.labelControl1.Size = new System.Drawing.Size(45, 18);
+            this.labelControl1.TabIndex = 130;
+            this.labelControl1.Text = "涓婚敭锛�";
+            // 
+            // labelControl10
+            // 
+            this.labelControl10.Appearance.ForeColor = System.Drawing.Color.Red;
+            this.labelControl10.Appearance.Options.UseForeColor = true;
+            this.labelControl10.Location = new System.Drawing.Point(418, 29);
+            this.labelControl10.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.labelControl10.Name = "labelControl10";
+            this.labelControl10.Size = new System.Drawing.Size(8, 18);
+            this.labelControl10.TabIndex = 129;
+            this.labelControl10.Text = "*";
+            // 
+            // txt_roleName
+            // 
+            this.txt_roleName.Location = new System.Drawing.Point(115, 16);
+            this.txt_roleName.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.txt_roleName.Name = "txt_roleName";
+            this.txt_roleName.Size = new System.Drawing.Size(297, 24);
+            this.txt_roleName.TabIndex = 128;
+            // 
+            // labelControl8
+            // 
+            this.labelControl8.Location = new System.Drawing.Point(31, 20);
+            this.labelControl8.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.labelControl8.Name = "labelControl8";
+            this.labelControl8.Size = new System.Drawing.Size(75, 18);
+            this.labelControl8.TabIndex = 127;
+            this.labelControl8.Text = "瑙掕壊鍚嶇О锛�";
+            // 
+            // txt_rolRemark
+            // 
+            this.txt_rolRemark.Location = new System.Drawing.Point(115, 54);
+            this.txt_rolRemark.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.txt_rolRemark.Name = "txt_rolRemark";
+            this.txt_rolRemark.Properties.ScrollBars = System.Windows.Forms.ScrollBars.None;
+            this.txt_rolRemark.Size = new System.Drawing.Size(297, 68);
+            this.txt_rolRemark.TabIndex = 126;
+            // 
+            // labelControl7
+            // 
+            this.labelControl7.Location = new System.Drawing.Point(31, 67);
+            this.labelControl7.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.labelControl7.Name = "labelControl7";
+            this.labelControl7.Size = new System.Drawing.Size(75, 18);
+            this.labelControl7.TabIndex = 125;
+            this.labelControl7.Text = "瑙掕壊澶囨敞锛�";
+            // 
+            // lbGuid
+            // 
+            this.lbGuid.AutoSize = true;
+            this.lbGuid.Location = new System.Drawing.Point(121, 226);
+            this.lbGuid.Name = "lbGuid";
+            this.lbGuid.Size = new System.Drawing.Size(0, 18);
+            this.lbGuid.TabIndex = 1;
+            // 
+            // labelControl12
+            // 
+            this.labelControl12.Appearance.ForeColor = System.Drawing.Color.Red;
+            this.labelControl12.Appearance.Options.UseForeColor = true;
+            this.labelControl12.Location = new System.Drawing.Point(418, 55);
+            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, 98);
+            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 = "*";
+            // 
+            // labelControl5
+            // 
+            this.labelControl5.Location = new System.Drawing.Point(31, 152);
+            this.labelControl5.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.labelControl5.Name = "labelControl5";
+            this.labelControl5.Size = new System.Drawing.Size(75, 18);
+            this.labelControl5.TabIndex = 101;
+            this.labelControl5.Text = "瑙掕壊鐘舵�侊細";
+            // 
+            // txt_status
+            // 
+            this.txt_status.Location = new System.Drawing.Point(115, 148);
+            this.txt_status.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.txt_status.Name = "txt_status";
+            this.txt_status.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
+            this.txt_status.Properties.Items.AddRange(new object[] {
+            "-璇烽�夋嫨-",
+            "姝e父",
+            "绂佺敤"});
+            this.txt_status.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
+            this.txt_status.Size = new System.Drawing.Size(297, 24);
+            this.txt_status.TabIndex = 100;
+            // 
+            // groupBox1
+            // 
+            this.groupBox1.Controls.Add(this.trv);
+            this.groupBox1.Dock = System.Windows.Forms.DockStyle.Left;
+            this.groupBox1.Location = new System.Drawing.Point(935, 80);
+            this.groupBox1.Name = "groupBox1";
+            this.groupBox1.Size = new System.Drawing.Size(291, 661);
+            this.groupBox1.TabIndex = 8;
+            this.groupBox1.TabStop = false;
+            this.groupBox1.Text = "璇烽�夋嫨璇ヨ鑹茬殑鏉冮檺";
+            // 
+            // trv
+            // 
+            this.trv.CheckBoxes = true;
+            this.trv.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.trv.Font = new System.Drawing.Font("Tahoma", 10F);
+            this.trv.Location = new System.Drawing.Point(3, 22);
+            this.trv.Name = "trv";
+            this.trv.Size = new System.Drawing.Size(285, 636);
+            this.trv.TabIndex = 2;
             // 
             // Role
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 18F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(1036, 540);
-            this.Controls.Add(this.tabControl1);
+            this.ClientSize = new System.Drawing.Size(1237, 741);
+            this.Controls.Add(this.groupBox1);
+            this.Controls.Add(this.xtraTabControl1);
             this.Controls.Add(this.toolBarMenu1);
             this.Name = "Role";
             this.Text = "Role";
-            this.tabControl1.ResumeLayout(false);
-            this.tabPage1.ResumeLayout(false);
-            this.groupBox1.ResumeLayout(false);
-            ((System.ComponentModel.ISupportInitialize)(this.gc_Main)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.xtraTabControl1)).EndInit();
+            this.xtraTabControl1.ResumeLayout(false);
+            this.xtraTabPage1.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.gcMain)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.gridView1)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.repositoryItemButtonEdit1)).EndInit();
+            this.xtraTabPage2.ResumeLayout(false);
+            this.panel1.ResumeLayout(false);
+            this.panel1.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_roleName.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_rolRemark.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_status.Properties)).EndInit();
+            this.groupBox1.ResumeLayout(false);
             this.ResumeLayout(false);
 
         }
 
         #endregion
-
-        private System.Windows.Forms.TabControl tabControl1;
-        private System.Windows.Forms.TabPage tabPage1;
         private UserControl.ToolBarMenu toolBarMenu1;
-        private System.Windows.Forms.GroupBox groupBox1;
-        private DevExpress.XtraGrid.GridControl gc_Main;
+        private DevExpress.XtraTab.XtraTabControl xtraTabControl1;
+        private DevExpress.XtraTab.XtraTabPage xtraTabPage1;
+        private DevExpress.XtraTab.XtraTabPage xtraTabPage2;
+        private DevExpress.XtraGrid.GridControl gcMain;
         private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
         private DevExpress.XtraGrid.Columns.GridColumn roleName;
         private DevExpress.XtraGrid.Columns.GridColumn rolRemark;
         private DevExpress.XtraGrid.Columns.GridColumn status;
-        private DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit repositoryItemButtonEdit1;
+        private System.Windows.Forms.GroupBox groupBox1;
         private System.Windows.Forms.TreeView trv;
+        private UserControls.Data.PageBar PageBar1;
+        private System.Windows.Forms.Panel panel1;
+        private DevExpress.XtraEditors.LabelControl labelControl10;
+        private DevExpress.XtraEditors.TextEdit txt_roleName;
+        private DevExpress.XtraEditors.LabelControl labelControl8;
+        private DevExpress.XtraEditors.MemoEdit txt_rolRemark;
+        private DevExpress.XtraEditors.LabelControl labelControl7;
+        private System.Windows.Forms.Label lbGuid;
+        private DevExpress.XtraEditors.LabelControl labelControl12;
+        private DevExpress.XtraEditors.LabelControl labelControl9;
+        private DevExpress.XtraEditors.LabelControl labelControl5;
+        private DevExpress.XtraEditors.ComboBoxEdit txt_status;
+        private DevExpress.XtraEditors.LabelControl labelControl1;
+        private DevExpress.XtraGrid.Columns.GridColumn createDate;
     }
 }
\ 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 a16d1f0..1d4fe54 100644
--- a/DevApp/Gs.DevApp/DevFrm/User/Role.cs
+++ b/DevApp/Gs.DevApp/DevFrm/User/Role.cs
@@ -1,34 +1,241 @@
-锘縰sing DevExpress.XtraEditors;
+锘縰sing DevExpress.XtraGrid.Views.Base;
+using DevExpress.XtraTreeList.Nodes;
 using Gs.DevApp.Models;
 using Gs.DevApp.ToolBox;
 using Newtonsoft.Json;
 using System;
-using System.Collections.Generic;
-using System.ComponentModel;
 using System.Data;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
 using System.Windows.Forms;
 
 namespace Gs.DevApp.DevFrm.User
 {
+    //https://blog.csdn.net/m0_54035969/article/details/140716675
     public partial class Role : DevExpress.XtraEditors.XtraForm
     {
+        System.Text.StringBuilder sbRolist = new System.Text.StringBuilder();
         public Role()
         {
             InitializeComponent();
             this.toolBarMenu1.btnAddClick += ToolBarMenu1_btnAddClick;
-            GetPageList(1, 999999);
-            getTree();
+            this.toolBarMenu1.btnEdtClick += ToolBarMenu1_btnEdtClick;
+            this.toolBarMenu1.btnSaveClick += ToolBarMenu1_btnSaveClick;
+            this.toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
+            this.toolBarMenu1.btnDelClick += ToolBarMenu1_btnDelClick1;
+            this.toolBarMenu1.btnEscClick += ToolBarMenu1_btnEscClick;
+            this.toolBarMenu1.btnRoleClick += ToolBarMenu1_btnRoleClick;
+            gcMain.MouseDoubleClick += GcMain_MouseDoubleClick;
+            gridView1.FocusedRowChanged += GridView1_FocusedRowChanged;
+            PageBar1.PagerEvent += PageBar1_PagerEvent;
+            GetPageList(1, UtilityHelper.GetPageSize());
+            trv.AfterCheck += Trv_AfterCheck;
+        }
+
+
+
+        private void GridView1_FocusedRowChanged(object sender, FocusedRowChangedEventArgs e)
+        {
+            string rowGuid = "";
+            DataRow myDataRow = gridView1.GetDataRow(e.FocusedRowHandle);
+            rowGuid = myDataRow["guid"].ToString();
+            GetTree(rowGuid);
+            groupBox1.Text = "璇峰嬀閫夈��" + myDataRow["roleName"].ToString() + "銆戠殑鏉冮檺";
+        }
+        /// <summary>
+        /// 鍙屽嚮浜嬩欢
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void GcMain_MouseDoubleClick(object sender, MouseEventArgs e)
+        {
+            string rowGuid = "";
+            ColumnView cv = (ColumnView)gcMain.FocusedView;
+            object rowIdObj = gridView1.GetRowCellValue(cv.FocusedRowHandle, "guid");
+            DataRow myDataRow = gridView1.GetDataRow(gridView1.FocusedRowHandle);
+            rowGuid = myDataRow["guid"].ToString();
+            GetModel(rowGuid, false, 999);
+        }
+        /// <summary>
+        /// 鍒嗛〉浜嬩欢
+        /// </summary>
+        /// <param name="curPage"></param>
+        /// <param name="pageSize"></param>
+        private void PageBar1_PagerEvent(int curPage, int pageSize)
+        {
+            GetPageList(curPage, pageSize);
+        }
+        /// <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)
+        {
+            DataRow dr = gridView1.GetFocusedDataRow();
+            if (dr == null || string.IsNullOrEmpty(dr["guid"].ToString()))
+            {
+                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                return;
+            }
+            if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + dr["roleName"].ToString() + "銆戯紝纭畾鍒犻櫎鍚楋紵"))
+                return;
+            var _obj = new
+            {
+                guidList = dr["guid"].ToString(),//涓诲缓
+            };
+            string strJson = "";
+            try
+            {
+                strJson = UtilityHelper.HttpPost("", "Role/DeleteModel", JsonConvert.SerializeObject(_obj));
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                if (_rtn.rtnCode > 0)
+                {
+                    UtilityHelper.ChangeTab(xtraTabControl1, 0);
+                    GetPageList(1, UtilityHelper.GetPageSize());
+                }
+                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);
+            GetPageList(1, UtilityHelper.GetPageSize());
+        }
+        /// <summary>
+        /// 淇敼浜嬩欢
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void ToolBarMenu1_btnEdtClick(object sender, EventArgs e)
+        {
+            DataRow dr = gridView1.GetFocusedDataRow();
+            if (dr == null || string.IsNullOrEmpty(dr["guid"].ToString()))
+            {
+                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                return;
+            }
+            GetModel(dr["guid"].ToString(), true, 1);
 
         }
+        /// <summary>
+        /// 鏂板浜嬩欢
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
         private void ToolBarMenu1_btnAddClick(object sender, EventArgs e)
         {
-            RoleAdd frm = new RoleAdd("");
-            frm.ShowDialog();
+            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_roleName.Text.Trim()))
+            {
+                Gs.DevApp.ToolBox.MsgHelper.Warning("瑙掕壊鍚嶇О涓嶈兘涓虹┖锛�");
+                txt_roleName.Focus();
+                return;
+            }
+            if (string.IsNullOrEmpty(txt_rolRemark.Text.Trim()))
+            {
+                Gs.DevApp.ToolBox.MsgHelper.Warning("瑙掕壊澶囨敞涓嶈兘涓虹┖锛�");
+                txt_rolRemark.Focus();
+                return;
+            }
+            if (string.IsNullOrEmpty(txt_status.Text.Trim()))
+            {
+                Gs.DevApp.ToolBox.MsgHelper.Warning("瑙掕壊鐘舵�佷笉鑳戒负绌猴紒");
+                txt_rolRemark.Focus();
+                return;
+            }
+            var _obj = new
+            {
+                guid = lbGuid.Text.Trim(),
+                roleName = txt_roleName.Text.Trim(),
+                rolRemark = txt_rolRemark.Text.Trim(),
+                status = txt_status.SelectedIndex,//鐘舵��
+            };
+            string strJson = "";
+            try
+            {
+                strJson = UtilityHelper.HttpPost("", "Role/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>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void ToolBarMenu1_btnRoleClick(object sender, EventArgs e)
+        {
+            DataRow dr = gridView1.GetFocusedDataRow();
+            if (dr == null || string.IsNullOrEmpty(dr["guid"].ToString()))
+            {
+                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                return;
+            }
+            if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + dr["roleName"].ToString() + "銆戯紝纭畾璁剧疆鏉冮檺鍚楋紵"))
+                return;
+            sbRolist = new System.Text.StringBuilder();
+            TraverseTreeViewNodes(trv.Nodes);
+            var _obj = new
+            {
+                roleGuid = dr["guid"].ToString(),
+                roleLst = sbRolist.ToString(),
+            };
+            string strJson = "";
+            try
+            {
+                strJson = UtilityHelper.HttpPost("", "MenuAction/SetRoleByRolueGuid", JsonConvert.SerializeObject(_obj));
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                if (_rtn.rtnCode > 0)
+                {
+
+                }
+                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
+            }
+            catch (Exception ex)
+            {
+                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+            }
+        }
+
         /// <summary>
         /// 
         /// </summary>
@@ -44,17 +251,53 @@
                 strReturn = UtilityHelper.HttpPost("", "Role/GetListPage", json);
                 ReturnModel<PageListModel> dd = UtilityHelper.GetTableByJson(strReturn);
                 DataTable dt = dd.rtnData.list;
-                gc_Main.BindingContext = new BindingContext();
-                gc_Main.DataSource = dt;
-                gc_Main.ForceInitialize();
+                gcMain.BindingContext = new BindingContext();
+                gcMain.DataSource = dt;
+                gcMain.ForceInitialize();
+                int dddd = dd.rtnData.pages;//鎬婚〉
+                PageBar1.TotalPages = dddd;
+                PageBar1.RecordCount = dd.rtnData.total;//璁板綍鎬绘暟
+                PageBar1.CurrentPage = curPage;//褰撳墠椤�
+                PageBar1.RowsCount = pageSize;//姣忛〉鏄剧ず
+                PageBar1.setTxt();
             }
             catch (Exception ex)
             {
                 ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
-
-        private void getTree()
+        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,//涓诲缓
+            };
+            string strJson = "";
+            try
+            {
+                strJson = UtilityHelper.HttpPost("", "Role/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);
+            }
+        }
+        private void GetTree(string rolueGuid)
         {
             trv.Nodes.Clear();
             ImageList imageList = new ImageList();
@@ -63,49 +306,53 @@
             imageList.Images.Add("icon2", Properties.Resources.listmultilevel_16x16);
             imageList.Images.Add("icon3", Properties.Resources.addcalculatedfield_16x16);
             trv.ImageList = imageList;
-            Models.PageQueryModel pgq = new Models.PageQueryModel(1, 999999, "idx", "desc", "", "");
-            string json = JsonConvert.SerializeObject(pgq);
+            var _obj = new
+            {
+                rolueGuid = rolueGuid,//涓诲缓
+            };
             string strReturn = "";
             try
             {
-                strReturn = UtilityHelper.HttpPost("", "MenuAction/GetListPageByOrg", json);
+                strReturn = UtilityHelper.HttpPost("", "MenuAction/GetListPageByOrg", JsonConvert.SerializeObject(_obj));
                 ReturnModel<PageListModel> dd = UtilityHelper.GetTableByJson(strReturn);
                 DataTable dt = dd.rtnData.list;
                 DataRow[] drGrp = dt.Select("upGuid='' or upGuid is null");
                 foreach (DataRow _dy in drGrp)
                 {
+                    string _orgGuid = _dy["guid"].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() + "' and orgGuid='"+ _dy["guid"].ToString() + "'");
+                    DataRow[] drItem = dt.Select("upGuid='" + _dy["guid"].ToString() + "' and orgGuid='" + _dy["guid"].ToString() + "'");
                     foreach (DataRow _dy2 in drItem)
                     {
                         TreeNode node22 = new TreeNode();//瀹氫箟缁撶偣
                         node22.Text = _dy2["name"].ToString();//涓虹粨鐐硅祴鍊�
-                        node22.Name = _dy2["guid"].ToString();
+                        node22.Name = _orgGuid + _dy2["guid"].ToString();
                         node22.ImageIndex = 1;
-                        DataRow[] drItem33 = dt.Select("upGuid='" + _dy2["guid"].ToString() + "' and orgGuid='"+ _dy["guid"].ToString() + "'");
+                        DataRow[] drItem33 = dt.Select("upGuid='" + _dy2["guid"].ToString() + "' and orgGuid='" + _dy["guid"].ToString() + "'");
                         foreach (DataRow _dy3 in drItem33)
                         {
                             TreeNode node33 = new TreeNode();//瀹氫箟缁撶偣
                             node33.Text = _dy3["name"].ToString();//涓虹粨鐐硅祴鍊�
-                            node33.Name = _dy3["guid"].ToString();
+                            node33.Name = _orgGuid + _dy3["guid"].ToString();
                             node33.ImageIndex = 2;
                             DataRow[] drItem44 = dt.Select("upGuid='" + _dy3["guid"].ToString() + "' and orgGuid='" + _dy["guid"].ToString() + "'");
                             foreach (DataRow _dy4 in drItem44)
                             {
-                                TreeNode node44= new TreeNode();//瀹氫箟缁撶偣
+                                TreeNode node44 = new TreeNode();//瀹氫箟缁撶偣
                                 node44.Text = _dy4["name"].ToString();//涓虹粨鐐硅祴鍊�
-                                node44.Name = _dy4["guid"].ToString();
+                                node44.Name = _orgGuid + _dy4["guid"].ToString();
                                 node44.ImageIndex = 3;
                                 node33.Nodes.Add(node44);
                             }
                             node22.Nodes.Add(node33);
                         }
+                        node22.Expand();
                         node.Nodes.Add(node22);
                     }
-                    node.ExpandAll();
+                    node.Expand();
                     trv.Nodes.Add(node);
                 }
             }
@@ -114,5 +361,30 @@
                 ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
             }
         }
+        private void Trv_AfterCheck(object sender, TreeViewEventArgs e)
+        {
+            try
+            {
+                UtilityHelper.TreeViewCheck(e);
+            }
+            catch (Exception ex)
+            {
+                MsgHelper.ShowError(ex.Message);
+            }
+        }
+        // 閬嶅巻TreeView涓殑鎵�鏈夎妭鐐�
+        private void TraverseTreeViewNodes(TreeNodeCollection nodes)
+        {
+            foreach (TreeNode node in nodes)
+            {
+                if (node.Checked)
+                    sbRolist.Append(node.Name + "~");
+                // 閫掑綊閬嶅巻瀛愯妭鐐�
+                if (node.Nodes.Count > 0)
+                {
+                    TraverseTreeViewNodes(node.Nodes);
+                }
+            }
+        }
     }
 }
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/User/RoleAdd.Designer.cs b/DevApp/Gs.DevApp/DevFrm/User/RoleAdd.Designer.cs
deleted file mode 100644
index 75cd7d4..0000000
--- a/DevApp/Gs.DevApp/DevFrm/User/RoleAdd.Designer.cs
+++ /dev/null
@@ -1,254 +0,0 @@
-锘�
-namespace Gs.DevApp.DevFrm.User
-{
-    partial class RoleAdd
-    {
-        /// <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.tabControl1 = new System.Windows.Forms.TabControl();
-            this.tabPage1 = new System.Windows.Forms.TabPage();
-            this.panel1 = new System.Windows.Forms.Panel();
-            this.labelControl10 = new DevExpress.XtraEditors.LabelControl();
-            this.txtName = new DevExpress.XtraEditors.TextEdit();
-            this.labelControl8 = new DevExpress.XtraEditors.LabelControl();
-            this.txtRemark = new DevExpress.XtraEditors.MemoEdit();
-            this.labelControl7 = new DevExpress.XtraEditors.LabelControl();
-            this.lbGuid = new System.Windows.Forms.Label();
-            this.btnEsc = new DevExpress.XtraEditors.SimpleButton();
-            this.btnSave = new DevExpress.XtraEditors.SimpleButton();
-            this.labelControl12 = new DevExpress.XtraEditors.LabelControl();
-            this.labelControl9 = new DevExpress.XtraEditors.LabelControl();
-            this.labelControl5 = new DevExpress.XtraEditors.LabelControl();
-            this.txtStatus = new DevExpress.XtraEditors.ComboBoxEdit();
-            this.tabControl1.SuspendLayout();
-            this.tabPage1.SuspendLayout();
-            this.panel1.SuspendLayout();
-            ((System.ComponentModel.ISupportInitialize)(this.txtName.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtRemark.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtStatus.Properties)).BeginInit();
-            this.SuspendLayout();
-            // 
-            // tabControl1
-            // 
-            this.tabControl1.Controls.Add(this.tabPage1);
-            this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.tabControl1.Location = new System.Drawing.Point(0, 0);
-            this.tabControl1.Name = "tabControl1";
-            this.tabControl1.SelectedIndex = 0;
-            this.tabControl1.Size = new System.Drawing.Size(753, 473);
-            this.tabControl1.TabIndex = 3;
-            // 
-            // tabPage1
-            // 
-            this.tabPage1.Controls.Add(this.panel1);
-            this.tabPage1.Location = new System.Drawing.Point(4, 27);
-            this.tabPage1.Name = "tabPage1";
-            this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
-            this.tabPage1.Size = new System.Drawing.Size(745, 442);
-            this.tabPage1.TabIndex = 0;
-            this.tabPage1.Text = "鍩虹淇℃伅";
-            this.tabPage1.UseVisualStyleBackColor = true;
-            // 
-            // panel1
-            // 
-            this.panel1.Controls.Add(this.labelControl10);
-            this.panel1.Controls.Add(this.txtName);
-            this.panel1.Controls.Add(this.labelControl8);
-            this.panel1.Controls.Add(this.txtRemark);
-            this.panel1.Controls.Add(this.labelControl7);
-            this.panel1.Controls.Add(this.lbGuid);
-            this.panel1.Controls.Add(this.btnEsc);
-            this.panel1.Controls.Add(this.btnSave);
-            this.panel1.Controls.Add(this.labelControl12);
-            this.panel1.Controls.Add(this.labelControl9);
-            this.panel1.Controls.Add(this.labelControl5);
-            this.panel1.Controls.Add(this.txtStatus);
-            this.panel1.Location = new System.Drawing.Point(57, 6);
-            this.panel1.Name = "panel1";
-            this.panel1.Size = new System.Drawing.Size(585, 386);
-            this.panel1.TabIndex = 0;
-            // 
-            // labelControl10
-            // 
-            this.labelControl10.Appearance.ForeColor = System.Drawing.Color.Red;
-            this.labelControl10.Appearance.Options.UseForeColor = true;
-            this.labelControl10.Location = new System.Drawing.Point(418, 29);
-            this.labelControl10.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl10.Name = "labelControl10";
-            this.labelControl10.Size = new System.Drawing.Size(8, 18);
-            this.labelControl10.TabIndex = 129;
-            this.labelControl10.Text = "*";
-            // 
-            // txtName
-            // 
-            this.txtName.Location = new System.Drawing.Point(115, 16);
-            this.txtName.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.txtName.Name = "txtName";
-            this.txtName.Size = new System.Drawing.Size(297, 24);
-            this.txtName.TabIndex = 128;
-            // 
-            // labelControl8
-            // 
-            this.labelControl8.Location = new System.Drawing.Point(31, 20);
-            this.labelControl8.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl8.Name = "labelControl8";
-            this.labelControl8.Size = new System.Drawing.Size(75, 18);
-            this.labelControl8.TabIndex = 127;
-            this.labelControl8.Text = "瑙掕壊鍚嶇О锛�";
-            // 
-            // txtRemark
-            // 
-            this.txtRemark.Location = new System.Drawing.Point(115, 54);
-            this.txtRemark.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.txtRemark.Name = "txtRemark";
-            this.txtRemark.Properties.ScrollBars = System.Windows.Forms.ScrollBars.None;
-            this.txtRemark.Size = new System.Drawing.Size(297, 68);
-            this.txtRemark.TabIndex = 126;
-            // 
-            // labelControl7
-            // 
-            this.labelControl7.Location = new System.Drawing.Point(31, 67);
-            this.labelControl7.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl7.Name = "labelControl7";
-            this.labelControl7.Size = new System.Drawing.Size(75, 18);
-            this.labelControl7.TabIndex = 125;
-            this.labelControl7.Text = "瑙掕壊澶囨敞锛�";
-            // 
-            // lbGuid
-            // 
-            this.lbGuid.AutoSize = true;
-            this.lbGuid.Location = new System.Drawing.Point(62, 251);
-            this.lbGuid.Name = "lbGuid";
-            this.lbGuid.Size = new System.Drawing.Size(39, 18);
-            this.lbGuid.TabIndex = 1;
-            this.lbGuid.Text = "guid:";
-            // 
-            // btnEsc
-            // 
-            this.btnEsc.ImageOptions.Image = global::Gs.DevApp.Properties.Resources.reviewingpane_32x32;
-            this.btnEsc.Location = new System.Drawing.Point(246, 198);
-            this.btnEsc.Name = "btnEsc";
-            this.btnEsc.Size = new System.Drawing.Size(94, 29);
-            this.btnEsc.TabIndex = 111;
-            this.btnEsc.Text = "鍙栨秷";
-            // 
-            // btnSave
-            // 
-            this.btnSave.ImageOptions.Image = global::Gs.DevApp.Properties.Resources.checkbox2_32x321;
-            this.btnSave.Location = new System.Drawing.Point(115, 198);
-            this.btnSave.Name = "btnSave";
-            this.btnSave.Size = new System.Drawing.Size(94, 29);
-            this.btnSave.TabIndex = 110;
-            this.btnSave.Text = "淇濆瓨";
-            // 
-            // labelControl12
-            // 
-            this.labelControl12.Appearance.ForeColor = System.Drawing.Color.Red;
-            this.labelControl12.Appearance.Options.UseForeColor = true;
-            this.labelControl12.Location = new System.Drawing.Point(418, 55);
-            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, 98);
-            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 = "*";
-            // 
-            // labelControl5
-            // 
-            this.labelControl5.Location = new System.Drawing.Point(31, 152);
-            this.labelControl5.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl5.Name = "labelControl5";
-            this.labelControl5.Size = new System.Drawing.Size(75, 18);
-            this.labelControl5.TabIndex = 101;
-            this.labelControl5.Text = "瑙掕壊鐘舵�侊細";
-            // 
-            // txtStatus
-            // 
-            this.txtStatus.Location = new System.Drawing.Point(115, 148);
-            this.txtStatus.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.txtStatus.Name = "txtStatus";
-            this.txtStatus.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
-            this.txtStatus.Properties.Items.AddRange(new object[] {
-            "-璇烽�夋嫨-",
-            "绐椾綋绫诲瀷",
-            "鎸夐挳绫诲瀷"});
-            this.txtStatus.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
-            this.txtStatus.Size = new System.Drawing.Size(297, 24);
-            this.txtStatus.TabIndex = 100;
-            // 
-            // RoleAdd
-            // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 18F);
-            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(753, 473);
-            this.Controls.Add(this.tabControl1);
-            this.MaximizeBox = false;
-            this.MinimizeBox = false;
-            this.Name = "RoleAdd";
-            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
-            this.Text = "瑙掕壊淇℃伅";
-            this.tabControl1.ResumeLayout(false);
-            this.tabPage1.ResumeLayout(false);
-            this.panel1.ResumeLayout(false);
-            this.panel1.PerformLayout();
-            ((System.ComponentModel.ISupportInitialize)(this.txtName.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtRemark.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtStatus.Properties)).EndInit();
-            this.ResumeLayout(false);
-
-        }
-
-        #endregion
-
-        private System.Windows.Forms.TabControl tabControl1;
-        private System.Windows.Forms.TabPage tabPage1;
-        private System.Windows.Forms.Panel panel1;
-        private DevExpress.XtraEditors.LabelControl labelControl10;
-        private DevExpress.XtraEditors.TextEdit txtName;
-        private DevExpress.XtraEditors.LabelControl labelControl8;
-        private DevExpress.XtraEditors.MemoEdit txtRemark;
-        private DevExpress.XtraEditors.LabelControl labelControl7;
-        private System.Windows.Forms.Label lbGuid;
-        private DevExpress.XtraEditors.SimpleButton btnEsc;
-        private DevExpress.XtraEditors.SimpleButton btnSave;
-        private DevExpress.XtraEditors.LabelControl labelControl12;
-        private DevExpress.XtraEditors.LabelControl labelControl9;
-        private DevExpress.XtraEditors.LabelControl labelControl5;
-        private DevExpress.XtraEditors.ComboBoxEdit txtStatus;
-    }
-}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/User/RoleAdd.cs b/DevApp/Gs.DevApp/DevFrm/User/RoleAdd.cs
deleted file mode 100644
index 57fbebb..0000000
--- a/DevApp/Gs.DevApp/DevFrm/User/RoleAdd.cs
+++ /dev/null
@@ -1,77 +0,0 @@
-锘縰sing DevExpress.XtraEditors;
-using Gs.DevApp.Models;
-using Gs.DevApp.ToolBox;
-using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows.Forms;
-
-namespace Gs.DevApp.DevFrm.User
-{
-    public partial class RoleAdd : DevExpress.XtraEditors.XtraForm
-    {
-        public RoleAdd(string guid)
-        {
-            InitializeComponent();
-            btnSave.Click += BtnSave_Click;
-            btnEsc.Click += BtnEsc_Click;
-            lbGuid.Text = guid;
-        }
-
-        private void BtnEsc_Click(object sender, EventArgs e)
-        {
-            this.Dispose();
-        }
-
-        private void BtnSave_Click(object sender, EventArgs e)
-        {
-            if (string.IsNullOrEmpty(txtName.Text.Trim()))
-            {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("瑙掕壊鍚嶇О涓嶈兘涓虹┖锛�");
-                txtName.Focus();
-                return;
-            }
-            if (string.IsNullOrEmpty(txtRemark.Text.Trim()))
-            {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("瑙掕壊澶囨敞涓嶈兘涓虹┖锛�");
-                txtRemark.Focus();
-                return;
-            }
-            if (string.IsNullOrEmpty(txtStatus.Text.Trim()))
-            {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("瑙掕壊鐘舵�佷笉鑳戒负绌猴紒");
-                txtRemark.Focus();
-                return;
-            }
-            var _obj = new
-            {
-                guid=lbGuid.Text.Trim(),
-                roleName = txtName.Text.Trim(),
-                rolRemark = txtRemark.Text.Trim(),
-                status = txtStatus.SelectedIndex,//鐘舵��
-            };
-            string strJson = "";
-            try
-            {
-                strJson = UtilityHelper.HttpPost("", "Role/EditModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
-                if (_rtn.rtnCode > 0)
-                {
-
-                }
-            }
-            catch (Exception ex)
-            {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
-            }
-        }
-
-    }
-}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/User/RoleAdd.resx b/DevApp/Gs.DevApp/DevFrm/User/RoleAdd.resx
deleted file mode 100644
index 1af7de1..0000000
--- a/DevApp/Gs.DevApp/DevFrm/User/RoleAdd.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/SysMenu.Designer.cs b/DevApp/Gs.DevApp/DevFrm/User/SysMenu.Designer.cs
index 711142f..dbf2792 100644
--- a/DevApp/Gs.DevApp/DevFrm/User/SysMenu.Designer.cs
+++ b/DevApp/Gs.DevApp/DevFrm/User/SysMenu.Designer.cs
@@ -29,10 +29,9 @@
         /// </summary>
         private void InitializeComponent()
         {
-            this.components = new System.ComponentModel.Container();
             this.toolBarMenu1 = new Gs.DevApp.UserControl.ToolBarMenu();
-            this.tabControl1 = new System.Windows.Forms.TabControl();
-            this.tabPage1 = new System.Windows.Forms.TabPage();
+            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();
@@ -41,41 +40,74 @@
             this.treeListColumn1 = new DevExpress.XtraTreeList.Columns.TreeListColumn();
             this.tlcParentMenuName = new DevExpress.XtraTreeList.Columns.TreeListColumn();
             this.tlcMenuType = new DevExpress.XtraTreeList.Columns.TreeListColumn();
-            this.behaviorManager1 = new DevExpress.Utils.Behaviors.BehaviorManager(this.components);
-            this.tabControl1.SuspendLayout();
-            this.tabPage1.SuspendLayout();
+            this.xtraTabPage2 = new DevExpress.XtraTab.XtraTabPage();
+            this.panel1 = new System.Windows.Forms.Panel();
+            this.labelControl11 = new DevExpress.XtraEditors.LabelControl();
+            this.lbGuid = new System.Windows.Forms.Label();
+            this.label2 = 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_status = 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.txt_formPath = new DevExpress.XtraEditors.MemoEdit();
+            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.txt_name = new DevExpress.XtraEditors.TextEdit();
+            this.labelControl2 = new DevExpress.XtraEditors.LabelControl();
+            ((System.ComponentModel.ISupportInitialize)(this.xtraTabControl1)).BeginInit();
+            this.xtraTabControl1.SuspendLayout();
+            this.xtraTabPage1.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.tlMenu)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.behaviorManager1)).BeginInit();
+            this.xtraTabPage2.SuspendLayout();
+            this.panel1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_upGuid.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.treeListLookUpEdit1TreeList)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_status.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_idx)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_formPath.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_category.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_icon.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(1075, 80);
             this.toolBarMenu1.TabIndex = 0;
             // 
-            // tabControl1
+            // xtraTabControl1
             // 
-            this.tabControl1.Controls.Add(this.tabPage1);
-            this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.tabControl1.Location = new System.Drawing.Point(0, 80);
-            this.tabControl1.Name = "tabControl1";
-            this.tabControl1.SelectedIndex = 0;
-            this.tabControl1.Size = new System.Drawing.Size(1075, 343);
-            this.tabControl1.TabIndex = 4;
+            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(1075, 507);
+            this.xtraTabControl1.TabIndex = 4;
+            this.xtraTabControl1.TabPages.AddRange(new DevExpress.XtraTab.XtraTabPage[] {
+            this.xtraTabPage1,
+            this.xtraTabPage2});
             // 
-            // tabPage1
+            // xtraTabPage1
             // 
-            this.tabPage1.Controls.Add(this.tlMenu);
-            this.tabPage1.Location = new System.Drawing.Point(4, 27);
-            this.tabPage1.Name = "tabPage1";
-            this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
-            this.tabPage1.Size = new System.Drawing.Size(1067, 312);
-            this.tabPage1.TabIndex = 0;
-            this.tabPage1.Text = "鏁版嵁鍒楄〃";
-            this.tabPage1.UseVisualStyleBackColor = true;
+            this.xtraTabPage1.Controls.Add(this.tlMenu);
+            this.xtraTabPage1.Name = "xtraTabPage1";
+            this.xtraTabPage1.Size = new System.Drawing.Size(1073, 475);
+            this.xtraTabPage1.Text = "鏁版嵁鏌ヨ";
             // 
             // tlMenu
             // 
@@ -92,13 +124,13 @@
             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(3, 3);
+            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.Size = new System.Drawing.Size(1061, 306);
-            this.tlMenu.TabIndex = 2;
+            this.tlMenu.Size = new System.Drawing.Size(1073, 475);
+            this.tlMenu.TabIndex = 3;
             this.tlMenu.TreeLevelWidth = 21;
             // 
             // tlcModuleID
@@ -170,19 +202,297 @@
             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(1073, 475);
+            this.xtraTabPage2.Text = "鏁版嵁缂栬緫";
+            // 
+            // panel1
+            // 
+            this.panel1.Controls.Add(this.labelControl11);
+            this.panel1.Controls.Add(this.lbGuid);
+            this.panel1.Controls.Add(this.label2);
+            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_status);
+            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.txt_formPath);
+            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.txt_name);
+            this.panel1.Controls.Add(this.labelControl2);
+            this.panel1.Location = new System.Drawing.Point(29, 34);
+            this.panel1.Name = "panel1";
+            this.panel1.Size = new System.Drawing.Size(602, 411);
+            this.panel1.TabIndex = 2;
+            // 
+            // labelControl11
+            // 
+            this.labelControl11.Location = new System.Drawing.Point(63, 342);
+            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, 342);
+            this.lbGuid.Name = "lbGuid";
+            this.lbGuid.Size = new System.Drawing.Size(0, 18);
+            this.lbGuid.TabIndex = 1;
+            // 
+            // label2
+            // 
+            this.label2.AutoSize = true;
+            this.label2.Location = new System.Drawing.Point(412, 155);
+            this.label2.Name = "label2";
+            this.label2.Size = new System.Drawing.Size(158, 36);
+            this.label2.TabIndex = 119;
+            this.label2.Text = "锛堢獥浣撶殑鍛藉悕绌洪棿鍏ㄧО\r\n   锛岀埗鑿滃崟鍙负绌猴級";
+            // 
+            // label1
+            // 
+            this.label1.AutoSize = true;
+            this.label1.Location = new System.Drawing.Point(412, 14);
+            this.label1.Name = "label1";
+            this.label1.Size = new System.Drawing.Size(143, 18);
+            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, 234);
+            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.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, 24);
+            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.Location = new System.Drawing.Point(33, 232);
+            this.labelControl7.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.labelControl7.Name = "labelControl7";
+            this.labelControl7.Size = new System.Drawing.Size(75, 18);
+            this.labelControl7.TabIndex = 115;
+            this.labelControl7.Text = "鑿滃崟鐘舵�侊細";
+            // 
+            // txt_status
+            // 
+            this.txt_status.Location = new System.Drawing.Point(111, 228);
+            this.txt_status.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.txt_status.Name = "txt_status";
+            this.txt_status.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
+            this.txt_status.Properties.Items.AddRange(new object[] {
+            "-璇烽�夋嫨-",
+            "姝e父",
+            "绂佺敤"});
+            this.txt_status.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
+            this.txt_status.Size = new System.Drawing.Size(297, 24);
+            this.txt_status.TabIndex = 114;
+            // 
+            // txt_idx
+            // 
+            this.txt_idx.Location = new System.Drawing.Point(111, 267);
+            this.txt_idx.Name = "txt_idx";
+            this.txt_idx.Size = new System.Drawing.Size(120, 26);
+            this.txt_idx.TabIndex = 113;
+            this.txt_idx.Value = new decimal(new int[] {
+            2,
+            0,
+            0,
+            0});
+            // 
+            // labelControl1
+            // 
+            this.labelControl1.Location = new System.Drawing.Point(33, 275);
+            this.labelControl1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.labelControl1.Name = "labelControl1";
+            this.labelControl1.Size = new System.Drawing.Size(75, 18);
+            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, 49);
+            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, 89);
+            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.Location = new System.Drawing.Point(33, 155);
+            this.labelControl6.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.labelControl6.Name = "labelControl6";
+            this.labelControl6.Size = new System.Drawing.Size(75, 18);
+            this.labelControl6.TabIndex = 103;
+            this.labelControl6.Text = "绐椾綋绫诲悕锛�";
+            // 
+            // txt_formPath
+            // 
+            this.txt_formPath.Location = new System.Drawing.Point(111, 152);
+            this.txt_formPath.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.txt_formPath.Name = "txt_formPath";
+            this.txt_formPath.Properties.ScrollBars = System.Windows.Forms.ScrollBars.None;
+            this.txt_formPath.Size = new System.Drawing.Size(297, 68);
+            this.txt_formPath.TabIndex = 102;
+            // 
+            // labelControl5
+            // 
+            this.labelControl5.Location = new System.Drawing.Point(36, 49);
+            this.labelControl5.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.labelControl5.Name = "labelControl5";
+            this.labelControl5.Size = new System.Drawing.Size(75, 18);
+            this.labelControl5.TabIndex = 101;
+            this.labelControl5.Text = "鑿滃崟绫诲瀷锛�";
+            // 
+            // txt_category
+            // 
+            this.txt_category.EditValue = "-璇烽�夋嫨-";
+            this.txt_category.Location = new System.Drawing.Point(111, 45);
+            this.txt_category.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.txt_category.Name = "txt_category";
+            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, 24);
+            this.txt_category.TabIndex = 100;
+            // 
+            // txt_icon
+            // 
+            this.txt_icon.Location = new System.Drawing.Point(111, 115);
+            this.txt_icon.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.txt_icon.Name = "txt_icon";
+            this.txt_icon.Size = new System.Drawing.Size(297, 24);
+            this.txt_icon.TabIndex = 99;
+            // 
+            // labelControl4
+            // 
+            this.labelControl4.Location = new System.Drawing.Point(33, 119);
+            this.labelControl4.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.labelControl4.Name = "labelControl4";
+            this.labelControl4.Size = new System.Drawing.Size(75, 18);
+            this.labelControl4.TabIndex = 98;
+            this.labelControl4.Text = "鑿滃崟鍥炬爣锛�";
+            // 
+            // labelControl3
+            // 
+            this.labelControl3.Location = new System.Drawing.Point(33, 17);
+            this.labelControl3.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.labelControl3.Name = "labelControl3";
+            this.labelControl3.Size = new System.Drawing.Size(75, 18);
+            this.labelControl3.TabIndex = 97;
+            this.labelControl3.Text = "鐖剁骇鑿滃崟锛�";
+            // 
+            // txt_name
+            // 
+            this.txt_name.Location = new System.Drawing.Point(111, 80);
+            this.txt_name.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.txt_name.Name = "txt_name";
+            this.txt_name.Size = new System.Drawing.Size(297, 24);
+            this.txt_name.TabIndex = 95;
+            // 
+            // labelControl2
+            // 
+            this.labelControl2.Location = new System.Drawing.Point(33, 84);
+            this.labelControl2.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.labelControl2.Name = "labelControl2";
+            this.labelControl2.Size = new System.Drawing.Size(75, 18);
+            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(1075, 423);
-            this.Controls.Add(this.tabControl1);
+            this.ClientSize = new System.Drawing.Size(1075, 587);
+            this.Controls.Add(this.xtraTabControl1);
             this.Controls.Add(this.toolBarMenu1);
             this.Name = "SysMenu";
             this.Text = "SysMenu";
-            this.tabControl1.ResumeLayout(false);
-            this.tabPage1.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.xtraTabControl1)).EndInit();
+            this.xtraTabControl1.ResumeLayout(false);
+            this.xtraTabPage1.ResumeLayout(false);
             ((System.ComponentModel.ISupportInitialize)(this.tlMenu)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.behaviorManager1)).EndInit();
+            this.xtraTabPage2.ResumeLayout(false);
+            this.panel1.ResumeLayout(false);
+            this.panel1.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_upGuid.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.treeListLookUpEdit1TreeList)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_status.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_idx)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_formPath.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_category.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_icon.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_name.Properties)).EndInit();
             this.ResumeLayout(false);
 
         }
@@ -190,16 +500,40 @@
         #endregion
 
         private UserControl.ToolBarMenu toolBarMenu1;
-        private System.Windows.Forms.TabControl tabControl1;
-        private System.Windows.Forms.TabPage tabPage1;
+        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 tlcParentMenuName;
         private DevExpress.XtraTreeList.Columns.TreeListColumn tlcMenuCaption;
         private DevExpress.XtraTreeList.Columns.TreeListColumn tlcActions;
-        private DevExpress.XtraTreeList.Columns.TreeListColumn tlcMenuType;
         private DevExpress.XtraTreeList.Columns.TreeListColumn treeListColumn1;
-        private DevExpress.Utils.Behaviors.BehaviorManager behaviorManager1;
+        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 label2;
+        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_status;
+        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.MemoEdit txt_formPath;
+        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.TextEdit txt_name;
+        private DevExpress.XtraEditors.LabelControl labelControl2;
     }
 }
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/User/SysMenu.cs b/DevApp/Gs.DevApp/DevFrm/User/SysMenu.cs
index 94d72a9..4a37e8d 100644
--- a/DevApp/Gs.DevApp/DevFrm/User/SysMenu.cs
+++ b/DevApp/Gs.DevApp/DevFrm/User/SysMenu.cs
@@ -1,9 +1,9 @@
-锘縰sing Gs.DevApp.Models;
+锘縰sing DevExpress.XtraTreeList.Nodes;
+using Gs.DevApp.Models;
 using Gs.DevApp.ToolBox;
 using Newtonsoft.Json;
 using System;
 using System.Data;
-
 
 namespace Gs.DevApp.DevFrm.User
 {
@@ -12,31 +12,40 @@
         public SysMenu()
         {
             InitializeComponent();
-            getTree();
             this.toolBarMenu1.btnAddClick += ToolBarMenu1_btnAddClick;
-            this.toolBarMenu1.btnDelClick += ToolBarMenu1_btnDelClick;
             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();
+            GetDownList();
         }
-
-        private void ToolBarMenu1_btnLoadClick(object sender, EventArgs e)
+        private void TlMenu_DoubleClick(object sender, EventArgs e)
         {
-            getTree();
-        }
-
-        private void ToolBarMenu1_btnEdtClick(object sender, EventArgs e)
-        {
-            String rowGuid = Convert.ToString(tlMenu.FocusedNode.GetValue("guid"));
-            if (string.IsNullOrEmpty(rowGuid))
-            {
-                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鍒犻櫎鐨勮锛�");
-                return;
+            TreeListNode clickedNode = this.tlMenu.FocusedNode;
+            if (clickedNode.FirstNode == null) {
+                string rowGuid = clickedNode.GetValue("guid").ToString();
+                GetModel(rowGuid, false, 999);
             }
-            SysMenuAdd frm = new SysMenuAdd(rowGuid);
-            frm.ShowDialog();
+        }
+        /// <summary>
+        /// 鍙栨秷浜嬩欢
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void ToolBarMenu1_btnEscClick(object sender, EventArgs e)
+        {
+            UtilityHelper.ChangeTab(xtraTabControl1, 0);
         }
 
-        private void ToolBarMenu1_btnDelClick(object sender, EventArgs e)
+        /// <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))
@@ -57,7 +66,7 @@
             {
                 strJson = UtilityHelper.HttpPost("", "MenuAction/DeleteModel", JsonConvert.SerializeObject(_obj));
                 ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
-                if (_rtn.rtnCode > 0) { getTree(); }
+                if (_rtn.rtnCode > 0) { GetTree(); }
                 ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
             }
             catch (Exception ex)
@@ -66,17 +75,103 @@
             }
         }
 
+        /// <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);
+
+        }
+        /// <summary>
+        /// 鏂板浜嬩欢
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
         private void ToolBarMenu1_btnAddClick(object sender, EventArgs e)
         {
-            SysMenuAdd frm = new SysMenuAdd("");
-            frm.UpdateParent += Frm_UpdateParent;
-            frm.ShowDialog();
+            UtilityHelper.ChangeTab(xtraTabControl1, 1);
+            lbGuid.Text = "";
+            UtilityHelper.CleanValue(this.panel1.Controls, true);
         }
-        private void Frm_UpdateParent(object sender, UpdateParentEventArgs e)
+        /// <summary>
+        /// 淇濆瓨浜嬩欢
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void ToolBarMenu1_btnSaveClick(object sender, EventArgs e)
         {
-            getTree();
+            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_status.Text.Trim()) || txt_status.SelectedIndex == 0)
+            {
+                Gs.DevApp.ToolBox.MsgHelper.Warning("鑿滃崟鐘舵�佷笉鑳戒负绌猴紒");
+                txt_status.Focus();
+                return;
+            }
+            string _upGuid = txt_upGuid.EditValue.ToString();
+            var _obj = new
+            {
+                guid = lbGuid.Text.Trim(),//涓诲缓
+                upGuid = _upGuid,//涓婄骇鐨勪富寤�
+                name = txt_name.Text.Trim(),//鍚嶇О
+                icon = txt_icon.Text,//鑿滃崟鍥炬爣
+                status = txt_status.SelectedIndex,//鐘舵��
+                formPath = txt_formPath.Text.Trim(),//绐椾綋璺緞
+                idx = int.Parse(txt_idx.Value.ToString()),//鎺掑簭
+                category = txt_category.SelectedIndex,//绫诲瀷
+            };
+            string strJson = "";
+            try
+            {
+                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);
+            }
         }
-        private void getTree()
+
+        private void GetTree()
         {
             Models.PageQueryModel pgq = new Models.PageQueryModel(1, 999999, "idx", "asc", "", "");
             string json = JsonConvert.SerializeObject(pgq);
@@ -104,5 +199,59 @@
             }
         }
 
+        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,//涓诲缓
+            };
+            string strJson = "";
+            try
+            {
+                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);
+            }
+        }
+
+        private void GetDownList()
+        {
+            Models.PageQueryModel pgq = new Models.PageQueryModel(1, 999999, "idx", "asc", "", " and category=1");
+            string json = JsonConvert.SerializeObject(pgq);
+            string strReturn = "";
+            try
+            {
+                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);
+            }
+        }
     }
 }
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/User/SysMenu.resx b/DevApp/Gs.DevApp/DevFrm/User/SysMenu.resx
index b11c008..1af7de1 100644
--- a/DevApp/Gs.DevApp/DevFrm/User/SysMenu.resx
+++ b/DevApp/Gs.DevApp/DevFrm/User/SysMenu.resx
@@ -117,7 +117,4 @@
   <resheader name="writer">
     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
-  <metadata name="behaviorManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>17, 17</value>
-  </metadata>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/User/SysMenuAdd.Designer.cs b/DevApp/Gs.DevApp/DevFrm/User/SysMenuAdd.Designer.cs
deleted file mode 100644
index 7ab4cbe..0000000
--- a/DevApp/Gs.DevApp/DevFrm/User/SysMenuAdd.Designer.cs
+++ /dev/null
@@ -1,419 +0,0 @@
-锘�
-namespace Gs.DevApp.DevFrm.User
-{
-    partial class SysMenuAdd
-    {
-        /// <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.labelControl7 = new DevExpress.XtraEditors.LabelControl();
-            this.txtStatus = new DevExpress.XtraEditors.ComboBoxEdit();
-            this.txtIdx = new System.Windows.Forms.NumericUpDown();
-            this.labelControl1 = new DevExpress.XtraEditors.LabelControl();
-            this.btnEsc = new DevExpress.XtraEditors.SimpleButton();
-            this.btnSave = new DevExpress.XtraEditors.SimpleButton();
-            this.labelControl12 = new DevExpress.XtraEditors.LabelControl();
-            this.labelControl9 = new DevExpress.XtraEditors.LabelControl();
-            this.labelControl6 = new DevExpress.XtraEditors.LabelControl();
-            this.txtFormNamespace = new DevExpress.XtraEditors.MemoEdit();
-            this.labelControl5 = new DevExpress.XtraEditors.LabelControl();
-            this.txtMenuType = new DevExpress.XtraEditors.ComboBoxEdit();
-            this.txtMenuIco = new DevExpress.XtraEditors.TextEdit();
-            this.labelControl4 = new DevExpress.XtraEditors.LabelControl();
-            this.labelControl3 = new DevExpress.XtraEditors.LabelControl();
-            this.txtMenuName = new DevExpress.XtraEditors.TextEdit();
-            this.labelControl2 = new DevExpress.XtraEditors.LabelControl();
-            this.panel1 = new System.Windows.Forms.Panel();
-            this.lbGuid = new System.Windows.Forms.Label();
-            this.label2 = new System.Windows.Forms.Label();
-            this.label1 = new System.Windows.Forms.Label();
-            this.labelControl8 = new DevExpress.XtraEditors.LabelControl();
-            this.txtParentMenuName = new DevExpress.XtraEditors.TreeListLookUpEdit();
-            this.treeListLookUpEdit1TreeList = new DevExpress.XtraTreeList.TreeList();
-            this.treeListColumn1 = new DevExpress.XtraTreeList.Columns.TreeListColumn();
-            this.tabPage1 = new System.Windows.Forms.TabPage();
-            this.tabControl1 = new System.Windows.Forms.TabControl();
-            ((System.ComponentModel.ISupportInitialize)(this.txtStatus.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtIdx)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtFormNamespace.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtMenuType.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtMenuIco.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtMenuName.Properties)).BeginInit();
-            this.panel1.SuspendLayout();
-            ((System.ComponentModel.ISupportInitialize)(this.txtParentMenuName.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.treeListLookUpEdit1TreeList)).BeginInit();
-            this.tabPage1.SuspendLayout();
-            this.tabControl1.SuspendLayout();
-            this.SuspendLayout();
-            // 
-            // labelControl7
-            // 
-            this.labelControl7.Location = new System.Drawing.Point(33, 232);
-            this.labelControl7.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl7.Name = "labelControl7";
-            this.labelControl7.Size = new System.Drawing.Size(75, 18);
-            this.labelControl7.TabIndex = 115;
-            this.labelControl7.Text = "鑿滃崟鐘舵�侊細";
-            // 
-            // txtStatus
-            // 
-            this.txtStatus.Location = new System.Drawing.Point(111, 228);
-            this.txtStatus.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.txtStatus.Name = "txtStatus";
-            this.txtStatus.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
-            this.txtStatus.Properties.Items.AddRange(new object[] {
-            "-璇烽�夋嫨-",
-            "姝e父",
-            "绂佺敤"});
-            this.txtStatus.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
-            this.txtStatus.Size = new System.Drawing.Size(297, 24);
-            this.txtStatus.TabIndex = 114;
-            // 
-            // txtIdx
-            // 
-            this.txtIdx.Location = new System.Drawing.Point(111, 267);
-            this.txtIdx.Name = "txtIdx";
-            this.txtIdx.Size = new System.Drawing.Size(120, 26);
-            this.txtIdx.TabIndex = 113;
-            this.txtIdx.Value = new decimal(new int[] {
-            2,
-            0,
-            0,
-            0});
-            // 
-            // labelControl1
-            // 
-            this.labelControl1.Location = new System.Drawing.Point(30, 275);
-            this.labelControl1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl1.Name = "labelControl1";
-            this.labelControl1.Size = new System.Drawing.Size(75, 18);
-            this.labelControl1.TabIndex = 112;
-            this.labelControl1.Text = "鑿滃崟鎺掑簭锛�";
-            // 
-            // btnEsc
-            // 
-            this.btnEsc.ImageOptions.Image = global::Gs.DevApp.Properties.Resources.reviewingpane_32x32;
-            this.btnEsc.Location = new System.Drawing.Point(242, 333);
-            this.btnEsc.Name = "btnEsc";
-            this.btnEsc.Size = new System.Drawing.Size(94, 29);
-            this.btnEsc.TabIndex = 111;
-            this.btnEsc.Text = "鍙栨秷";
-            // 
-            // btnSave
-            // 
-            this.btnSave.ImageOptions.Image = global::Gs.DevApp.Properties.Resources.checkbox2_32x321;
-            this.btnSave.Location = new System.Drawing.Point(111, 333);
-            this.btnSave.Name = "btnSave";
-            this.btnSave.Size = new System.Drawing.Size(94, 29);
-            this.btnSave.TabIndex = 110;
-            this.btnSave.Text = "淇濆瓨";
-            // 
-            // labelControl12
-            // 
-            this.labelControl12.Appearance.ForeColor = System.Drawing.Color.Red;
-            this.labelControl12.Appearance.Options.UseForeColor = true;
-            this.labelControl12.Location = new System.Drawing.Point(418, 49);
-            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, 89);
-            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.Location = new System.Drawing.Point(33, 155);
-            this.labelControl6.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl6.Name = "labelControl6";
-            this.labelControl6.Size = new System.Drawing.Size(75, 18);
-            this.labelControl6.TabIndex = 103;
-            this.labelControl6.Text = "绐椾綋绫诲悕锛�";
-            // 
-            // txtFormNamespace
-            // 
-            this.txtFormNamespace.Location = new System.Drawing.Point(111, 152);
-            this.txtFormNamespace.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.txtFormNamespace.Name = "txtFormNamespace";
-            this.txtFormNamespace.Properties.ScrollBars = System.Windows.Forms.ScrollBars.None;
-            this.txtFormNamespace.Size = new System.Drawing.Size(297, 68);
-            this.txtFormNamespace.TabIndex = 102;
-            // 
-            // labelControl5
-            // 
-            this.labelControl5.Location = new System.Drawing.Point(36, 49);
-            this.labelControl5.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl5.Name = "labelControl5";
-            this.labelControl5.Size = new System.Drawing.Size(75, 18);
-            this.labelControl5.TabIndex = 101;
-            this.labelControl5.Text = "鑿滃崟绫诲瀷锛�";
-            // 
-            // txtMenuType
-            // 
-            this.txtMenuType.Location = new System.Drawing.Point(111, 45);
-            this.txtMenuType.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.txtMenuType.Name = "txtMenuType";
-            this.txtMenuType.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
-            this.txtMenuType.Properties.Items.AddRange(new object[] {
-            "-璇烽�夋嫨-",
-            "绐椾綋绫诲瀷",
-            "鎸夐挳绫诲瀷"});
-            this.txtMenuType.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
-            this.txtMenuType.Size = new System.Drawing.Size(297, 24);
-            this.txtMenuType.TabIndex = 100;
-            // 
-            // txtMenuIco
-            // 
-            this.txtMenuIco.Location = new System.Drawing.Point(111, 115);
-            this.txtMenuIco.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.txtMenuIco.Name = "txtMenuIco";
-            this.txtMenuIco.Size = new System.Drawing.Size(297, 24);
-            this.txtMenuIco.TabIndex = 99;
-            // 
-            // labelControl4
-            // 
-            this.labelControl4.Location = new System.Drawing.Point(33, 119);
-            this.labelControl4.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl4.Name = "labelControl4";
-            this.labelControl4.Size = new System.Drawing.Size(75, 18);
-            this.labelControl4.TabIndex = 98;
-            this.labelControl4.Text = "鑿滃崟鍥炬爣锛�";
-            // 
-            // labelControl3
-            // 
-            this.labelControl3.Location = new System.Drawing.Point(33, 17);
-            this.labelControl3.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl3.Name = "labelControl3";
-            this.labelControl3.Size = new System.Drawing.Size(75, 18);
-            this.labelControl3.TabIndex = 97;
-            this.labelControl3.Text = "鐖剁骇鑿滃崟锛�";
-            // 
-            // txtMenuName
-            // 
-            this.txtMenuName.Location = new System.Drawing.Point(111, 80);
-            this.txtMenuName.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.txtMenuName.Name = "txtMenuName";
-            this.txtMenuName.Size = new System.Drawing.Size(297, 24);
-            this.txtMenuName.TabIndex = 95;
-            // 
-            // labelControl2
-            // 
-            this.labelControl2.Location = new System.Drawing.Point(33, 84);
-            this.labelControl2.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl2.Name = "labelControl2";
-            this.labelControl2.Size = new System.Drawing.Size(75, 18);
-            this.labelControl2.TabIndex = 94;
-            this.labelControl2.Text = "鑿滃崟鍚嶇О锛�";
-            // 
-            // panel1
-            // 
-            this.panel1.Controls.Add(this.lbGuid);
-            this.panel1.Controls.Add(this.label2);
-            this.panel1.Controls.Add(this.label1);
-            this.panel1.Controls.Add(this.labelControl8);
-            this.panel1.Controls.Add(this.txtParentMenuName);
-            this.panel1.Controls.Add(this.labelControl7);
-            this.panel1.Controls.Add(this.txtStatus);
-            this.panel1.Controls.Add(this.txtIdx);
-            this.panel1.Controls.Add(this.labelControl1);
-            this.panel1.Controls.Add(this.btnEsc);
-            this.panel1.Controls.Add(this.btnSave);
-            this.panel1.Controls.Add(this.labelControl12);
-            this.panel1.Controls.Add(this.labelControl9);
-            this.panel1.Controls.Add(this.labelControl6);
-            this.panel1.Controls.Add(this.txtFormNamespace);
-            this.panel1.Controls.Add(this.labelControl5);
-            this.panel1.Controls.Add(this.txtMenuType);
-            this.panel1.Controls.Add(this.txtMenuIco);
-            this.panel1.Controls.Add(this.labelControl4);
-            this.panel1.Controls.Add(this.labelControl3);
-            this.panel1.Controls.Add(this.txtMenuName);
-            this.panel1.Controls.Add(this.labelControl2);
-            this.panel1.Location = new System.Drawing.Point(57, 6);
-            this.panel1.Name = "panel1";
-            this.panel1.Size = new System.Drawing.Size(585, 402);
-            this.panel1.TabIndex = 0;
-            // 
-            // lbGuid
-            // 
-            this.lbGuid.AutoSize = true;
-            this.lbGuid.Location = new System.Drawing.Point(66, 373);
-            this.lbGuid.Name = "lbGuid";
-            this.lbGuid.Size = new System.Drawing.Size(39, 18);
-            this.lbGuid.TabIndex = 1;
-            this.lbGuid.Text = "guid:";
-            // 
-            // label2
-            // 
-            this.label2.AutoSize = true;
-            this.label2.Location = new System.Drawing.Point(412, 155);
-            this.label2.Name = "label2";
-            this.label2.Size = new System.Drawing.Size(158, 36);
-            this.label2.TabIndex = 119;
-            this.label2.Text = "锛堢獥浣撶殑鍛藉悕绌洪棿鍏ㄧО\r\n   锛岀埗鑿滃崟鍙负绌猴級";
-            // 
-            // label1
-            // 
-            this.label1.AutoSize = true;
-            this.label1.Location = new System.Drawing.Point(412, 14);
-            this.label1.Name = "label1";
-            this.label1.Size = new System.Drawing.Size(143, 18);
-            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, 234);
-            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 = "*";
-            // 
-            // txtParentMenuName
-            // 
-            this.txtParentMenuName.EditValue = "鏃犲彲濂堜綍鑺辫惤鍘�";
-            this.txtParentMenuName.Location = new System.Drawing.Point(111, 11);
-            this.txtParentMenuName.Name = "txtParentMenuName";
-            this.txtParentMenuName.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
-            this.txtParentMenuName.Properties.TreeList = this.treeListLookUpEdit1TreeList;
-            this.txtParentMenuName.Size = new System.Drawing.Size(297, 24);
-            this.txtParentMenuName.TabIndex = 116;
-            // 
-            // treeListLookUpEdit1TreeList
-            // 
-            this.treeListLookUpEdit1TreeList.Columns.AddRange(new DevExpress.XtraTreeList.Columns.TreeListColumn[] {
-            this.treeListColumn1});
-            this.treeListLookUpEdit1TreeList.KeyFieldName = "";
-            this.treeListLookUpEdit1TreeList.Location = new System.Drawing.Point(0, 0);
-            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;
-            // 
-            // treeListColumn1
-            // 
-            this.treeListColumn1.Caption = "鑿滃崟鍚�";
-            this.treeListColumn1.FieldName = "name";
-            this.treeListColumn1.Name = "treeListColumn1";
-            this.treeListColumn1.Visible = true;
-            this.treeListColumn1.VisibleIndex = 0;
-            // 
-            // tabPage1
-            // 
-            this.tabPage1.Controls.Add(this.panel1);
-            this.tabPage1.Location = new System.Drawing.Point(4, 27);
-            this.tabPage1.Name = "tabPage1";
-            this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
-            this.tabPage1.Size = new System.Drawing.Size(650, 450);
-            this.tabPage1.TabIndex = 0;
-            this.tabPage1.Text = "鍩虹淇℃伅";
-            this.tabPage1.UseVisualStyleBackColor = true;
-            // 
-            // tabControl1
-            // 
-            this.tabControl1.Controls.Add(this.tabPage1);
-            this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.tabControl1.Location = new System.Drawing.Point(0, 0);
-            this.tabControl1.Name = "tabControl1";
-            this.tabControl1.SelectedIndex = 0;
-            this.tabControl1.Size = new System.Drawing.Size(658, 481);
-            this.tabControl1.TabIndex = 1;
-            // 
-            // SysMenuAdd
-            // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 18F);
-            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(658, 481);
-            this.Controls.Add(this.tabControl1);
-            this.MaximizeBox = false;
-            this.MinimizeBox = false;
-            this.Name = "SysMenuAdd";
-            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
-            this.Text = "鑿滃崟淇℃伅";
-            this.TopMost = true;
-            ((System.ComponentModel.ISupportInitialize)(this.txtStatus.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtIdx)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtFormNamespace.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtMenuType.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtMenuIco.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtMenuName.Properties)).EndInit();
-            this.panel1.ResumeLayout(false);
-            this.panel1.PerformLayout();
-            ((System.ComponentModel.ISupportInitialize)(this.txtParentMenuName.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.treeListLookUpEdit1TreeList)).EndInit();
-            this.tabPage1.ResumeLayout(false);
-            this.tabControl1.ResumeLayout(false);
-            this.ResumeLayout(false);
-
-        }
-
-        #endregion
-
-        private DevExpress.XtraEditors.LabelControl labelControl7;
-        private DevExpress.XtraEditors.ComboBoxEdit txtStatus;
-        private System.Windows.Forms.NumericUpDown txtIdx;
-        private DevExpress.XtraEditors.LabelControl labelControl1;
-        private DevExpress.XtraEditors.SimpleButton btnEsc;
-        private DevExpress.XtraEditors.SimpleButton btnSave;
-        private DevExpress.XtraEditors.LabelControl labelControl12;
-        private DevExpress.XtraEditors.LabelControl labelControl9;
-        private DevExpress.XtraEditors.LabelControl labelControl6;
-        private DevExpress.XtraEditors.MemoEdit txtFormNamespace;
-        private DevExpress.XtraEditors.LabelControl labelControl5;
-        private DevExpress.XtraEditors.ComboBoxEdit txtMenuType;
-        private DevExpress.XtraEditors.TextEdit txtMenuIco;
-        private DevExpress.XtraEditors.LabelControl labelControl4;
-        private DevExpress.XtraEditors.LabelControl labelControl3;
-        private DevExpress.XtraEditors.TextEdit txtMenuName;
-        private DevExpress.XtraEditors.LabelControl labelControl2;
-        private System.Windows.Forms.Panel panel1;
-        private System.Windows.Forms.TabPage tabPage1;
-        private System.Windows.Forms.TabControl tabControl1;
-        private DevExpress.XtraEditors.TreeListLookUpEdit txtParentMenuName;
-        private DevExpress.XtraTreeList.TreeList treeListLookUpEdit1TreeList;
-        private System.Windows.Forms.Label lbGuid;
-        private DevExpress.XtraEditors.LabelControl labelControl8;
-        private System.Windows.Forms.Label label2;
-        private System.Windows.Forms.Label label1;
-        private DevExpress.XtraTreeList.Columns.TreeListColumn treeListColumn1;
-    }
-}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/User/SysMenuAdd.cs b/DevApp/Gs.DevApp/DevFrm/User/SysMenuAdd.cs
deleted file mode 100644
index e9effcb..0000000
--- a/DevApp/Gs.DevApp/DevFrm/User/SysMenuAdd.cs
+++ /dev/null
@@ -1,169 +0,0 @@
-锘縰sing DevExpress.XtraEditors;
-using Newtonsoft.Json;
-using System;
-using System.Data;
-using Gs.DevApp.ToolBox;
-using Gs.DevApp.Models;
-using DevExpress.XtraTreeList.Nodes;
-namespace Gs.DevApp.DevFrm.User
-{
-    public partial class SysMenuAdd : DevExpress.XtraEditors.XtraForm
-    {
-        public event EventHandler<UpdateParentEventArgs> UpdateParent;
-
-        public SysMenuAdd(string guid)
-        {
-            InitializeComponent();
-            btnSave.Click += BtnSave_Click;
-            btnEsc.Click += BtnEsc_Click;
-            txtMenuType.TextChanged += TxtMenuType_TextChanged;
-            getTree();
-            lbGuid.Text = guid;
-            getModel();
-        }
-        private void TxtMenuType_TextChanged(object sender, EventArgs e)
-        {
-            if (txtMenuType.SelectedIndex == 1)
-            {
-                this.txtFormNamespace.Enabled = true;
-                this.txtMenuIco.Enabled = true;
-            }
-            else
-            {
-                this.txtFormNamespace.Enabled = false;
-                this.txtMenuIco.Enabled = false;
-                this.txtFormNamespace.Text = "";
-                this.txtMenuIco.Text = "";
-            }
-        }
-
-        private void BtnEsc_Click(object sender, EventArgs e)
-        {
-            this.Dispose();
-        }
-
-        private void BtnSave_Click(object sender, EventArgs e)
-        {
-            if (string.IsNullOrEmpty(txtMenuType.Text.Trim()) || txtMenuType.SelectedIndex == 0)
-            {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("鑿滃崟绫诲瀷涓嶈兘涓虹┖锛�");
-                txtMenuType.Focus();
-                return;
-            }
-            if (string.IsNullOrEmpty(txtMenuName.Text.Trim()))
-            {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("鑿滃崟鍚嶇О涓嶈兘涓虹┖锛�");
-                txtMenuName.Focus();
-                return;
-            }
-            if (string.IsNullOrEmpty(txtStatus.Text.Trim()) || txtStatus.SelectedIndex == 0)
-            {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("鑿滃崟鐘舵�佷笉鑳戒负绌猴紒");
-                txtStatus.Focus();
-                return;
-            }
-            string _upGuid = "";
-            TreeListNode focusedNode = txtParentMenuName.Properties.TreeList.FocusedNode;
-            if (focusedNode != null)
-            {
-                _upGuid = focusedNode.GetValue("guid").ToString();
-            }
-            var _obj = new
-            {
-                guid = lbGuid.Text.Trim(),//涓诲缓
-                upGuid = _upGuid,//涓婄骇鐨勪富寤�
-                name = txtMenuName.Text.Trim(),//鍚嶇О
-                icon = txtMenuIco.Text,//鑿滃崟鍥炬爣
-                status = txtStatus.SelectedIndex,//鐘舵��
-                formPath = txtFormNamespace.Text.Trim(),//绐椾綋璺緞
-                idx = int.Parse(txtIdx.Value.ToString()),//鎺掑簭
-                category = txtMenuType.SelectedIndex,//绫诲瀷
-            };
-            string strJson = "";
-            try
-            {
-                strJson = UtilityHelper.HttpPost("", "MenuAction/EditModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
-                if (_rtn.rtnCode > 0)
-                {
-                    UpdateParent?.Invoke(this, new UpdateParentEventArgs { Data = "" });
-                }
-            }
-            catch (Exception ex)
-            {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
-            }
-        }
-
-        private void getTree()
-        {
-            Models.PageQueryModel pgq = new Models.PageQueryModel(1, 999999, "idx", "asc", "", " and category=1");
-            string json = JsonConvert.SerializeObject(pgq);
-            string strReturn = "";
-            try
-            {
-                strReturn = UtilityHelper.HttpPost("", "MenuAction/GetListPage", json);
-                ReturnModel<PageListModel> dd = UtilityHelper.GetTableByJson(strReturn);
-                DataTable dt = dd.rtnData.list;
-                txtParentMenuName.Properties.TreeList.KeyFieldName = "guid";
-                txtParentMenuName.Properties.TreeList.ParentFieldName = "upGuid";
-                //txtParentMenuName.Properties.ValueMember = "guid";
-                txtParentMenuName.Properties.DisplayMember = "name";
-                txtParentMenuName.Properties.DataSource = dt;
-            }
-            catch (Exception ex)
-            {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
-            }
-        }
-
-        private void getModel()
-        {
-            if (lbGuid.Text.Length <= 0) return;
-            var _obj = new
-            {
-                guid = lbGuid.Text.Trim(),//涓诲缓
-            };
-            string strJson = "";
-            try
-            {
-                strJson = UtilityHelper.HttpPost("", "MenuAction/GetModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
-                if (_rtn.rtnCode > 0)
-                {
-                    txtMenuName.Text = _rtn.rtnData.name;
-                    txtMenuIco.Text = _rtn.rtnData.icon;
-                    txtFormNamespace.Text = _rtn.rtnData.formPath;
-                    txtStatus.SelectedIndex = _rtn.rtnData.status;
-                    txtMenuType.SelectedIndex = _rtn.rtnData.category;
-                    txtIdx.Value = _rtn.rtnData.idx;
-                    //  txtParentMenuName.Text = "";
-                }
-                else
-                    ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
-            }
-            catch (Exception ex)
-            {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
-            }
-        }
-
-        private void cleanTxt()
-        {
-            //guid = lbGuid.Text.Trim(),//涓诲缓
-            //    upGuid = _upGuid,//涓婄骇鐨勪富寤�
-            //    name = txtMenuName.Text.Trim(),//鍚嶇О
-            //    icon = txtMenuIco.Text,//鑿滃崟鍥炬爣
-            //    status = txtStatus.SelectedIndex,//鐘舵��
-            //    formPath = txtFormNamespace.Text.Trim(),//绐椾綋璺緞
-            //    idx = int.Parse(txtIdx.Value.ToString()),//鎺掑簭
-            //    category = txtMenuType.SelectedIndex,//绫诲瀷
-
-            //if(lbGuid.Text)
-        }
-
-       
-        
-    }
-}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/User/SysMenuAdd.resx b/DevApp/Gs.DevApp/DevFrm/User/SysMenuAdd.resx
deleted file mode 100644
index 1af7de1..0000000
--- a/DevApp/Gs.DevApp/DevFrm/User/SysMenuAdd.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.Designer.cs b/DevApp/Gs.DevApp/DevFrm/User/User.Designer.cs
index bad0e2b..1639ba5 100644
--- a/DevApp/Gs.DevApp/DevFrm/User/User.Designer.cs
+++ b/DevApp/Gs.DevApp/DevFrm/User/User.Designer.cs
@@ -30,7 +30,7 @@
         private void InitializeComponent()
         {
             this.toolBarMenu1 = new Gs.DevApp.UserControl.ToolBarMenu();
-            this.gc_Main = new DevExpress.XtraGrid.GridControl();
+            this.gcMain = new DevExpress.XtraGrid.GridControl();
             this.gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
             this.account = new DevExpress.XtraGrid.Columns.GridColumn();
             this.userName = new DevExpress.XtraGrid.Columns.GridColumn();
@@ -40,29 +40,68 @@
             this.lastLoginTime = new DevExpress.XtraGrid.Columns.GridColumn();
             this.isLocked = new DevExpress.XtraGrid.Columns.GridColumn();
             this.loginCounter = new DevExpress.XtraGrid.Columns.GridColumn();
+            this.xtraTabControl1 = new DevExpress.XtraTab.XtraTabControl();
+            this.xtraTabPage1 = new DevExpress.XtraTab.XtraTabPage();
             this.PageBar1 = new UserControls.Data.PageBar();
-            ((System.ComponentModel.ISupportInitialize)(this.gc_Main)).BeginInit();
+            this.xtraTabPage2 = new DevExpress.XtraTab.XtraTabPage();
+            this.panel1 = new System.Windows.Forms.Panel();
+            this.labelControl11 = new DevExpress.XtraEditors.LabelControl();
+            this.labelControl10 = new DevExpress.XtraEditors.LabelControl();
+            this.txt_account = new DevExpress.XtraEditors.TextEdit();
+            this.labelControl8 = new DevExpress.XtraEditors.LabelControl();
+            this.txt_remark = new DevExpress.XtraEditors.MemoEdit();
+            this.labelControl7 = new DevExpress.XtraEditors.LabelControl();
+            this.txt_address = new DevExpress.XtraEditors.TextEdit();
+            this.labelControl3 = new DevExpress.XtraEditors.LabelControl();
+            this.txt_tel = new DevExpress.XtraEditors.TextEdit();
+            this.labelControl1 = new DevExpress.XtraEditors.LabelControl();
+            this.txt_email = new DevExpress.XtraEditors.TextEdit();
+            this.lbGuid = new System.Windows.Forms.Label();
+            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_isLocked = new DevExpress.XtraEditors.ComboBoxEdit();
+            this.txt_password = new DevExpress.XtraEditors.TextEdit();
+            this.lbPwd = new DevExpress.XtraEditors.LabelControl();
+            this.txt_userName = new DevExpress.XtraEditors.TextEdit();
+            this.labelControl2 = new DevExpress.XtraEditors.LabelControl();
+            ((System.ComponentModel.ISupportInitialize)(this.gcMain)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.gridView1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.xtraTabControl1)).BeginInit();
+            this.xtraTabControl1.SuspendLayout();
+            this.xtraTabPage1.SuspendLayout();
+            this.xtraTabPage2.SuspendLayout();
+            this.panel1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_account.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_remark.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_address.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_tel.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_email.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_isLocked.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_password.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_userName.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(1128, 80);
             this.toolBarMenu1.TabIndex = 0;
             // 
-            // gc_Main
+            // gcMain
             // 
-            this.gc_Main.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.gc_Main.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.gc_Main.Location = new System.Drawing.Point(0, 80);
-            this.gc_Main.MainView = this.gridView1;
-            this.gc_Main.Name = "gc_Main";
-            this.gc_Main.Size = new System.Drawing.Size(1128, 372);
-            this.gc_Main.TabIndex = 1;
-            this.gc_Main.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] {
+            this.gcMain.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.gcMain.Font = new System.Drawing.Font("Tahoma", 10F);
+            this.gcMain.Location = new System.Drawing.Point(0, 0);
+            this.gcMain.MainView = this.gridView1;
+            this.gcMain.Name = "gcMain";
+            this.gcMain.Size = new System.Drawing.Size(1126, 531);
+            this.gcMain.TabIndex = 1;
+            this.gcMain.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] {
             this.gridView1});
             // 
             // gridView1
@@ -78,8 +117,9 @@
             this.lastLoginTime,
             this.isLocked,
             this.loginCounter});
-            this.gridView1.GridControl = this.gc_Main;
+            this.gridView1.GridControl = this.gcMain;
             this.gridView1.Name = "gridView1";
+            this.gridView1.OptionsBehavior.Editable = false;
             // 
             // account
             // 
@@ -177,31 +217,295 @@
             this.loginCounter.VisibleIndex = 7;
             this.loginCounter.Width = 94;
             // 
+            // 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(1128, 602);
+            this.xtraTabControl1.TabIndex = 3;
+            this.xtraTabControl1.TabPages.AddRange(new DevExpress.XtraTab.XtraTabPage[] {
+            this.xtraTabPage1,
+            this.xtraTabPage2});
+            // 
+            // xtraTabPage1
+            // 
+            this.xtraTabPage1.Controls.Add(this.gcMain);
+            this.xtraTabPage1.Controls.Add(this.PageBar1);
+            this.xtraTabPage1.Name = "xtraTabPage1";
+            this.xtraTabPage1.Size = new System.Drawing.Size(1126, 570);
+            this.xtraTabPage1.Text = "鏁版嵁鏌ヨ";
+            // 
             // PageBar1
             // 
             this.PageBar1.CurrentPage = 1;
             this.PageBar1.Dock = System.Windows.Forms.DockStyle.Bottom;
-            this.PageBar1.Location = new System.Drawing.Point(0, 452);
-            this.PageBar1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.PageBar1.Location = new System.Drawing.Point(0, 531);
+            this.PageBar1.Margin = new System.Windows.Forms.Padding(3, 5, 3, 5);
             this.PageBar1.Name = "PageBar1";
             this.PageBar1.RecordCount = 0;
             this.PageBar1.RowsCount = 50;
-            this.PageBar1.Size = new System.Drawing.Size(1128, 63);
-            this.PageBar1.TabIndex = 2;
+            this.PageBar1.Size = new System.Drawing.Size(1126, 39);
+            this.PageBar1.TabIndex = 3;
             this.PageBar1.TotalPages = 0;
+            // 
+            // xtraTabPage2
+            // 
+            this.xtraTabPage2.Controls.Add(this.panel1);
+            this.xtraTabPage2.Name = "xtraTabPage2";
+            this.xtraTabPage2.PageEnabled = false;
+            this.xtraTabPage2.Size = new System.Drawing.Size(1126, 570);
+            this.xtraTabPage2.Text = "鏁版嵁缂栬緫";
+            // 
+            // panel1
+            // 
+            this.panel1.Controls.Add(this.labelControl11);
+            this.panel1.Controls.Add(this.labelControl10);
+            this.panel1.Controls.Add(this.txt_account);
+            this.panel1.Controls.Add(this.labelControl8);
+            this.panel1.Controls.Add(this.txt_remark);
+            this.panel1.Controls.Add(this.labelControl7);
+            this.panel1.Controls.Add(this.txt_address);
+            this.panel1.Controls.Add(this.labelControl3);
+            this.panel1.Controls.Add(this.txt_tel);
+            this.panel1.Controls.Add(this.labelControl1);
+            this.panel1.Controls.Add(this.txt_email);
+            this.panel1.Controls.Add(this.lbGuid);
+            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_isLocked);
+            this.panel1.Controls.Add(this.txt_password);
+            this.panel1.Controls.Add(this.lbPwd);
+            this.panel1.Controls.Add(this.txt_userName);
+            this.panel1.Controls.Add(this.labelControl2);
+            this.panel1.Location = new System.Drawing.Point(76, 20);
+            this.panel1.Name = "panel1";
+            this.panel1.Size = new System.Drawing.Size(585, 426);
+            this.panel1.TabIndex = 1;
+            // 
+            // labelControl11
+            // 
+            this.labelControl11.Location = new System.Drawing.Point(61, 388);
+            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 = 130;
+            this.labelControl11.Text = "涓婚敭锛�";
+            // 
+            // labelControl10
+            // 
+            this.labelControl10.Appearance.ForeColor = System.Drawing.Color.Red;
+            this.labelControl10.Appearance.Options.UseForeColor = true;
+            this.labelControl10.Location = new System.Drawing.Point(418, 29);
+            this.labelControl10.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.labelControl10.Name = "labelControl10";
+            this.labelControl10.Size = new System.Drawing.Size(8, 18);
+            this.labelControl10.TabIndex = 129;
+            this.labelControl10.Text = "*";
+            // 
+            // txt_account
+            // 
+            this.txt_account.Location = new System.Drawing.Point(109, 16);
+            this.txt_account.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.txt_account.Name = "txt_account";
+            this.txt_account.Size = new System.Drawing.Size(297, 24);
+            this.txt_account.TabIndex = 128;
+            // 
+            // labelControl8
+            // 
+            this.labelControl8.Location = new System.Drawing.Point(31, 20);
+            this.labelControl8.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.labelControl8.Name = "labelControl8";
+            this.labelControl8.Size = new System.Drawing.Size(75, 18);
+            this.labelControl8.TabIndex = 127;
+            this.labelControl8.Text = "鐧诲綍璐﹀彿锛�";
+            // 
+            // txt_remark
+            // 
+            this.txt_remark.Location = new System.Drawing.Point(109, 255);
+            this.txt_remark.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.txt_remark.Name = "txt_remark";
+            this.txt_remark.Properties.ScrollBars = System.Windows.Forms.ScrollBars.None;
+            this.txt_remark.Size = new System.Drawing.Size(297, 68);
+            this.txt_remark.TabIndex = 126;
+            // 
+            // labelControl7
+            // 
+            this.labelControl7.Location = new System.Drawing.Point(61, 268);
+            this.labelControl7.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.labelControl7.Name = "labelControl7";
+            this.labelControl7.Size = new System.Drawing.Size(45, 18);
+            this.labelControl7.TabIndex = 125;
+            this.labelControl7.Text = "澶囨敞锛�";
+            // 
+            // txt_address
+            // 
+            this.txt_address.Location = new System.Drawing.Point(109, 223);
+            this.txt_address.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.txt_address.Name = "txt_address";
+            this.txt_address.Size = new System.Drawing.Size(297, 24);
+            this.txt_address.TabIndex = 124;
+            // 
+            // labelControl3
+            // 
+            this.labelControl3.Location = new System.Drawing.Point(31, 227);
+            this.labelControl3.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.labelControl3.Name = "labelControl3";
+            this.labelControl3.Size = new System.Drawing.Size(75, 18);
+            this.labelControl3.TabIndex = 123;
+            this.labelControl3.Text = "浣忓鍦板潃锛�";
+            // 
+            // txt_tel
+            // 
+            this.txt_tel.Location = new System.Drawing.Point(109, 179);
+            this.txt_tel.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.txt_tel.Name = "txt_tel";
+            this.txt_tel.Size = new System.Drawing.Size(297, 24);
+            this.txt_tel.TabIndex = 122;
+            // 
+            // labelControl1
+            // 
+            this.labelControl1.Location = new System.Drawing.Point(61, 183);
+            this.labelControl1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.labelControl1.Name = "labelControl1";
+            this.labelControl1.Size = new System.Drawing.Size(45, 18);
+            this.labelControl1.TabIndex = 121;
+            this.labelControl1.Text = "鐢佃瘽锛�";
+            // 
+            // txt_email
+            // 
+            this.txt_email.Location = new System.Drawing.Point(109, 135);
+            this.txt_email.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.txt_email.Name = "txt_email";
+            this.txt_email.Size = new System.Drawing.Size(297, 24);
+            this.txt_email.TabIndex = 120;
+            // 
+            // lbGuid
+            // 
+            this.lbGuid.AutoSize = true;
+            this.lbGuid.Location = new System.Drawing.Point(112, 388);
+            this.lbGuid.Name = "lbGuid";
+            this.lbGuid.Size = new System.Drawing.Size(0, 18);
+            this.lbGuid.TabIndex = 1;
+            // 
+            // labelControl12
+            // 
+            this.labelControl12.Appearance.ForeColor = System.Drawing.Color.Red;
+            this.labelControl12.Appearance.Options.UseForeColor = true;
+            this.labelControl12.Location = new System.Drawing.Point(418, 56);
+            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, 96);
+            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.Location = new System.Drawing.Point(61, 138);
+            this.labelControl6.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.labelControl6.Name = "labelControl6";
+            this.labelControl6.Size = new System.Drawing.Size(45, 18);
+            this.labelControl6.TabIndex = 103;
+            this.labelControl6.Text = "閭锛�";
+            // 
+            // labelControl5
+            // 
+            this.labelControl5.Location = new System.Drawing.Point(31, 344);
+            this.labelControl5.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.labelControl5.Name = "labelControl5";
+            this.labelControl5.Size = new System.Drawing.Size(75, 18);
+            this.labelControl5.TabIndex = 101;
+            this.labelControl5.Text = "閿佸畾鐘舵�侊細";
+            // 
+            // txt_isLocked
+            // 
+            this.txt_isLocked.EditValue = "-璇烽�夋嫨-";
+            this.txt_isLocked.Location = new System.Drawing.Point(109, 340);
+            this.txt_isLocked.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.txt_isLocked.Name = "txt_isLocked";
+            this.txt_isLocked.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
+            this.txt_isLocked.Properties.Items.AddRange(new object[] {
+            "-璇烽�夋嫨-",
+            "姝e父",
+            "閿佸畾"});
+            this.txt_isLocked.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
+            this.txt_isLocked.Size = new System.Drawing.Size(297, 24);
+            this.txt_isLocked.TabIndex = 100;
+            // 
+            // txt_password
+            // 
+            this.txt_password.Location = new System.Drawing.Point(109, 53);
+            this.txt_password.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.txt_password.Name = "txt_password";
+            this.txt_password.Size = new System.Drawing.Size(297, 24);
+            this.txt_password.TabIndex = 99;
+            // 
+            // lbPwd
+            // 
+            this.lbPwd.Location = new System.Drawing.Point(31, 57);
+            this.lbPwd.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.lbPwd.Name = "lbPwd";
+            this.lbPwd.Size = new System.Drawing.Size(75, 18);
+            this.lbPwd.TabIndex = 98;
+            this.lbPwd.Text = "鍒濆瀵嗙爜锛�";
+            // 
+            // txt_userName
+            // 
+            this.txt_userName.Location = new System.Drawing.Point(109, 89);
+            this.txt_userName.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.txt_userName.Name = "txt_userName";
+            this.txt_userName.Size = new System.Drawing.Size(297, 24);
+            this.txt_userName.TabIndex = 95;
+            // 
+            // labelControl2
+            // 
+            this.labelControl2.Location = new System.Drawing.Point(61, 93);
+            this.labelControl2.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
+            this.labelControl2.Name = "labelControl2";
+            this.labelControl2.Size = new System.Drawing.Size(45, 18);
+            this.labelControl2.TabIndex = 94;
+            this.labelControl2.Text = "濮撳悕锛�";
             // 
             // User
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 18F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(1128, 515);
-            this.Controls.Add(this.gc_Main);
+            this.ClientSize = new System.Drawing.Size(1128, 682);
+            this.Controls.Add(this.xtraTabControl1);
             this.Controls.Add(this.toolBarMenu1);
-            this.Controls.Add(this.PageBar1);
             this.Name = "User";
             this.Text = "User";
-            ((System.ComponentModel.ISupportInitialize)(this.gc_Main)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.gcMain)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.gridView1)).EndInit();
+            ((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_account.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_remark.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_address.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_tel.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_email.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_isLocked.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_password.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.txt_userName.Properties)).EndInit();
             this.ResumeLayout(false);
 
         }
@@ -209,16 +513,41 @@
         #endregion
 
         private UserControl.ToolBarMenu toolBarMenu1;
-        private DevExpress.XtraGrid.GridControl gc_Main;
+        private DevExpress.XtraGrid.GridControl gcMain;
         private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
         private DevExpress.XtraGrid.Columns.GridColumn account;
         private DevExpress.XtraGrid.Columns.GridColumn userName;
         private DevExpress.XtraGrid.Columns.GridColumn tel;
-        private UserControls.Data.PageBar PageBar1;
         private DevExpress.XtraGrid.Columns.GridColumn email;
         private DevExpress.XtraGrid.Columns.GridColumn createTime;
         private DevExpress.XtraGrid.Columns.GridColumn lastLoginTime;
         private DevExpress.XtraGrid.Columns.GridColumn isLocked;
         private DevExpress.XtraGrid.Columns.GridColumn loginCounter;
+        private DevExpress.XtraTab.XtraTabControl xtraTabControl1;
+        private DevExpress.XtraTab.XtraTabPage xtraTabPage1;
+        private DevExpress.XtraTab.XtraTabPage xtraTabPage2;
+        private UserControls.Data.PageBar PageBar1;
+        private System.Windows.Forms.Panel panel1;
+        private DevExpress.XtraEditors.LabelControl labelControl10;
+        private DevExpress.XtraEditors.TextEdit txt_account;
+        private DevExpress.XtraEditors.LabelControl labelControl8;
+        private DevExpress.XtraEditors.MemoEdit txt_remark;
+        private DevExpress.XtraEditors.LabelControl labelControl7;
+        private DevExpress.XtraEditors.TextEdit txt_address;
+        private DevExpress.XtraEditors.LabelControl labelControl3;
+        private DevExpress.XtraEditors.TextEdit txt_tel;
+        private DevExpress.XtraEditors.LabelControl labelControl1;
+        private DevExpress.XtraEditors.TextEdit txt_email;
+        private System.Windows.Forms.Label lbGuid;
+        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_isLocked;
+        private DevExpress.XtraEditors.TextEdit txt_password;
+        private DevExpress.XtraEditors.LabelControl lbPwd;
+        private DevExpress.XtraEditors.TextEdit txt_userName;
+        private DevExpress.XtraEditors.LabelControl labelControl2;
+        private DevExpress.XtraEditors.LabelControl labelControl11;
     }
 }
\ 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 a8ce05c..094e5bc 100644
--- a/DevApp/Gs.DevApp/DevFrm/User/User.cs
+++ b/DevApp/Gs.DevApp/DevFrm/User/User.cs
@@ -1,17 +1,9 @@
-锘縰sing DevExpress.XtraEditors;
-using DevExpress.XtraGrid.Columns;
-using DevExpress.XtraGrid.Views.Grid;
+锘縰sing DevExpress.XtraGrid.Views.Base;
 using Gs.DevApp.Models;
 using Gs.DevApp.ToolBox;
 using Newtonsoft.Json;
 using System;
-using System.Collections.Generic;
-using System.ComponentModel;
 using System.Data;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
 using System.Windows.Forms;
 
 namespace Gs.DevApp.DevFrm.User
@@ -22,22 +14,195 @@
         {
             InitializeComponent();
             this.toolBarMenu1.btnAddClick += ToolBarMenu1_btnAddClick;
-            PageBar1.williamPagerEvent += CtrlGridPaging1_williamPagerEvent;
-            GetPageList(1, 10);
-             
+            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;
+            gcMain.MouseDoubleClick += GcMain_MouseDoubleClick;
+            PageBar1.PagerEvent += PageBar1_PagerEvent;
+            GetPageList(1, UtilityHelper.GetPageSize());
         }
-
-        private void CtrlGridPaging1_williamPagerEvent(int curPage, int pageSize)
+        /// <summary>
+        /// 鍙屽嚮浜嬩欢
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void GcMain_MouseDoubleClick(object sender, MouseEventArgs e)
         {
-            //MessageBox.Show("褰撳墠椤碉細" + curPage + "锛屾瘡椤靛睍绀猴細" + pageSize + "鏉�");
+            string rowGuid = "";
+            ColumnView cv = (ColumnView)gcMain.FocusedView;
+            object rowIdObj = gridView1.GetRowCellValue(cv.FocusedRowHandle, "guid");
+            DataRow myDataRow = gridView1.GetDataRow(gridView1.FocusedRowHandle);
+            rowGuid = myDataRow["guid"].ToString();
+            GetModel(rowGuid, false, 999);
+        }
+        /// <summary>
+        /// 鍒嗛〉浜嬩欢
+        /// </summary>
+        /// <param name="curPage"></param>
+        /// <param name="pageSize"></param>
+        private void PageBar1_PagerEvent(int curPage, int pageSize)
+        {
             GetPageList(curPage, pageSize);
         }
 
+        /// <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)
+        {
+            DataRow dr = gridView1.GetFocusedDataRow();
+            if (dr == null || string.IsNullOrEmpty(dr["guid"].ToString()))
+            {
+                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                return;
+            }
+            if (!MsgHelper.AskQuestion("浣犻�夋嫨浜嗐��" + dr["userName"].ToString() + "銆戯紝纭畾鍒犻櫎鍚楋紵"))
+                return;
+            var _obj = new
+            {
+                guidList = dr["guid"].ToString(),//涓诲缓
+            };
+            string strJson = "";
+            try
+            {
+                strJson = UtilityHelper.HttpPost("", "User/DeleteModel", JsonConvert.SerializeObject(_obj));
+                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
+                if (_rtn.rtnCode > 0)
+                {
+                    UtilityHelper.ChangeTab(xtraTabControl1, 0);
+                    GetPageList(1, UtilityHelper.GetPageSize());
+                }
+                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);
+            GetPageList(1, UtilityHelper.GetPageSize());
+        }
+
+
+        /// <summary>
+        /// 淇敼浜嬩欢
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void ToolBarMenu1_btnEdtClick(object sender, EventArgs e)
+        {
+            DataRow dr = gridView1.GetFocusedDataRow();
+            if (dr == null || string.IsNullOrEmpty(dr["guid"].ToString()))
+            {
+                ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+                return;
+            }
+            GetModel(dr["guid"].ToString(), true, 1);
+           
+        }
+        /// <summary>
+        /// 鏂板浜嬩欢
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
         private void ToolBarMenu1_btnAddClick(object sender, EventArgs e)
         {
-            UserAdd frm = new UserAdd("");
-            frm.ShowDialog();
+            UtilityHelper.ChangeTab(xtraTabControl1, 1);
+            lbGuid.Text = "";
+            UtilityHelper.CleanValue(this.panel1.Controls, true);
+            txt_password.Visible = lbPwd.Visible = 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_account.Text.Trim()))
+            {
+                Gs.DevApp.ToolBox.MsgHelper.Warning("鐧诲綍璐﹀彿涓嶈兘涓虹┖锛�");
+                txt_account.Focus();
+                return;
+            }
+            if (string.IsNullOrEmpty(txt_password.Text.Trim()))
+            {
+                Gs.DevApp.ToolBox.MsgHelper.Warning("瀵嗙爜涓嶈兘涓虹┖锛�");
+                txt_password.Focus();
+                return;
+            }
+            if (string.IsNullOrEmpty(txt_userName.Text.Trim()))
+            {
+                Gs.DevApp.ToolBox.MsgHelper.Warning("濮撳悕涓嶈兘涓虹┖锛�");
+                txt_userName.Focus();
+                return;
+            }
+            if (txt_isLocked.SelectedIndex <= 0)
+            {
+                Gs.DevApp.ToolBox.MsgHelper.Warning("鐘舵�佷笉鑳戒负绌猴紒");
+                txt_isLocked.Focus();
+                return;
+            }
+            var _obj = new
+            {
+                guid = lbGuid.Text.Trim(),//涓诲缓
+                account = txt_account.Text.Trim(),
+                password = txt_password.Text.Trim(),
+                userName = txt_userName.Text.Trim(),
+                address = txt_address.Text.Trim(),
+                tel = txt_tel.Text.Trim(),
+                email = txt_email.Text.Trim(),
+                isLocked = txt_isLocked.SelectedIndex,
+                flagAdmin = 0,
+                flagOnline = 0,
+                loginCounter = 0,
+                workerID = "",
+                remark = txt_remark.Text.Trim(),
+                departGuid = "",
+                isSys = 0
+            };
+            string strJson = "";
+            try
+            {
+                strJson = UtilityHelper.HttpPost("", "User/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>
         /// 
@@ -46,7 +211,7 @@
         /// <param name="pageSize">姣忛〉鍑犳潯</param>
         private void GetPageList(int curPage, int pageSize)
         {
-            Models.PageQueryModel pgq = new Models.PageQueryModel(curPage, pageSize, "userName", "asc", "", "");
+            Models.PageQueryModel pgq = new Models.PageQueryModel(curPage, pageSize, "createTime", "asc", "", "");
             string json = JsonConvert.SerializeObject(pgq);
             string strReturn = "";
             try
@@ -54,20 +219,55 @@
                 strReturn = UtilityHelper.HttpPost("", "User/GetListPage", json);
                 ReturnModel<PageListModel> dd = UtilityHelper.GetTableByJson(strReturn);
                 DataTable dt = dd.rtnData.list;
-                gc_Main.BindingContext = new BindingContext();
-                gc_Main.DataSource = dt;
-                gc_Main.ForceInitialize();
+                gcMain.BindingContext = new BindingContext();
+                gcMain.DataSource = dt;
+                gcMain.ForceInitialize();
                 int dddd = dd.rtnData.pages;//鎬婚〉
                 PageBar1.TotalPages = dddd;
                 PageBar1.RecordCount = dd.rtnData.total;//璁板綍鎬绘暟
                 PageBar1.CurrentPage = curPage;//褰撳墠椤�
                 PageBar1.RowsCount = pageSize;//姣忛〉鏄剧ず
                 PageBar1.setTxt();
-    }
+            }
+            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,//涓诲缓
+            };
+            string strJson = "";
+            try
+            {
+                strJson = UtilityHelper.HttpPost("", "User/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_account.Enabled = false;
+                    txt_password.Enabled = txt_password.Visible = lbPwd.Visible = false;
+                }
+                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/UserAdd.Designer.cs b/DevApp/Gs.DevApp/DevFrm/User/UserAdd.Designer.cs
deleted file mode 100644
index 40ff16f..0000000
--- a/DevApp/Gs.DevApp/DevFrm/User/UserAdd.Designer.cs
+++ /dev/null
@@ -1,379 +0,0 @@
-锘�
-namespace Gs.DevApp.DevFrm.User
-{
-    partial class UserAdd
-    {
-        /// <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.panel1 = new System.Windows.Forms.Panel();
-            this.labelControl10 = new DevExpress.XtraEditors.LabelControl();
-            this.txtAccount = new DevExpress.XtraEditors.TextEdit();
-            this.labelControl8 = new DevExpress.XtraEditors.LabelControl();
-            this.txtRemark = new DevExpress.XtraEditors.MemoEdit();
-            this.labelControl7 = new DevExpress.XtraEditors.LabelControl();
-            this.textAddress = new DevExpress.XtraEditors.TextEdit();
-            this.labelControl3 = new DevExpress.XtraEditors.LabelControl();
-            this.textTel = new DevExpress.XtraEditors.TextEdit();
-            this.labelControl1 = new DevExpress.XtraEditors.LabelControl();
-            this.textEmail = new DevExpress.XtraEditors.TextEdit();
-            this.lbGuid = new System.Windows.Forms.Label();
-            this.btnEsc = new DevExpress.XtraEditors.SimpleButton();
-            this.btnSave = new DevExpress.XtraEditors.SimpleButton();
-            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.txtLock = new DevExpress.XtraEditors.ComboBoxEdit();
-            this.txtPwd = new DevExpress.XtraEditors.TextEdit();
-            this.labelControl4 = new DevExpress.XtraEditors.LabelControl();
-            this.txtUserName = new DevExpress.XtraEditors.TextEdit();
-            this.labelControl2 = new DevExpress.XtraEditors.LabelControl();
-            this.tabControl1 = new System.Windows.Forms.TabControl();
-            this.tabPage1 = new System.Windows.Forms.TabPage();
-            this.panel1.SuspendLayout();
-            ((System.ComponentModel.ISupportInitialize)(this.txtAccount.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtRemark.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.textAddress.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.textTel.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.textEmail.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtLock.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtPwd.Properties)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtUserName.Properties)).BeginInit();
-            this.tabControl1.SuspendLayout();
-            this.tabPage1.SuspendLayout();
-            this.SuspendLayout();
-            // 
-            // panel1
-            // 
-            this.panel1.Controls.Add(this.labelControl10);
-            this.panel1.Controls.Add(this.txtAccount);
-            this.panel1.Controls.Add(this.labelControl8);
-            this.panel1.Controls.Add(this.txtRemark);
-            this.panel1.Controls.Add(this.labelControl7);
-            this.panel1.Controls.Add(this.textAddress);
-            this.panel1.Controls.Add(this.labelControl3);
-            this.panel1.Controls.Add(this.textTel);
-            this.panel1.Controls.Add(this.labelControl1);
-            this.panel1.Controls.Add(this.textEmail);
-            this.panel1.Controls.Add(this.lbGuid);
-            this.panel1.Controls.Add(this.btnEsc);
-            this.panel1.Controls.Add(this.btnSave);
-            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.txtLock);
-            this.panel1.Controls.Add(this.txtPwd);
-            this.panel1.Controls.Add(this.labelControl4);
-            this.panel1.Controls.Add(this.txtUserName);
-            this.panel1.Controls.Add(this.labelControl2);
-            this.panel1.Location = new System.Drawing.Point(57, 6);
-            this.panel1.Name = "panel1";
-            this.panel1.Size = new System.Drawing.Size(585, 507);
-            this.panel1.TabIndex = 0;
-            // 
-            // labelControl10
-            // 
-            this.labelControl10.Appearance.ForeColor = System.Drawing.Color.Red;
-            this.labelControl10.Appearance.Options.UseForeColor = true;
-            this.labelControl10.Location = new System.Drawing.Point(418, 29);
-            this.labelControl10.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl10.Name = "labelControl10";
-            this.labelControl10.Size = new System.Drawing.Size(8, 18);
-            this.labelControl10.TabIndex = 129;
-            this.labelControl10.Text = "*";
-            // 
-            // txtAccount
-            // 
-            this.txtAccount.Location = new System.Drawing.Point(109, 16);
-            this.txtAccount.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.txtAccount.Name = "txtAccount";
-            this.txtAccount.Size = new System.Drawing.Size(297, 24);
-            this.txtAccount.TabIndex = 128;
-            // 
-            // labelControl8
-            // 
-            this.labelControl8.Location = new System.Drawing.Point(31, 20);
-            this.labelControl8.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl8.Name = "labelControl8";
-            this.labelControl8.Size = new System.Drawing.Size(75, 18);
-            this.labelControl8.TabIndex = 127;
-            this.labelControl8.Text = "鐧诲綍璐﹀彿锛�";
-            // 
-            // txtRemark
-            // 
-            this.txtRemark.Location = new System.Drawing.Point(109, 272);
-            this.txtRemark.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.txtRemark.Name = "txtRemark";
-            this.txtRemark.Properties.ScrollBars = System.Windows.Forms.ScrollBars.None;
-            this.txtRemark.Size = new System.Drawing.Size(297, 68);
-            this.txtRemark.TabIndex = 126;
-            // 
-            // labelControl7
-            // 
-            this.labelControl7.Location = new System.Drawing.Point(61, 285);
-            this.labelControl7.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl7.Name = "labelControl7";
-            this.labelControl7.Size = new System.Drawing.Size(45, 18);
-            this.labelControl7.TabIndex = 125;
-            this.labelControl7.Text = "澶囨敞锛�";
-            // 
-            // textAddress
-            // 
-            this.textAddress.Location = new System.Drawing.Point(109, 240);
-            this.textAddress.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.textAddress.Name = "textAddress";
-            this.textAddress.Size = new System.Drawing.Size(297, 24);
-            this.textAddress.TabIndex = 124;
-            // 
-            // labelControl3
-            // 
-            this.labelControl3.Location = new System.Drawing.Point(31, 244);
-            this.labelControl3.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl3.Name = "labelControl3";
-            this.labelControl3.Size = new System.Drawing.Size(75, 18);
-            this.labelControl3.TabIndex = 123;
-            this.labelControl3.Text = "浣忓鍦板潃锛�";
-            // 
-            // textTel
-            // 
-            this.textTel.Location = new System.Drawing.Point(109, 196);
-            this.textTel.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.textTel.Name = "textTel";
-            this.textTel.Size = new System.Drawing.Size(297, 24);
-            this.textTel.TabIndex = 122;
-            // 
-            // labelControl1
-            // 
-            this.labelControl1.Location = new System.Drawing.Point(61, 200);
-            this.labelControl1.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl1.Name = "labelControl1";
-            this.labelControl1.Size = new System.Drawing.Size(45, 18);
-            this.labelControl1.TabIndex = 121;
-            this.labelControl1.Text = "鐢佃瘽锛�";
-            // 
-            // textEmail
-            // 
-            this.textEmail.Location = new System.Drawing.Point(109, 152);
-            this.textEmail.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.textEmail.Name = "textEmail";
-            this.textEmail.Size = new System.Drawing.Size(297, 24);
-            this.textEmail.TabIndex = 120;
-            // 
-            // lbGuid
-            // 
-            this.lbGuid.AutoSize = true;
-            this.lbGuid.Location = new System.Drawing.Point(56, 469);
-            this.lbGuid.Name = "lbGuid";
-            this.lbGuid.Size = new System.Drawing.Size(39, 18);
-            this.lbGuid.TabIndex = 1;
-            this.lbGuid.Text = "guid:";
-            // 
-            // btnEsc
-            // 
-            this.btnEsc.ImageOptions.Image = global::Gs.DevApp.Properties.Resources.reviewingpane_32x32;
-            this.btnEsc.Location = new System.Drawing.Point(240, 416);
-            this.btnEsc.Name = "btnEsc";
-            this.btnEsc.Size = new System.Drawing.Size(94, 29);
-            this.btnEsc.TabIndex = 111;
-            this.btnEsc.Text = "鍙栨秷";
-            // 
-            // btnSave
-            // 
-            this.btnSave.ImageOptions.Image = global::Gs.DevApp.Properties.Resources.checkbox2_32x321;
-            this.btnSave.Location = new System.Drawing.Point(109, 416);
-            this.btnSave.Name = "btnSave";
-            this.btnSave.Size = new System.Drawing.Size(94, 29);
-            this.btnSave.TabIndex = 110;
-            this.btnSave.Text = "淇濆瓨";
-            // 
-            // labelControl12
-            // 
-            this.labelControl12.Appearance.ForeColor = System.Drawing.Color.Red;
-            this.labelControl12.Appearance.Options.UseForeColor = true;
-            this.labelControl12.Location = new System.Drawing.Point(418, 56);
-            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, 96);
-            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.Location = new System.Drawing.Point(61, 155);
-            this.labelControl6.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl6.Name = "labelControl6";
-            this.labelControl6.Size = new System.Drawing.Size(45, 18);
-            this.labelControl6.TabIndex = 103;
-            this.labelControl6.Text = "閭锛�";
-            // 
-            // labelControl5
-            // 
-            this.labelControl5.Location = new System.Drawing.Point(31, 370);
-            this.labelControl5.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl5.Name = "labelControl5";
-            this.labelControl5.Size = new System.Drawing.Size(75, 18);
-            this.labelControl5.TabIndex = 101;
-            this.labelControl5.Text = "閿佸畾璐﹀彿锛�";
-            // 
-            // txtLock
-            // 
-            this.txtLock.Location = new System.Drawing.Point(109, 366);
-            this.txtLock.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.txtLock.Name = "txtLock";
-            this.txtLock.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
-            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
-            this.txtLock.Properties.Items.AddRange(new object[] {
-            "-璇烽�夋嫨-",
-            "绐椾綋绫诲瀷",
-            "鎸夐挳绫诲瀷"});
-            this.txtLock.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
-            this.txtLock.Size = new System.Drawing.Size(297, 24);
-            this.txtLock.TabIndex = 100;
-            // 
-            // txtPwd
-            // 
-            this.txtPwd.Location = new System.Drawing.Point(109, 53);
-            this.txtPwd.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.txtPwd.Name = "txtPwd";
-            this.txtPwd.Size = new System.Drawing.Size(297, 24);
-            this.txtPwd.TabIndex = 99;
-            // 
-            // labelControl4
-            // 
-            this.labelControl4.Location = new System.Drawing.Point(31, 57);
-            this.labelControl4.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl4.Name = "labelControl4";
-            this.labelControl4.Size = new System.Drawing.Size(75, 18);
-            this.labelControl4.TabIndex = 98;
-            this.labelControl4.Text = "鍒濆瀵嗙爜锛�";
-            // 
-            // txtUserName
-            // 
-            this.txtUserName.Location = new System.Drawing.Point(109, 89);
-            this.txtUserName.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.txtUserName.Name = "txtUserName";
-            this.txtUserName.Size = new System.Drawing.Size(297, 24);
-            this.txtUserName.TabIndex = 95;
-            // 
-            // labelControl2
-            // 
-            this.labelControl2.Location = new System.Drawing.Point(61, 93);
-            this.labelControl2.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
-            this.labelControl2.Name = "labelControl2";
-            this.labelControl2.Size = new System.Drawing.Size(45, 18);
-            this.labelControl2.TabIndex = 94;
-            this.labelControl2.Text = "濮撳悕锛�";
-            // 
-            // tabControl1
-            // 
-            this.tabControl1.Controls.Add(this.tabPage1);
-            this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.tabControl1.Location = new System.Drawing.Point(0, 0);
-            this.tabControl1.Name = "tabControl1";
-            this.tabControl1.SelectedIndex = 0;
-            this.tabControl1.Size = new System.Drawing.Size(853, 583);
-            this.tabControl1.TabIndex = 2;
-            // 
-            // tabPage1
-            // 
-            this.tabPage1.Controls.Add(this.panel1);
-            this.tabPage1.Location = new System.Drawing.Point(4, 27);
-            this.tabPage1.Name = "tabPage1";
-            this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
-            this.tabPage1.Size = new System.Drawing.Size(845, 552);
-            this.tabPage1.TabIndex = 0;
-            this.tabPage1.Text = "鍩虹淇℃伅";
-            this.tabPage1.UseVisualStyleBackColor = true;
-            // 
-            // UserAdd
-            // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 18F);
-            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(853, 583);
-            this.Controls.Add(this.tabControl1);
-            this.MaximizeBox = false;
-            this.MinimizeBox = false;
-            this.Name = "UserAdd";
-            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
-            this.Text = "鐢ㄦ埛淇℃伅";
-            this.panel1.ResumeLayout(false);
-            this.panel1.PerformLayout();
-            ((System.ComponentModel.ISupportInitialize)(this.txtAccount.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtRemark.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.textAddress.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.textTel.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.textEmail.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtLock.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtPwd.Properties)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.txtUserName.Properties)).EndInit();
-            this.tabControl1.ResumeLayout(false);
-            this.tabPage1.ResumeLayout(false);
-            this.ResumeLayout(false);
-
-        }
-
-        #endregion
-
-        private System.Windows.Forms.Panel panel1;
-        private System.Windows.Forms.Label lbGuid;
-        private DevExpress.XtraEditors.SimpleButton btnEsc;
-        private DevExpress.XtraEditors.SimpleButton btnSave;
-        private DevExpress.XtraEditors.LabelControl labelControl12;
-        private DevExpress.XtraEditors.LabelControl labelControl9;
-        private DevExpress.XtraEditors.LabelControl labelControl6;
-        private DevExpress.XtraEditors.LabelControl labelControl5;
-        private DevExpress.XtraEditors.ComboBoxEdit txtLock;
-        private DevExpress.XtraEditors.TextEdit txtPwd;
-        private DevExpress.XtraEditors.LabelControl labelControl4;
-        private DevExpress.XtraEditors.TextEdit txtUserName;
-        private DevExpress.XtraEditors.LabelControl labelControl2;
-        private System.Windows.Forms.TabControl tabControl1;
-        private System.Windows.Forms.TabPage tabPage1;
-        private DevExpress.XtraEditors.LabelControl labelControl7;
-        private DevExpress.XtraEditors.TextEdit textAddress;
-        private DevExpress.XtraEditors.LabelControl labelControl3;
-        private DevExpress.XtraEditors.TextEdit textTel;
-        private DevExpress.XtraEditors.LabelControl labelControl1;
-        private DevExpress.XtraEditors.TextEdit textEmail;
-        private DevExpress.XtraEditors.TextEdit txtAccount;
-        private DevExpress.XtraEditors.LabelControl labelControl8;
-        private DevExpress.XtraEditors.MemoEdit txtRemark;
-        private DevExpress.XtraEditors.LabelControl labelControl10;
-    }
-}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/User/UserAdd.cs b/DevApp/Gs.DevApp/DevFrm/User/UserAdd.cs
deleted file mode 100644
index 198979c..0000000
--- a/DevApp/Gs.DevApp/DevFrm/User/UserAdd.cs
+++ /dev/null
@@ -1,87 +0,0 @@
-锘縰sing DevExpress.XtraEditors;
-using Gs.DevApp.Models;
-using Gs.DevApp.ToolBox;
-using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows.Forms;
-
-namespace Gs.DevApp.DevFrm.User
-{
-    public partial class UserAdd : DevExpress.XtraEditors.XtraForm
-    {
-        public UserAdd(string guid)
-        {
-            InitializeComponent();
-            btnSave.Click += BtnSave_Click;
-            btnEsc.Click += BtnEsc_Click;
-            lbGuid.Text = guid;
-        }
-
-        private void BtnEsc_Click(object sender, EventArgs e)
-        {
-            this.Dispose();
-        }
-
-        private void BtnSave_Click(object sender, EventArgs e)
-        {
-            if (string.IsNullOrEmpty(txtAccount.Text.Trim()))
-            {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("鐧诲綍璐﹀彿涓嶈兘涓虹┖锛�");
-                txtAccount.Focus();
-                return;
-            }
-            if (string.IsNullOrEmpty(txtPwd.Text.Trim()))
-            {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("瀵嗙爜涓嶈兘涓虹┖锛�");
-                txtPwd.Focus();
-                return;
-            }
-            if (string.IsNullOrEmpty(txtUserName.Text.Trim()))
-            {
-                Gs.DevApp.ToolBox.MsgHelper.Warning("鑿滃崟鐘舵�佷笉鑳戒负绌猴紒");
-                txtUserName.Focus();
-                return;
-            }
-            var _obj = new
-            {
-                account = "string",
-                password = "3fa85f64-5717-4562-b3fc-2c963f66afa6",
-                userName = "string",
-                address = "string",
-                tel = "string",
-                email = "string",
-                isLocked = 0,
-                flagAdmin = 0,
-                flagOnline = 0,
-                loginCounter = 0,
-                workerID = "string",
-                remark = "string",
-                departGuid = "3fa85f64-5717-4562-b3fc-2c963f66afa6",
-                isSys = 0
-            };
-            string strJson = "";
-            try
-            {
-                strJson = UtilityHelper.HttpPost("", "User/EditModel", JsonConvert.SerializeObject(_obj));
-                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson);
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
-                if (_rtn.rtnCode > 0)
-                {
-
-                }
-            }
-            catch (Exception ex)
-            {
-                ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
-            }
-        }
-
-    }
-}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/User/UserAdd.resx b/DevApp/Gs.DevApp/DevFrm/User/UserAdd.resx
deleted file mode 100644
index 1af7de1..0000000
--- a/DevApp/Gs.DevApp/DevFrm/User/UserAdd.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/Gs.DevApp.csproj b/DevApp/Gs.DevApp/Gs.DevApp.csproj
index 31f42f1..15995e9 100644
--- a/DevApp/Gs.DevApp/Gs.DevApp.csproj
+++ b/DevApp/Gs.DevApp/Gs.DevApp.csproj
@@ -46,6 +46,7 @@
     <Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
       <HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
     </Reference>
+    <Reference Include="PresentationCore" />
     <Reference Include="System" />
     <Reference Include="System.Core" />
     <Reference Include="System.Xml.Linq" />
@@ -94,35 +95,17 @@
     <Compile Include="DevFrm\User\Role.Designer.cs">
       <DependentUpon>Role.cs</DependentUpon>
     </Compile>
-    <Compile Include="DevFrm\User\RoleAdd.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="DevFrm\User\RoleAdd.Designer.cs">
-      <DependentUpon>RoleAdd.cs</DependentUpon>
-    </Compile>
     <Compile Include="DevFrm\User\SysMenu.cs">
       <SubType>Form</SubType>
     </Compile>
     <Compile Include="DevFrm\User\SysMenu.Designer.cs">
       <DependentUpon>SysMenu.cs</DependentUpon>
     </Compile>
-    <Compile Include="DevFrm\User\SysMenuAdd.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="DevFrm\User\SysMenuAdd.Designer.cs">
-      <DependentUpon>SysMenuAdd.cs</DependentUpon>
-    </Compile>
     <Compile Include="DevFrm\User\User.cs">
       <SubType>Form</SubType>
     </Compile>
     <Compile Include="DevFrm\User\User.Designer.cs">
       <DependentUpon>User.cs</DependentUpon>
-    </Compile>
-    <Compile Include="DevFrm\User\UserAdd.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="DevFrm\User\UserAdd.Designer.cs">
-      <DependentUpon>UserAdd.cs</DependentUpon>
     </Compile>
     <Compile Include="Entity\MesItems.cs" />
     <Compile Include="Models\LoginInfoModel.cs" />
@@ -189,20 +172,11 @@
     <EmbeddedResource Include="DevFrm\User\Role.resx">
       <DependentUpon>Role.cs</DependentUpon>
     </EmbeddedResource>
-    <EmbeddedResource Include="DevFrm\User\RoleAdd.resx">
-      <DependentUpon>RoleAdd.cs</DependentUpon>
-    </EmbeddedResource>
     <EmbeddedResource Include="DevFrm\User\SysMenu.resx">
       <DependentUpon>SysMenu.cs</DependentUpon>
     </EmbeddedResource>
-    <EmbeddedResource Include="DevFrm\User\SysMenuAdd.resx">
-      <DependentUpon>SysMenuAdd.cs</DependentUpon>
-    </EmbeddedResource>
     <EmbeddedResource Include="DevFrm\User\User.resx">
       <DependentUpon>User.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="DevFrm\User\UserAdd.resx">
-      <DependentUpon>UserAdd.cs</DependentUpon>
     </EmbeddedResource>
     <None Include="Properties\licenses.licx" />
     <EmbeddedResource Include="Properties\Resources.resx">
@@ -288,6 +262,10 @@
     <None Include="Resources\bouser_16x16.png" />
     <None Include="Resources\salesperiodlifetime_32x32.png" />
     <None Include="Resources\salesperiodlifetime_16x16.png" />
+    <None Include="Resources\encryptdocument_32x32.png" />
+    <None Include="Resources\saveall_32x32.png" />
+    <None Include="Resources\editrangepermission_32x32.png" />
+    <None Include="Resources\editrangepermission_16x16.png" />
     <Content Include="Resources\user_16x16.png" />
   </ItemGroup>
   <ItemGroup>
diff --git a/DevApp/Gs.DevApp/Models/LoginInfoModel.cs b/DevApp/Gs.DevApp/Models/LoginInfoModel.cs
index 5e42dfa..02c1b18 100644
--- a/DevApp/Gs.DevApp/Models/LoginInfoModel.cs
+++ b/DevApp/Gs.DevApp/Models/LoginInfoModel.cs
@@ -11,13 +11,17 @@
         private string _LoginUserGuid = "";
         public string LoginUserGuid { get { return _LoginUserGuid; } set { _LoginUserGuid = value; } }
         /// <summary>
-        /// 鐧诲綍鐢ㄦ埛鐨刼rgGuid
+        /// 鐧诲綍鐢ㄦ埛鐨勭粍缁� orgGuid
         /// </summary>
         private string _LoginOrgGuid = "";
         public string LoginOrgGuid { get { return _LoginOrgGuid; } set { _LoginOrgGuid = value; } }
         //鐧诲綍鏃堕棿
         private string _LoginTime;
         public string LoginTime { get { return _LoginTime; } set { _LoginTime = value; } }
+        //鐧诲綍缁勭粐缂栧彿
+        private string _loginFactory;
+        public string LoginFactory { get { return _loginFactory; } set { _loginFactory = value; } }
+        
         private static LoginInfoModel _CurrentUser = null;
         //搴旂敤鍗曚欢妯″紡锛屼繚瀛樼敤鎴风櫥褰曠姸鎬�
         public static LoginInfoModel CurrentUser
diff --git a/DevApp/Gs.DevApp/Program.cs b/DevApp/Gs.DevApp/Program.cs
index 33fe5ca..2517b03 100644
--- a/DevApp/Gs.DevApp/Program.cs
+++ b/DevApp/Gs.DevApp/Program.cs
@@ -3,6 +3,7 @@
 using DevExpress.UserSkins;
 using System;
 using System.Collections.Generic;
+using System.Diagnostics;
 using System.Linq;
 using System.Windows.Forms;
 
@@ -16,19 +17,27 @@
         [STAThread]
         static void Main()
         {
-            Application.EnableVisualStyles();
-            Application.SetCompatibleTextRenderingDefault(false);
-            //Application.Run(new Gs.DevApp.TestForm.FluentDesignForm1());
-            //Application.Run(new Gs.DevApp.DevFrm.BasicData.FrmMesItems());
-            DevFrm.FrmLogin fmLogin = new DevFrm.FrmLogin();
-            fmLogin.ShowDialog();
-            if (fmLogin.DialogResult == DialogResult.OK)
+            var processName = System.IO.Path.GetFileNameWithoutExtension(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName);
+            var processes = Process.GetProcessesByName(processName);
+            if (processes.Length > 1)
             {
-                //鍦ㄧ嚎绋嬩腑鎵撳紑涓荤獥浣�
-                Application.Run(new DevFrm.FrmMain());
+                MessageBox.Show("绋嬪簭宸茬粡鍦ㄨ繍琛岋紒");
+                Environment.Exit(0);
+            }
+            else
+            {
+                Application.EnableVisualStyles();
+                Application.SetCompatibleTextRenderingDefault(false);
+                //Application.Run(new Gs.DevApp.TestForm.FluentDesignForm1());
+                DevFrm.FrmLogin fmLogin = new DevFrm.FrmLogin();
+                fmLogin.ShowDialog();
+                if (fmLogin.DialogResult == DialogResult.OK)
+                {
+                    Application.Run(new DevFrm.FrmMain());
+                }
             }
         }
     }
 
-  
+
 }
diff --git a/DevApp/Gs.DevApp/Properties/Resources.resx b/DevApp/Gs.DevApp/Properties/Resources.resx
index 135f829..c024ad9 100644
--- a/DevApp/Gs.DevApp/Properties/Resources.resx
+++ b/DevApp/Gs.DevApp/Properties/Resources.resx
@@ -139,14 +139,17 @@
   <data name="converttorange_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\converttorange_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
-  <data name="serieslines_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\serieslines_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  <data name="salesperiodlifetime_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\salesperiodlifetime_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
   <data name="show_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\show_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
   <data name="groupbyresource_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\groupbyresource_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
+  <data name="last_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\last_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
   <data name="forcetesting_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\forcetesting_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -169,14 +172,17 @@
   <data name="3dcolumn_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\3dcolumn_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
-  <data name="last_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\last_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  <data name="encryptdocument_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\encryptdocument_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
   <data name="fullstackedcolumn3d_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\fullstackedcolumn3d_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
   <data name="login_bg222" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\login_bg222.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
+  <data name="listmultilevel_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\listmultilevel_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
   <data name="first_32x321" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\first_32x321.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -205,8 +211,8 @@
   <data name="meeting_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\meeting_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
-  <data name="listmultilevel_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\listmultilevel_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  <data name="serieslines_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\serieslines_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
   <data name="login_bg6" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\login_bg6.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -226,11 +232,17 @@
   <data name="bodepartment_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\bodepartment_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
+  <data name="3dcolumn_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\3dcolumn_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
   <data name="area3d_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\area3d_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
   <data name="user_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\user_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
+  <data name="editrangepermission_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\editrangepermission_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
   <data name="bouser_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\bouser_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -252,9 +264,6 @@
   </data>
   <data name="convert_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\convert_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
-  </data>
-  <data name="trackingchanges_allmarkup_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\trackingchanges_allmarkup_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
   <data name="addcalculatedfield_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\addcalculatedfield_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -286,6 +295,9 @@
   <data name="editname_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\editname_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
+  <data name="saveall_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\saveall_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
   <data name="converttorange_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\converttorange_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
@@ -307,8 +319,8 @@
   <data name="task_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\task_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
-  <data name="3dcolumn_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\3dcolumn_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  <data name="trackingchanges_allmarkup_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\trackingchanges_allmarkup_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
   <data name="legendnone2_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\legendnone2_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -325,7 +337,7 @@
   <data name="trackingchanges_trackchanges_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\trackingchanges_trackchanges_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
-  <data name="salesperiodlifetime_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
-    <value>..\Resources\salesperiodlifetime_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  <data name="editrangepermission_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\editrangepermission_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   </data>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/Properties/Resources1.Designer.cs b/DevApp/Gs.DevApp/Properties/Resources1.Designer.cs
index 9f5bc45..f8fa54d 100644
--- a/DevApp/Gs.DevApp/Properties/Resources1.Designer.cs
+++ b/DevApp/Gs.DevApp/Properties/Resources1.Designer.cs
@@ -353,6 +353,36 @@
         /// <summary>
         ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
         /// </summary>
+        internal static System.Drawing.Bitmap editrangepermission_16x16 {
+            get {
+                object obj = ResourceManager.GetObject("editrangepermission_16x16", resourceCulture);
+                return ((System.Drawing.Bitmap)(obj));
+            }
+        }
+        
+        /// <summary>
+        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        /// </summary>
+        internal static System.Drawing.Bitmap editrangepermission_32x32 {
+            get {
+                object obj = ResourceManager.GetObject("editrangepermission_32x32", resourceCulture);
+                return ((System.Drawing.Bitmap)(obj));
+            }
+        }
+        
+        /// <summary>
+        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        /// </summary>
+        internal static System.Drawing.Bitmap encryptdocument_32x32 {
+            get {
+                object obj = ResourceManager.GetObject("encryptdocument_32x32", resourceCulture);
+                return ((System.Drawing.Bitmap)(obj));
+            }
+        }
+        
+        /// <summary>
+        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        /// </summary>
         internal static System.Drawing.Bitmap exportfile_16x16 {
             get {
                 object obj = ResourceManager.GetObject("exportfile_16x16", resourceCulture);
@@ -643,6 +673,16 @@
         /// <summary>
         ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
         /// </summary>
+        internal static System.Drawing.Bitmap saveall_32x32 {
+            get {
+                object obj = ResourceManager.GetObject("saveall_32x32", resourceCulture);
+                return ((System.Drawing.Bitmap)(obj));
+            }
+        }
+        
+        /// <summary>
+        ///   鏌ユ壘 System.Drawing.Bitmap 绫诲瀷鐨勬湰鍦板寲璧勬簮銆�
+        /// </summary>
         internal static System.Drawing.Bitmap serieslines_32x32 {
             get {
                 object obj = ResourceManager.GetObject("serieslines_32x32", resourceCulture);
diff --git a/DevApp/Gs.DevApp/Properties/licenses.licx b/DevApp/Gs.DevApp/Properties/licenses.licx
index 1db7b3c..048d19e 100644
--- a/DevApp/Gs.DevApp/Properties/licenses.licx
+++ b/DevApp/Gs.DevApp/Properties/licenses.licx
@@ -1,12 +1,13 @@
 DevExpress.Patch.InMemoryPatch, DevExpress.Patch.Common, Version=6.2.0.0, Culture=neutral, PublicKeyToken=87f9927a37ac6066
-DevExpress.XtraEditors.DateEdit, DevExpress.XtraEditors.v19.2, Version=19.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraTreeList.TreeList, DevExpress.XtraTreeList.v19.2, Version=19.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v19.2, Version=19.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit, DevExpress.XtraEditors.v19.2, Version=19.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v19.2, Version=19.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v19.2, Version=19.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
 DevExpress.XtraEditors.TreeListLookUpEdit, DevExpress.XtraTreeList.v19.2, Version=19.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
-DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit, DevExpress.XtraEditors.v19.2, Version=19.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v19.2, Version=19.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
 DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v19.2, Version=19.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.DateEdit, DevExpress.XtraEditors.v19.2, Version=19.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v19.2, Version=19.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit, DevExpress.XtraEditors.v19.2, Version=19.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraTreeList.TreeList, DevExpress.XtraTreeList.v19.2, Version=19.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit, DevExpress.XtraEditors.v19.2, Version=19.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.LookUpEdit, DevExpress.XtraEditors.v19.2, Version=19.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v19.2, Version=19.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
 DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v19.2, Version=19.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
diff --git a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
index 2b078be..af004f7 100644
--- a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
+++ b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
@@ -12,6 +12,9 @@
 using Newtonsoft.Json;
 using Gs.DevApp.Models;
 using System.Windows.Forms;
+using static System.Windows.Forms.Control;
+using DevExpress.XtraEditors;
+using DevExpress.XtraTab;
 
 namespace Gs.DevApp.ToolBox
 {
@@ -160,5 +163,165 @@
                 SetFont(childControl);
             }
         }
+
+        /// <summary>
+        /// 璇诲彇榛樿椤靛ぇ灏�
+        /// </summary>
+        /// <returns></returns>
+        public static int GetPageSize()
+        {
+            return int.Parse(System.Configuration.ConfigurationSettings.AppSettings.Get("PageSize").ToString());
+        }
+
+        /// <summary>
+        /// 鏍规嵁瀵硅薄鎵归噺璁剧疆鏂囨湰鍊�,
+        /// </summary>
+        /// <param name="controls"></param>
+        /// <param name="dynamicObject"></param>
+        public static void SetValueByObj(ControlCollection controls, dynamic dynamicObject, Boolean isEdt)
+        {
+            foreach (JProperty property in dynamicObject.Properties())
+            {
+                //Console.WriteLine("Name: {0}, Value: {1}", property.Name, property.Value);
+                string strName = property.Name;
+                string strVal = property.Value.ToString();
+                //    // 濡傛灉value鏄竴涓璞★紝鍙互閫掑綊閬嶅巻
+                //    if (property.Value is JObject)
+                //    {
+                //        JObject nestedObject = (JObject)property.Value;
+                //        foreach (JProperty nestedProperty in nestedObject.Properties())
+                //        {
+                //            Console.WriteLine("\tName: {0}, Value: {1}", nestedProperty.Name, nestedProperty.Value);
+                //        }
+                //    }
+                Control[] cols = controls.Find("txt_" + strName, true);
+                if (cols.Length > 0)
+                {
+                    Control colType = cols[0];
+                    if (colType is ComboBoxEdit)
+                    {
+                        ComboBoxEdit txt = colType as ComboBoxEdit;
+                        txt.SelectedIndex = int.Parse(strVal);
+                        txt.Enabled = isEdt;
+                        continue;
+                    }
+                    if (colType is TextEdit)
+                    {
+                        TextEdit txt = colType as TextEdit;
+                        if (txt != null)
+                        {
+                            txt.Text = strVal;
+                            txt.Enabled = isEdt;
+                        }
+                        continue;
+                    }
+                }
+
+            }
+        }
+
+        /// <summary>
+        /// 娓呯┖瀹瑰櫒閲岄潰鐨勬帶浠�
+        /// </summary>
+        /// <param name="controls">瀹瑰櫒</param>
+        /// <param name="isEdt">娓呯┖鍚庢槸鍚﹀彲缂栬緫</param>
+        public static void CleanValue(ControlCollection controls, Boolean isEdt)
+        {
+            foreach (Control ctrl in controls)//鎴栦负groupBox1.Controls/panel1.Controls
+            {
+                if (ctrl is TextEdit)
+                {
+                    ctrl.Text = "";
+                    ctrl.Enabled = isEdt;
+                }
+            }
+        }
+
+        /// <summary>
+        /// 绂佺敤鎴栧惎鐢ㄥ鍣ㄩ噷闈㈢殑鎺т欢
+        /// </summary>
+        /// <param name="controls">瀹瑰櫒</param>
+        /// <param name="isEdt">鏄惁鍙紪杈�</param>
+        public static void ChangeEnable(ControlCollection controls, Boolean isEdt)
+        {
+            foreach (Control ctrl in controls)//鎴栦负groupBox1.Controls/panel1.Controls
+            {
+                if (ctrl is TextEdit)
+                    ctrl.Enabled = isEdt;
+            }
+        }
+
+        /// <summary>
+        ///鍒囨崲閫夐」鍗�
+        /// </summary>
+        /// <param name="tabControl">閫夐」鍗″鍣�</param>
+        /// <param name="idx">浠�0寮�濮嬶紝濡傛灉鏄�999锛屽垯鍏ㄩ儴鍙敤</param>
+        public static void ChangeTab(XtraTabControl tabControl, int idx)
+        {
+            if (idx == 999)
+            {
+                for (int i = 0; i < tabControl.TabPages.Count; i++)
+                {
+                    tabControl.TabPages[i].PageEnabled = true;
+                }
+                tabControl.SelectedTabPageIndex = tabControl.TabPages.Count - 1;
+                return;
+            }
+            for (int i = 0; i < tabControl.TabPages.Count; i++)
+            {
+                tabControl.TabPages[i].PageEnabled = false;
+            }
+            tabControl.TabPages[idx].PageEnabled = true;
+            tabControl.SelectedTabPageIndex = idx;
+        }
+
+
+        public static void TreeViewCheck(TreeViewEventArgs e)
+        {
+            try
+            {
+                if (e.Node.Nodes.Count > 0)
+                {
+                    bool NoFalse = true;
+                    foreach (TreeNode tn in e.Node.Nodes)
+                    {
+                        if (tn.Checked == false)
+                        {
+                            NoFalse = false;
+                        }
+                    }
+                    if (e.Node.Checked == true || NoFalse)
+                    {
+                        foreach (TreeNode tn in e.Node.Nodes)
+                        {
+                            if (tn.Checked != e.Node.Checked)
+                            {
+                                tn.Checked = e.Node.Checked;
+                            }
+                        }
+                    }
+                }
+                if (e.Node.Parent != null && e.Node.Parent is TreeNode)
+                {
+                    bool ParentNode = true;
+                    foreach (TreeNode tn in e.Node.Parent.Nodes)
+                    {
+                        if (tn.Checked == false)
+                        {
+                            ParentNode = false;
+                        }
+                    }
+                    if (e.Node.Parent.Checked != ParentNode && (e.Node.Checked == false || e.Node.Checked == true && e.Node.Parent.Checked == false))
+                    {
+                        e.Node.Parent.Checked = ParentNode;
+                    }
+                }
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+
+        }
     }
 }
diff --git a/DevApp/Gs.DevApp/UserControl/PageBar.cs b/DevApp/Gs.DevApp/UserControl/PageBar.cs
index c0e6f37..c9e02f6 100644
--- a/DevApp/Gs.DevApp/UserControl/PageBar.cs
+++ b/DevApp/Gs.DevApp/UserControl/PageBar.cs
@@ -16,7 +16,7 @@
     public partial class PageBar : UserControl
     {
         public delegate void GetPageDataEvents(int curPage, int pageSize);//瀹氫箟濮旀墭
-        public event GetPageDataEvents williamPagerEvent;//瀹氫箟浜嬩欢
+        public event GetPageDataEvents PagerEvent;//瀹氫箟浜嬩欢
 
         public PageBar()
         {
@@ -70,7 +70,7 @@
         {
             RowsCount = Convert.ToInt32(cbxRowCount.Text);
             CurrentPage = 1;
-            if (williamPagerEvent != null)
+            if (PagerEvent != null)
                 BtnEvents(sender, e);
         }
 
@@ -92,7 +92,7 @@
                 {
                     CurrentPage = page;
                 }
-                if (williamPagerEvent != null)
+                if (PagerEvent != null)
                     BtnEvents(sender, e);
             }
         }
@@ -104,7 +104,7 @@
             if (CurrentPage == 1)
                 return;
             CurrentPage = 1;
-            if (williamPagerEvent != null)
+            if (PagerEvent != null)
                 BtnEvents(sender, e);
         }
 
@@ -117,7 +117,7 @@
             {
                 CurrentPage -= 1;
             }
-            if (williamPagerEvent != null)
+            if (PagerEvent != null)
                 BtnEvents(sender, e);
         }
 
@@ -130,7 +130,7 @@
             {
                 CurrentPage += 1;
             }
-            if (williamPagerEvent != null)
+            if (PagerEvent != null)
                 BtnEvents(sender, e);
         }
 
@@ -140,14 +140,14 @@
             if (CurrentPage == TotalPages)
                 return;
             CurrentPage = TotalPages;
-            if (williamPagerEvent != null)
+            if (PagerEvent != null)
                 BtnEvents(sender, e);
         }
 
         private void BtnEvents(object sender, EventArgs e)
         {
             //setTxt();
-            williamPagerEvent(CurrentPage, RowsCount);
+            PagerEvent(CurrentPage, RowsCount);
         }
 
         public void setTxt()
diff --git a/DevApp/Gs.DevApp/UserControl/ToolBarMenu.Designer.cs b/DevApp/Gs.DevApp/UserControl/ToolBarMenu.Designer.cs
index 5b85ff5..cd7bdf2 100644
--- a/DevApp/Gs.DevApp/UserControl/ToolBarMenu.Designer.cs
+++ b/DevApp/Gs.DevApp/UserControl/ToolBarMenu.Designer.cs
@@ -31,8 +31,6 @@
         {
             this.components = new System.ComponentModel.Container();
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ToolBarMenu));
-            this.bar4 = new DevExpress.XtraBars.Bar();
-            this.bar1 = new DevExpress.XtraBars.Bar();
             this.barButtonItem2 = new DevExpress.XtraBars.BarButtonItem();
             this.barButtonItem1 = new DevExpress.XtraBars.BarButtonItem();
             this.barDockControlLeft = new DevExpress.XtraBars.BarDockControl();
@@ -41,40 +39,24 @@
             this.btnAdd = new DevExpress.XtraBars.BarLargeButtonItem();
             this.btnEdit = new DevExpress.XtraBars.BarLargeButtonItem();
             this.btnSave = new DevExpress.XtraBars.BarLargeButtonItem();
-            this.btnView = new DevExpress.XtraBars.BarLargeButtonItem();
-            this.barLargeButtonItem6 = new DevExpress.XtraBars.BarLargeButtonItem();
+            this.btnEsc = new DevExpress.XtraBars.BarLargeButtonItem();
             this.btnLoad = new DevExpress.XtraBars.BarLargeButtonItem();
+            this.btnDel = new DevExpress.XtraBars.BarLargeButtonItem();
             this.barLargeButtonItem9 = new DevExpress.XtraBars.BarLargeButtonItem();
             this.barLargeButtonItem10 = new DevExpress.XtraBars.BarLargeButtonItem();
-            this.btnDel = new DevExpress.XtraBars.BarLargeButtonItem();
             this.barLargeButtonItem1 = new DevExpress.XtraBars.BarLargeButtonItem();
             this.barLargeButtonItem2 = new DevExpress.XtraBars.BarLargeButtonItem();
             this.barLargeButtonItem8 = new DevExpress.XtraBars.BarLargeButtonItem();
             this.barLargeButtonItem3 = new DevExpress.XtraBars.BarLargeButtonItem();
             this.barLargeButtonItem4 = new DevExpress.XtraBars.BarLargeButtonItem();
+            this.btnKG = new DevExpress.XtraBars.BarLargeButtonItem();
+            this.btnRole = new DevExpress.XtraBars.BarLargeButtonItem();
             this.barDockControlTop = new DevExpress.XtraBars.BarDockControl();
             this.barDockControlBottom = new DevExpress.XtraBars.BarDockControl();
             this.barDockControlRight = new DevExpress.XtraBars.BarDockControl();
-            this.bar3 = new DevExpress.XtraBars.Bar();
-            this.btnKG = new DevExpress.XtraBars.BarLargeButtonItem();
+            this.barLargeButtonItem5 = new DevExpress.XtraBars.BarLargeButtonItem();
             ((System.ComponentModel.ISupportInitialize)(this.barManager1)).BeginInit();
             this.SuspendLayout();
-            // 
-            // bar4
-            // 
-            this.bar4.BarName = "Custom 5";
-            this.bar4.DockCol = 0;
-            this.bar4.DockRow = 2;
-            this.bar4.DockStyle = DevExpress.XtraBars.BarDockStyle.Top;
-            this.bar4.Text = "Custom 5";
-            // 
-            // bar1
-            // 
-            this.bar1.BarName = "Tools";
-            this.bar1.DockCol = 0;
-            this.bar1.DockRow = 1;
-            this.bar1.DockStyle = DevExpress.XtraBars.BarDockStyle.Top;
-            this.bar1.Text = "Tools";
             // 
             // barButtonItem2
             // 
@@ -91,10 +73,9 @@
             // 
             this.barDockControlLeft.CausesValidation = false;
             this.barDockControlLeft.Dock = System.Windows.Forms.DockStyle.Left;
-            this.barDockControlLeft.Location = new System.Drawing.Point(0, 85);
+            this.barDockControlLeft.Location = new System.Drawing.Point(0, 74);
             this.barDockControlLeft.Manager = this.barManager1;
-            this.barDockControlLeft.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
-            this.barDockControlLeft.Size = new System.Drawing.Size(0, 3);
+            this.barDockControlLeft.Size = new System.Drawing.Size(0, 0);
             // 
             // barManager1
             // 
@@ -110,9 +91,8 @@
             this.btnDel,
             this.btnEdit,
             this.btnSave,
-            this.btnView,
             this.barButtonItem1,
-            this.barLargeButtonItem6,
+            this.btnEsc,
             this.btnLoad,
             this.barButtonItem2,
             this.barLargeButtonItem8,
@@ -122,9 +102,11 @@
             this.barLargeButtonItem2,
             this.barLargeButtonItem3,
             this.barLargeButtonItem4,
-            this.btnKG});
+            this.btnKG,
+            this.barLargeButtonItem5,
+            this.btnRole});
             this.barManager1.MainMenu = this.bar2;
-            this.barManager1.MaxItemId = 20;
+            this.barManager1.MaxItemId = 22;
             // 
             // bar2
             // 
@@ -136,18 +118,18 @@
             new DevExpress.XtraBars.LinkPersistInfo(DevExpress.XtraBars.BarLinkUserDefines.PaintStyle, this.btnAdd, DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph),
             new DevExpress.XtraBars.LinkPersistInfo(DevExpress.XtraBars.BarLinkUserDefines.PaintStyle, this.btnEdit, DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph),
             new DevExpress.XtraBars.LinkPersistInfo(DevExpress.XtraBars.BarLinkUserDefines.PaintStyle, this.btnSave, DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph),
-            new DevExpress.XtraBars.LinkPersistInfo(DevExpress.XtraBars.BarLinkUserDefines.PaintStyle, this.btnView, DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph),
-            new DevExpress.XtraBars.LinkPersistInfo(this.barLargeButtonItem6),
+            new DevExpress.XtraBars.LinkPersistInfo(this.btnEsc),
             new DevExpress.XtraBars.LinkPersistInfo(this.btnLoad),
+            new DevExpress.XtraBars.LinkPersistInfo(DevExpress.XtraBars.BarLinkUserDefines.PaintStyle, this.btnDel, DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph),
             new DevExpress.XtraBars.LinkPersistInfo(this.barLargeButtonItem9),
             new DevExpress.XtraBars.LinkPersistInfo(this.barLargeButtonItem10),
-            new DevExpress.XtraBars.LinkPersistInfo(DevExpress.XtraBars.BarLinkUserDefines.PaintStyle, this.btnDel, DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph),
             new DevExpress.XtraBars.LinkPersistInfo(this.barLargeButtonItem1),
             new DevExpress.XtraBars.LinkPersistInfo(this.barLargeButtonItem2),
             new DevExpress.XtraBars.LinkPersistInfo(this.barLargeButtonItem8),
             new DevExpress.XtraBars.LinkPersistInfo(this.barLargeButtonItem3),
             new DevExpress.XtraBars.LinkPersistInfo(this.barLargeButtonItem4),
-            new DevExpress.XtraBars.LinkPersistInfo(this.btnKG)});
+            new DevExpress.XtraBars.LinkPersistInfo(this.btnKG),
+            new DevExpress.XtraBars.LinkPersistInfo(this.btnRole)});
             this.bar2.OptionsBar.MultiLine = true;
             this.bar2.OptionsBar.UseWholeRow = true;
             this.bar2.Text = "Main menu";
@@ -184,25 +166,15 @@
             this.btnSave.ItemAppearance.Normal.Options.UseFont = true;
             this.btnSave.Name = "btnSave";
             // 
-            // btnView
+            // btnEsc
             // 
-            this.btnView.Caption = "鏌ョ湅";
-            this.btnView.Id = 7;
-            this.btnView.ImageOptions.Image = global::Gs.DevApp.Properties.Resources.show_16x16;
-            this.btnView.ImageOptions.LargeImage = global::Gs.DevApp.Properties.Resources.show_32x32;
-            this.btnView.ItemAppearance.Normal.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.btnView.ItemAppearance.Normal.Options.UseFont = true;
-            this.btnView.Name = "btnView";
-            // 
-            // barLargeButtonItem6
-            // 
-            this.barLargeButtonItem6.Caption = "鍙栨秷";
-            this.barLargeButtonItem6.Id = 9;
-            this.barLargeButtonItem6.ImageOptions.Image = ((System.Drawing.Image)(resources.GetObject("barLargeButtonItem6.ImageOptions.Image")));
-            this.barLargeButtonItem6.ImageOptions.LargeImage = ((System.Drawing.Image)(resources.GetObject("barLargeButtonItem6.ImageOptions.LargeImage")));
-            this.barLargeButtonItem6.ItemAppearance.Normal.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.barLargeButtonItem6.ItemAppearance.Normal.Options.UseFont = true;
-            this.barLargeButtonItem6.Name = "barLargeButtonItem6";
+            this.btnEsc.Caption = "鍙栨秷";
+            this.btnEsc.Id = 9;
+            this.btnEsc.ImageOptions.Image = ((System.Drawing.Image)(resources.GetObject("btnEsc.ImageOptions.Image")));
+            this.btnEsc.ImageOptions.LargeImage = ((System.Drawing.Image)(resources.GetObject("btnEsc.ImageOptions.LargeImage")));
+            this.btnEsc.ItemAppearance.Normal.Font = new System.Drawing.Font("Tahoma", 10F);
+            this.btnEsc.ItemAppearance.Normal.Options.UseFont = true;
+            this.btnEsc.Name = "btnEsc";
             // 
             // btnLoad
             // 
@@ -214,26 +186,6 @@
             this.btnLoad.ItemAppearance.Normal.Options.UseFont = true;
             this.btnLoad.Name = "btnLoad";
             // 
-            // barLargeButtonItem9
-            // 
-            this.barLargeButtonItem9.Caption = "瀹℃牳";
-            this.barLargeButtonItem9.Id = 13;
-            this.barLargeButtonItem9.ImageOptions.Image = global::Gs.DevApp.Properties.Resources.checkbox2_16x16;
-            this.barLargeButtonItem9.ImageOptions.LargeImage = global::Gs.DevApp.Properties.Resources.checkbox2_32x32;
-            this.barLargeButtonItem9.ItemAppearance.Normal.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.barLargeButtonItem9.ItemAppearance.Normal.Options.UseFont = true;
-            this.barLargeButtonItem9.Name = "barLargeButtonItem9";
-            // 
-            // barLargeButtonItem10
-            // 
-            this.barLargeButtonItem10.Caption = "鍙嶅鏍�";
-            this.barLargeButtonItem10.Id = 14;
-            this.barLargeButtonItem10.ImageOptions.Image = global::Gs.DevApp.Properties.Resources.forcetesting_16x16;
-            this.barLargeButtonItem10.ImageOptions.LargeImage = global::Gs.DevApp.Properties.Resources.forcetesting_32x32;
-            this.barLargeButtonItem10.ItemAppearance.Normal.Font = new System.Drawing.Font("Tahoma", 10F);
-            this.barLargeButtonItem10.ItemAppearance.Normal.Options.UseFont = true;
-            this.barLargeButtonItem10.Name = "barLargeButtonItem10";
-            // 
             // btnDel
             // 
             this.btnDel.Caption = "鍒犻櫎";
@@ -244,6 +196,28 @@
             this.btnDel.ItemAppearance.Normal.Options.UseFont = true;
             this.btnDel.Name = "btnDel";
             // 
+            // barLargeButtonItem9
+            // 
+            this.barLargeButtonItem9.Caption = "瀹℃牳";
+            this.barLargeButtonItem9.Id = 13;
+            this.barLargeButtonItem9.ImageOptions.Image = global::Gs.DevApp.Properties.Resources.checkbox2_16x16;
+            this.barLargeButtonItem9.ImageOptions.LargeImage = global::Gs.DevApp.Properties.Resources.checkbox2_32x32;
+            this.barLargeButtonItem9.ItemAppearance.Normal.Font = new System.Drawing.Font("Tahoma", 10F);
+            this.barLargeButtonItem9.ItemAppearance.Normal.Options.UseFont = true;
+            this.barLargeButtonItem9.Name = "barLargeButtonItem9";
+            this.barLargeButtonItem9.Visibility = DevExpress.XtraBars.BarItemVisibility.Never;
+            // 
+            // barLargeButtonItem10
+            // 
+            this.barLargeButtonItem10.Caption = "鍙嶅鏍�";
+            this.barLargeButtonItem10.Id = 14;
+            this.barLargeButtonItem10.ImageOptions.Image = global::Gs.DevApp.Properties.Resources.forcetesting_16x16;
+            this.barLargeButtonItem10.ImageOptions.LargeImage = global::Gs.DevApp.Properties.Resources.forcetesting_32x32;
+            this.barLargeButtonItem10.ItemAppearance.Normal.Font = new System.Drawing.Font("Tahoma", 10F);
+            this.barLargeButtonItem10.ItemAppearance.Normal.Options.UseFont = true;
+            this.barLargeButtonItem10.Name = "barLargeButtonItem10";
+            this.barLargeButtonItem10.Visibility = DevExpress.XtraBars.BarItemVisibility.Never;
+            // 
             // barLargeButtonItem1
             // 
             this.barLargeButtonItem1.Caption = "鎵撳嵃";
@@ -253,6 +227,7 @@
             this.barLargeButtonItem1.ItemAppearance.Normal.Font = new System.Drawing.Font("Tahoma", 10F);
             this.barLargeButtonItem1.ItemAppearance.Normal.Options.UseFont = true;
             this.barLargeButtonItem1.Name = "barLargeButtonItem1";
+            this.barLargeButtonItem1.Visibility = DevExpress.XtraBars.BarItemVisibility.Never;
             // 
             // barLargeButtonItem2
             // 
@@ -263,6 +238,7 @@
             this.barLargeButtonItem2.ItemAppearance.Normal.Font = new System.Drawing.Font("Tahoma", 10F);
             this.barLargeButtonItem2.ItemAppearance.Normal.Options.UseFont = true;
             this.barLargeButtonItem2.Name = "barLargeButtonItem2";
+            this.barLargeButtonItem2.Visibility = DevExpress.XtraBars.BarItemVisibility.Never;
             // 
             // barLargeButtonItem8
             // 
@@ -274,6 +250,7 @@
             this.barLargeButtonItem8.ItemAppearance.Normal.Font = new System.Drawing.Font("Tahoma", 10F);
             this.barLargeButtonItem8.ItemAppearance.Normal.Options.UseFont = true;
             this.barLargeButtonItem8.Name = "barLargeButtonItem8";
+            this.barLargeButtonItem8.Visibility = DevExpress.XtraBars.BarItemVisibility.Never;
             // 
             // barLargeButtonItem3
             // 
@@ -284,6 +261,7 @@
             this.barLargeButtonItem3.ItemAppearance.Normal.Font = new System.Drawing.Font("Tahoma", 10F);
             this.barLargeButtonItem3.ItemAppearance.Normal.Options.UseFont = true;
             this.barLargeButtonItem3.Name = "barLargeButtonItem3";
+            this.barLargeButtonItem3.Visibility = DevExpress.XtraBars.BarItemVisibility.Never;
             // 
             // barLargeButtonItem4
             // 
@@ -292,6 +270,24 @@
             this.barLargeButtonItem4.ImageOptions.Image = global::Gs.DevApp.Properties.Resources.salesperiodlifetime_16x16;
             this.barLargeButtonItem4.ImageOptions.LargeImage = global::Gs.DevApp.Properties.Resources.salesperiodlifetime_32x32;
             this.barLargeButtonItem4.Name = "barLargeButtonItem4";
+            this.barLargeButtonItem4.Visibility = DevExpress.XtraBars.BarItemVisibility.Never;
+            // 
+            // btnKG
+            // 
+            this.btnKG.Caption = "寮�宸�";
+            this.btnKG.Id = 19;
+            this.btnKG.ImageOptions.Image = ((System.Drawing.Image)(resources.GetObject("btnKG.ImageOptions.Image")));
+            this.btnKG.ImageOptions.LargeImage = ((System.Drawing.Image)(resources.GetObject("btnKG.ImageOptions.LargeImage")));
+            this.btnKG.Name = "btnKG";
+            this.btnKG.Visibility = DevExpress.XtraBars.BarItemVisibility.Never;
+            // 
+            // btnRole
+            // 
+            this.btnRole.Caption = "淇濆瓨鏉冮檺";
+            this.btnRole.Id = 21;
+            this.btnRole.ImageOptions.Image = global::Gs.DevApp.Properties.Resources.editrangepermission_16x16;
+            this.btnRole.ImageOptions.LargeImage = global::Gs.DevApp.Properties.Resources.editrangepermission_32x32;
+            this.btnRole.Name = "btnRole";
             // 
             // barDockControlTop
             // 
@@ -299,58 +295,40 @@
             this.barDockControlTop.Dock = System.Windows.Forms.DockStyle.Top;
             this.barDockControlTop.Location = new System.Drawing.Point(0, 0);
             this.barDockControlTop.Manager = this.barManager1;
-            this.barDockControlTop.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
-            this.barDockControlTop.Size = new System.Drawing.Size(1399, 85);
+            this.barDockControlTop.Size = new System.Drawing.Size(1119, 74);
             // 
             // barDockControlBottom
             // 
             this.barDockControlBottom.CausesValidation = false;
             this.barDockControlBottom.Dock = System.Windows.Forms.DockStyle.Bottom;
-            this.barDockControlBottom.Location = new System.Drawing.Point(0, 88);
+            this.barDockControlBottom.Location = new System.Drawing.Point(0, 72);
             this.barDockControlBottom.Manager = this.barManager1;
-            this.barDockControlBottom.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
-            this.barDockControlBottom.Size = new System.Drawing.Size(1399, 0);
+            this.barDockControlBottom.Size = new System.Drawing.Size(1119, 0);
             // 
             // barDockControlRight
             // 
             this.barDockControlRight.CausesValidation = false;
             this.barDockControlRight.Dock = System.Windows.Forms.DockStyle.Right;
-            this.barDockControlRight.Location = new System.Drawing.Point(1399, 85);
+            this.barDockControlRight.Location = new System.Drawing.Point(1119, 74);
             this.barDockControlRight.Manager = this.barManager1;
-            this.barDockControlRight.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
-            this.barDockControlRight.Size = new System.Drawing.Size(0, 3);
+            this.barDockControlRight.Size = new System.Drawing.Size(0, 0);
             // 
-            // bar3
+            // barLargeButtonItem5
             // 
-            this.bar3.BarName = "Status bar";
-            this.bar3.CanDockStyle = DevExpress.XtraBars.BarCanDockStyle.Bottom;
-            this.bar3.DockCol = 0;
-            this.bar3.DockRow = 0;
-            this.bar3.DockStyle = DevExpress.XtraBars.BarDockStyle.Bottom;
-            this.bar3.OptionsBar.AllowQuickCustomization = false;
-            this.bar3.OptionsBar.DrawDragBorder = false;
-            this.bar3.OptionsBar.UseWholeRow = true;
-            this.bar3.Text = "Status bar";
-            // 
-            // btnKG
-            // 
-            this.btnKG.Caption = "寮�宸�";
-            this.btnKG.Id = 19;
-            this.btnKG.ImageOptions.Image = ((System.Drawing.Image)(resources.GetObject("barLargeButtonItem5.ImageOptions.Image")));
-            this.btnKG.ImageOptions.LargeImage = ((System.Drawing.Image)(resources.GetObject("barLargeButtonItem5.ImageOptions.LargeImage")));
-            this.btnKG.Name = "btnKG";
+            this.barLargeButtonItem5.Caption = "鍒楄〃";
+            this.barLargeButtonItem5.Id = 20;
+            this.barLargeButtonItem5.Name = "barLargeButtonItem5";
             // 
             // ToolBarMenu
             // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 22F);
+            this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 18F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
             this.Controls.Add(this.barDockControlLeft);
             this.Controls.Add(this.barDockControlRight);
             this.Controls.Add(this.barDockControlBottom);
             this.Controls.Add(this.barDockControlTop);
-            this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.Name = "ToolBarMenu";
-            this.Size = new System.Drawing.Size(1399, 88);
+            this.Size = new System.Drawing.Size(1119, 72);
             ((System.ComponentModel.ISupportInitialize)(this.barManager1)).EndInit();
             this.ResumeLayout(false);
             this.PerformLayout();
@@ -358,9 +336,6 @@
         }
 
         #endregion
-
-        private DevExpress.XtraBars.Bar bar4;
-        private DevExpress.XtraBars.Bar bar1;
         private DevExpress.XtraBars.BarButtonItem barButtonItem2;
         private DevExpress.XtraBars.BarButtonItem barButtonItem1;
         private DevExpress.XtraBars.BarDockControl barDockControlLeft;
@@ -370,8 +345,7 @@
         private DevExpress.XtraBars.BarLargeButtonItem btnDel;
         private DevExpress.XtraBars.BarLargeButtonItem btnEdit;
         private DevExpress.XtraBars.BarLargeButtonItem btnSave;
-        private DevExpress.XtraBars.BarLargeButtonItem btnView;
-        private DevExpress.XtraBars.BarLargeButtonItem barLargeButtonItem6;
+        private DevExpress.XtraBars.BarLargeButtonItem btnEsc;
         private DevExpress.XtraBars.BarLargeButtonItem btnLoad;
         private DevExpress.XtraBars.BarLargeButtonItem barLargeButtonItem8;
         private DevExpress.XtraBars.BarLargeButtonItem barLargeButtonItem9;
@@ -379,11 +353,12 @@
         private DevExpress.XtraBars.BarDockControl barDockControlTop;
         private DevExpress.XtraBars.BarDockControl barDockControlBottom;
         private DevExpress.XtraBars.BarDockControl barDockControlRight;
-        private DevExpress.XtraBars.Bar bar3;
         private DevExpress.XtraBars.BarLargeButtonItem barLargeButtonItem1;
         private DevExpress.XtraBars.BarLargeButtonItem barLargeButtonItem2;
         private DevExpress.XtraBars.BarLargeButtonItem barLargeButtonItem3;
         private DevExpress.XtraBars.BarLargeButtonItem barLargeButtonItem4;
         private DevExpress.XtraBars.BarLargeButtonItem btnKG;
+        private DevExpress.XtraBars.BarLargeButtonItem barLargeButtonItem5;
+        private DevExpress.XtraBars.BarLargeButtonItem btnRole;
     }
 }
diff --git a/DevApp/Gs.DevApp/UserControl/ToolBarMenu.cs b/DevApp/Gs.DevApp/UserControl/ToolBarMenu.cs
index 0ad94a6..8d815e0 100644
--- a/DevApp/Gs.DevApp/UserControl/ToolBarMenu.cs
+++ b/DevApp/Gs.DevApp/UserControl/ToolBarMenu.cs
@@ -1,12 +1,15 @@
-锘縰sing DevExpress.XtraEditors;
+锘縰sing DevExpress.XtraBars;
+using DevExpress.XtraEditors;
 using Gs.DevApp.ToolBox;
 using System;
-
+using System.Collections.Generic;
 
 namespace Gs.DevApp.UserControl
 {
     public partial class ToolBarMenu : DevExpress.XtraEditors.XtraUserControl
     {
+        public bool isSetBtn { get; set; }
+
         /// <summary>
         /// 鏂板
         /// </summary>
@@ -33,9 +36,19 @@
         public event EventHandler btnSaveClick;
 
         /// <summary>
+        /// 鍙栨秷
+        /// </summary>
+        public event EventHandler btnEscClick;
+
+        /// <summary>
         /// 寮�宸�
         /// </summary>
         public event EventHandler btnKGClick;
+
+        /// <summary>
+        /// 鏉冮檺
+        /// </summary>
+        public event EventHandler btnRoleClick;
 
 
         public ToolBarMenu()
@@ -47,6 +60,36 @@
             this.btnLoad.ItemClick += BtnLoad_ItemClick;
             this.btnSave.ItemClick += BtnSave_ItemClick;
             this.btnKG.ItemClick += BtnKG_ItemClick;
+            this.btnEsc.ItemClick += BtnEsc_ItemClick;
+            this.btnRole.ItemClick += BtnRole_ItemClick;
+            initialization();
+        }
+
+
+        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);
+            setBtn(lst);
+        }
+
+        private void BtnEsc_ItemClick(object sender, ItemClickEventArgs e)
+        {
+            if (MsgHelper.AskQuestion("纭畾瑕佽鍙栨秷鍚�?"))
+            {
+                List<string> lst = new List<string>();
+                lst.Add(btnAdd.Name);
+                lst.Add(btnEdit.Name);
+                lst.Add(btnLoad.Name);
+                lst.Add(btnDel.Name);
+                setBtn(lst);
+                if (btnEscClick != null)
+                {
+                    btnEscClick(this, e);
+                }
+            }
         }
 
         private void BtnKG_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
@@ -62,19 +105,36 @@
             if (btnSaveClick != null)
             {
                 btnSaveClick(this, e);
+                if (isSetBtn == true) {
+                    List<string> lst = new List<string>();
+                    lst.Add(btnAdd.Name);
+                    lst.Add(btnEdit.Name);
+                    lst.Add(btnEsc.Name);
+                    setBtn(lst);
+                }
             }
         }
 
         private void BtnLoad_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
         {
+           
             if (btnLoadClick != null)
             {
+                List<string> lst = new List<string>();
+                lst.Add(btnRole.Name);
+                setBtn(lst);
                 btnLoadClick(this, e);
             }
+
         }
 
         private void BtnEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
         {
+            List<string> lst = new List<string>();
+            lst.Add(btnSave.Name);
+            lst.Add(btnEsc.Name);
+          
+            setBtn(lst);
             if (btnEdtClick != null)
             {
                 btnEdtClick(this, e);
@@ -83,17 +143,53 @@
 
         private void BtnDel_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
         {
-            if (btnDelClick != null) {
+            if (btnDelClick != null)
+            {
                 btnDelClick(this, e);
             }
         }
 
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
         private void BtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
         {
+            List<string> lst = new List<string>();
+            lst.Add(btnSave.Name);
+            lst.Add(btnEsc.Name);
+            setBtn(lst);
             if (btnAddClick != null)
             {
                 btnAddClick(this, e);
             }
+
+        }
+
+        private void BtnRole_ItemClick(object sender, ItemClickEventArgs e)
+        {
+            //List<string> lst = new List<string>();
+            //lst.Add(btnSave.Name);
+            //lst.Add(btnEsc.Name);
+            //setBtn(lst);
+            if (btnRoleClick != null)
+            {
+                btnRoleClick(this, e);
+            }
+        }
+        private void setBtn(List<string> lstBtn)
+        {
+            foreach (BarItem item in barManager1.Items)
+            {
+                if (item is BarLargeButtonItem largeButtonItem)
+                {
+                    if (lstBtn.Contains(item.Name))
+                        largeButtonItem.Enabled = true;
+                    else
+                        largeButtonItem.Enabled = false;
+                }
+            }
         }
     }
 }
diff --git a/DevApp/Gs.DevApp/UserControl/ToolBarMenu.resx b/DevApp/Gs.DevApp/UserControl/ToolBarMenu.resx
index 3eb7efa..1c83cc8 100644
--- a/DevApp/Gs.DevApp/UserControl/ToolBarMenu.resx
+++ b/DevApp/Gs.DevApp/UserControl/ToolBarMenu.resx
@@ -121,7 +121,7 @@
     <value>17, 17</value>
   </metadata>
   <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
-  <data name="barLargeButtonItem6.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <data name="btnEsc.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABZ0RVh0VGl0
         bGUAQmFja2dyb3VuZDtGaWxsO7QwF3QAAAMCSURBVDhPnZJrSJNRGMffLMOy1L6Yol2EbmShmQZJBSVh
@@ -140,7 +140,7 @@
         xn0JHn9Y9w+uhOV/Bf8HmN+Yo1PuV+DdyAAAAABJRU5ErkJggg==
 </value>
   </data>
-  <data name="barLargeButtonItem6.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <data name="btnEsc.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABZ0RVh0VGl0
         bGUAQmFja2dyb3VuZDtGaWxsO7QwF3QAAAmnSURBVFhHtZcJVNT1FscnK7N3XlmUmEuZSymLTzMtU59m
@@ -427,62 +427,62 @@
         gCow0mM+bAAAAABJRU5ErkJggg==
 </value>
   </data>
-  <data name="barLargeButtonItem5.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <data name="btnKG.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
-        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
-        YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAEXRFWHRUaXRsZQBEb3duO0Fy
-        cm93O738glgAAALASURBVDhPdZJZT1NBGIYnMSYKrv9IjZcmhmjihd4IxYWtUFnKIigte9QYYyCyU1TW
-        QAHZSoxIJFEDXahSBSNLy+nC6WkLpS2Jvn4zLcTEePHk65l35jnvaYZpu23vil/ZUfTSjsJuOwoMS9B0
-        LSGvwwZ1hxXqdguyWy3IarEgo9mCO81m3H5hRtrzj+8ZY0cZPzyzGiQCmFmJY6Lfpu+KYJqY4jgUTH5T
-        ME7T+MWP9KZFkOAY05JgfNmPGtMGqqc3UDVF8Enop9bjTK5Dd8DEGvosPqjiguOsiGo3GB24Z7BBY7BS
-        fStyO4kOi6if025GdtsislrNyGxZRAZR9noJqsaEoOaZCbt7+/ApEfj8hBKFV97DljcElycoJn8WeWJP
-        aGcf9xvecEES0z+dwk6YC+hgYhM/VNj2+RCXmyS07hUviCC4u4/SulEuSGaVTyYRIoEICT5dUgA39NOY
-        9f7G5aIRbEqKWD+QBHZiKK4e4YITrOLROEJk5IGHqro8IfxY9+BaxQQe23/hUr4RKz/dcEpBkfN9SiiG
-        Qv1wXFBWP0aVYiKQfLvQtc3jatkYrpSOoda8jxTtqGhR3jQn5J6EIL9yiAtOspLaEQRIwAPJF4bV4cTF
-        9A4Uv1VQ+SkGrUnGhbR22JY3xQv4Pn8wCs2DQS44xYqqjOKbPHIEbsLl3UHP6ALO5wygZD6Cc5m96B9f
-        gNMdFDn/DDkYg7q8Py4o0A2JSu7tPRFKNNdcMnJ0g0ip/4CCumGsOWWxzvdwZGqQXdbHBaeZ5uEgCaJk
-        p5C3oA1bVPXryhZSS3rgWJXoOQyJ5wnBdiCKzNJeLjjD8soHxDfJtLhNk4ccjxwW94FPfkcOLxInEEFG
-        cU+8Qaq6dfZWfjfSE6juGaDSGJCm6RKk5iXI7cTNv7h+t3GOBEkE3Wf+Z/A6/3L2P/AsmTF25A/+peGl
-        WYwXFAAAAABJRU5ErkJggg==
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAARdEVYdFRpdGxlAERvd247QXJyb3c7vfyCWAAAAsBJ
+        REFUOE91kllPU0EYhicxJgqu/0iNlyaGaOKF3gjFha1QWcoiKC171BhjILJTVNZAAdlKjEgkUQNdqFIF
+        I0vL6cLpaQulLYm+fjMtxMR48eTrmXfmOe9phmm7be+KX9lR9NKOwm47CgxL0HQtIa/DBnWHFep2C7Jb
+        LchqsSCj2YI7zWbcfmFG2vOP7xljRxk/PLMaJAKYWYljot+m74pgmpjiOBRMflMwTtP4xY/0pkWQ4BjT
+        kmB82Y8a0waqpzdQNUXwSein1uNMrkN3wMQa+iw+qOKC46yIajcYHbhnsEFjsFJ9K3I7iQ6LqJ/TbkZ2
+        2yKyWs3IbFlEBlH2egmqxoSg5pkJu3v78CkR+PyEEoVX3sOWNwSXJygmfxZ5Yk9oZx/3G95wQRLTP53C
+        TpgL6GBiEz9U2Pb5EJebJLTuFS+IILi7j9K6US5IZpVPJhEigQgJPl1SADf005j1/sblohFsSopYP5AE
+        dmIorh7hghOs4tE4QmTkgYequjwh/Fj34FrFBB7bf+FSvhErP91wSkGR831KKIZC/XBcUFY/RpViIpB8
+        u9C1zeNq2RiulI6h1ryPFO2oaFHeNCfknoQgv3KIC06yktoRBEjAA8kXhtXhxMX0DhS/VVD5KQatScaF
+        tHbYljfFC/g+fzAKzYNBLjjFiqqM4ps8cgRuwuXdQc/oAs7nDKBkPoJzmb3oH1+A0x0UOf8MORiDurw/
+        LijQDYlK7u09EUo011wycnSDSKn/gIK6Yaw5ZbHO93BkapBd1scFp5nm4SAJomSnkLegDVtU9evKFlJL
+        euBYleg5DInnCcF2IIrM0l4uOMPyygfEN8m0uE2ThxyPHBb3gU9+Rw4vEicQQUZxT7xBqrp19lZ+N9IT
+        qO4ZoNIYkKbpEqTmJcjtxM2/uH63cY4ESQTdZ/5n8Dr/cvY/8CyZMXbkD/6l4aVZjBcUAAAAAElFTkSu
+        QmCC
 </value>
   </data>
-  <data name="barLargeButtonItem5.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+  <data name="btnKG.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
-        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
-        YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAEXRFWHRUaXRsZQBEb3duO0Fy
-        cm93O738glgAAAd8SURBVFhHtZfZcxTXFcblOI4XbGPjbH9OHlJJXpylyktiE1IqiCFKYdCGcLABITAB
-        pJEQGIuRhEFIGm2AkYMkJCG0odUsYpOsdbSMZtXMaEYLyA9fzne770wPJI5fMlW/Ord7uu/33XNP39ud
-        JL9nhB8IPxR+9B94/nvywveEfVKLmur37PbC1l9mlPQPZpYOQpOhGDAoGUB6jH6kFQ8IjAap9kR2ktN9
-        MXZY+PDznpHkw1/+WnRpgoNPeu6vBd0ee8cs6u4uoG4ogFqTmjtP4kc1ueVH1W0TaTus3PSj4qYvgXLh
-        /KBB/tUpvHPwmld0mTWVhee3FNxQwv+4PImPviQTZkw83n1pIkbWpXGDi9IWdjFeMNsXxmNkWsioG0dZ
-        vxdv51yD6L6kDbywOb9bjY5CuynEaBEzBNk5RbVgXMTaptAuEVKidWMxMkzOioG3DrTSwDrhWWUg2dal
-        Uvm0IGPiKONiE4liAkeo2rVaUM7VEmlLTJd4pteDP2S3JBr4S16Xmr+YaAwRoKgSjKMFMykQwxAxxOKC
-        6TUGadJOqxlFSY8Hv9vXTAMvawMvbsrtRH7zFLJqRrCrWqgZlihUDSOTOIaRITHD8VCRXvkQaZUPkFZB
-        HiJVYmr5A+wk5xnvY8d5oczgw3P3sV1xD7kN4/jt3icMlFT1Y3n1WywsPhIem+g2o8b4LxBahT+8ioDg
-        122JAbkmEJb/w4xP4xciy2soKu+hgVe0gZeKHX1YWjEN8OKEaJgIUFiEfMEVeBeEwBI8FrwLy/DRhCmm
-        BbXJQEjaAg18fv5GogF7JQ2sGWK6A45WReOYnXiDyzh+6b4sPn1Is/chVRaW1NO92FnUC9uFIXj8S4YY
-        rzehqD/GKiJLa/jsXDcNvKoNrLNX9GJp+duYWMyEBd7s9keRUtCJaTHnFKYsfJDXjnlfRJm0Cir0VJkG
-        Tp6NGeBqmLSOcxKV1DwtKlF3FlwVgUVstbVjOPgIl0ZDuEi+CWLAvYTNR9vg8oTVVKjRK0HzXrPtkz4W
-        xcCJL7poYL028DLnxDBAt6aoNqGQ9Mu8u7xhbMm9jnv+FdQNy7It1Aq9riUkH27FrDsIDw2IoE+ZFlHV
-        Zu0YhJceo/BMZ6KBU2WmAS2sXBMzdXLOK8U35wkh+cg1DHmXUf0ggKr7ATiErtkoNh1qwYxrQaZpWV2r
-        BJ8QVwaij1FQ2kEDr2kDr7AoWJ2GmJku04BXbmJa3b4opkVgk4z0lqS84q5sNEN+lA/50O5cxPsHrmJy
-        xg+X1IEnYDHB+81IQmIgv6Q90cCJs12mAcuoTed8xDi3ThEfnXJj48FmDMxFce62V3H2lgctE2H8cX8T
-        RsbmxIRPpiIk9RIV43FhNRAhHHkMm/06DbyuDbxaKEURia6pdLHY1E1ihiOZ80awMadZjfC9bIOemQhK
-        v3ajdNCNEqFRivGdTxrwtvDWx+QKZsSEm5kQE1qchMRA3mllYIM2sP54aad6PIzUm6MX1Ly7F5Fd3IlT
-        TcPomgpj0BVF59Qi7P3zKOojLtRLIbaMh9EyuoDci3eQntugsqAMKGEuXhIFGjhWpLZjGnhOGSgo6ZDq
-        XIOXoqYJ4lGVH8G9URc27a9HcccUjrZOwtY+jRPdczjZM4fCrjkca5vGp1cnZT8Zw+/TK3FneFYKdlEy
-        aK6apjj7C0Ue4cgpZeANbeA1W3G7qk4fHxszVTpyFBxNU/cw3tt3GfYbczjQOIb9V8aFMez7l7SFwnYn
-        3sysQn3bXUzPB6UYuTybwioDK2JgFUFZ7P75mXofiBvIO91mGogLK0zXLm9UVfjRM9ex41Q7bG1O7P1q
-        LMaxFic25zYjp6gJE9NShJ5IfP7NPijOyH3l05PqfeDH2sDruUWGAauwmjd1LDezGKUWRibc+POeauTU
-        3UFO4zg+rh9Fjmyveypv4t2MMjwcncPMvDH3hijvtUADst8cKlTbcdzAUZkTFgcvMIR5scW5GHHLRuN0
-        BdE9OIpfpXwBW/MEPrk8hiONo/jFFjs6BkZknWDqo2JgBW65lzFmgscCM5Bz/CoN/EQb2MA5CSoDFNXC
-        Zgb0ORkVO5+Q57y0tgtvZjgk9ZP4zc5yFFd3YNzpU48sV0KroO5LHct5bnjZ+U2JBg7LnASlOpXoEyYM
-        mAGjg1mZim8m5vH3A9XYWtCKbfsd6njWHY5dQwMqA8o4z8n97IcG5CnLtjXSwE+1gTcOnWhWc5MozJss
-        ZtiJdDAvU8EqvyeP2sasMtwdnoFTjnmec6+FdD+8R5kxTXDD25fXoA3wKylpw0GZE86NIahvNtqqQw0N
-        iMi8PGIz88byPC1Fp8R16k2UMNvsg20zcpHbe+xKQgbWZ9saQn23p8Wd8RakXsG4K6ponuOxiX7B4OsZ
-        l25i7KDG+e+i56YTew7XhzhwbeDFbekn/5SSVelL+agKKbuJA2z/TdoGjnjMirPNEuNUYtuuSmxV0SFR
-        YOQ54YPMisXk7bb3RZffBerLiBsCP5O4O/HZZHUyPd/Fz/4HP/8v8D+ugHwlp676OLV+njMl1k/z/wfU
-        4Muo6CY982/fXTK7nE+aKgAAAABJRU5ErkJggg==
+        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
+        dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAARdEVYdFRpdGxlAERvd247QXJyb3c7vfyCWAAAB3xJ
+        REFUWEe1l9lzFNcVxuU4jhdsY+Nsf04eUklenKXKS2ITUiqIIUph0IZwsAEhMAGkkRAYi5GEQUgabYCR
+        gyQkIbSh1Sxik6x1tIxm1cxoRgvID1/Od7vvTA8kjl8yVb86t3u67/fdc0/f250kv2eEHwg/FH70H3j+
+        e/LC94R9Uoua6vfs9sLWX2aU9A9mlg5Ck6EYMCgZQHqMfqQVDwiMBqn2RHaS030xdlj48POekeTDX/5a
+        dGmCg0967q8F3R57xyzq7i6gbiiAWpOaO0/iRzW55UfVbRNpO6zc9KPipi+BcuH8oEH+1Sm8c/CaV3SZ
+        NZWF57cU3FDC/7g8iY++JBNmTDzefWkiRtalcYOL0hZ2MV4w2xfGY2RayKgbR1m/F2/nXIPovqQNvLA5
+        v1uNjkK7KcRoETME2TlFtWBcxNqm0C4RUqJ1YzEyTM6KgbcOtNLAOuFZZSDZ1qVS+bQgY+Io42ITiWIC
+        R6jatVpQztUSaUtMl3im14M/ZLckGvhLXpeav5hoDBGgqBKMowUzKRDDEDHE4oLpNQZp0k6rGUVJjwe/
+        29dMAy9rAy9uyu1EfvMUsmpGsKtaqBmWKFQNI5M4hpEhMcPxUJFe+RBplQ+QVkEeIlViavkD7CTnGe9j
+        x3mhzODDc/exXXEPuQ3j+O3eJwyUVPVjefVbLCw+Eh6b6DajxvgvEFqFP7yKgODXbYkBuSYQlv/DjE/j
+        FyLLaygq76GBV7SBl4odfVhaMQ3w4oRomAhQWIR8wRV4F4TAEjwWvAvL8NGEKaYFtclASNoCDXx+/kai
+        AXslDawZYroDjlZF45ideIPLOH7pviw+fUiz9yFVFpbU073YWdQL24UhePxLhhivN6GoP8YqIktr+Oxc
+        Nw28qg2ss1f0Ymn525hYzIQF3uz2R5FS0IlpMecUpix8kNeOeV9EmbQKKvRUmQZOno0Z4GqYtI5zEpXU
+        PC0qUXcWXBWBRWy1tWM4+AiXRkO4SL4JYsC9hM1H2+DyhNVUqNErQfNes+2TPhbFwIkvumhgvTbwMufE
+        MEC3pqg2oZD0y7y7vGFsyb2Oe/4V1A3Lsi3UCr2uJSQfbsWsOwgPDYigT5kWUdVm7RiElx6j8ExnooFT
+        ZaYBLaxcEzN1cs4rxTfnCSH5yDUMeZdR/SCAqvsBOISu2Sg2HWrBjGtBpmlZXasEnxBXBqKPUVDaQQOv
+        aQOvsChYnYaYmS7TgFduYlrdviimRWCTjPSWpLzirmw0Q36UD/nQ7lzE+weuYnLGD5fUgSdgMcH7zUhC
+        YiC/pD3RwImzXaYBy6hN53zEOLdOER+dcmPjwWYMzEVx7rZXcfaWBy0TYfxxfxNGxubEhE+mIiT1EhXj
+        cWE1ECEceQyb/ToNvK4NvFooRRGJrql0sdjUTWKGI5nzRrAxp1mN8L1sg56ZCEq/dqN00I0SoVGK8Z1P
+        GvC28NbH5ApmxISbmRATWpyExEDeaWVggzaw/nhpp3o8jNSboxfUvLsXkV3ciVNNw+iaCmPQFUXn1CLs
+        /fMo6iMu1EshtoyH0TK6gNyLd5Ce26CyoAwoYS5eEgUaOFaktmMaeE4ZKCjpkOpcg5eipgniUZUfwb1R
+        Fzbtr0dxxxSOtk7C1j6NE91zONkzh8KuORxrm8anVydlPxnD79MrcWd4Vgp2UTJorpqmOPsLRR7hyCll
+        4A1t4DVbcbuqTh8fGzNVOnIUHE1T9zDe23cZ9htzONA4hv1XxoUx7PuXtIXCdifezKxCfdtdTM8HpRi5
+        PJvCKgMrYmAVQVns/vmZeh+IG8g73WYaiAsrTNcub1RV+NEz17HjVDtsbU7s/WosxrEWJzbnNiOnqAkT
+        01KEnkh8/s0+KM7IfeXTk+p94MfawOu5RYYBq7CaN3UsN7MYpRZGJtz4855q5NTdQU7jOD6uH0WObK97
+        Km/i3YwyPBydw8y8MfeGKO+1QAOy3xwqVNtx3MBRmRMWBy8whHmxxbkYcctG43QF0T04il+lfAFb8wQ+
+        uTyGI42j+MUWOzoGRmSdYOqjYmAFbrmXMWaCxwIzkHP8Kg38RBvYwDkJKgMU1cJmBvQ5GRU7n5DnvLS2
+        C29mOCT1k/jNznIUV3dg3OlTjyxXQqug7ksdy3lueNn5TYkGDsucBKU6legTJgyYAaODWZmKbybm8fcD
+        1dha0Ipt+x3qeNYdjl1DAyoDyjjPyf3shwbkKcu2NdLAT7WBNw6daFZzkyjMmyxm2Il0MC9TwSq/J4/a
+        xqwy3B2egVOOeZ5zr4V0P7xHmTFNcMPbl9egDfArKWnDQZkTzo0hqG822qpDDQ2IyLw8YjPzxvI8LUWn
+        xHXqTZQw2+yDbTNykdt77EpCBtZn2xpCfbenxZ3xFqRewbgrqmie47GJfsHg6xmXbmLsoMb576LnphN7
+        DteHOHBt4MVt6Sf/lJJV6Uv5qAopu4kDbP9N2gaOeMyKs80S41Ri265KbFXRIVFg5Dnhg8yKxeTttvdF
+        l98F6suIGwI/k7g78dlkdTI938XP/gc//y/wP66AfCWnrvo4tX6eMyXWT/P/B9Tgy6joJj3zb99dMruc
+        T5oqAAAAAElFTkSuQmCC
 </value>
   </data>
 </root>
\ No newline at end of file

--
Gitblit v1.9.3