From 15bc95cc3a5e67d8094ef11c39b5bb31a8638d3c Mon Sep 17 00:00:00 2001
From: lg <999544862qq.com>
Date: 星期五, 30 八月 2024 13:24:36 +0800
Subject: [PATCH] 图片

---
 DevApp/Gs.DevApp/DevFrm/FrmMain.cs |  164 +++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 106 insertions(+), 58 deletions(-)

diff --git a/DevApp/Gs.DevApp/DevFrm/FrmMain.cs b/DevApp/Gs.DevApp/DevFrm/FrmMain.cs
index 057f359..56d4fd0 100644
--- a/DevApp/Gs.DevApp/DevFrm/FrmMain.cs
+++ b/DevApp/Gs.DevApp/DevFrm/FrmMain.cs
@@ -1,65 +1,97 @@
-锘縰sing DevExpress.XtraBars;
-using DevExpress.XtraBars.Navigation;
+锘縰sing DevExpress.XtraBars.Navigation;
 using DevExpress.XtraTab;
-using GsDxApp.Properties;
 using System;
 using System.Collections.Generic;
-using System.ComponentModel;
 using System.Data;
 using System.Drawing;
-using System.IO;
-using System.Linq;
 using System.Reflection;
-using System.Resources;
-using System.Text;
 using System.Windows.Forms;
 using Gs.DevApp.ToolBox;
+using Newtonsoft.Json;
+using Gs.DevApp.Models;
+using Newtonsoft.Json.Linq;
 
 namespace Gs.DevApp.DevFrm
 {
     public partial class FrmMain : DevExpress.XtraBars.FluentDesignSystem.FluentDesignForm
     {
         private static Dictionary<string, XtraTabPage> TabPageDic = new Dictionary<string, XtraTabPage>();
-        //private StatusStrip statusStrip;
-        //private ToolStripStatusLabel statusLabel;
         public FrmMain()
         {
             InitializeComponent();
-            getInit();
+            this.Text = System.Configuration.ConfigurationSettings.AppSettings.Get("ProductName").ToString();
+            tab.CloseButtonClick += Tab_CloseButtonClick;
+            getTree();
         }
 
-        private void getInit()
+        private void Tab_CloseButtonClick(object sender, EventArgs e)
         {
-            string filePath = @"D:\GsMes\GsDXApp\GsDxApp\bin\Debug\menu.txt";
-            string _strJson = File.ReadAllText(filePath);
+            RemoveTabPage(tab,e);
+        }
+
+        private void getTree()
+        {
+            toolTime.Text = "鐧诲綍鏃堕棿" + LoginInfoModel.CurrentUser.LoginTime;
             var _obj = new
             {
-                rtnCode = 1,
-                rtnData = new { list = new[] { new { guid = "", name = "", pah= "", ico = "", list = new[] { new { guid = "", name = "", pah= "", ico = "" } } } } },
-                rtnMsg = ""
+                userGuid = LoginInfoModel.CurrentUser.LoginUserGuid,
+                orgGuid = LoginInfoModel.CurrentUser.LoginOrgGuid,
             };
-            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmMain));
-            _obj = Newtonsoft.Json.JsonConvert.DeserializeAnonymousType(_strJson, _obj);
-            foreach (dynamic _dy in _obj.rtnData.list)
+            string strJson = "";
+            try
             {
-                AccordionControlElement _grp = this.acrd.AddGroup();
-                _grp.ImageOptions.Image = Utility.GetImgFromResource(_dy.ico);
-                _grp.Name = Guid.NewGuid().ToString();
-                _grp.Style = DevExpress.XtraBars.Navigation.ElementStyle.Group;
-                _grp.Text = _dy.name;
-                _grp.Click += _grp_Click;
-                foreach (dynamic _dy2 in _dy.list)
+                strJson = UtilityHelper.HttpPost("", "User/GetUserLoginInfo", JsonConvert.SerializeObject(_obj));
+                JObject _job = JObject.Parse(strJson);
+                string rtnCode = _job["rtnCode"].ToString();
+                string rtnMsg = _job["rtnMsg"].ToString();
+                barMsg.Caption = rtnMsg;
+                JArray array = new JArray();
+                var d = _job["rtnData"]["list"];
+                foreach (var a in d)
                 {
-                    AccordionControlElement _itm = this.acrd.AddItem();
-                    _itm.Name = Guid.NewGuid().ToString();
-                    _itm.ImageOptions.Image =Utility.GetImgFromResource(_dy2.ico);
-                    _itm.Style = DevExpress.XtraBars.Navigation.ElementStyle.Item;
-                    _itm.Text = _dy2.name;
-                    _itm.Appearance.Normal.Font = new System.Drawing.Font("Tahoma", 10F);
-                    _itm.Tag = _dy2.pah;
-                    _itm.Click += _grp_Click;
-                    _grp.Elements.Add(_itm);
-                };
+                    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)
+                    {
+                        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) {
+                            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++;
+                        //
+                    };
+                }
+            }
+            catch (Exception ex)
+            {
+                ToolBox.MsgHelper.ShowError("鎻愮ず锛�" + ex.Message);
             }
         }
 
