You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
369 lines
14 KiB
369 lines
14 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using DevExpress.XtraEditors;
|
|
|
|
using DevExpress.XtraBars.Ribbon;
|
|
using ICSSoft.Frame.Menu.BLL;
|
|
using ICSSoft.Base.Config.AppConfig;
|
|
using ICSSoft.Frame.User.BLL;
|
|
using ICSSoft.Base.Language.Tool;
|
|
using ICSSoft.Base.UserControl.MessageControl;
|
|
|
|
|
|
namespace ICSSoft.Frame.Main.Entrance
|
|
{
|
|
public partial class FormTableMenu : DevExpress.XtraEditors.XtraForm
|
|
{
|
|
SysMenuBLL menuBll = new SysMenuBLL();
|
|
private string ParentId = "";
|
|
private string SParentId = "";
|
|
GalleryItemGroup sysGroup = new GalleryItemGroup();
|
|
GalleryItemGroup selfGroup = new GalleryItemGroup();
|
|
GalleryItemGroup selectGroup = new GalleryItemGroup();
|
|
public FormTableMenu()
|
|
{
|
|
InitializeComponent();
|
|
sysGroup.Caption = "系统菜单";
|
|
selfGroup.Caption = "自定义菜单";
|
|
selectGroup.Caption = "功能搜索结果";
|
|
//sysGroup = Color.FromArgb(250, 250, 250);//246, 246, 246
|
|
|
|
galTable.Gallery.Groups.Add(sysGroup);
|
|
galTable.Gallery.Groups.Add(selfGroup);
|
|
galTable.Gallery.Groups.Add(selectGroup);
|
|
|
|
galTable.Gallery.ImageSize = new System.Drawing.Size(64, 64);
|
|
CreateSySMenu(ParentId);
|
|
BindItems(SParentId);
|
|
chkSelfMenu.Checked = true;
|
|
chkSysMenu.Checked = true;
|
|
chkSearch.Checked = true;
|
|
}
|
|
private void CreateSySMenu(string parentId)
|
|
{
|
|
sysGroup.Items.Clear();
|
|
DataTable data = menuBll.GetSysMenuStruct(parentId,true);
|
|
foreach (DataRow dr in data.Rows)
|
|
{
|
|
GalleryItem item = new GalleryItem();
|
|
|
|
item.Tag = dr["ID"].ToString();
|
|
item.Caption = dr["MenuCaption"].ToString();
|
|
Image img = Image.FromFile(AppConfig.ImagesPath + dr["TableImage"].ToString());
|
|
item.Image = img;
|
|
item.HoverImage = Image.FromFile(AppConfig.ImagesPath + dr["TableImage"].ToString().Replace(".png","")+"hover.png");
|
|
|
|
sysGroup.Items.Add(item);
|
|
}
|
|
GalleryItem preBtn = new GalleryItem();
|
|
preBtn.Tag = "r";
|
|
preBtn.Caption = "返回上一层";
|
|
Image pImg = Image.FromFile(AppConfig.ImagesPath + "icon\\138返回上一层.png");
|
|
preBtn.HoverImage = Image.FromFile(AppConfig.ImagesPath + "icon\\138返回上一层hover.png");
|
|
preBtn.Image = pImg;
|
|
sysGroup.Items.Add(preBtn);
|
|
if (parentId == "")
|
|
{
|
|
preBtn.Visible = false;
|
|
}
|
|
if (parentId != "")
|
|
{
|
|
var obj = menuBll.GetSingleMenuByID(parentId);
|
|
if (obj == null)
|
|
{
|
|
this.Close();
|
|
}
|
|
else
|
|
{
|
|
ParentId = obj.ParentID;
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
private void BindItems(string parentId)
|
|
{
|
|
selfGroup.Items.Clear();
|
|
DataTable itemData = menuBll.GetUserDefineForder(parentId);
|
|
foreach (DataRow dr in itemData.Rows)
|
|
{
|
|
GalleryItem addFileItem = new GalleryItem();
|
|
Image addImag = Image.FromFile(AppConfig.ImagesPath + dr["TableImage"].ToString());
|
|
addFileItem.Tag = "1" + dr["ID"].ToString();
|
|
addFileItem.Image = addImag;
|
|
addFileItem.HoverImage = Image.FromFile(AppConfig.ImagesPath + dr["TableImage"].ToString().Replace(".png", "") + "hover.png");
|
|
addFileItem.Caption = dr["DefineFileName"].ToString();
|
|
selfGroup.Items.Add(addFileItem);
|
|
}
|
|
DataTable menuItem = menuBll.GetUserDefineMenus(parentId);
|
|
foreach (DataRow dr in menuItem.Rows)
|
|
{
|
|
GalleryItem addFileItem = new GalleryItem();
|
|
Image addImag = Image.FromFile(AppConfig.ImagesPath + dr["TableImage"].ToString());
|
|
addFileItem.Tag = "2" + dr["ID"].ToString();
|
|
addFileItem.Image = addImag;
|
|
addFileItem.HoverImage = Image.FromFile(AppConfig.ImagesPath + dr["TableImage"].ToString().Replace(".png", "") + "hover.png");
|
|
addFileItem.Caption = dr["MenuCaption"].ToString();
|
|
selfGroup.Items.Add(addFileItem);
|
|
}
|
|
if (SParentId != "")
|
|
{
|
|
GalleryItem preBtn = new GalleryItem();
|
|
preBtn.Tag = "r";
|
|
preBtn.Caption = "返回上一层";
|
|
Image pImg = Image.FromFile(AppConfig.ImagesPath + "icon\\138返回上一层.png");
|
|
preBtn.HoverImage = Image.FromFile(AppConfig.ImagesPath + "icon\\138返回上一层hover.png");
|
|
preBtn.Image = pImg;
|
|
selfGroup.Items.Add(preBtn);
|
|
}
|
|
}
|
|
SysUserBLL userBll = new SysUserBLL();
|
|
private void galleryControlGallery1_ItemClick(object sender, GalleryItemClickEventArgs e)
|
|
{
|
|
try
|
|
{
|
|
if (e.Item.Tag.ToString() == "r")
|
|
{
|
|
if (e.Item.GalleryGroup == sysGroup)
|
|
{
|
|
CreateSySMenu(ParentId);
|
|
}
|
|
if (e.Item.GalleryGroup == selfGroup)
|
|
{
|
|
var forderObj = menuBll.GetSingleUserDefineForder(SParentId);
|
|
if (forderObj != null)
|
|
{
|
|
SParentId = forderObj.ParentID;
|
|
BindItems(SParentId);
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (e.Item.GalleryGroup == sysGroup)
|
|
{
|
|
var menuObj = menuBll.GetSingleMenuByID(e.Item.Tag.ToString());
|
|
if (menuObj == null)
|
|
{
|
|
CreateSySMenu(ParentId);
|
|
}
|
|
else
|
|
{
|
|
if (menuObj.StartFlag == true)
|
|
{
|
|
if (menuObj.FormFlag)
|
|
{
|
|
AppConfig.CreateFormShow(menuObj.FormAssem, menuObj.MenuCode, menuObj.MenuCaption, menuObj.FormName, true, this, menuObj.FormParameters,menuObj.MaxWindow);
|
|
userBll.InsertLogin("N", AppConfig.UserCode, "使用" + menuObj.MenuCaption + "功能");
|
|
}
|
|
else
|
|
{
|
|
CreateSySMenu(e.Item.Tag.ToString());
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
if (e.Item.GalleryGroup == selfGroup)
|
|
{
|
|
string tagString = e.Item.Tag.ToString();
|
|
string key = tagString.Substring(0, 1);
|
|
if (key == "1")
|
|
{
|
|
string forderId = tagString.Substring(1, tagString.Length - 1);
|
|
var forder = menuBll.GetSingleUserDefineForder(forderId);
|
|
if (forder != null)
|
|
{
|
|
SParentId = forderId;
|
|
BindItems(forderId);
|
|
}
|
|
else
|
|
{
|
|
BindItems(SParentId);
|
|
}
|
|
|
|
|
|
|
|
}
|
|
if (key == "2")
|
|
{
|
|
try
|
|
{
|
|
string menuId = tagString.Substring(1, tagString.Length - 1);
|
|
var menuObj = menuBll.GetSingleMenuByID(menuId);
|
|
if (menuObj != null)
|
|
{
|
|
if (menuObj.StartFlag == true)
|
|
{
|
|
if (menuObj.FormFlag)
|
|
{
|
|
AppConfig.CreateFormShow(menuObj.FormAssem, menuObj.MenuCode, menuObj.MenuCaption, menuObj.FormName, true, this, menuObj.FormParameters,menuObj.MaxWindow);
|
|
userBll.InsertLogin("N", AppConfig.UserCode, "使用" + menuObj.MenuCaption + "功能");
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
BindItems(SParentId);
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
List<LangObj> objList = new List<LangObj>();
|
|
LangObj exobj = new LangObj();
|
|
exobj.LConvertString = ex.Message;
|
|
exobj.LParameters = new object[] { };
|
|
objList.Add(exobj);
|
|
MessageDialog msg = new MessageDialog(2, objList);
|
|
msg.ShowDialog();
|
|
}
|
|
}
|
|
|
|
}
|
|
if (e.Item.GalleryGroup == selectGroup)
|
|
{
|
|
var menuObj = menuBll.GetSingleMenuByID(e.Item.Tag.ToString());
|
|
if (menuObj == null)
|
|
{
|
|
btnSelect_Click(null, null);
|
|
}
|
|
else
|
|
{
|
|
if (menuObj.StartFlag == true)
|
|
{
|
|
if (menuObj.FormFlag)
|
|
{
|
|
AppConfig.CreateFormShow(menuObj.FormAssem, menuObj.MenuCode, menuObj.MenuCaption, menuObj.FormName, true, this, menuObj.FormParameters,menuObj.MaxWindow);
|
|
userBll.InsertLogin("N", AppConfig.UserCode, "使用" + menuObj.MenuCaption + "功能");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
List<LangObj> langList = new List<LangObj>();
|
|
LangObj langObj = new LangObj();
|
|
langObj.LConvertString = ex.Message;
|
|
langObj.LParameters = new object[] { };
|
|
langList.Add(langObj);
|
|
if (langList.Count > 0)
|
|
{
|
|
MessageDialog messBox = new MessageDialog(2, langList);
|
|
messBox.ShowDialog();
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
private void chkSysMenu_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
if (chkSysMenu.Checked == true)
|
|
{
|
|
sysGroup.Visible = true;
|
|
}
|
|
else
|
|
{
|
|
sysGroup.Visible = false;
|
|
}
|
|
}
|
|
|
|
private void chkSelfMenu_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
if (chkSelfMenu.Checked == true)
|
|
{
|
|
selfGroup.Visible = true;
|
|
}
|
|
else
|
|
{
|
|
selfGroup.Visible = false;
|
|
}
|
|
}
|
|
|
|
private void btnSelect_Click(object sender, EventArgs e)
|
|
{
|
|
if (selectGroup.Visible == false)
|
|
{
|
|
chkSearch.Checked = true;
|
|
}
|
|
DevExpress.Utils.WaitDialogForm _wait = new DevExpress.Utils.WaitDialogForm("正在搜索....请稍等....");
|
|
_wait.Show();
|
|
try
|
|
{
|
|
selectGroup.Items.Clear();
|
|
DataTable data = menuBll.GetSysMenuForSearch(txtKeyWords.Text.Trim());
|
|
if (data.Rows.Count == 0)
|
|
{
|
|
_wait.Close();
|
|
List<LangObj> langList = new List<LangObj>();
|
|
|
|
LangObj langObj = new LangObj();
|
|
langObj.LConvertString = "搜索无结果";
|
|
langObj.LParameters = new object[] { };
|
|
langList.Add(langObj);
|
|
|
|
|
|
if (langList.Count > 0)
|
|
{
|
|
MessageDialog messBox = new MessageDialog(1, langList);
|
|
messBox.ShowDialog();
|
|
|
|
}
|
|
}
|
|
else
|
|
{
|
|
foreach (DataRow dr in data.Rows)
|
|
{
|
|
GalleryItem item = new GalleryItem();
|
|
item.Tag = dr["ID"].ToString();
|
|
item.Caption = dr["MenuCaption"].ToString();
|
|
Image img = Image.FromFile(AppConfig.ImagesPath + dr["TableImage"].ToString());
|
|
item.Image = img;
|
|
selectGroup.Items.Add(item);
|
|
}
|
|
_wait.Close();
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
_wait.Close();
|
|
}
|
|
}
|
|
|
|
private void chkSearch_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
if (chkSearch.Checked == true)
|
|
{
|
|
|
|
selectGroup.Visible = true;
|
|
}
|
|
else
|
|
{
|
|
selectGroup.Visible = false;
|
|
}
|
|
}
|
|
|
|
private void galleryControlGallery1_GalleryItemHover(object sender, GalleryItemEventArgs e)
|
|
{
|
|
Image img = e.Item.Image;
|
|
e.Item.Image = e.Item.HoverImage;
|
|
e.Item.HoverImage = img;
|
|
}
|
|
|
|
private void galleryControlGallery1_GalleryItemLeave(object sender, GalleryItemEventArgs e)
|
|
{
|
|
Image img = e.Item.Image;
|
|
e.Item.Image = e.Item.HoverImage;
|
|
e.Item.HoverImage = img;
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|