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

302 lines
11 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.XtraNavBar;
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;
using ICSSoft.Frame.Menu.Entity;
using ICSSoft.Frame.Menu.MenuManage;
using System.IO;
namespace ICSSoft.Frame.Main.Entrance
{
public partial class FormMain : DevExpress.XtraEditors.XtraForm
{
FormTableMenu fMenu = null;
SysMenuBLL menuBll = new SysMenuBLL();
Dictionary<string, TreeView> treeDic = new Dictionary<string, TreeView>();
public FormMain()
{
InitializeComponent();
this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
this.WindowState = FormWindowState.Maximized;
lblUserName.Text = AppConfig.UserName;
lblWorkPointName.Text = AppConfig.WorkPointName;
lblRole.Text=(AppConfig.UserCode.ToLower()=="demo"?"程序开发者":(AppConfig.AdminFlag==true?"系统管理员":"普通用户"));
lblCompanyName.Text = AppConfig.CompanyName;
BindNav();
}
private void BindNav()
{
DataTable navData = menuBll.GetSysMenuStruct("", true);
foreach (DataRow dr in navData.Rows)
{
NavBarGroup group = new NavBarGroup(dr["MenuCaption"].ToString());
group.Tag = dr["ID"];
string fileName = Path.GetFileNameWithoutExtension(AppConfig.ResourcePath + dr["TableImage"].ToString());
string forder = dr["TableImage"].ToString().Replace(Path.GetFileName(AppConfig.ResourcePath + dr["TableImage"].ToString()), "");
fileName = forder+ fileName + "32" + Path.GetExtension(AppConfig.ResourcePath + dr["TableImage"].ToString());
group.SmallImage = Image.FromFile(AppConfig.ResourcePath +fileName);
navMain.Groups.Add(group);
}
FillNavGroup();
}
private void FillNavGroup()
{
foreach (NavBarGroup g in navMain.Groups)
{
NavBarGroupControlContainer gc = new NavBarGroupControlContainer();
TreeView treeMain = null;
// bool isNew = false;
if (treeDic.ContainsKey(g.Tag.ToString()))
{
gc.Controls.Remove(treeDic[g.Tag.ToString()]);
gc.Controls.Add(treeDic[g.Tag.ToString()]);
g.ControlContainer = gc;
}
else
{
treeMain = new TreeView();
treeMain.Name = g.Tag.ToString();
treeMain.StateImageList = AppConfig.SysImageList;
treeMain.Dock = DockStyle.Fill;
treeMain.AfterExpand += new TreeViewEventHandler(treeMenu_AfterExpand);
treeMain.AfterCollapse += new TreeViewEventHandler(treeMenu_AfterCollapse);
treeMain.NodeMouseDoubleClick += new TreeNodeMouseClickEventHandler(treeMain_NodeMouseDoubleClick);
treeDic.Add(g.Tag.ToString(), treeMain);
DataTable data = menuBll.GetSysMenuStruct(g.Tag.ToString(), true);
foreach (DataRow obj in data.Rows)
{
TreeNode tn = new TreeNode(obj["MenuCaption"].ToString());
tn.Tag = obj["ID"].ToString();
tn.StateImageIndex = AppConfig.SysImageList.Images.IndexOfKey(obj["NExImage"].ToString());
treeMain.Nodes.Add(tn);
BindSonNode(tn);
}
gc.Controls.Add(treeMain);
g.ControlContainer = gc;
}
}
}
private void BindSonNode(TreeNode mainTn)
{
DataTable data = menuBll.GetSysMenuStruct(mainTn.Tag.ToString(), true);
foreach (DataRow obj in data.Rows)
{
TreeNode tn = new TreeNode(obj["MenuCaption"].ToString());
tn.Tag = obj["ID"];
tn.StateImageIndex = AppConfig.SysImageList.Images.IndexOfKey(obj["NExImage"].ToString());
mainTn.Nodes.Add(tn);
BindSonNode(tn);
}
}
SysUserBLL userBll = new SysUserBLL();
private void treeMain_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
{
var obj = menuBll.GetSingleMenuByID(e.Node.Tag.ToString());
if (obj == null)
return;
if (obj.FormFlag)
{
if (obj.StartFlag == false)
return;
try
{
AppConfig.CreateFormShow(obj.FormAssem, obj.MenuCode, obj.MenuCaption, obj.FormName, obj.DialogFlag, this, obj.FormParameters,obj.MaxWindow);
userBll.InsertLogin("N", AppConfig.UserCode, "使用"+obj.MenuCaption+"功能");
}
catch (Exception ex)
{
userBll.InsertLogin("N", AppConfig.UserCode, "使用" + obj.MenuCaption + "功能发生异常:"+ex.Message);
List<LangObj> objList = new List<LangObj>();
LangObj mobj = new LangObj();
mobj.LConvertString = ex.Message;
mobj.LParameters = new object[] { };
objList.Add(mobj);
MessageDialog msg = new MessageDialog(2, objList);
msg.ShowDialog();
}
}
}
private void treeMenu_AfterCollapse(object sender, TreeViewEventArgs e)
{
string menuId = e.Node.Tag.ToString();
Sys_Menu menuObj = menuBll.GetSingleMenuByID(menuId);
if (menuObj != null)
{
e.Node.StateImageIndex = AppConfig.SysImageList.Images.IndexOfKey(menuObj.NExImage);
// e.Node.SelectedImageIndex = AppConfig.SysImageList.Images.IndexOfKey(menuObj.NExImage);
}
}
private void treeMenu_AfterExpand(object sender, TreeViewEventArgs e)
{
string menuId = e.Node.Tag.ToString();
Sys_Menu menuObj = menuBll.GetSingleMenuByID(menuId);
if (menuObj != null)
{
e.Node.StateImageIndex = AppConfig.SysImageList.Images.IndexOfKey(menuObj.ExImage);
//e.Node.SelectedImageIndex = AppConfig.SysImageList.Images.IndexOfKey(menuObj.ExImage);
}
}
private void FormMain_Load(object sender, EventArgs e)
{
LanguageConvert.ChangeLanguage(this, "1");
navMain.Visible = false;
fMenu= new FormTableMenu();
fMenu.MdiParent = this;
fMenu.Show();
}
private void btnExit_Click(object sender, EventArgs e)
{
this.Close();
}
private void FormMain_FormClosing(object sender, FormClosingEventArgs e)
{
if (reStart == 0)
{
List<LangObj> langList = new List<LangObj>();
LangObj obj = new LangObj();
obj.LConvertString = "确定退出管理系统吗?";
obj.LParameters = new object[] { };
langList.Add(obj);
RequestionDialog formRequestion = new RequestionDialog(langList);
if (formRequestion.ShowDialog() == DialogResult.OK)
{
e.Cancel = false;
XtraForm formMain = (XtraForm)this.Tag;
formMain.Close();
}
else
{
reStart = 0;
e.Cancel = true;
}
}
}
private void btnModifyPwd_Click(object sender, EventArgs e)
{
List<LangObj> langList = new List<LangObj>();
FormEditPwd feditPwd = new FormEditPwd(AppConfig.WorkPointCode, AppConfig.UserCode,AppConfig.FromMd5( AppConfig.UserPwd));
if (feditPwd.ShowDialog() == DialogResult.OK)
{
LangObj langObj = new LangObj();
langObj.LConvertString = "修改成功";
langObj.LParameters = new object[] { };
langList.Add(langObj);
if (langList.Count > 0)
{
MessageDialog messBox = new MessageDialog(0, langList);
messBox.ShowDialog();
}
}
}
private void btnMyMenu_Click(object sender, EventArgs e)
{
FormUserDefineMenu formUserDefine = new FormUserDefineMenu();
formUserDefine.ShowDialog();
}
private void btnSysMenu_Click(object sender, EventArgs e)
{
if (navMain.Visible == true)
{
navMain.Visible = false;
foreach (Form cform in this.MdiChildren)
{
cform.Close();
}
fMenu = new FormTableMenu();
fMenu.MdiParent = this;
fMenu.Show();
}
else
{
if (fMenu != null)
{
fMenu.Close();
}
navMain.Visible = true;
}
}
private void btnInfoCenter_Click(object sender, EventArgs e)
{
try
{
Sys_Menu obj = menuBll.GetSingleMenuByCode("01.07.03");
AppConfig.CreateFormShow(obj.FormAssem, obj.MenuCode, obj.MenuCaption, obj.FormName, obj.DialogFlag, this, obj.FormParameters, obj.MaxWindow);
}
catch (Exception ex)
{
List<LangObj> objList = new List<LangObj>();
LangObj mobj = new LangObj();
mobj.LConvertString = ex.Message;
mobj.LParameters = new object[] { };
objList.Add(mobj);
MessageDialog msg = new MessageDialog(2, objList);
msg.ShowDialog();
}
}
int reStart = 0;
private void btnLogOut_Click(object sender, EventArgs e)
{
List<LangObj> langList = new List<LangObj>();
LangObj obj = new LangObj();
obj.LConvertString = "确定重新注册系统吗?";
obj.LParameters = new object[] { };
langList.Add(obj);
RequestionDialog formRequestion = new RequestionDialog(langList);
if (formRequestion.ShowDialog() == DialogResult.OK)
{
reStart = 1;
Program.Run.Close();
Application.Restart();
}
reStart = 0;
}
private void btnMinWindow_Click(object sender, EventArgs e)
{
this.WindowState = FormWindowState.Minimized;
}
}
}