From 8114becd3aa125191bf0ed06cb8b17379b5757aa Mon Sep 17 00:00:00 2001
From: lg <123456>
Date: 星期五, 12 十二月 2025 13:38:48 +0800
Subject: [PATCH] 其它入库单据类型改为可维护
---
DevApp/Gs.DevApp/DevFrm/FrmMain.cs | 284 +++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 236 insertions(+), 48 deletions(-)
diff --git a/DevApp/Gs.DevApp/DevFrm/FrmMain.cs b/DevApp/Gs.DevApp/DevFrm/FrmMain.cs
index 7ee739a..5603fcc 100644
--- a/DevApp/Gs.DevApp/DevFrm/FrmMain.cs
+++ b/DevApp/Gs.DevApp/DevFrm/FrmMain.cs
@@ -1,32 +1,37 @@
-锘縰sing System;
+锘縰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.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.Threading.Tasks;
+using System.Text;
using System.Windows.Forms;
-using DevExpress.XtraBars;
-using DevExpress.XtraBars.FluentDesignSystem;
-using DevExpress.XtraBars.Navigation;
-using DevExpress.XtraTab;
-using DevExpress.XtraTab.ViewInfo;
-using Gs.DevApp.DevFrm.Sys;
-using Gs.DevApp.DevFrm.User;
-using Gs.DevApp.Entity;
-using Gs.DevApp.ToolBox;
-using Gs.DevApp.UserControl;
-using Newtonsoft.Json;
-using Newtonsoft.Json.Linq;
namespace Gs.DevApp.DevFrm
{
public partial class FrmMain : 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();
@@ -36,16 +41,91 @@
barPwd.ItemClick += BarPwd_ItemClick;
barExit.ItemClick += BarExit_ItemClick;
FormClosing += FrmMain_FormClosing;
- barEasy.ItemClick += BarEasy_ItemClick;
getTree();
+ tab.MouseDown += Tab_MouseDown;
+ tabCloseCurrent.Click += (s, e) =>
+ {
+ string name = tab.SelectedTabPage.Tooltip;
+ RemoveTabPage(tab, name);
+ };
+ tabCloseAll.Click += (s, e) =>
+ {
+ string _name = tab.SelectedTabPage.Tooltip;
+ int _tabCount = tab.TabPages.Count;
+ for (int i = _tabCount; i >= 0; i--)
+ {
+ try
+ {
+ string name = tab.TabPages[i].Tooltip;
+ if (name != _name)
+ {
+ RemoveTabPage(tab, name);
+ }
+ }
+ catch (Exception)
+ {
+ }
+ }
+ };
+ 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
}
-
- private void BarEasy_ItemClick(object sender, ItemClickEventArgs e)
+ /// <summary>
+ /// 鏄剧ず鍙抽敭鑿滃崟
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e"></param>
+ private void Tab_MouseDown(object sender, MouseEventArgs e)
{
- var frm = new EasyCode();
- frm.ShowDialog();
+ if (e.Button == MouseButtons.Right)
+ {
+ cms1.Show(tab, e.Location);
+ }
}
-
private void FrmMain_FormClosing(object sender, FormClosingEventArgs e)
{
if (MsgHelper.AskQuestion("纭畾瑕侀��鍑虹郴缁熷悧?"))
@@ -105,23 +185,27 @@
{
getTree();
}
-
- private async void getTree()
+ /// <summary>
+ /// 璇诲彇宸﹀垯妯″潡鑿滃崟
+ /// </summary>
+ private void getTree()
{
- UcLoading _loading = new UcLoading();
- toolTime.Text = "鐧诲綍鏃堕棿" + LoginInfoModel.CurrentUser.LoginTime;
+ toolTime.Text = "鐧诲綍鏃堕棿:" + LoginInfoModel.CurrentUser.LoginTime;
var _obj = new
{
userGuid = LoginInfoModel.CurrentUser.LoginUserGuid,
- orgGuid = LoginInfoModel.CurrentUser.LoginOrgGuid
};
try
{
- var strJson = await UtilityHelper.HttpPostAsync("",
+ var strJson = UtilityHelper.HttpPost("",
"User/GetUserLoginInfo", JsonConvert.SerializeObject(_obj));
+ 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)
{
acrd.Clear();
@@ -138,6 +222,7 @@
int gdx = 0, idx = 0;
foreach (var _dy in drGrp)
{
+ wdf.SetCaption("鍔犺浇杩涘害:" + _dy["name"].ToString());
var _grp = acrd.AddGroup();
_grp.ImageOptions.Image =
UtilityHelper.GetImgFromResource(
@@ -146,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;
@@ -153,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)
@@ -170,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++;
}
@@ -183,12 +274,13 @@
{
MsgHelper.ShowError("鎻愮ず锛氬垵濮嬪寲澶辫触锛岃鑱旂郴绠$悊鍛橈紒");
}
+ wdf.SetCaption("鍔犺浇杩涘害锛�90/100锛�");
+ wdf.Close();
}
catch (Exception ex)
{
MsgHelper.ShowError("鎻愮ず锛�" + ex.Message);
}
- _loading.Stop();
}
/// <summary>
@@ -204,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>
@@ -214,18 +307,22 @@
/// <param name="e"></param>
private void Tab_CloseButtonClick(object sender, EventArgs e)
{
- RemoveTabPage(tab, e);
+ var args = (ClosePageButtonEventArgs)e;
+ var name = args.Page.Tooltip;
+ RemoveTabPage(tab, name);
}
/// <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();
@@ -234,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);
@@ -250,24 +348,33 @@
/// <param name="tabControl"></param>
/// <param name="tabPageName"></param>
/// <param name="e"></param>
- public void RemoveTabPage(XtraTabControl tabControl, EventArgs e)
+ public void RemoveTabPage(XtraTabControl tabControl, string name)
{
if (TabPageDic.Count <= 1)
{
MsgHelper.Warning("璇疯嚦灏戜繚鐣欎竴涓姛鑳斤紒");
return;
}
-
- var args = (ClosePageButtonEventArgs)e;
- var name = args.Page.Tooltip;
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>
@@ -293,7 +400,7 @@
/// 鍦ㄩ�夐」鍗′腑鐢熸垚绐椾綋
/// </summary>
/// <param name="form">绐椾綋鍚嶇О</param>
- private Form AddNewForm(string formName)
+ private Form AddNewForm(string formName, string InitializeVal)
{
try
{
@@ -304,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
@@ -340,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