From 200b60701072ff421156d7fd3c4fecf1a3b5bdb3 Mon Sep 17 00:00:00 2001 From: lu <123456> Date: 星期日, 07 九月 2025 10:58:58 +0800 Subject: [PATCH] Merge branch 'master' of http://git.gs-mes.com:8080/r/~tjx/GsMesClient --- DevApp/Gs.DevApp/DevFrm/FrmMain.cs | 245 +++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 197 insertions(+), 48 deletions(-) diff --git a/DevApp/Gs.DevApp/DevFrm/FrmMain.cs b/DevApp/Gs.DevApp/DevFrm/FrmMain.cs index 3126b9e..5603fcc 100644 --- a/DevApp/Gs.DevApp/DevFrm/FrmMain.cs +++ b/DevApp/Gs.DevApp/DevFrm/FrmMain.cs @@ -1,30 +1,37 @@ -锘縰sing System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Configuration; -using System.Data; -using System.Drawing; -using System.Reflection; -using System.Windows.Forms; -using DevExpress.XtraBars; +锘縰sing DevExpress.XtraBars; using DevExpress.XtraBars.FluentDesignSystem; using DevExpress.XtraBars.Navigation; +using DevExpress.XtraEditors; +using DevExpress.XtraEditors.TextEditController; +using DevExpress.XtraLayout; +using DevExpress.XtraRichEdit.Model; using DevExpress.XtraTab; using DevExpress.XtraTab.ViewInfo; -using Gs.DevApp.DevFrm.Sys; using Gs.DevApp.DevFrm.User; using Gs.DevApp.Entity; using Gs.DevApp.ToolBox; using Newtonsoft.Json; using Newtonsoft.Json.Linq; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Configuration; +using System.Data; +using System.Drawing; +using System.IO; +using System.Reflection; +using System.Text; +using System.Windows.Forms; namespace Gs.DevApp.DevFrm { public partial class FrmMain : FluentDesignForm { - private static readonly Dictionary<string, XtraTabPage> TabPageDic = - new Dictionary<string, XtraTabPage>(); - + /// <summary> + /// tab涓存椂閫夐」鍗� + /// </summary> + private static readonly Dictionary<string, XtraTabPage> TabPageDic = new Dictionary<string, XtraTabPage>(); + private string OldorgFids = ""; public FrmMain() { InitializeComponent(); @@ -34,7 +41,6 @@ barPwd.ItemClick += BarPwd_ItemClick; barExit.ItemClick += BarExit_ItemClick; FormClosing += FrmMain_FormClosing; - barEasy.ItemClick += BarEasy_ItemClick; getTree(); tab.MouseDown += Tab_MouseDown; tabCloseCurrent.Click += (s, e) => @@ -61,27 +67,65 @@ } } }; + GetOrg(); + barOrg.EditValueChanged += (s, e) => + { + if (barOrg.EditValue == null) + { + Gs.DevApp.ToolBox.MsgHelper.ShowInformation("璇烽�夋嫨浣犻渶瑕佺殑缁勭粐锛�"); + return; + } + string _val = barOrg.EditValue.ToString(); + if (string.IsNullOrEmpty(_val)) + { + Gs.DevApp.ToolBox.MsgHelper.ShowInformation("璇烽�夋嫨浣犻渶瑕佺殑缁勭粐锛�"); + return; + } + if (OldorgFids == _val) + return; + var _obj = new + { + edtUserGuid = LoginInfoModel.CurrentUser.LoginUserGuid, + userGuid = LoginInfoModel.CurrentUser.LoginUserGuid, + userOrgFids = _val, + }; + try + { + var strJson = UtilityHelper.HttpPost("", "User/SetUserOrg", + JsonConvert.SerializeObject(_obj)); + var _rtn = UtilityHelper.ReturnToDynamic(strJson); + MsgHelper.ShowInformation("鎻愮ず锛�" + _rtn.rtnData.outMsg); + } + catch (Exception ex) + { + MsgHelper.Warning("鎻愮ず锛�" + ex.Message); + } + }; + #region 鍔犱笂搴曢儴鎻愰啋 + tab.SelectedPageChanged += (s, e) => { + string _strForm = e.Page.Tag != null ? e.Page.Tag.ToString() : "鏈煡"; + toolForm.Text = ("绐椾綋:" + _strForm); + }; + string _webApiUrl = ConfigurationManager.AppSettings["WebApiUrl"]; + string _autoUpdate = (ConfigurationManager.AppSettings["IsAutoUpdater"]); + string _version = ConfigurationManager.AppSettings["Version"]; + toolVersion.Text = "褰撳墠鐗堟湰:" + _version + ",鏈嶅姟Api:" + _webApiUrl; + string _strFont = Gs.DevApp.Properties.Settings.Default.fontSizeName; + toolFont.Text = (",瀛椾綋:" + _strFont); + #endregion } - + /// <summary> + /// 鏄剧ず鍙抽敭鑿滃崟 + /// </summary> + /// <param name="sender"></param> + /// <param name="e"></param> private void Tab_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { - tab.ContextMenuStrip = null; - //TreeListHitInfo hInfo = treeList1.CalcHitInfo(new Point(e.X, e.Y)); - //TreeListNode node = hInfo.Node; - //treeList1.FocusedNode = node; - tab.ContextMenuStrip = contextMenuStrip1; - + cms1.Show(tab, e.Location); } } - - private void BarEasy_ItemClick(object sender, ItemClickEventArgs e) - { - var frm = new EasyCode(); - frm.ShowDialog(); - } - private void FrmMain_FormClosing(object sender, FormClosingEventArgs e) { if (MsgHelper.AskQuestion("纭畾瑕侀��鍑虹郴缁熷悧?")) @@ -141,21 +185,25 @@ { getTree(); } - - private void getTree() + /// <summary> + /// 璇诲彇宸﹀垯妯″潡鑿滃崟 + /// </summary> + private void getTree() { - - toolTime.Text = "鐧诲綍鏃堕棿" + LoginInfoModel.CurrentUser.LoginTime; + toolTime.Text = "鐧诲綍鏃堕棿:" + LoginInfoModel.CurrentUser.LoginTime; var _obj = new { userGuid = LoginInfoModel.CurrentUser.LoginUserGuid, - orgGuid = LoginInfoModel.CurrentUser.LoginOrgGuid }; try { var strJson = UtilityHelper.HttpPost("", "User/GetUserLoginInfo", JsonConvert.SerializeObject(_obj)); - DevExpress.Utils.WaitDialogForm wdf = new DevExpress.Utils.WaitDialogForm("鎷煎懡鍔犺浇涓紝璇风◢鍚�......", "鍙嬫儏鎻愮ず"); + Size _size; string _caption; Color _color; Padding _pad; + (_size, _caption, _color, _pad) = Gs.DevApp.ToolBox.UtilityHelper.getLoading(); + DevExpress.Utils.WaitDialogForm wdf = new DevExpress.Utils.WaitDialogForm("鍔犺浇杩涘害:", _caption, _size); + wdf.BackColor = _color; + wdf.Padding = _pad; var _job = JObject.Parse(strJson); var rtnCode = _job["rtnCode"].ToString(); if (int.Parse(rtnCode) > 0) @@ -183,6 +231,7 @@ _grp.Style = ElementStyle.Group; _grp.Text = _dy["name"].ToString(); _grp.Tag = _dy["formPath"].ToString(); //瀛樿矾寰勶紝绫诲悕 + _grp.AccessibleDescription = _dy["layoutVersion"].ToString();//鐗堥潰 _grp.Click += _grp_Click; if (gdx == 0) _grp.Expanded = true; @@ -190,15 +239,17 @@ foreach (var _dy2 in drItem) { var _itm = acrd.AddItem(); + _itm.Appearance.Hovered.Options.UseFont = true; + _itm.Appearance.Normal.Options.UseFont = true; _itm.ImageOptions.Image = UtilityHelper.GetImgFromResource( _dy2["icon"].ToString(), 2); _itm.Name = _dy2["guid"].ToString(); _itm.Style = ElementStyle.Item; _itm.Text = _dy2["name"].ToString(); - _itm.Appearance.Normal.Font = - new Font("Tahoma", 10F); + wdf.SetCaption("鍔犺浇杩涘害:" + _dy2["name"].ToString()); _itm.Tag = _dy2["formPath"].ToString(); //瀛樿矾寰勶紝绫诲悕 + _itm.AccessibleDescription = _dy2["layoutVersion"].ToString();//鐗堥潰 _itm.Click += _grp_Click; _grp.Elements.Add(_itm); if (idx == 0 && tab.TabPages.Count <= 0) @@ -207,8 +258,11 @@ var tabText = _itm.Text; //褰撳墠閫夐」鍗¢〉Text鏍囬 var newFormName = _itm.Tag.ToString(); //瀛樿矾寰勶紝绫诲悕 var imgIcon = _itm.Image; + var layoutVersion = _itm.AccessibleDescription; AddTabpage(tab, tabPageName, tabText, - newFormName, imgIcon); + newFormName, imgIcon,"", layoutVersion); + //绗�0涓紝涓嶄細瑙﹀彂浜嬩欢锛屾墜鍔ㄨ缃� + toolForm.Text = ("绐椾綋:" + newFormName+ ",鐗堥潰:" + layoutVersion); } idx++; } @@ -225,10 +279,8 @@ } catch (Exception ex) { - MsgHelper.ShowError("鎻愮ず锛�" + ex.Message); } - } /// <summary> @@ -244,7 +296,8 @@ var tabText = _acd.Text; var newFormName = _acd.Tag.ToString(); var imgIcon = _acd.Image; - AddTabpage(tab, tabPageName, tabText, newFormName, imgIcon); + string _strLayout = _acd.AccessibleDescription; + AddTabpage(tab, tabPageName, tabText, newFormName, imgIcon, "", _strLayout); } /// <summary> @@ -260,14 +313,16 @@ } /// <summary> - /// 鏂板閫夐」鍗¢〉 + /// 鏂板閫夐」鍗¢〉 /// </summary> /// <param name="tabControl">閫夐」鍗℃帶浠�</param> /// <param name="tabPageName">褰撴湡閫夐」鍗¢〉name鍚嶇О</param> /// <param name="tabText">褰撳墠閫夐」鍗¢〉Text鏍囬</param> - /// <param name="newFormName">褰撳墠閫夐」鍗′腑鐨勬柊绐椾綋璺緞锛岀被鍚�</param> + /// <param name="newFormName"></param> + /// <param name="imgIcon">褰撳墠閫夐」鍗′腑鐨勬柊绐椾綋璺緞锛岀被鍚�</param> + /// <param name="InitializeVal">鍒濆鍊硷紝鐢ㄤ簬瀛愮獥浣撲腑璋冪敤鐖剁獥浣撶殑鍊�</param> public void AddTabpage(XtraTabControl tabControl, string tabPageName, - string tabText, string newFormName, Image imgIcon) + string tabText, string newFormName, Image imgIcon, string InitializeVal = "", string strLayout = "") { if (IsTabpageExsit(tabControl, tabPageName)) return; var newPage = new XtraTabPage(); @@ -276,7 +331,8 @@ newPage.Tooltip = newPage.Name; newPage.Appearance.Header.Font = tab.Appearance.Font; newPage.ImageOptions.Image = imgIcon; - var fm = AddNewForm(newFormName); + newPage.Tag = newFormName + ",鐗堥潰:" + strLayout; + var fm = AddNewForm(newFormName, InitializeVal); if (fm != null) { newPage.Controls.Add(fm); @@ -300,13 +356,25 @@ return; } foreach (XtraTabPage item in tabControl.TabPages) + { if (item.Name == name) { + //2025-08-08鍔犱笂锛屼负浜嗛噴鏀剧獥浣撹祫婧恇eg + foreach (Control control in item.Controls) + { + if (control is Form) + { + Form myForm = control as Form; + myForm.Invoke((MethodInvoker)delegate { myForm.Dispose(); }); // 纭繚 UI 绾跨▼瀹夊叏鍦伴噴鏀捐祫婧� + } + } + //鍚庢潵鍔犱笂锛屼负浜嗛噴鏀剧獥浣撹祫婧恊nd tabControl.TabPages.Remove(item); item.Dispose(); TabPageDic.Remove(name); return; } + } } /// <summary> @@ -332,7 +400,7 @@ /// 鍦ㄩ�夐」鍗′腑鐢熸垚绐椾綋 /// </summary> /// <param name="form">绐椾綋鍚嶇О</param> - private Form AddNewForm(string formName) + private Form AddNewForm(string formName, string InitializeVal) { try { @@ -343,22 +411,25 @@ MsgHelper.ShowError("璇锋鏌ユ槸鍚﹀紑閫氫簡璇ユā鍧楋紒"); return null; } - newForm.FormBorderStyle = FormBorderStyle.None; newForm.TopLevel = false; newForm.ControlBox = false; newForm.Dock = DockStyle.Fill; newForm.Visible = true; + shiXian(newForm, formName, InitializeVal); return newForm; } catch (Exception) { MsgHelper.ShowError("璇锋鏌ユ槸鍚﹀紑閫氫簡璇ユā鍧楋紒"); } - return null; } + /// <summary> + /// 鐢ㄦ埛閫�鍑� + /// </summary> + /// <returns></returns> private int _userOut() { var _obj = new @@ -379,7 +450,85 @@ { DialogResult = DialogResult.Cancel; MsgHelper.Warning("鎻愮ず锛�" + ex.Message); - return -1; + return 1; + } + } + + #region 瀹炵幇瀛愮獥浣撶殑濮旀墭锛屼富瑕佺敤浜庡瓙椤甸潰涓闂埗椤甸潰鏂规硶 + private void UpdateParent_OnChange(object sender, UpdateParentEventArgs e) + { + List<string> _val = e.StringList; + string _formName = _val[0];//绫诲悕 + string _parm1 = _val[1]; + var _obj = new + { + guid = _formName //涓诲缓 + }; + try + { + var strJson = UtilityHelper.HttpPost("", "MenuAction/GetModelByNameSpace", + JsonConvert.SerializeObject(_obj)); + var _rtn = UtilityHelper.ReturnToDynamic(strJson); + if (_rtn.rtnCode > 0) + { + var dy = _rtn.rtnData; + string tabPageName = dy.guid.ToString() + "_page"; + string tabText = dy.name.ToString(); //褰撳墠閫夐」鍗¢〉Text鏍囬 + string newFormName = dy.formPath.ToString(); //瀛樿矾寰勶紝绫诲悕 + Image imgIcon = UtilityHelper.GetImgFromResource(dy.icon.ToString(), 2); + //鍏堝叧闂� + RemoveTabPage(tab, tabPageName); + AddTabpage(tab, tabPageName, tabText, newFormName, imgIcon, _parm1); + } + } + catch (Exception ex) + { + MsgHelper.ShowError("鎻愮ず锛�" + ex.Message); + } + } + + private void shiXian(Form newForm, string formName, string InitializeVal) + { + EventInfo evt = newForm.GetType().GetEvent("ToUpdateParent", + BindingFlags.NonPublic | BindingFlags.Instance + | BindingFlags.Public + ); + if (evt != null) + evt.AddEventHandler(newForm, new EventHandler<UpdateParentEventArgs>(UpdateParent_OnChange)); + if (!string.IsNullOrEmpty(InitializeVal)) + { + Assembly assembly = Assembly.GetExecutingAssembly(); + Type type = assembly.GetType(formName); + MethodInfo method = type.GetMethod("Initialize"); // 鑾峰彇Initialize鏂规硶鐨勪俊鎭� + if (method != null) + method.Invoke(newForm, new object[] { InitializeVal }); // 璋冪敤Initialize鏂规硶骞朵紶閫掑弬鏁� + } + } + #endregion + + private void GetOrg() + { + string userGuid = LoginInfoModel.CurrentUser.LoginUserGuid; + System.Text.StringBuilder sbSql = new System.Text.StringBuilder(); + sbSql.Append(" and IS_STATUS=1"); + sbSql.Append(" and fid in( select org.FID from [dbo].[SYS_USER_BIND] b left join SYS_ORGANIZATION org on b.aboutGuid=org.FID where userGuid='" + LoginInfoModel.CurrentUser.LoginUserGuid + "' and fType='缁勭粐' ) "); + var pgq = new PageQueryModel(1, 999999, "FID", "asc", userGuid, sbSql.ToString()); + var json = JsonConvert.SerializeObject(pgq); + try + { + var strReturn = UtilityHelper.HttpPost("", "Organization/GetListPage", json); + var _rtn = UtilityHelper.ReturnToTablePage(strReturn); + var dt = _rtn.rtnData.list; + repositoryItemCheckedComboBoxEdit1.DataSource = dt; + repositoryItemCheckedComboBoxEdit1.DisplayMember = "name"; + repositoryItemCheckedComboBoxEdit1.ValueMember = "fid"; + var _obj = UtilityHelper.ReturnToDynamic(strReturn); + barOrg.EditValue = _obj.rtnData.extendText; + OldorgFids = _obj.rtnData.extendText; + } + catch (Exception ex) + { + MsgHelper.Warning("鎻愮ず锛�" + ex.Message); } } } -- Gitblit v1.9.3