特种设备修改,车辆管理人员管理合并,考试接口创建试卷和答题使用redis

This commit is contained in:
2024-04-02 14:28:52 +08:00
parent 1b96387adc
commit d87b2d5be9
49 changed files with 4175 additions and 179 deletions
+11 -6
View File
@@ -30,10 +30,10 @@
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false" AutoScroll="true"
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="HTTP请求日志表" EnableCollapse="true"
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="HTTP请求日志表" EnableCollapse="true" ForceFit="true"
runat="server" BoxFlex="1" DataKeyNames="HttpLogId" AllowCellEditing="true" EnableTextSelection="true"
ClicksToEdit="2" DataIDField="HttpLogId" AllowSorting="true" SortField="HttpLogId"
SortDirection="DESC" OnSort="Grid1_Sort" EnableColumnLines="true"
SortDirection="DESC" OnSort="Grid1_Sort" EnableColumnLines="true" FixedRowHeight="true" RowHeight="72px" OnRowDoubleClick="Grid1_RowDoubleClick"
AllowPaging="true" IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange"
EnableRowDoubleClickEvent="true" >
<Toolbars>
@@ -74,7 +74,7 @@
<f:RenderField Width="450px" ColumnID="LogTxt" DataField="LogTxt" SortField="LogTxt"
FieldType="String" HeaderText="日志信息" TextAlign="Left" HeaderTextAlign="Center" >
</f:RenderField>
<f:RenderField Width="150px" ColumnID="MeThod" DataField="MeThod" SortField="MeThod"
<f:RenderField Width="150px" ColumnID="MeThod" DataField="MeThod" SortField="MeThod" ShowToolTip="True"
FieldType="String" HeaderText="方法" TextAlign="Left" HeaderTextAlign="Center" >
</f:RenderField>
@@ -104,9 +104,14 @@
Title="编辑Sys_HttpLog" EnableIFrame="true" Height="650px"
Width="1200px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
</f:Menu>
<f:Menu ID="Menu1" runat="server">
<f:MenuButton ID="btnMenuEdit" OnClick="btnEdit_Click" EnablePostBack="true"
runat="server" Text="编辑" Icon="TableEdit" >
</f:MenuButton>
<f:MenuButton ID="btnMenuDelete" OnClick="btnDelete_Click" EnablePostBack="true" Icon="Delete"
ConfirmText="删除选中行?" ConfirmTarget="Parent" runat="server" Text="删除">
</f:MenuButton>
</f:Menu>
</form>
<script type="text/javascript">
var menuID = '<%= Menu1.ClientID %>';
@@ -20,6 +20,7 @@ namespace FineUIPro.Web.SysManage
if (!IsPostBack)
{
this.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString();
txtLogTime.SelectedDate= SysHttplogService.GetSys_HttpLogMaxDate();
// 绑定表格
this.BindGrid();
}
@@ -163,5 +164,71 @@ namespace FineUIPro.Web.SysManage
{
BindGrid();
}
#region
/// <summary>
/// 新增
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnNew_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("HttpLogEdit.aspx?HttpLogId={0}", string.Empty, "增加 - ")));
}
/// <summary>
/// 编辑按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnEdit_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
string ID = Grid1.SelectedRowID;
var model = BLL.SysHttplogService.GetSys_HttpLogById(ID);
if (model != null) ///已上报时不能删除
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("HttpLogEdit.aspx?HttpLogId={0}", ID, "编辑 - ")));
}
}
/// <summary>
/// Grid行双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
this.btnEdit_Click(null, null);
}
/// <summary>
/// 批量删除
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnDelete_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length > 0)
{
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
var model = BLL.SysHttplogService.GetSys_HttpLogById(rowID);
if (model != null)
{
BLL.SysHttplogService.DeleteSys_HttpLogById(rowID);
}
}
BindGrid();
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
}
}
#endregion
}
}
+18
View File
@@ -184,5 +184,23 @@ namespace FineUIPro.Web.SysManage
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuEdit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuEdit;
/// <summary>
/// btnMenuDelete 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuDelete;
}
}
@@ -449,6 +449,9 @@
</f:Toolbar>
</Toolbars>
</f:Tab>
<f:Tab ID="TabSystemMenuSet" Title="菜单设置" BodyPadding="5px" Height="600" Layout="Fit" EnableIFrame="true" IconFont="Bookmark" IFrameUrl="./SystemMenuSet.aspx" Hidden="true" runat="server">
</f:Tab>
<f:Tab ID="TabHttpLog" Title="接口日志查询" BodyPadding="5px" Height="600" Layout="Fit" EnableIFrame="true" IconFont="Bookmark" IFrameUrl="./HttpLog.aspx" Hidden="true" runat="server">
</f:Tab>
</Tabs>
@@ -23,6 +23,12 @@ namespace FineUIPro.Web.SysManage
{
if (!IsPostBack)
{
if (this.CurrUser.UserId == Const.hfnbdId)
{
this.TabSystemMenuSet.Hidden = false;
this.TabHttpLog.Hidden = false;
this.TabOnlineMenuSet.Hidden = false;
}
//if (this.CurrUser.UserId == BLL.Const.sysglyId || this.CurrUser.UserId == BLL.Const.hfnbdId)
//{
// this.btnArrowRefresh.Hidden = false;
@@ -986,6 +986,15 @@ namespace FineUIPro.Web.SysManage
/// </remarks>
protected global::FineUIPro.Button OnlineMenuSetSave;
/// <summary>
/// TabSystemMenuSet 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tab TabSystemMenuSet;
/// <summary>
/// TabHttpLog 控件。
/// </summary>
@@ -0,0 +1,91 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SystemMenuSet.aspx.cs" Inherits="FineUIPro.Web.SysManage.SystemMenuSet" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>功能菜单设置</title>
<link href="../res/css/common.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" runat="server" AutoSizePanelID="SimpleForm1" />
<f:SimpleForm ID="SimpleForm1" runat="server" LabelWidth="160px" EnableCollapse="false"
BodyPadding="10px" ShowBorder="true" ShowHeader="true" AutoScroll="True"
Title="菜单设置">
<Items>
<f:CheckBoxList ID="ckMenuType" Label="菜单类型" runat="server" AutoColumnWidth="true" ColumnNumber="10"
LabelAlign="Right" AutoPostBack="true" OnSelectedIndexChanged="ckMenuType_OnSelectedIndexChanged">
<Listeners>
<f:Listener Event="change" Handler="onCheckBoxListChange" />
</Listeners>
</f:CheckBoxList>
</Items>
<Items>
<f:Tree ID="tvMenu" EnableCollapse="true" ShowHeader="false" Title="系统菜单" ShowBorder="false"
AutoLeafIdentification="true" runat="server" EnableIcons="true"
EnableSingleClickExpand="true" OnNodeCheck="tvMenu_NodeCheck" EnableCheckBox="true">
<Listeners>
<f:Listener Event="beforenodecontextmenu" Handler="onTreeNodeContextMenu" />
</Listeners>
</f:Tree>
</Items>
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Bottom" ToolbarAlign="Right" runat="server">
<Items>
<f:Button ID="btnTab2Save" Icon="SystemSave" runat="server" ValidateForms="SimpleForm1"
OnClick="btnTab2Save_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</f:SimpleForm>
<f:Window ID="Window1" Title="设置" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true"
Width="1000px" Height="570px">
</f:Window>
<f:Menu ID="Menu2" runat="server">
<%-- <f:MenuButton ID="btnMenuADD" OnClick="btnMenuADD_Click" EnablePostBack="true"
runat="server" Text="新增" Icon="Add" Hidden="true">
</f:MenuButton>--%>
<f:MenuButton ID="btnTreeMenuEdit" OnClick="btnTreeMenuEdit_Click" EnablePostBack="true"
runat="server" Text="编辑" Hidden="true" Icon="Pencil">
</f:MenuButton>
<f:MenuButton ID="btnTreeMenuMove" OnClick="btnTreeMenuMove_Click" EnablePostBack="true"
runat="server" Text="迁移" Hidden="true" Icon="Pencil">
</f:MenuButton>
<%--<f:MenuButton ID="btnTreeMenuDelete" OnClick="btnTreeMenuDelete_Click" EnablePostBack="true"
Icon="Delete" ConfirmText="删除选中节点?" ConfirmTarget="Parent" runat="server" Text="删除"
Hidden="true">
</f:MenuButton>--%>
</f:Menu>
</form>
<script type="text/javascript">
// 同时只能选中一项
function onCheckBoxListChange(event, checkbox, isChecked) {
var me = this;
// 当前操作是:选中
if (isChecked) {
// 仅选中这一项
me.setValue(checkbox.getInputValue());
}
// __doPostBack('', 'CheckBoxList1Change');
}
var treeID = '<%= tvMenu.ClientID %>';
var menuID2 = '<%= Menu2.ClientID %>';
// 保存当前菜单对应的树节点ID
var currentNodeId;
// 返回false,来阻止浏览器右键菜单
function onTreeNodeContextMenu(event, nodeId) {
currentNodeId = nodeId;
F(menuID2).show();
return false;
}
function reloadGrid() {
__doPostBack(null, 'reloadGrid');
}
</script>
</body>
</html>
@@ -0,0 +1,224 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BLL;
namespace FineUIPro.Web.SysManage
{
public partial class SystemMenuSet : PageBase
{
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GetButtonPower();
this.ckMenuType.DataTextField = "Text";
this.ckMenuType.DataValueField = "Value";
this.ckMenuType.DataSource = BLL.DropListService.Sys_Menu_Type();
this.ckMenuType.DataBind();
/// 加载菜单树
this.InitMenuTree(String.Join(", ", this.ckMenuType.SelectedValueArray));
}
}
#region Tab2
/// <summary>
/// 菜单类型选择
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ckMenuType_OnSelectedIndexChanged(object sender, EventArgs e)
{
this.InitMenuTree(String.Join(", ", this.ckMenuType.SelectedValueArray));
}
#region
/// <summary>
/// 初始化树
/// </summary>
/// <param name="menuList">菜单集合</param>
private void InitMenuTree(string menuType)
{
this.tvMenu.Nodes.Clear();
var menus = BLL.SysMenuService.GetMenuListByMenuType(menuType);
if (menus.Count() > 0)
{
TreeNode rootNode = new TreeNode
{
Text = "菜单",
NodeID = "0",
EnableCheckBox = true,
EnableCheckEvent = true,
Expanded = true
};
this.tvMenu.Nodes.Add(rootNode);
this.BoundTree(rootNode.Nodes, menus, rootNode.NodeID);
}
}
/// <summary>
/// 遍历增加子节点
/// </summary>
/// <param name="nodes"></param>
/// <param name="menuId"></param>
private void BoundTree(TreeNodeCollection nodes, List<Model.Sys_Menu> sysMenus, string superMenuId)
{
var menus = sysMenus.Where(x => x.SuperMenu == superMenuId).OrderBy(x => x.SortIndex);
if (menus.Count() > 0)
{
foreach (var item in menus)
{
TreeNode chidNode = new TreeNode
{
Text = item.MenuName,
NodeID = item.MenuId,
EnableCheckBox = true,
EnableCheckEvent = true
};
if (item.IsUsed == true)
{
chidNode.Checked = true;
chidNode.Expanded = true;
chidNode.Selectable = true;
}
nodes.Add(chidNode);
if (!item.IsEnd.HasValue || item.IsEnd == false)
{
this.BoundTree(chidNode.Nodes, sysMenus, item.MenuId);
}
}
}
}
#endregion
#region
/// <summary>
/// 全选、全不选
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void tvMenu_NodeCheck(object sender, FineUIPro.TreeCheckEventArgs e)
{
if (e.Checked)
{
this.tvMenu.CheckAllNodes(e.Node.Nodes);
SetCheckParentNode(e.Node);
}
else
{
this.tvMenu.UncheckAllNodes(e.Node.Nodes);
}
}
/// <summary>
/// 选中父节点
/// </summary>
/// <param name="node"></param>
private void SetCheckParentNode(TreeNode node)
{
if (node.ParentNode != null && node.ParentNode.NodeID != "0")
{
node.ParentNode.Checked = true;
if (node.ParentNode.ParentNode.NodeID != "0")
{
SetCheckParentNode(node.ParentNode);
}
}
}
#endregion
#region Tab2保存按钮
/// <summary>
/// Tab2保存按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnTab2Save_Click(object sender, EventArgs e)
{
string menuTyp = String.Join(", ", this.ckMenuType.SelectedValueArray);
if (!string.IsNullOrEmpty(menuTyp))
{
BLL.SysMenuService.SetAllIsUsed(menuTyp);
TreeNode[] nodes = this.tvMenu.GetCheckedNodes();
if (nodes.Length > 0)
{
foreach (TreeNode tn in nodes)
{
if (tn.NodeID != "0")
{
if (BLL.RolePowerService.IsExistMenu(tn.NodeID))
{
var menu = Funs.DB.Sys_Menu.FirstOrDefault(x => x.MenuId == tn.NodeID);
if (menu != null)
{
menu.IsUsed=true;
BLL.SysMenuService.UpdateSys_Menu(menu);
}
}
}
}
}
ShowNotify("保存成功!", MessageBoxIcon.Success);
}
}
#endregion
#endregion
#region
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower()
{
if (this.CurrUser.Account=="hfnbd")
{
this.btnTreeMenuEdit.Hidden = false;
this.btnTreeMenuMove.Hidden = false;
this.btnTab2Save.Hidden = false;
}
//if (this.CurrUser.UserId == BLL.Const.sysglyId)
//{
// this.btnRefresh.Hidden = false;
// this.btnRefresh1.Hidden = false;
//}
}
#endregion
protected void btnTreeMenuEdit_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("SystemMenuSetEdit.aspx?MenuId={0}", this.tvMenu.SelectedNodeID, "编辑 - ")));
}
protected void btnTreeMenuMove_Click(object sender, EventArgs e)
{
if (this.tvMenu.SelectedNodeID=="0")
{
Alert.ShowInParent("暂不支持根节点迁移!", MessageBoxIcon.Warning);
return;
}
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("SystemMenuSetMove.aspx?MenuId={0}", this.tvMenu.SelectedNodeID, "编辑 - ")));
}
}
}
@@ -0,0 +1,116 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.SysManage
{
public partial class SystemMenuSet
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.SimpleForm SimpleForm1;
/// <summary>
/// ckMenuType 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.CheckBoxList ckMenuType;
/// <summary>
/// tvMenu 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tree tvMenu;
/// <summary>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// btnTab2Save 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnTab2Save;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// Menu2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu2;
/// <summary>
/// btnTreeMenuEdit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnTreeMenuEdit;
/// <summary>
/// btnTreeMenuMove 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnTreeMenuMove;
}
}
@@ -0,0 +1,61 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SystemMenuSetEdit.aspx.cs" Inherits="FineUIPro.Web.SysManage.SystemMenuSetEdit" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>编辑单位设置</title>
<link href="../res/css/common.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="SimpleForm1" runat="server" />
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true" LabelWidth="140px"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Rows>
<f:FormRow>
<Items>
<f:TextBox ID="txtMenuName" runat="server" Label="菜单名称" Required="true"
MaxLength="200" ShowRedStar="true">
</f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtUrl" runat="server" Label="菜单地址"
MaxLength="200" ShowRedStar="true">
</f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:NumberBox Label="排序" ID="txtSortIndex" runat="server"
NoDecimal="true" NoNegative="true" Required="true"
ShowRedStar="true" />
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:RadioButtonList runat="server" ID="rbIsUsed" Label="是否使用">
<f:RadioItem Value="1" Text="是" Selected="true" />
<f:RadioItem Value="0" Text="否" />
</f:RadioButtonList>
</Items>
</f:FormRow>
</Rows>
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
<Items>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" ValidateForms="SimpleForm1" Hidden="false"
OnClick="btnSave_Click">
</f:Button>
<f:Button ID="btnClose" EnablePostBack="false" ToolTip="关闭" runat="server" Icon="SystemClose">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</f:Form>
</form>
</body>
</html>
@@ -0,0 +1,97 @@
using System;
using System.Linq;
using BLL;
namespace FineUIPro.Web.SysManage
{
public partial class SystemMenuSetEdit : PageBase
{
#region
/// <summary>
/// 单位主键
/// </summary>
public string MenuId
{
get
{
return (string)ViewState["MenuId"];
}
set
{
ViewState["MenuId"] = value;
}
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.MenuId=Request.Params["MenuId"];
if (!string.IsNullOrEmpty(MenuId))
{
var menu=BLL.SysMenuService.GetSys_MenuById(MenuId);
if (menu != null)
{
this.txtMenuName.Text = menu.MenuName;
this.txtUrl.Text = menu.Url;
this.txtSortIndex.Text = menu.SortIndex.ToString();
this.rbIsUsed.SelectedValue=menu.IsUsed.ToString()=="True"?"1":"0";
}
}
}
}
/// <summary>
/// 保存按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
var menu = BLL.SysMenuService.GetSys_MenuById(MenuId);
if (menu != null)
{
menu.MenuName=this.txtMenuName.Text;
menu.Url= this.txtUrl.Text ;
menu.SortIndex = Funs.GetNewInt(this.txtSortIndex.Text);
if (this.rbIsUsed.SelectedValue=="1")
{
menu.IsUsed =true ;
}
else
{
menu.IsUsed = false;
}
SysMenuService.UpdateSys_Menu(menu);
}
PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
}
#region
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower()
{
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.UnitMenuId);
if (buttonList.Count() > 0)
{
if (buttonList.Contains(BLL.Const.BtnSave))
{
this.btnSave.Hidden = false;
}
}
}
#endregion
}
}
@@ -0,0 +1,107 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.SysManage
{
public partial class SystemMenuSetEdit
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form SimpleForm1;
/// <summary>
/// txtMenuName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtMenuName;
/// <summary>
/// txtUrl 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtUrl;
/// <summary>
/// txtSortIndex 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox txtSortIndex;
/// <summary>
/// rbIsUsed 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButtonList rbIsUsed;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// btnClose 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnClose;
}
}
@@ -0,0 +1,60 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SystemMenuSetMove.aspx.cs" Inherits="FineUIPro.Web.SysManage.SystemMenuSetMove" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>编辑单位设置</title>
<link href="../res/css/common.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="SimpleForm1" runat="server" />
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true" LabelWidth="140px"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Rows>
<f:FormRow>
<Items>
<f:CheckBoxList ID="ckMenuType" Label="菜单类型" runat="server" AutoColumnWidth="true" ColumnNumber="8"
LabelAlign="Right" AutoPostBack="true" OnSelectedIndexChanged="ckMenuType_OnSelectedIndexChanged">
<Listeners>
<f:Listener Event="change" Handler="onCheckBoxListChange" />
</Listeners>
</f:CheckBoxList>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Tree ID="tvMenu" EnableCollapse="true" ShowHeader="false" Title="系统菜单" Height="500px" ShowBorder="false"
AutoLeafIdentification="true" runat="server" EnableIcons="true" AutoScroll="true"
EnableSingleClickExpand="true" EnableCheckBox="false">
</f:Tree>
</Items>
</f:FormRow>
</Rows>
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
<Items>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" ValidateForms="SimpleForm1" Hidden="false"
OnClick="btnSave_Click">
</f:Button>
<f:Button ID="btnClose" EnablePostBack="false" ToolTip="关闭" runat="server" Icon="SystemClose">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</f:Form>
</form>
<script type="text/javascript">
function onCheckBoxListChange(event, checkbox, isChecked) {
var me = this;
// 当前操作是:选中
if (isChecked) {
// 仅选中这一项
me.setValue(checkbox.getInputValue());
}
// __doPostBack('', 'CheckBoxList1Change');
}
</script>
</body>
</html>
@@ -0,0 +1,175 @@
using System;
using System.Linq;
using BLL;
using System.Collections.Generic;
namespace FineUIPro.Web.SysManage
{
public partial class SystemMenuSetMove : PageBase
{
#region
/// <summary>
/// 单位主键
/// </summary>
public string MenuId
{
get
{
return (string)ViewState["MenuId"];
}
set
{
ViewState["MenuId"] = value;
}
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.MenuId=Request.Params["MenuId"];
this.ckMenuType.DataTextField = "Text";
this.ckMenuType.DataValueField = "Value";
this.ckMenuType.DataSource = BLL.DropListService.Sys_Menu_Type();
this.ckMenuType.DataBind();
this.InitMenuTree(String.Join(", ", this.ckMenuType.SelectedValueArray));
if (!string.IsNullOrEmpty(MenuId))
{
var menu=BLL.SysMenuService.GetSys_MenuById(MenuId);
if (menu != null)
{
//this.txtMenuName.Text = menu.MenuName;
//this.txtUrl.Text = menu.Url;
//this.txtSortIndex.Text = menu.SortIndex.ToString();
//this.rbIsUsed.SelectedValue=menu.IsUsed.ToString()=="True"?"1":"0";
}
}
}
}
#region
/// <summary>
/// 初始化树
/// </summary>
/// <param name="menuList">菜单集合</param>
private void InitMenuTree(string menuType)
{
this.tvMenu.Nodes.Clear();
var menus = BLL.SysMenuService.GetMenuListByMenuType(menuType);
if (menus.Count() > 0)
{
TreeNode rootNode = new TreeNode
{
Text = "菜单",
NodeID = "0",
EnableCheckBox = true,
EnableCheckEvent = true,
Expanded = true
};
this.tvMenu.Nodes.Add(rootNode);
this.BoundTree(rootNode.Nodes, menus, rootNode.NodeID);
}
}
/// <summary>
/// 遍历增加子节点
/// </summary>
/// <param name="nodes"></param>
/// <param name="menuId"></param>
private void BoundTree(TreeNodeCollection nodes, List<Model.Sys_Menu> sysMenus, string superMenuId)
{
var menus = sysMenus.Where(x => x.SuperMenu == superMenuId &&x.IsEnd==false).OrderBy(x => x.SortIndex);
if (menus.Count() > 0)
{
foreach (var item in menus)
{
TreeNode chidNode = new TreeNode
{
Text = item.MenuName,
NodeID = item.MenuId,
EnableCheckBox = true,
EnableCheckEvent = true
};
if (item.IsUsed == true)
{
chidNode.Checked = true;
chidNode.Expanded = true;
chidNode.Selectable = true;
}
nodes.Add(chidNode);
if (!item.IsEnd.HasValue || item.IsEnd == false)
{
this.BoundTree(chidNode.Nodes, sysMenus, item.MenuId);
}
}
}
}
#endregion
protected void ckMenuType_OnSelectedIndexChanged(object sender, EventArgs e)
{
this.InitMenuTree(String.Join(", ", this.ckMenuType.SelectedValueArray));
}
/// <summary>
/// 保存按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
string MenuType = String.Join(", ", this.ckMenuType.SelectedValueArray);
string newSuperMenuId = this.tvMenu.SelectedNodeID;
if (MenuType=="")
{
Alert.ShowInParent("请选择菜单类型!", MessageBoxIcon.Warning);
return;
}
if (newSuperMenuId == "")
{
Alert.ShowInParent("请选择要迁移到的菜单!", MessageBoxIcon.Warning);
return;
}
var menu = BLL.SysMenuService.GetSys_MenuById(MenuId);
if (menu != null)
{
menu.SuperMenu = newSuperMenuId;
menu.MenuType = MenuType;
SysMenuService.UpdateSys_Menu(menu);
}
var Menu_Child = SysMenuService.GetSupMenuListBySuperMenu(MenuId);
foreach (var item in Menu_Child)
{
item.MenuType = MenuType;
SysMenuService.UpdateSys_Menu(item);
}
PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
}
#region
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower()
{
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.UnitMenuId);
if (buttonList.Count() > 0)
{
if (buttonList.Contains(BLL.Const.BtnSave))
{
this.btnSave.Hidden = false;
}
}
}
#endregion
}
}
@@ -0,0 +1,89 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.SysManage
{
public partial class SystemMenuSetMove
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form SimpleForm1;
/// <summary>
/// ckMenuType 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.CheckBoxList ckMenuType;
/// <summary>
/// tvMenu 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tree tvMenu;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// btnClose 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnClose;
}
}