tijian_jichuang/Code/BasicSettings/frmMenuSet.cs
2025-02-20 11:54:48 +08:00

176 lines
5.4 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 SOH.Window;
using SOH.Kernel;
using EAS.Services;
using EAS;
using SOH.BLL;
using SOH.Data;
using SOH.Entities;
namespace SOH.BasicSettings
{
[ModuleAttribute(ModuleID = "8FA3B844-4161-4B7F-9963-C50EA2711A54", ModuleName = "菜单维护")]
public partial class frmMenuSet : baseChildForm
{
DataTable dtmenuinfos = new DataTable();
public frmMenuSet()
{
InitializeComponent();
}
private void frmMenuSet_Load(object sender, EventArgs e)
{
dgvMenuInfo.AutoGenerateColumns = false;
myinit();
}
private void myinit()
{
tv_parent.Nodes.Clear();
//throw new NotImplementedException();
var vser = ServiceContainer.GetService<BLL.IQuanXian>();
string ls = vser.getMunelist(0);
DataTable dt = Newtonsoft.Json.JsonConvert.DeserializeObject(ls, typeof(DataTable)) as DataTable;
if (dt.Rows.Count > 0)
{
dt.DefaultView.Sort = "px";
dt = dt.DefaultView.ToTable();
TreeNode tn = new TreeNode();
tn.Text = "顶级菜单";
tn.Tag = 0;
inittree(tn, dt);
tv_parent.Nodes.Add(tn);
tv_parent.ExpandAll();
}
ls = vser.getMunelist(1);
dtmenuinfos = Newtonsoft.Json.JsonConvert.DeserializeObject(ls, typeof(DataTable)) as DataTable;
dgvMenuInfo.DataSource = dtmenuinfos;
if (dtmenuinfos.Rows.Count > 0)
dtmenuinfos.DefaultView.RowFilter = "pid=-1";
}
private void inittree(TreeNode tn, DataTable dt)
{
//throw new NotImplementedException();
foreach (DataRow dr in dt.Select("pid=" + tn.Tag.ToString()))
{
TreeNode tcn = new TreeNode(dr["cdname"].ToString());
tcn.Tag = dr["id"];
tn.Nodes.Add(tcn);
inittree(tcn, dt);
}
}
private void btn_add_Click(object sender, EventArgs e)
{
frmMenuAdd fma = new frmMenuAdd();
if (fma.ShowDialog() == DialogResult.OK)
{
myinit();
}
}
private void tv_parent_AfterSelect(object sender, TreeViewEventArgs e)
{
//var a = e.Action;
if (dtmenuinfos.Rows.Count > 0)
{
dtmenuinfos.DefaultView.RowFilter = "pid="+e.Node.Tag;
}
}
private void btn_del_Click(object sender, EventArgs e)
{
var vser = ServiceContainer.GetService<BLL.IQuanXian>();
if (tv_parent.SelectedNode == null && dgvMenuInfo.SelectedRows.Count == 0)
{
MessageBox.Show("请选择要删除的菜单");
return;
}
OperationResult or=new OperationResult();
if (dgvMenuInfo.SelectedRows.Count > 0)
{
or= vser.deleteMune(int.Parse(((DataRowView)dgvMenuInfo.SelectedRows[0].DataBoundItem).Row["mid"].ToString()));
}
else if (tv_parent.SelectedNode != null)
{
or = vser.deleteMune(int.Parse(tv_parent.SelectedNode.Tag.ToString()));
}
MessageBox.Show(or.Message);
if (or.State == 1)
{
myinit();
}
}
private void btn_modify_Click(object sender, EventArgs e)
{
if (tv_parent.SelectedNode == null && dgvMenuInfo.SelectedRows.Count == 0)
{
MessageBox.Show("请选择要修改的菜单");
return;
}
OperationResult or = new OperationResult();
int mid = 0;
if (dgvMenuInfo.SelectedRows.Count > 0)
{
mid = int.Parse(((DataRowView)dgvMenuInfo.SelectedRows[0].DataBoundItem).Row["mid"].ToString());
}
else if (tv_parent.SelectedNode != null)
{
mid = int.Parse(tv_parent.SelectedNode.Tag.ToString());
if (mid == 0)
{
MessageBox.Show("顶级菜单不能修改!");
return;
}
}
frmMenuAdd fadd = new frmMenuAdd();
fadd.mid = mid;
if (fadd.ShowDialog() == DialogResult.OK)
{
myinit();
}
}
private void tsm_xg_Click(object sender, EventArgs e)
{
int mid = 0;
if (tv_parent.SelectedNode != null)
{
mid = int.Parse(tv_parent.SelectedNode.Tag.ToString());
if (mid == 0)
{
MessageBox.Show("顶级菜单不能修改!");
return;
}
}
else
{
MessageBox.Show("请选择要修改的菜单");
return;
}
frmMenuAdd fadd = new frmMenuAdd();
fadd.mid = mid;
if (fadd.ShowDialog() == DialogResult.OK)
{
myinit();
}
}
}
}