410 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			410 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			C#
		
	
	
	
using BLL;
 | 
						||
using System;
 | 
						||
using System.Collections.Generic;
 | 
						||
using System.Data;
 | 
						||
using System.Data.SqlClient;
 | 
						||
using System.Linq;
 | 
						||
 | 
						||
namespace FineUIPro.Web.ZHGL.InformationProject
 | 
						||
{
 | 
						||
    public partial class FileCabinetA : PageBase
 | 
						||
    {
 | 
						||
        protected void Page_Load(object sender, EventArgs e)
 | 
						||
        {
 | 
						||
            if (!IsPostBack)
 | 
						||
            {
 | 
						||
                this.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString();
 | 
						||
                BLL.ProjectService.InitAllProjectDropDownList(this.drpProject, false);
 | 
						||
                if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
 | 
						||
                {
 | 
						||
                    this.drpProject.SelectedValue = this.CurrUser.LoginProjectId;
 | 
						||
                    this.drpProject.Enabled = false;
 | 
						||
                }
 | 
						||
 | 
						||
                this.FileCabinetADataBind();//加载树
 | 
						||
                this.GetButtonPower();
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 项目下拉框
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void drpProject_OnSelectedIndexChanged(object sender, EventArgs e)
 | 
						||
        {
 | 
						||
            this.FileCabinetADataBind();//加载树
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 绑定明细列表数据
 | 
						||
        /// </summary>
 | 
						||
        private void BindGrid()
 | 
						||
        {
 | 
						||
            this.Grid1.DataSource = null;
 | 
						||
            this.Grid1.DataBind();
 | 
						||
            if (!string.IsNullOrEmpty(this.tvFileCabinetA.SelectedNodeID))
 | 
						||
            {
 | 
						||
                string strSql = @"SELECT Item.FileCabinetAItemId,Item.FileCabinetAId,(CASE WHEN Item.IsMenu =1 THEN CodeRecords.Code ELSE Item.Code END)  AS Code,Item.Title,Item.CompileMan,UserName AS CompileManName,Item.CompileDate,Item.Remark,Item.AttachUrl"
 | 
						||
                              + @" FROM dbo.InformationProject_FileCabinetAItem AS Item"
 | 
						||
                              + @" LEFT JOIN Sys_CodeRecords AS CodeRecords ON Item.FileCabinetAItemId= CodeRecords.DataId "
 | 
						||
                              + @" LEFT JOIN Sys_User ON CompileMan=UserId WHERE FileCabinetAId=@FileCabinetAId";
 | 
						||
                SqlParameter[] parameter = new SqlParameter[]
 | 
						||
                    {
 | 
						||
                        new SqlParameter("@FileCabinetAId",this.tvFileCabinetA.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 绑定树节点
 | 
						||
        /// <summary>
 | 
						||
        /// 绑定树节点
 | 
						||
        /// </summary>
 | 
						||
        private void FileCabinetADataBind()
 | 
						||
        {
 | 
						||
            this.tvFileCabinetA.Nodes.Clear();
 | 
						||
            this.tvFileCabinetA.SelectedNodeID = string.Empty;
 | 
						||
            TreeNode rootNode = new TreeNode();//定义根节点
 | 
						||
            var project = BLL.ProjectService.GetProjectByProjectId(this.drpProject.SelectedValue);
 | 
						||
            if (project != null)
 | 
						||
            {
 | 
						||
                rootNode.Text = "[" + project.ProjectName + "]";
 | 
						||
            }
 | 
						||
            else
 | 
						||
            {
 | 
						||
                rootNode.Text = "文件柜A(集团文件柜类)";
 | 
						||
            }
 | 
						||
            rootNode.Expanded = true;
 | 
						||
            rootNode.NodeID = "0";
 | 
						||
            this.tvFileCabinetA.Nodes.Add(rootNode);
 | 
						||
            var fileCabinetAList = BLL.FileCabinetAService.GetFileCabinetAListByProjectId(this.drpProject.SelectedValue);
 | 
						||
            if (fileCabinetAList.Count() > 0)
 | 
						||
            {
 | 
						||
                this.GetNodes(fileCabinetAList, rootNode);
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        #region  遍历节点方法
 | 
						||
        /// <summary>
 | 
						||
        /// 遍历节点方法
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="nodes">节点集合</param>
 | 
						||
        /// <param name="parentId">父节点</param>
 | 
						||
        private void GetNodes(List<Model.InformationProject_FileCabinetA> fileCabinetAList, TreeNode node)
 | 
						||
        {
 | 
						||
            var FileCabinetAs = fileCabinetAList.Where(x => x.SupFileCabinetAId == node.NodeID);
 | 
						||
            foreach (var item in FileCabinetAs)
 | 
						||
            {
 | 
						||
                TreeNode newNode = new TreeNode
 | 
						||
                {
 | 
						||
                    Text = "[" + item.Code + "]" + item.Title,
 | 
						||
                    NodeID = item.FileCabinetAId
 | 
						||
                };
 | 
						||
                if (item.IsEndLever == true)
 | 
						||
                {
 | 
						||
                    newNode.EnableClickEvent = true;
 | 
						||
                }
 | 
						||
                node.Nodes.Add(newNode);
 | 
						||
 | 
						||
                if (!item.IsEndLever.HasValue || item.IsEndLever == false)
 | 
						||
                {
 | 
						||
                    GetNodes(fileCabinetAList, newNode);
 | 
						||
                }
 | 
						||
            }
 | 
						||
        }
 | 
						||
        #endregion
 | 
						||
        #endregion
 | 
						||
 | 
						||
        #region 点击TreeView
 | 
						||
        /// <summary>
 | 
						||
        /// 点击TreeView
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void tvFileCabinetA_NodeCommand(object sender, TreeCommandEventArgs e)
 | 
						||
        {
 | 
						||
            this.BindGrid();
 | 
						||
        }
 | 
						||
        #endregion
 | 
						||
 | 
						||
        #region gv排序翻页
 | 
						||
        #region 页索引改变事件
 | 
						||
        /// <summary>
 | 
						||
        /// 页索引改变事件
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
 | 
						||
        {
 | 
						||
            BindGrid();
 | 
						||
        }
 | 
						||
        #endregion
 | 
						||
 | 
						||
        #region 排序
 | 
						||
        /// <summary>
 | 
						||
        /// 排序
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void Grid1_Sort(object sender, GridSortEventArgs e)
 | 
						||
        {
 | 
						||
            BindGrid();
 | 
						||
        }
 | 
						||
        #endregion
 | 
						||
 | 
						||
        #region 分页选择下拉改变事件
 | 
						||
        /// <summary>
 | 
						||
        /// 分页选择下拉改变事件
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
 | 
						||
        {
 | 
						||
            this.Grid1.PageSize = Convert.ToInt32(this.ddlPageSize.SelectedValue);
 | 
						||
            BindGrid();
 | 
						||
        }
 | 
						||
        #endregion
 | 
						||
        #endregion
 | 
						||
 | 
						||
        #region 右键增加、修改、删除文件柜A(集团文件柜类)方法
 | 
						||
        /// <summary>
 | 
						||
        /// 增加
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void btnMenuNew_Click(object sender, EventArgs e)
 | 
						||
        {
 | 
						||
            if (this.tvFileCabinetA.SelectedNode != null)
 | 
						||
            {
 | 
						||
                var fileCabinetA = BLL.FileCabinetAService.GetFileCabinetAByID(this.tvFileCabinetA.SelectedNodeID);
 | 
						||
                if (fileCabinetA != null && fileCabinetA.IsEndLever == true)
 | 
						||
                {
 | 
						||
                    Alert.ShowInTop("选择的项已是末级!", MessageBoxIcon.Warning);
 | 
						||
                    return;
 | 
						||
                }
 | 
						||
                else
 | 
						||
                {
 | 
						||
                    PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("FileCabinetAEdit.aspx?SupFileCabinetAId={0}&ProjectId={1}", this.tvFileCabinetA.SelectedNodeID, this.drpProject.SelectedValue, "新增 - ")));
 | 
						||
                }
 | 
						||
            }
 | 
						||
            else
 | 
						||
            {
 | 
						||
                ShowNotify("请选择树节点!", MessageBoxIcon.Warning);
 | 
						||
                return;
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 右键修改事件
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void btnMenuModify_Click(object sender, EventArgs e)
 | 
						||
        {
 | 
						||
            if (this.tvFileCabinetA.SelectedNode != null && this.tvFileCabinetA.SelectedNodeID != "0")
 | 
						||
            {
 | 
						||
                var fileCabinetA = BLL.FileCabinetAService.GetFileCabinetAByID(this.tvFileCabinetA.SelectedNodeID);
 | 
						||
                if (fileCabinetA != null)
 | 
						||
                {
 | 
						||
                    PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("FileCabinetAEdit.aspx?FileCabinetAId={0}&ProjectId={1}", fileCabinetA.FileCabinetAId, this.drpProject.SelectedValue, "编辑 - ")));
 | 
						||
                }
 | 
						||
            }
 | 
						||
            else
 | 
						||
            {
 | 
						||
                ShowNotify("请选择树节点!", MessageBoxIcon.Warning);
 | 
						||
                return;
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 右键删除事件
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void btnMenuDel_Click(object sender, EventArgs e)
 | 
						||
        {
 | 
						||
            if (this.tvFileCabinetA.SelectedNode != null)
 | 
						||
            {
 | 
						||
                var fileCabinetA = BLL.FileCabinetAService.GetFileCabinetAByID(this.tvFileCabinetA.SelectedNodeID);
 | 
						||
                if (fileCabinetA != null && BLL.FileCabinetAService.IsDeleteFileCabinetA(fileCabinetA.FileCabinetAId))
 | 
						||
                {
 | 
						||
                    BLL.LogService.AddSys_Log(this.CurrUser, this.tvFileCabinetA.SelectedNode.Text, this.tvFileCabinetA.SelectedNodeID, BLL.Const.ProjectFileCabinetAMenuId, Const.BtnDelete);
 | 
						||
                    BLL.FileCabinetAService.DeleteFileCabinetAByID(fileCabinetA.FileCabinetAId);
 | 
						||
                    this.FileCabinetADataBind();
 | 
						||
                    Alert.ShowInTop("删除成功!", MessageBoxIcon.Success);
 | 
						||
                }
 | 
						||
                else
 | 
						||
                {
 | 
						||
                    Alert.ShowInTop("存在下级菜单或已增加明细,不允许删除!", MessageBoxIcon.Warning);
 | 
						||
                    return;
 | 
						||
                }
 | 
						||
            }
 | 
						||
            else
 | 
						||
            {
 | 
						||
                ShowNotify("请选择树节点!", MessageBoxIcon.Warning);
 | 
						||
                return;
 | 
						||
            }
 | 
						||
        }
 | 
						||
        #endregion
 | 
						||
 | 
						||
        #region 增加、修改、删除文件柜A(集团文件柜类)明细事件
 | 
						||
        /// <summary>
 | 
						||
        /// 增加明细
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void btnNewDetail_Click(object sender, EventArgs e)
 | 
						||
        {
 | 
						||
            if (tvFileCabinetA.SelectedNode != null)
 | 
						||
            {
 | 
						||
                var fileCabinetA = BLL.FileCabinetAService.GetFileCabinetAByID(this.tvFileCabinetA.SelectedNodeID);
 | 
						||
                if (fileCabinetA != null && fileCabinetA.IsEndLever == true)
 | 
						||
                {
 | 
						||
                    PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("FileCabinetAItemEdit.aspx?FileCabinetAId={0}", tvFileCabinetA.SelectedNodeID, "新增 - ")));
 | 
						||
                }
 | 
						||
                else
 | 
						||
                {
 | 
						||
                    Alert.ShowInTop("请选择最后一级节点添加!", MessageBoxIcon.Warning);
 | 
						||
                    return;
 | 
						||
                }
 | 
						||
            }
 | 
						||
            else
 | 
						||
            {
 | 
						||
                Alert.ShowInTop("请选择文件柜A(集团文件柜类)!", MessageBoxIcon.Warning);
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 编辑
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void btnMenuModifyDetail_Click(object sender, EventArgs e)
 | 
						||
        {
 | 
						||
            this.EditData();
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 编辑数据方法
 | 
						||
        /// </summary>
 | 
						||
        private void EditData()
 | 
						||
        {
 | 
						||
            if (Grid1.SelectedRowIndexArray.Length == 0)
 | 
						||
            {
 | 
						||
                Alert.ShowInParent("请至少选择一条记录!");
 | 
						||
                return;
 | 
						||
            }
 | 
						||
 | 
						||
            var fileCabinetA = BLL.FileCabinetAItemService.GetFileCabinetAItemByID(Grid1.SelectedRowID);
 | 
						||
            if (fileCabinetA != null)
 | 
						||
            {
 | 
						||
                if (fileCabinetA.IsMenu == true)  ///是否菜单记录 
 | 
						||
                {
 | 
						||
                    if (!string.IsNullOrEmpty(fileCabinetA.Url))
 | 
						||
                    {
 | 
						||
                        PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format(fileCabinetA.Url, Grid1.SelectedRowID), "查看", 1100, 620));
 | 
						||
                    }
 | 
						||
                }
 | 
						||
                else
 | 
						||
                {
 | 
						||
                    if (this.btnMenuModifyDetail.Hidden)  ///是否具有操作权限
 | 
						||
                    {
 | 
						||
                        PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("FileCabinetAItemView.aspx?FileCabinetAItemId={0}", Grid1.SelectedRowID, "查看 - ")));
 | 
						||
                    }
 | 
						||
                    else
 | 
						||
                    {
 | 
						||
                        PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("FileCabinetAItemEdit.aspx?FileCabinetAItemId={0}", Grid1.SelectedRowID, "修改 - ")));
 | 
						||
                    }
 | 
						||
                }
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 双击修改
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
 | 
						||
        {
 | 
						||
            this.EditData();
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 删除明细方法
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void btnMenuDelDetail_Click(object sender, EventArgs e)
 | 
						||
        {
 | 
						||
            if (Grid1.SelectedRowIndexArray.Length > 0)
 | 
						||
            {
 | 
						||
                foreach (int rowIndex in Grid1.SelectedRowIndexArray)
 | 
						||
                {
 | 
						||
                    var item = BLL.FileCabinetAItemService.GetFileCabinetAItemByID(Grid1.DataKeys[rowIndex][0].ToString());
 | 
						||
                    if (item != null)
 | 
						||
                    {
 | 
						||
                        BLL.LogService.AddSys_Log(this.CurrUser, item.Code, item.FileCabinetAItemId, BLL.Const.ProjectFileCabinetAMenuId, Const.BtnDelete);
 | 
						||
                        BLL.FileCabinetAItemService.DeleteFileCabinetAItemByID(item.FileCabinetAItemId);
 | 
						||
                    }
 | 
						||
                }
 | 
						||
 | 
						||
                this.BindGrid();
 | 
						||
                ShowNotify("删除数据成功!", MessageBoxIcon.Success);
 | 
						||
            }
 | 
						||
        }
 | 
						||
        #endregion
 | 
						||
 | 
						||
        #region 关闭弹出窗口
 | 
						||
        /// <summary>
 | 
						||
        /// 关闭弹出窗口
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void Window1_Close(object sender, WindowCloseEventArgs e)
 | 
						||
        {
 | 
						||
            BindGrid();
 | 
						||
        }
 | 
						||
 | 
						||
        protected void Window2_Close(object sender, WindowCloseEventArgs e)
 | 
						||
        {
 | 
						||
            FileCabinetADataBind();
 | 
						||
        }
 | 
						||
        #endregion      
 | 
						||
 | 
						||
        #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.ProjectFileCabinetAMenuId);
 | 
						||
            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
 | 
						||
    }
 | 
						||
} |