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