锐腾搅拌上料功能
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

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;
}
}
}