261 lines
9.3 KiB
C#
261 lines
9.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using AIMSExtension;
|
|
using System.Reflection;
|
|
using DevComponents.DotNetBar;
|
|
using AIMSBLL;
|
|
|
|
namespace AIMS.PublicUI.UI
|
|
{
|
|
public partial class frmMenu : Form
|
|
{
|
|
public AIMSExtension.EditState _state;
|
|
public List<AIMSModel.Menu> MenuObjList;
|
|
private AIMSModel.Menu MenuRowData;
|
|
public frmMenu()
|
|
{
|
|
InitializeComponent();
|
|
dgvMenu.AutoGenerateColumns = false;
|
|
//galleryContainer2初始化
|
|
this.galleryContainer2.TitleStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
|
|
this.galleryContainer2.DefaultSize = new System.Drawing.Size(258, 55);
|
|
this.galleryContainer2.MinimumSize = new System.Drawing.Size(200, 55);
|
|
this.galleryContainer2.BackgroundStyle.Class = "RibbonGalleryContainer";
|
|
this.galleryContainer2.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
|
|
}
|
|
private void frmMenu_Load(object sender, EventArgs e)
|
|
{
|
|
Initial();
|
|
ControlExtension.SetDgvAttribute(dgvMenu);
|
|
this.treeView1.BackColor = System.Drawing.Color.Snow;
|
|
ControlExtension.EnabledControl(panel4, false);
|
|
intMenuOrder.Text = "0";
|
|
|
|
//资源图片映射
|
|
Properties.Resources res = new Properties.Resources();
|
|
var info = res.GetType()
|
|
.GetProperties(BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Instance)
|
|
.Where(x => x.PropertyType.Name == "Bitmap" && x.Name.StartsWith("M_"));
|
|
foreach (var item in info)
|
|
{
|
|
Image img = null;
|
|
img = Properties.Resources.ResourceManager.GetObject(item.Name) as Image;
|
|
if (img == null)
|
|
continue;
|
|
ButtonItem bti = new ButtonItem()
|
|
{
|
|
ImagePosition = eImagePosition.Top,
|
|
Image = img,
|
|
Name = item.Name,
|
|
//Text = item.Name,
|
|
};
|
|
bti.Click += new EventHandler(bti_Click);
|
|
this.galleryContainer2.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { bti });
|
|
}
|
|
}
|
|
|
|
void bti_Click(object sender, EventArgs e)
|
|
{
|
|
foreach (ButtonItem fite in this.galleryContainer2.SubItems)
|
|
{
|
|
fite.Checked = false;
|
|
}
|
|
ButtonItem item = sender as ButtonItem;
|
|
item.Checked = true;
|
|
txtImagename.Text = item.Name;
|
|
picPath.Image = item.Image;
|
|
}
|
|
private void Initial()
|
|
{
|
|
InitTreeView();
|
|
MenuObjList = BMenu.GetModelList();
|
|
MenuObjList.Insert(0, new AIMSModel.Menu{ Id = -1,Name = "无", ParentId = 0});
|
|
|
|
this.cboParent.DataSource = MenuObjList;
|
|
this.cboParent.DisplayMember = "Name";
|
|
this.cboParent.ValueMember = "Id";
|
|
DataTable dt = BMenu.GetDateTable("");
|
|
dgvMenu.DataSource = dt;
|
|
foreach (ButtonItem fite in this.galleryContainer2.SubItems)
|
|
{
|
|
fite.Checked = false;
|
|
}
|
|
}
|
|
|
|
private void InitTreeView()
|
|
{
|
|
treeView1.Nodes.Clear();
|
|
|
|
List<AIMSModel.Menu> MenuList = new List<AIMSModel.Menu>();
|
|
AIMSModel.Menu Menu = new AIMSModel.Menu();
|
|
MenuList = BMenu.GetMenuRootList(0);
|
|
|
|
for (int i = 0; i < MenuList.Count; i++)
|
|
{
|
|
Menu = BMenu.GetMenuById(MenuList[i].Id.Value,AIMSExtension.PublicMethod.RoleId,1);
|
|
TreeNode Node = treeView1.Nodes.Add(Menu.Id.ToString(), Menu.Name);
|
|
BuildChildNode(Menu, Node);
|
|
}
|
|
}
|
|
private void BuildChildNode(AIMSModel.Menu Menu, TreeNode ParentNode)
|
|
{
|
|
for (int i = 0; i < Menu.Children.Count; i++)
|
|
{
|
|
TreeNode Node = ParentNode.Nodes.Add(Menu.Children[i].Id.ToString(), Menu.Children[i].Name);
|
|
BuildChildNode(Menu.Children[i], Node);
|
|
}
|
|
}
|
|
|
|
private void tsbAdd_Click(object sender, EventArgs e)
|
|
{
|
|
_state = EditState.ADD;
|
|
ControlExtension.EnabledControl(panel4,true);
|
|
ControlExtension.ClearControl(panel4);
|
|
foreach (ButtonItem fite in this.galleryContainer2.SubItems)
|
|
{
|
|
fite.Checked = false;
|
|
}
|
|
cboParent.Text = "无";
|
|
}
|
|
|
|
private void tsbCancel_Click(object sender, EventArgs e)
|
|
{
|
|
ControlExtension.EnabledControl(panel4, false);
|
|
ControlExtension.ClearControl(panel4);
|
|
foreach (ButtonItem fite in this.galleryContainer2.SubItems)
|
|
{
|
|
fite.Checked = false;
|
|
}
|
|
this._state = EditState.BROWSE;
|
|
}
|
|
|
|
private void tsbModify_Click(object sender, EventArgs e)
|
|
{
|
|
ControlExtension.ClearControl(panel4);
|
|
ControlExtension.EnabledControl(panel4, true);
|
|
this._state = EditState.EDIT;
|
|
|
|
if (dgvMenu.Rows.Count > 0)
|
|
{
|
|
MenuRowData = BMenu.GetModel(int.Parse(dgvMenu.CurrentRow.Cells["Id"].Value.ToString()));
|
|
|
|
txtName.Text = MenuRowData.Name;
|
|
txtPath.Text = MenuRowData.Path;
|
|
|
|
if (MenuRowData.IsValid == 1)
|
|
{
|
|
chkIsValid.Checked = true;
|
|
}
|
|
else
|
|
{
|
|
chkIsValid.Checked = false;
|
|
}
|
|
|
|
if (MenuRowData.IsAloneOpen == 1)
|
|
{
|
|
chkIsAloneOpen.Checked = true;
|
|
}
|
|
else
|
|
{
|
|
chkIsAloneOpen.Checked = false;
|
|
}
|
|
intMenuOrder.Text = MenuRowData.MenuOrder.ToString();
|
|
int num = int.Parse(dgvMenu.CurrentRow.Cells["ParentIdColumn"].Value.ToString());
|
|
|
|
if (num == 0)
|
|
{
|
|
cboParent.Text = "无";
|
|
}
|
|
else
|
|
{
|
|
this.cboParent.SelectedValue = num;
|
|
}
|
|
|
|
foreach (ButtonItem fite in this.galleryContainer2.SubItems)
|
|
{
|
|
fite.Checked = false;
|
|
if (fite.Name == dgvMenu.CurrentRow.Cells["ImgPathColumn"].Value.ToString())
|
|
{
|
|
fite.Checked = true;
|
|
txtImagename.Text = dgvMenu.CurrentRow.Cells["ImgPathColumn"].Value.ToString();
|
|
picPath.Image = fite.Image;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
private void tsbSava_Click(object sender, EventArgs e)
|
|
{
|
|
ControlExtension.EnabledControl(panel4, false);
|
|
if (this.ValidInput())
|
|
{
|
|
AIMSModel.Menu MenuObj = new AIMSModel.Menu();
|
|
if (System.Convert.ToInt32(this.cboParent.SelectedValue) > -1)
|
|
{
|
|
MenuObj.ParentId = System.Convert.ToInt32(this.cboParent.SelectedValue);
|
|
}
|
|
else
|
|
{
|
|
MenuObj.ParentId = 0;
|
|
}
|
|
MenuObj.Name = this.txtName.Text.Trim();
|
|
MenuObj.Path = this.txtPath.Text.Trim();
|
|
MenuObj.IsValid = System.Convert.ToInt32(chkIsValid.Checked ? "1" : "0");
|
|
MenuObj.IsAloneOpen = System.Convert.ToInt32(chkIsAloneOpen.Checked ? "1" : "0");
|
|
MenuObj.ImgPath = txtImagename.Text;
|
|
MenuObj.MenuOrder = System.Convert.ToInt32(intMenuOrder.Text);
|
|
|
|
MenuObj.OperatorNo = AIMSExtension.PublicMethod.OperatorNo;
|
|
MenuObj.OperatorName = AIMSExtension.PublicMethod.OperatorName;
|
|
MenuObj.OperateDate = AIMSExtension.PublicMethod.SystemDate();
|
|
if (this._state == EditState.ADD)
|
|
{
|
|
BMenu.Add(MenuObj);
|
|
|
|
ControlExtension.ClearControl(panel4);
|
|
}
|
|
|
|
if (this._state == EditState.EDIT)
|
|
{
|
|
if (dgvMenu.Rows.Count > 0)
|
|
{
|
|
MenuObj.Id = MenuRowData.Id;
|
|
BMenu.Update(MenuObj);
|
|
ControlExtension.ClearControl(panel4);
|
|
this._state = EditState.BROWSE;
|
|
}
|
|
}
|
|
Initial();
|
|
|
|
}
|
|
}
|
|
|
|
private bool ValidInput()
|
|
{
|
|
bool result = false;
|
|
|
|
if (this.txtName.Text.Trim().Length < 1)
|
|
{
|
|
MessageBox.Show("请输入名称!");
|
|
}
|
|
else
|
|
{
|
|
result = true;
|
|
}
|
|
return result;
|
|
}
|
|
|
|
private void tsbExit_Click(object sender, EventArgs e)
|
|
{
|
|
Close();
|
|
}
|
|
|
|
}
|
|
}
|