using BLL; using NPOI.POIFS.Properties; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace FineUIPro.Web.ZHGL.SubPackManage { public partial class BaseBranchTeamList : PageBase { protected void Page_Load(object sender, EventArgs e) { // 表头过滤 //FilterDataRowItem = FilterDataRowItemImplement; if (!IsPostBack) { this.InitTreeMenu(); Funs.DropDownPageSize(this.ddlPageSize); GetButtonPower(); BindGrid(); } } /// /// 加载树 /// private void InitTreeMenu() { this.tvProjectAndUnit.Nodes.Clear(); var unit = (from x in BLL.Funs.DB.Base_Unit join y in BLL.Funs.DB.Base_BranchTeamList on x.UnitId equals y.UnitId group x by new { x.UnitId, x.UnitName } into g select new { UnitName = g.Key.UnitName, UnitId = g.Key.UnitId, }).ToList(); foreach (var item in unit) { TreeNode rootNode = new TreeNode(); rootNode = new TreeNode { Text = item.UnitName, NodeID = item.UnitId, ToolTip = "所属分包商", CommandName = "unit" }; rootNode.EnableClickEvent = true; this.tvProjectAndUnit.Nodes.Add(rootNode); } } protected void tvProjectAndUnit_NodeLazyLoad(object sender, TreeNodeEventArgs e) { DynamicAppendNode(e.Node); } private void DynamicAppendNode(TreeNode parentNode) { // 防止浏览器端多次快速点击 parentNode.Nodes.Clear(); TreeNode node = null; switch (parentNode.CommandName) { case "unit": GetBranchTeamList(parentNode.Nodes, parentNode); if(parentNode.Nodes.Count>0) parentNode.Leaf = false; else parentNode.Leaf = true; break; } } /// /// 加载劳务公司 /// /// /// private void GetBranchTeamList(TreeNodeCollection nodes, TreeNode parentNode) { var branchTeamList = (from x in BLL.Funs.DB.Base_BranchTeamList where x.UnitId == parentNode.NodeID select new { BranchTeamListId = x.BranchTeamListId, BranchTeamListName = x.BranchTeamListName, }).Distinct().ToList(); TreeNode newNode = null; foreach (var itme in branchTeamList) { newNode = new TreeNode { Text = itme.BranchTeamListName, NodeID = itme.BranchTeamListId + "|" + parentNode.NodeID, ToolTip = "劳务公司", CommandName = "branchTeamList", Leaf = true }; newNode.EnableClickEvent = true; nodes.Add(newNode); } } #region 点击TreeView /// /// 点击TreeView /// /// /// protected void tvProjectAndUnit_NodeCommand(object sender, TreeCommandEventArgs e) { BindGrid(); } #endregion /// /// 过滤表头 /// /// /// protected void Grid1_FilterChange(object sender, EventArgs e) { BindGrid(); } /// /// 分页 /// /// /// protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) { Grid1.PageIndex = e.NewPageIndex; BindGrid(); } /// /// 排序 /// /// /// protected void Grid1_Sort(object sender, GridSortEventArgs e) { BindGrid(); } /// /// 绑定数据 /// public void BindGrid() { DataTable tb = BranchTeamListData(); Grid1.RecordCount = tb.Rows.Count; tb = GetFilteredTable(Grid1.FilteredData, tb); var table = this.GetPagedDataTable(Grid1, tb); Grid1.DataSource = table; Grid1.DataBind(); } /// /// 分页显示条数下拉框 /// /// /// protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) { Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); BindGrid(); } #region 加入黑名单 /// /// 加入黑名单按钮 /// /// /// protected void btnMenuBack_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning); return; } string BlackForeignKey = Grid1.SelectedRowID.Split(',')[0]; var item = Funs.DB.View_SubPack_TeamList.FirstOrDefault(p => p.SubPackTeamListDetailID == BlackForeignKey); if (item == null) { Alert.ShowInTop("此操作的数据不存在,请检查!", MessageBoxIcon.Warning); return; } PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("../../SubPackManage/SubPackBlackRemark.aspx?BlackForeignKey={0}&IDCard={1}&BlackType={2}&ProjectID={3}", BlackForeignKey, item.CorporateIDCard, Const.SubPackBlackListTeamList, item.ProjectId))); } #endregion /// /// 查询按钮事件 /// /// /// protected void btnQuery_Click(object sender, EventArgs e) { BindGrid(); } protected void btnRset_Click(object sender, EventArgs e) { this.txtProjectName.Text = txtCorporate.Text = txtCorporateIDCard.Text = this.txtBranchTeamListName.Text = ""; BindGrid(); } #region 获取按钮权限 /// /// 获取按钮权限 /// /// /// private void GetButtonPower() { if (Request.Params["value"] == "0") { return; } var buttonList = BLL.CommonService.GetAllButtonList(null, this.CurrUser.UserId, BLL.Const.BaseBranchTeamListMenuId); if (buttonList.Count() > 0) { if (buttonList.Contains(BLL.Const.BtnModify)) { //this.btnMenuBack.Hidden = false; } } } #endregion /// /// 数据查询 /// /// protected DataTable BranchTeamListData() { string selectNode = this.tvProjectAndUnit.SelectedNodeID; string strSql = @"select a.SubPackTeamListDetailID,a.UnitWorkId,a.SubPackTeamListName,a.ChargeContract,a.LicenseNumber,a.AptitudeCertNumber,a.EnrollAddress,a.AchievementCondition,a.FundCondition,a.Corporate,a.Remark,a.SortIndex,isnull(a.BackState,'0')BackState,a.CorporateIDCard " + @",c.UnitName,d.ProjectName " + @" FROM View_SubPack_TeamList a" + @" inner join Base_BranchTeamList b on a.CorporateIDCard=b.CorporateIDCard " + @" left join Base_Unit c on a.UnitWorkId=c.UnitId " + @" left join Base_Project d on a.ProjectId=d.ProjectId WHERE ((a.orderType='1' AND a.State='"+Const.SubPackTeamList_AuditCompleted + "') OR (a.orderType='2' AND a.State='"+Const.SubPackChangeRequest_AuditCompleted + "')) "; List listStr = new List(); //以叶子结点条件,其它父级节点不要查询 if (!string.IsNullOrWhiteSpace(selectNode)) { string[] nodeArr = selectNode.Split('|'); string toolBranchTeamListId = string.Empty; if (nodeArr.Length == 2) { toolBranchTeamListId = nodeArr[0]; strSql += " AND b.BranchTeamListId=@BranchTeamListId "; listStr.Add(new SqlParameter("@BranchTeamListId", toolBranchTeamListId)); } else { strSql += " AND 1<>1 "; } } else { strSql += " AND 1<>1 "; } if (!string.IsNullOrWhiteSpace(txtBranchTeamListName.Text.Trim())) { strSql += " AND a.SubPackTeamListName like '%'+ @SubPackTeamListName + '%' "; listStr.Add(new SqlParameter("@SubPackTeamListName", txtBranchTeamListName.Text.Trim())); } if (!string.IsNullOrWhiteSpace(txtProjectName.Text.Trim())) { strSql += " AND d.ProjectName like '%'+ @ProjectName + '%' "; listStr.Add(new SqlParameter("@ProjectName", txtProjectName.Text.Trim())); } if (!string.IsNullOrWhiteSpace(txtCorporate.Text.Trim())) { strSql += " AND a.Corporate like '%'+ @Corporate + '%' "; listStr.Add(new SqlParameter("@Corporate", txtCorporate.Text.Trim())); } if (!string.IsNullOrWhiteSpace(txtCorporateIDCard.Text.Trim())) { strSql += " AND a.CorporateIDCard like '%'+ @CorporateIDCard + '%' "; listStr.Add(new SqlParameter("@CorporateIDCard", txtCorporateIDCard.Text.Trim())); } SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); return tb; } /// /// 把状态转换代号为文字形式 /// /// /// protected string ConvertState(object state) { if (state != null) { if (state.ToString() == "0") { return "正常"; } else if (state.ToString() == "1") { return "黑名单"; } else { return ""; } } return ""; } /// /// 关闭弹出窗 /// /// /// protected void Window1_Close(object sender, WindowCloseEventArgs e) { BindGrid(); } } }