using BLL; using FineUIPro.Web.DataShow; using FineUIPro.Web.SysManage; using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Threading.Tasks; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Windows.Forms; using static System.Windows.Forms.AxHost; namespace FineUIPro.Web { public partial class WorkBench : PageBase { protected void Page_Init(object sender, EventArgs e) { string themeStr = Request.QueryString["theme"]; string menuStr = Request.QueryString["menu"]; string https = ConfigurationManager.AppSettings["Https"]; if (!String.IsNullOrEmpty(themeStr) || !String.IsNullOrEmpty(menuStr)) { if (!String.IsNullOrEmpty(themeStr)) { HttpCookie cookie = new HttpCookie("Theme_Pro", "Cupertino") { Expires = DateTime.Now.AddYears(1) }; Response.Cookies.Add(cookie); } if (!String.IsNullOrEmpty(menuStr)) { HttpCookie cookie = new HttpCookie("MenuStyle_Pro", menuStr) { Expires = DateTime.Now.AddYears(1) }; if (https == "true") { cookie.Secure = true; } Response.Cookies.Add(cookie); } PageContext.Redirect("~/default.aspx"); return; } //////////////////////////////////////////////////////////////// if (!IsPostBack) { } } protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { var user = BLL.UserService.GetUserByUserId(this.CurrUser.UserId); if (user != null) { this.lName.Text = user.UserName; this.lblName.Text = Resources.Lan.Welcome + "," + user.UserName; this.lAccount.Text = user.Account; this.lUnitName.Text = BLL.UnitService.GetUnitNameByUnitId(user.UnitId); this.lEmail.Text = user.Email; //this.lPostName.Text = user.WorkPostId; } //公司级看板权限 if (this.CurrUser.IsOffice == true || this.CurrUser.UserId == Const.sysglyId || this.CurrUser.UserId == Const.hfnbdId) { divgsj.Visible = true; } else { divgsj.Visible = false; } BindGridToDo("1");//待办预警 BindGrid("1",""); //我的项目 if (Request.Cookies["SelectLan"] != null) { HttpCookie lanCookie = Request.Cookies["SelectLan"]; if (lanCookie["lan"] != null) { drpSelectLan.SelectedValue = lanCookie["lan"]; } } } } #region 待办预警 #region 绑定数据 /// /// 绑定数据 /// private void BindGridToDo(string sType) { List listStr = new List(); listStr.Add(new SqlParameter("@userId", this.CurrUser.UserId)); listStr.Add(new SqlParameter("@sType", sType)); SqlParameter[] parameter = listStr.ToArray(); DataTable tb = BLL.SQLHelper.GetDataTableRunProc("Sp_WorkBench_GetToDoItems", parameter); Grid2.RecordCount = tb.Rows.Count; Grid2.DataSource = this.GetPagedDataTable(Grid2, tb); this.Grid2.DataBind(); } #endregion #region Grid /// /// /// /// /// protected void Grid2_PageIndexChange(object sender, GridPageEventArgs e) { BindGridToDo(hdToDoState.Text.Trim()); } /// /// /// /// /// //protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) //{ // Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); // BindGrid(hdState.Text.Trim()); //} protected void Grid2_Sort(object sender, FineUIPro.GridSortEventArgs e) { BindGridToDo(hdToDoState.Text.Trim()); } #endregion #region 双击行事件 /// /// 双击事件 /// /// /// protected void Grid2_RowDoubleClick(object sender, GridRowClickEventArgs e) { if (!string.IsNullOrEmpty(Grid2.SelectedRowID)) { int i = Grid2.SelectedRowIndex; string url = Grid2.Rows[i].Values[4].ToString(); if (!string.IsNullOrEmpty(url)) { //url = "CQMS/Comprehensive/InspectionMachineEdit.aspx?ToDo=ToDo&&InspectionMachineId=3df44927-074a-4381-9cfe-a050ff4c2185"; PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format(url), "待办")); } } } #endregion #region 切换待办预警 protected void btnAll_Click(object sender, EventArgs e) { hdToDoState.Text = "1"; BindGridToDo("1");//全部 } protected void btnTo_Click(object sender, EventArgs e) { hdToDoState.Text = "2"; BindGridToDo("2");//待办 } protected void btnDo_Click(object sender, EventArgs e) { hdToDoState.Text = "3"; BindGridToDo("3");//预警 } #endregion #endregion #region 我的项目 #region 绑定数据 /// /// 绑定数据 /// private void BindGrid(string proState,string urlType="") { if (this.CurrUser.UserId == Const.sysglyId || this.CurrUser.UserId == Const.hfnbdId || this.CurrUser.UserId == Const.sedinId) { string strSql = @"select ProjectId,ProjectCode,(ProjectCode+' '+ProjectName) as ProjectName,ProjectState from Base_Project" + @" WHERE 1=1"; List listStr = new List(); if (proState == "2") { strSql += " AND (ProjectState = '2' )"; } else if (proState == "3") { strSql += " AND (ProjectState = '3' )"; } else { strSql += " AND (ProjectState = '1' OR ProjectState IS NULL)"; } SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); Grid1.RecordCount = tb.Rows.Count; Grid1.DataSource = this.GetPagedDataTable(Grid1, tb); Grid1.DataBind(); } else { var getUser = UserService.GetUserByUserId(this.CurrUser.UserId); if (getUser != null) { /// 获取角色类型 var getRoleP = Funs.DB.Sys_RolePower.FirstOrDefault(x => x.RoleId == getUser.RoleId && x.IsOffice == false); //如果是项目级别,获取到他的类型后,并且还要单位是五环的 if (!string.IsNullOrEmpty(urlType)) { //五环的能看所有项目,否则只能看项目用户中有自己或者所属单位是自己单位的 if (getRoleP != null && getUser.UnitId == Const.UnitId_CWCEC) { string strSql = @"select ProjectId,ProjectCode,(ProjectCode+' '+ProjectName) as ProjectName,ProjectState from Base_Project" + @" WHERE 1=1"; List listStr = new List(); if (proState == "2") { strSql += " AND (ProjectState = '2' )"; } else if (proState == "3") { strSql += " AND (ProjectState = '3' )"; } else { strSql += " AND (ProjectState = '1' OR ProjectState IS NULL)"; } SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); Grid1.RecordCount = tb.Rows.Count; Grid1.DataSource = this.GetPagedDataTable(Grid1, tb); Grid1.DataBind(); } else { string strSql = @"select distinct p.ProjectId,p.ProjectCode,(p.ProjectCode+' '+p.ProjectName) as ProjectName from Base_Project p left join Project_ProjectUser as pu on pu.ProjectId = p.ProjectId where ((pu.UserId=@userId and pu.IsPost='true') or p.UnitId=@unitId) and p.ProjectState = @state" + @" WHERE 1=1"; List listStr = new List(); listStr.Add(new SqlParameter("@userId", this.CurrUser.UserId)); listStr.Add(new SqlParameter("@unitId", getUser.UnitId)); listStr.Add(new SqlParameter("@state", proState)); SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); Grid1.RecordCount = tb.Rows.Count; Grid1.DataSource = this.GetPagedDataTable(Grid1, tb); Grid1.DataBind(); } } else { if (getRoleP != null) { string strSql = @"select ProjectId,ProjectCode,(ProjectCode+' '+ProjectName) as ProjectName,ProjectState from Base_Project" + @" WHERE 1=1"; List listStr = new List(); if (proState == "2") { strSql += " AND (ProjectState = '2' )"; } else if (proState == "3") { strSql += " AND (ProjectState = '3' )"; } else { strSql += " AND (ProjectState = '1' OR ProjectState IS NULL)"; } SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); Grid1.RecordCount = tb.Rows.Count; Grid1.DataSource = this.GetPagedDataTable(Grid1, tb); Grid1.DataBind(); } else { string strSql = @"select distinct p.ProjectId,p.ProjectCode,(p.ProjectCode+' '+p.ProjectName) as ProjectName from Base_Project p left join Project_ProjectUser as pu on pu.ProjectId = p.ProjectId where pu.UserId=@userId and pu.IsPost='true' and p.ProjectState = @state"; List listStr = new List(); listStr.Add(new SqlParameter("@userId", this.CurrUser.UserId)); listStr.Add(new SqlParameter("@state", proState)); SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); Grid1.RecordCount = tb.Rows.Count; Grid1.DataSource = this.GetPagedDataTable(Grid1, tb); Grid1.DataBind(); } } } } } #endregion #region 显示项目图片 /// /// 显示项目图片 /// /// /// protected string ConvertProjectImage(object projectId) { string url = string.Empty; if (projectId != null) { var att = Funs.DB.AttachFile.FirstOrDefault(x => x.ToKeyId == projectId); if (att != null) { url = BLL.UploadAttachmentService.ShowProjectImage("../../", att.AttachUrl); } else { url = BLL.UploadAttachmentService.ShowProjectImage("../../", "res/images/16.png"); } } return url; } #endregion #region Grid /// /// /// /// /// protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) { BindGrid(hdState.Text.Trim(),""); } /// /// /// /// /// //protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) //{ // Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); // BindGrid(hdState.Text.Trim()); //} protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e) { BindGrid(hdState.Text.Trim(),""); } #endregion #region 双击行事件 /// /// 双击事件 /// /// /// protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e) { if (!string.IsNullOrEmpty(Grid1.SelectedRowID)) { string url = "~/indexProject.aspx?projectId=" + Grid1.SelectedRowID; UserService.UpdateLastUserInfo(this.CurrUser.UserId, null, false, Grid1.SelectedRowID); PageContext.Redirect(url, "_top"); } else { ShowNotify("请选择项目进入!", MessageBoxIcon.Warning); } } #endregion #region 右键进入项目 /// /// 右键进入项目 /// /// /// protected void btnEnter_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(Grid1.SelectedRowID)) { string url = "~/indexProject.aspx?projectId=" + Grid1.SelectedRowID; UserService.UpdateLastUserInfo(this.CurrUser.UserId, null, false, Grid1.SelectedRowID); PageContext.Redirect(url, "_top"); } else { ShowNotify("请选择项目进入!", MessageBoxIcon.Warning); } } #endregion #region 切换项目状态 protected void zjProject_Click(object sender, EventArgs e) { hdState.Text = "1"; BindGrid("1","");//在建项目 } protected void ztProject_Click(object sender, EventArgs e) { hdState.Text = "2"; BindGrid("2","");//暂停项目 } protected void wgProject_Click(object sender, EventArgs e) { hdState.Text = "3"; BindGrid("3","");//完工项目 } #endregion #region Grid行点击事件 /// /// Grid行点击事件 /// /// /// protected void Grid1_RowCommand(object sender, GridCommandEventArgs e) { if (e.CommandName == "LoginProject") { string url = "~/indexProject.aspx?projectId=" + Grid1.SelectedRowID; UserService.UpdateLastUserInfo(this.CurrUser.UserId, null, false, Grid1.SelectedRowID); PageContext.Redirect(url, "_top"); } } #endregion #endregion #region 跳转公司级看板 /// /// 跳转公司级看板 /// /// /// protected void gsjkb_Click(object sender, EventArgs e) { if (this.CurrUser.IsOffice == true || this.CurrUser.UserId == Const.sysglyId || this.CurrUser.UserId == Const.hfnbdId) { PageContext.Redirect("~/index.aspx", "_top"); } } #endregion /// /// 任务中心 /// /// /// protected void rwzx_Click(object sender, EventArgs e) { ShowNotify("开发中"); } /// /// 系统管理 /// /// /// protected void xtgl_Click(object sender, EventArgs e) { ShowNotify("开发中"); } #region 中英文切换 /// /// 中英文切换 /// /// /// protected void drpSelectLan_SelectedIndexChanged(object sender, EventArgs e) { string https = ConfigurationManager.AppSettings["Https"]; HttpCookie lanCookie = Request.Cookies["SelectLan"]; lanCookie["lan"] = drpSelectLan.SelectedValue; lanCookie.Expires = DateTime.Now.AddDays(1); if (https == "true") { lanCookie.Secure = true; } Response.Cookies.Add(lanCookie); Response.Redirect(Request.UrlReferrer.ToString());//刷新当前页面 } #endregion } }