CNCEC_SUBQHSE_WUHUAN/SGGL/FineUIPro.Web/WorkBench.aspx.cs

501 lines
19 KiB
C#
Raw Normal View History

2025-03-25 15:57:55 +08:00
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;
2025-03-25 17:08:28 +08:00
this.lblName.Text = "欢迎回来," + user.UserName;
2025-03-25 15:57:55 +08:00
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
/// <summary>
/// 绑定数据
/// </summary>
private void BindGridToDo(string sType)
{
List<SqlParameter> listStr = new List<SqlParameter>();
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
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid2_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGridToDo(hdToDoState.Text.Trim());
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
//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
/// <summary>
/// 双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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
/// <summary>
/// 绑定数据
/// </summary>
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<SqlParameter> listStr = new List<SqlParameter>();
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<SqlParameter> listStr = new List<SqlParameter>();
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<SqlParameter> listStr = new List<SqlParameter>();
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<SqlParameter> listStr = new List<SqlParameter>();
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<SqlParameter> listStr = new List<SqlParameter>();
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
/// <summary>
/// 显示项目图片
/// </summary>
/// <param name="projectId"></param>
/// <returns></returns>
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
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGrid(hdState.Text.Trim(),"");
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
//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
/// <summary>
/// 双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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
/// <summary>
/// 右键进入项目
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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行点击事件
/// <summary>
/// Grid行点击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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
/// <summary>
/// 跳转公司级看板
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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
/// <summary>
/// 任务中心
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void rwzx_Click(object sender, EventArgs e)
{
ShowNotify("开发中");
}
/// <summary>
/// 系统管理
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void xtgl_Click(object sender, EventArgs e)
{
ShowNotify("开发中");
}
#region
/// <summary>
/// 中英文切换
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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
}
}