using BLL; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; namespace FineUIPro.Web.HSSE.InformationProject { public partial class ProjectFolder : PageBase { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString(); this.ProjectFolderDataBind();//加载树 this.GetButtonPower(); } } /// /// 绑定明细列表数据 /// private void BindGrid() { this.Grid1.DataSource = null; this.Grid1.DataBind(); if (!string.IsNullOrEmpty(this.tvProjectFolder.SelectedNodeID)) { string strSql = @"SELECT Item.ProjectFolderItemId,Item.ProjectFolderId,CodeRecords.Code,Item.Title,Item.FileContent,Item.CompileMan,UserName AS CompileManName,Item.CompileDate,Item.AttachUrl" + @" FROM dbo.InformationProject_ProjectFolderItem AS Item" + @" LEFT JOIN Sys_CodeRecords AS CodeRecords ON Item.ProjectFolderItemId=CodeRecords.DataId" + @" LEFT JOIN Sys_User ON CompileMan=UserId WHERE ProjectFolderId=@ProjectFolderId"; SqlParameter[] parameter = new SqlParameter[] { new SqlParameter("@ProjectFolderId",this.tvProjectFolder.SelectedNodeID) }; DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); this.Grid1.RecordCount = tb.Rows.Count; var table = this.GetPagedDataTable(this.Grid1, tb); this.Grid1.DataSource = table; this.Grid1.DataBind(); } } #region 绑定树节点 /// /// 绑定树节点 /// private void ProjectFolderDataBind() { this.tvProjectFolder.Nodes.Clear(); this.tvProjectFolder.SelectedNodeID = string.Empty; TreeNode rootNode = new TreeNode();//定义根节点 var project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId); if (project != null) { rootNode.Text = "[" + project.ProjectName + "]文件夹"; } else { rootNode.Text = "项目文件夹"; } rootNode.Expanded = true; rootNode.NodeID = "0"; this.tvProjectFolder.Nodes.Add(rootNode); var ProjectFolderList = BLL.ProjectFolderService.GetProjectFolderListByProjectId(this.CurrUser.LoginProjectId); if (ProjectFolderList.Count() > 0) { this.GetNodes(ProjectFolderList, rootNode); } } #region 遍历节点方法 /// /// 遍历节点方法 /// /// 节点集合 /// 父节点 private void GetNodes(List projectFolderList, TreeNode node) { var ProjectFolders = projectFolderList.Where(x => x.SupProjectFolderId == node.NodeID); foreach (var item in ProjectFolders) { TreeNode newNode = new TreeNode { Text = "[" + item.Code + "]" + item.Title, NodeID = item.ProjectFolderId }; if (item.IsEndLever == true) { newNode.EnableClickEvent = true; } node.Nodes.Add(newNode); if (!item.IsEndLever.HasValue || item.IsEndLever == false) { GetNodes(projectFolderList, newNode); } } } #endregion #endregion #region 点击TreeView /// /// 点击TreeView /// /// /// protected void tvProjectFolder_NodeCommand(object sender, TreeCommandEventArgs e) { this.BindGrid(); } #endregion #region gv排序翻页 #region 页索引改变事件 /// /// 页索引改变事件 /// /// /// protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) { BindGrid(); } #endregion #region 排序 /// /// 排序 /// /// /// protected void Grid1_Sort(object sender, GridSortEventArgs e) { BindGrid(); } #endregion #region 分页选择下拉改变事件 /// /// 分页选择下拉改变事件 /// /// /// protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) { this.Grid1.PageSize = Convert.ToInt32(this.ddlPageSize.SelectedValue); BindGrid(); } #endregion #endregion #region 右键增加、修改、删除项目文件夹方法 /// /// 增加 /// /// /// protected void btnMenuNew_Click(object sender, EventArgs e) { if (this.tvProjectFolder.SelectedNode != null) { var ProjectFolder = BLL.ProjectFolderService.GetProjectFolderByID(this.tvProjectFolder.SelectedNodeID); if (ProjectFolder != null && ProjectFolder.IsEndLever == true) { Alert.ShowInTop("选择的项已是末级!", MessageBoxIcon.Warning); return; } else { PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("ProjectFolderEdit.aspx?SupProjectFolderId={0}", this.tvProjectFolder.SelectedNodeID, "新增 - "))); } } else { ShowNotify("请选择树节点!", MessageBoxIcon.Warning); return; } } /// /// 右键修改事件 /// /// /// protected void btnMenuModify_Click(object sender, EventArgs e) { if (this.tvProjectFolder.SelectedNode != null && this.tvProjectFolder.SelectedNodeID != "0") { var ProjectFolder = BLL.ProjectFolderService.GetProjectFolderByID(this.tvProjectFolder.SelectedNodeID); if (ProjectFolder != null) { PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("ProjectFolderEdit.aspx?ProjectFolderId={0}", ProjectFolder.ProjectFolderId, "编辑 - "))); } } else { ShowNotify("请选择树节点!", MessageBoxIcon.Warning); return; } } /// /// 右键删除事件 /// /// /// protected void btnMenuDel_Click(object sender, EventArgs e) { if (this.tvProjectFolder.SelectedNode != null) { var ProjectFolder = BLL.ProjectFolderService.GetProjectFolderByID(this.tvProjectFolder.SelectedNodeID); if (ProjectFolder != null && BLL.ProjectFolderService.IsDeleteProjectFolder(ProjectFolder.ProjectFolderId)) { BLL.LogService.AddSys_Log(this.CurrUser, ProjectFolder.Code, ProjectFolder.ProjectFolderId, BLL.Const.ProjectFolderMenuId, BLL.Const.BtnDelete); BLL.ProjectFolderService.DeleteProjectFolderByID(ProjectFolder.ProjectFolderId); this.ProjectFolderDataBind(); Alert.ShowInTop("删除成功!"); } else { Alert.ShowInTop("存在下级菜单或已增加明细,不允许删除!", MessageBoxIcon.Warning); return; } } else { ShowNotify("请选择树节点!", MessageBoxIcon.Warning); return; } } #endregion #region 增加、修改、删除项目文件夹明细事件 /// /// 增加明细 /// /// /// protected void btnNewDetail_Click(object sender, EventArgs e) { if (tvProjectFolder.SelectedNode != null) { var ProjectFolder = BLL.ProjectFolderService.GetProjectFolderByID(this.tvProjectFolder.SelectedNodeID); if (ProjectFolder != null && ProjectFolder.IsEndLever == true) { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ProjectFolderItemEdit.aspx?ProjectFolderId={0}", tvProjectFolder.SelectedNodeID, "新增 - "))); } else { Alert.ShowInTop("请选择最后一级节点添加!", MessageBoxIcon.Warning); return; } } else { Alert.ShowInTop("请选择项目文件夹!", MessageBoxIcon.Warning); } } /// /// 编辑 /// /// /// protected void btnMenuModifyDetail_Click(object sender, EventArgs e) { EditData(); } /// /// 编辑数据方法 /// private void EditData() { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInParent("请至少选择一条记录!"); return; } if (this.btnMenuModifyDetail.Hidden) { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ProjectFolderItemView.aspx?ProjectFolderItemId={0}", Grid1.SelectedRowID, "修改 - "))); } else { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ProjectFolderItemEdit.aspx?ProjectFolderItemId={0}", Grid1.SelectedRowID, "修改 - "))); } } /// /// 双击修改 /// /// /// protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e) { EditData(); } /// /// 删除明细方法 /// /// /// protected void btnMenuDelDetail_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length > 0) { foreach (int rowIndex in Grid1.SelectedRowIndexArray) { var item = BLL.ProjectFolderItemService.GetProjectFolderItemByID(Grid1.DataKeys[rowIndex][0].ToString()); if (item != null) { BLL.LogService.AddSys_Log(this.CurrUser, item.Code, item.ProjectFolderItemId, BLL.Const.ProjectFolderMenuId, BLL.Const.BtnDelete); BLL.ProjectFolderItemService.DeleteProjectFolderItemByID(item.ProjectFolderItemId); } } this.BindGrid(); ShowNotify("删除数据成功!", MessageBoxIcon.Success); } } #endregion #region 关闭弹出窗口 /// /// 关闭弹出窗口 /// /// /// protected void Window1_Close(object sender, WindowCloseEventArgs e) { BindGrid(); } protected void Window2_Close(object sender, WindowCloseEventArgs e) { ProjectFolderDataBind(); } #endregion #region 获取按钮权限 /// /// 获取按钮权限 /// /// /// private void GetButtonPower() { var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.ProjectFolderMenuId); if (buttonList.Count() > 0) { if (buttonList.Contains(BLL.Const.BtnAdd)) { this.btnNewDetail.Hidden = false; this.btnMenuNew.Hidden = false; } if (buttonList.Contains(BLL.Const.BtnModify)) { this.btnMenuModify.Hidden = false; this.btnMenuModifyDetail.Hidden = false; } if (buttonList.Contains(BLL.Const.BtnDelete)) { this.btnMenuDel.Hidden = false; this.btnMenuDelDetail.Hidden = false; } } } #endregion } }