From 0690da14b9781dbcc509f9c07652a0a15dc1d729 Mon Sep 17 00:00:00 2001 From: lg <999544862qq.com> Date: 星期日, 15 九月 2024 13:17:35 +0800 Subject: [PATCH] 基础资料 --- DevApp/Gs.DevApp/DevFrm/User/SysMenu.cs | 278 ++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 244 insertions(+), 34 deletions(-) diff --git a/DevApp/Gs.DevApp/DevFrm/User/SysMenu.cs b/DevApp/Gs.DevApp/DevFrm/User/SysMenu.cs index 94d72a9..9fee2da 100644 --- a/DevApp/Gs.DevApp/DevFrm/User/SysMenu.cs +++ b/DevApp/Gs.DevApp/DevFrm/User/SysMenu.cs @@ -1,9 +1,13 @@ -锘縰sing Gs.DevApp.Models; +锘縰sing DevExpress.XtraTreeList; +using DevExpress.XtraTreeList.Nodes; +using Gs.DevApp.Entity; using Gs.DevApp.ToolBox; using Newtonsoft.Json; using System; +using System.Collections.Generic; using System.Data; - +using System.Reflection; +using System.Windows.Forms; namespace Gs.DevApp.DevFrm.User { @@ -12,31 +16,73 @@ 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; - } - - private void ToolBarMenu1_btnLoadClick(object sender, EventArgs e) - { + this.toolBarMenu1.btnDelClick += ToolBarMenu1_btnDelClick1; + this.toolBarMenu1.btnEscClick += ToolBarMenu1_btnEscClick; + txt_category.TextChanged += Txt_category_TextChanged; + tlMenu.MouseDoubleClick += TlMenu_MouseDoubleClick; getTree(); + getDownList(); + getActionList(); } - private void ToolBarMenu1_btnEdtClick(object sender, EventArgs e) + /// <summary> + /// 鑿滃崟绫诲瀷鏀瑰彉浜嬩欢 + /// </summary> + /// <param name="sender"></param> + /// <param name="e"></param> + private void Txt_category_TextChanged(object sender, EventArgs e) { - String rowGuid = Convert.ToString(tlMenu.FocusedNode.GetValue("guid")); - if (string.IsNullOrEmpty(rowGuid)) + if (txt_category.SelectedIndex ==1) { - ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鍒犻櫎鐨勮锛�"); - return; + this.txt_formPath.Enabled = true; + this.txt_icon.Enabled = true; } - SysMenuAdd frm = new SysMenuAdd(rowGuid); - frm.ShowDialog(); + else + { + this.txt_formPath.Enabled = false; + this.txt_icon.Enabled = false; + this.txt_formPath.Text = ""; + this.txt_icon.Text = ""; + } + } + /// <summary> + /// 鍙屽嚮琛屼簨浠� + /// </summary> + /// <param name="sender"></param> + /// <param name="e"></param> + private void TlMenu_MouseDoubleClick(object sender, System.Windows.Forms.MouseEventArgs e) + { + TreeListHitInfo info = tlMenu.CalcHitInfo(e.Location); + if (info.Node != null) + { + TreeListNode clickedNode = this.tlMenu.FocusedNode; + if (clickedNode.FirstNode == null) + { + string rowGuid = clickedNode.GetValue("guid").ToString(); + getModel(rowGuid, false, 999); + } + } + } + /// <summary> + /// 鍙栨秷浜嬩欢 + /// </summary> + /// <param name="sender"></param> + /// <param name="e"></param> + private void ToolBarMenu1_btnEscClick(object sender, EventArgs e) + { + UtilityHelper.ChangeTab(xtraTabControl1, 0); } - 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)) @@ -52,10 +98,9 @@ { guid = rowGuid,//涓诲缓 }; - string strJson = ""; try { - strJson = UtilityHelper.HttpPost("", "MenuAction/DeleteModel", JsonConvert.SerializeObject(_obj)); + string strJson = UtilityHelper.HttpPost("", "MenuAction/DeleteModel", JsonConvert.SerializeObject(_obj)); ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson); if (_rtn.rtnCode > 0) { getTree(); } ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg); @@ -66,24 +111,124 @@ } } - private void ToolBarMenu1_btnAddClick(object sender, EventArgs e) + /// <summary> + /// 鍒锋柊浜嬩欢 + /// </summary> + /// <param name="sender"></param> + /// <param name="e"></param> + private void ToolBarMenu1_btnLoadClick(object sender, EventArgs e) { - SysMenuAdd frm = new SysMenuAdd(""); - frm.UpdateParent += Frm_UpdateParent; - frm.ShowDialog(); - } - private void Frm_UpdateParent(object sender, UpdateParentEventArgs e) - { + UtilityHelper.ChangeTab(xtraTabControl1, 0); getTree(); } - private void getTree() + /// <summary> + /// 淇敼浜嬩欢 + /// </summary> + /// <param name="sender"></param> + /// <param name="e"></param> + private void ToolBarMenu1_btnEdtClick(object sender, EventArgs e) { - Models.PageQueryModel pgq = new Models.PageQueryModel(1, 999999, "idx", "asc", "", ""); - string json = JsonConvert.SerializeObject(pgq); - string strReturn = ""; + String rowGuid = Convert.ToString(tlMenu.FocusedNode.GetValue("guid")); + if (string.IsNullOrEmpty(rowGuid)) + { + ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�"); + return; + } + getModel(rowGuid, true, 1); + if (txt_category.SelectedIndex == 1) + { + this.txt_formPath.Enabled = true; + this.txt_icon.Enabled = true; + } + else + { + this.txt_formPath.Enabled = false; + this.txt_icon.Enabled = false; + } + } + /// <summary> + /// 鏂板浜嬩欢 + /// </summary> + /// <param name="sender"></param> + /// <param name="e"></param> + private void ToolBarMenu1_btnAddClick(object sender, EventArgs e) + { + UtilityHelper.ChangeTab(xtraTabControl1, 1); + lbGuid.Text = ""; + UtilityHelper.CleanValue(this.panel1.Controls, true); + } + /// <summary> + /// 淇濆瓨浜嬩欢 + /// </summary> + /// <param name="sender"></param> + /// <param name="e"></param> + private void ToolBarMenu1_btnSaveClick(object sender, EventArgs e) + { + toolBarMenu1.isSetBtn = false; + if (string.IsNullOrEmpty(txt_category.Text.Trim()) || txt_category.SelectedIndex == 0) + { + Gs.DevApp.ToolBox.MsgHelper.Warning("鑿滃崟绫诲瀷涓嶈兘涓虹┖锛�"); + txt_category.Focus(); + return; + } + if (string.IsNullOrEmpty(txt_name.Text.Trim())) + { + Gs.DevApp.ToolBox.MsgHelper.Warning("鑿滃崟鍚嶇О涓嶈兘涓虹┖锛�"); + txt_name.Focus(); + return; + } + if (string.IsNullOrEmpty(txt_isStatus.Text.Trim()) || txt_isStatus.SelectedIndex == 0) + { + Gs.DevApp.ToolBox.MsgHelper.Warning("鑿滃崟鐘舵�佷笉鑳戒负绌猴紒"); + txt_isStatus.Focus(); + return; + } + string _upGuid = txt_upGuid.EditValue.ToString(); + if (txt_category.SelectedIndex == 2 && string.IsNullOrEmpty(_upGuid)) + { + Gs.DevApp.ToolBox.MsgHelper.Warning("鎸夐挳绫诲瀷蹇呴』閫夋嫨鐖剁骇鑿滃崟锛�"); + txt_isStatus.Focus(); + return; + } + var _obj = new + { + guid = lbGuid.Text.Trim(),//涓诲缓 + upGuid = _upGuid,//涓婄骇鐨勪富寤� + name = txt_name.Text.Trim(),//鍚嶇О + icon = txt_icon.Text,//鑿滃崟鍥炬爣 + isStatus = txt_isStatus.SelectedIndex,//鐘舵�� + formPath = txt_formPath.Text.Trim(),//绐椾綋璺緞 + idx = int.Parse(txt_idx.Value.ToString()),//鎺掑簭 + category = txt_category.SelectedIndex,//绫诲瀷 + }; try { - strReturn = UtilityHelper.HttpPost("", "MenuAction/GetListPage", json); + string strJson = UtilityHelper.HttpPost("", "MenuAction/EditModel", JsonConvert.SerializeObject(_obj)); + ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson); + ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg); + if (_rtn.rtnCode > 0) + { + lbGuid.Text = _rtn.rtnData; + toolBarMenu1.isSetBtn = true; + UtilityHelper.ChangeEnable(this.panel1.Controls, false); + } + } + catch (Exception ex) + { + ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message); + } + } + + /// <summary> + /// 璇诲彇鍒楄〃 + /// </summary> + private void getTree() + { + PageQueryModel pgq = new PageQueryModel(1, 999999, "idx", "asc", "", ""); + string json = JsonConvert.SerializeObject(pgq); + try + { + string strReturn = UtilityHelper.HttpPost("", "MenuAction/GetListPage", json); ReturnModel<PageListModel> dd = UtilityHelper.GetTableByJson(strReturn); DataTable dt = dd.rtnData.list; this.tlMenu.DataSource = dt; @@ -93,10 +238,6 @@ this.tlMenu.EndUpdate(); this.tlMenu.ExpandAll(); tlMenu.OptionsView.CheckBoxStyle = DevExpress.XtraTreeList.DefaultNodeCheckBoxStyle.Default; - // 璁剧疆涓嶅叧鑱旈�夋嫨 - //tlMenu.OptionsSelection.MultiSelect = true; - //tlMenu.OptionsSelection.MaintainState = false; // 鍏抽敭璁剧疆 - //this.tlMenu.OptionsBehavior.AllowIndeterminateCheckState = true; } catch (Exception ex) { @@ -104,5 +245,74 @@ } } + private void getModel(string strGuid, bool isEdit, int tabIdx) + { + if (string.IsNullOrEmpty(strGuid)) + { + ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�"); + return; + } + UtilityHelper.ChangeTab(xtraTabControl1, tabIdx); + var _obj = new + { + guid = strGuid,//涓诲缓 + }; + try + { + string strJson = UtilityHelper.HttpPost("", "MenuAction/GetModel", JsonConvert.SerializeObject(_obj)); + ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.GetDataByJson(strJson); + if (_rtn.rtnCode > 0) + { + dynamic dy = _rtn.rtnData; + lbGuid.Text = strGuid; + UtilityHelper.SetValueByObj(this.panel1.Controls, dy, isEdit); + txt_upGuid.EditValue = dy.upGuid.ToString(); + } + else + ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg); + } + catch (Exception ex) + { + ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message); + } + } + /// <summary> + /// 璇诲彇涓婄骇鏍� + /// </summary> + private void getDownList() + { + PageQueryModel pgq = new PageQueryModel(1, 999999, "idx", "asc", "", " and category=1"); + string json = JsonConvert.SerializeObject(pgq); + try + { + string strReturn = UtilityHelper.HttpPost("", "MenuAction/GetListPage", json); + ReturnModel<PageListModel> dd = UtilityHelper.GetTableByJson(strReturn); + DataTable dt = dd.rtnData.list; + txt_upGuid.Properties.TreeList.KeyFieldName = "guid"; + txt_upGuid.Properties.TreeList.ParentFieldName = "upGuid"; + txt_upGuid.Properties.ValueMember = "guid"; + txt_upGuid.Properties.DisplayMember = "name"; + txt_upGuid.Properties.DataSource = dt; + } + catch (Exception ex) + { + ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message); + } + } + private void getActionList() + { + List<string> lst = new List<string>(); + lst = toolBarMenu1.actions; + txt_name.Properties.Items.AddRange(toolBarMenu1.actions); + Assembly assembly = Assembly.GetExecutingAssembly(); + Type[] types = assembly.GetTypes(); + foreach (Type type in types) + { + if (type.IsSubclassOf(typeof(Form))) + { + txt_formPath.Properties.Items.Add(type.FullName); + } + } + } } } \ No newline at end of file -- Gitblit v1.9.3