@@ -68,10 +100,10 @@
             AccordionControlElement _acd = (AccordionControlElement)sender;
             if (_acd.Elements.Count > 0) return;
             string tabPageName = _acd.Name + "_page";
-            string tabText = _acd.Text;
-            //string newFormName = "GsDxApp.test.ToolbarForm1";
-            string newFormName = _acd.Tag.ToString();
-            AddTabpage(tab, tabPageName, tabText, newFormName);
+            string tabText = _acd.Text;//褰撳墠閫夐」鍗¢〉Text鏍囬
+            string newFormName = _acd.Tag.ToString();//瀛樿矾寰勶紝绫诲悕
+            Image imgIcon = _acd.Image;
+            AddTabpage(tab, tabPageName, tabText, newFormName, imgIcon);
         }
 
         /// <summary>
@@ -80,8 +112,8 @@
         /// <param name="tabControl">閫夐」鍗℃帶浠�</param>
         /// <param name="tabPageName">褰撴湡閫夐」鍗¢〉name鍚嶇О</param>
         /// <param name="tabText">褰撳墠閫夐」鍗¢〉Text鏍囬</param>
-        /// <param name="newFormName">褰撳墠閫夐」鍗′腑鐨勬柊绐椾綋</param>
-        public void AddTabpage(XtraTabControl tabControl, string tabPageName, string tabText, string newFormName)
+        /// <param name="newFormName">褰撳墠閫夐」鍗′腑鐨勬柊绐椾綋璺緞锛岀被鍚�</param>
+        public void AddTabpage(XtraTabControl tabControl, string tabPageName, string tabText, string newFormName, Image imgIcon)
         {
             if (IsTabpageExsit(tabControl, tabPageName))
             {
@@ -90,11 +122,17 @@
             XtraTabPage newPage = new XtraTabPage();
             newPage.Name = tabPageName;
             newPage.Text = tabText;
-            newPage.Tooltip = (tabText + ":" + tabPageName);
-            newPage.Controls.Add(AddNewForm(newFormName));
-            tabControl.TabPages.Add(newPage);
-            TabPageDic.Add(tabPageName, newPage);
-            tabControl.SelectedTabPage = newPage;
+            newPage.Tooltip = newPage.Name;
+            newPage.Appearance.Header.Font = (tab.Appearance.Font);
+            newPage.ImageOptions.Image = imgIcon;
+            Form fm = AddNewForm(newFormName);
+            if (fm != null)
+            {
+                newPage.Controls.Add(fm);
+                tabControl.TabPages.Add(newPage);
+                TabPageDic.Add(tabPageName, newPage);
+                tabControl.SelectedTabPage = newPage;
+            }
         }
 
         /// <summary>
@@ -144,16 +182,26 @@
         /// <param name="form">绐椾綋鍚嶇О</param>
         private Form AddNewForm(string formName)
         {
-            Form newForm = (Form)Assembly.GetExecutingAssembly().CreateInstance(formName);
-            newForm.FormBorderStyle = FormBorderStyle.None;
-            newForm.TopLevel = false;
-            //newForm.Parent = ((XtraTabControl)sender).SelectedTabPage;
-            newForm.ControlBox = false;
-            newForm.Dock = DockStyle.Fill;
-            newForm.Visible = true;
-            return newForm;
+            try
+            {
+                Form newForm = (Form)Assembly.GetExecutingAssembly().CreateInstance(formName);
+                if (newForm == null)
+                {
+                    Gs.DevApp.ToolBox.MsgHelper.ShowError("璇锋鏌ユ槸鍚﹀紑閫氫簡璇ユā鍧楋紒");
+                    return null;
+                }
+                newForm.FormBorderStyle = FormBorderStyle.None;
+                newForm.TopLevel = false;
+                newForm.ControlBox = false;
+                newForm.Dock = DockStyle.Fill;
+                newForm.Visible = true;
+                return newForm;
+            }
+            catch (Exception)
+            {
+                Gs.DevApp.ToolBox.MsgHelper.ShowError("璇锋鏌ユ槸鍚﹀紑閫氫簡璇ユā鍧楋紒");
+            }
+            return null;
         }
-
-       
     }
 }

--
Gitblit v1.9.3