20250329 工作台

This commit is contained in:
2025-03-29 00:01:50 +08:00
parent 2d5e6785f1
commit 70169120e3
27 changed files with 770 additions and 795 deletions
+174 -274
View File
@@ -1,14 +1,18 @@
using BLL;
using Apache.NMS.ActiveMQ.Commands;
using BLL;
using FineUIPro.Web.DataShow;
using FineUIPro.Web.SysManage;
using Org.BouncyCastle.Asn1.Ocsp;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Reflection;
using System.Threading.Tasks;
using System.Web;
using System.Web.Services;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Windows.Forms;
@@ -18,6 +22,30 @@ namespace FineUIPro.Web
{
public partial class WorkBench : PageBase
{
#region
/// <summary>
/// 当前登录人Id
/// </summary>
public string UserId
{
get
{
return (string)ViewState["UserId"];
}
set
{
ViewState["UserId"] = value;
}
}
#endregion
#region Init
/// <summary>
/// Init
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Init(object sender, EventArgs e)
{
string themeStr = Request.QueryString["theme"];
@@ -56,19 +84,35 @@ namespace FineUIPro.Web
}
}
#endregion
protected void Page_Load(object sender, EventArgs e)
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
var user = BLL.UserService.GetUserByUserId(this.CurrUser.UserId);
if (user != null)
{
this.UserId = this.CurrUser.UserId;
this.lName.Text = user.UserName;
this.lblName.Text = "欢迎回来," + user.UserName;
this.lAccount.Text = user.Account;
this.lUnitName.Text = BLL.UnitService.GetUnitNameByUnitId(user.UnitId);
this.lEmail.Text = user.Email;
if (!string.IsNullOrEmpty(user.IdentityCard))
{
var person = BLL.PersonService.GetPersonImgByIdentityCard(user.IdentityCard);
if (person != null)
{
this.imgPic.Src = ("~/" + person.PhotoUrl);
}
}
//this.lPostName.Text = user.WorkPostId;
}
//公司级看板权限
@@ -80,8 +124,6 @@ namespace FineUIPro.Web
{
divgsj.Visible = false;
}
BindGridToDo("1");//待办预警
BindGrid("1",""); //我的项目
if (Request.Cookies["SelectLan"] != null)
{
@@ -93,127 +135,68 @@ namespace FineUIPro.Web
}
}
}
#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)
#region
[WebMethod]
public static string getGztm(string userId, string sType)
{
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))
string returnDbHtml = "";
var getDataList = Funs.DB.Sp_WorkBench_GetToDoItems(userId, sType).ToList();
foreach (var item in getDataList)
{
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), "待办"));
}
returnDbHtml += "<div class=\"z-item\" style=\"cursor:pointer\" onclick=\"returnWindows('" + item.PCUrl + "')\"><p class=\"z-val\"><span>" + item.ProjectCode + " " + "</span><span>" + item.MenuName + " " + item.Content + "</span></p><p class=\"z-data\">" + item.DataTime.ToString().Replace('/', '-').Split(' ')[0] + "</p></div>";
}
}
#endregion
#region
protected void btnAll_Click(object sender, EventArgs e)
{
hdToDoState.Text = "1";
BindGridToDo("1");//全部
return returnDbHtml;
}
protected void btnTo_Click(object sender, EventArgs e)
/// <summary>
/// 打开待办
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnshowWindows(object sender, EventArgs e)
{
hdToDoState.Text = "2";
BindGridToDo("2");//待办
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("{0}", hiddenUrl.Value, "办理 - ")));
}
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="")
[WebMethod]
public static string getProject(string proState, string userId)
{
if (this.CurrUser.UserId == Const.sysglyId || this.CurrUser.UserId == Const.hfnbdId || this.CurrUser.UserId == Const.sedinId)
string returnDbHtml = "";
if (userId == Const.sysglyId || userId == Const.hfnbdId || userId == Const.sedinId)
{
string strSql = @"select ProjectId,ProjectCode,(ProjectCode+' '+ProjectName) as ProjectName,ProjectState from Base_Project"
+ @" WHERE 1=1";
string strSql = @"select ProjectId,ProjectCode,(ProjectCode+' '+ProjectName) as ProjectName,ProjectState,
(case when AttachFile.AttachUrl is not null
then '../../'+RIGHT(AttachFile.AttachUrl, CHARINDEX(',', REVERSE(AttachFile.AttachUrl)) - 1)
else '../../res/images/16.png' end )
as AttachUrl
from Base_Project
left join AttachFile on AttachFile.ToKeyId=Base_Project.ProjectId"
+ @" WHERE 1=1";
List<SqlParameter> listStr = new List<SqlParameter>();
if (proState == "2")
if (proState != "1")
{
strSql += " AND (ProjectState = '2' )";
}
else if (proState == "3")
{
strSql += " AND (ProjectState = '3' )";
strSql += " AND (ProjectState = '" + proState + "' )";
}
else
{
strSql += " AND (ProjectState = '1' OR ProjectState IS NULL)";
}
strSql += " order by ProjectCode";
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
Grid1.DataSource = this.GetPagedDataTable(Grid1, tb);
Grid1.DataBind();
for (int i = 0; i < tb.Rows.Count; i++)
{
returnDbHtml += "<div class=\"z-item\"><p class=\"z-val\"><span><img style=\"height: .350rem; width: .350rem; \" src='" + tb.Rows[i][4].ToString() + "'/></span><span>" + tb.Rows[i][2].ToString() + "</span></p><p class=\"z-data\"><div id=\"mybtn\" style=\"cursor:pointer\" onclick=\"javascrtpt:window.location.href='indexProject.aspx?projectId=" + tb.Rows[i][0].ToString() + "'\">进入项目</div></p></div>";
}
}
else
{
var getUser = UserService.GetUserByUserId(this.CurrUser.UserId);
string urlType = "";
var getUser = UserService.GetUserByUserId(userId);
if (getUser != null)
{
/// 获取角色类型
@@ -224,224 +207,125 @@ namespace FineUIPro.Web
//五环的能看所有项目,否则只能看项目用户中有自己或者所属单位是自己单位的
if (getRoleP != null && getUser.UnitId == Const.UnitId_CWCEC)
{
string strSql = @"select ProjectId,ProjectCode,(ProjectCode+' '+ProjectName) as ProjectName,ProjectState from Base_Project"
+ @" WHERE 1=1";
string strSql = @"select ProjectId,ProjectCode,(ProjectCode+' '+ProjectName) as ProjectName,ProjectState,
(case when AttachFile.AttachUrl is not null
then '../../'+RIGHT(AttachFile.AttachUrl, CHARINDEX(',', REVERSE(AttachFile.AttachUrl)) - 1)
else '../../res/images/16.png' end )
as AttachUrl
from Base_Project
left join AttachFile on AttachFile.ToKeyId=Base_Project.ProjectId"
+ @" WHERE 1=1";
List<SqlParameter> listStr = new List<SqlParameter>();
if (proState == "2")
if (proState != "1")
{
strSql += " AND (ProjectState = '2' )";
}
else if (proState == "3")
{
strSql += " AND (ProjectState = '3' )";
strSql += " AND (ProjectState = '" + proState + "' )";
}
else
{
strSql += " AND (ProjectState = '1' OR ProjectState IS NULL)";
}
strSql += " order by ProjectCode";
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
Grid1.DataSource = this.GetPagedDataTable(Grid1, tb);
Grid1.DataBind();
for (int i = 0; i < tb.Rows.Count; i++)
{
returnDbHtml += "<div class=\"z-item\"><p class=\"z-val\"><span><img style=\"height: .350rem; width: .350rem; \" src='" + tb.Rows[i][4].ToString() + "'/></span><span>" + tb.Rows[i][2].ToString() + "</span></p><p class=\"z-data\"><div id=\"mybtn\" style=\"cursor:pointer\" onclick=\"javascrtpt:window.location.href='indexProject.aspx?projectId=" + tb.Rows[i][0].ToString() + "'\">进入项目</div></p></div>";
}
}
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";
string strSql = @"select distinct p.ProjectId,p.ProjectCode,(p.ProjectCode+' '+p.ProjectName) as ProjectName,p.ProjectState
(case when AttachFile.AttachUrl is not null
then '../../'+RIGHT(AttachFile.AttachUrl, CHARINDEX(',', REVERSE(AttachFile.AttachUrl)) - 1)
else '../../res/images/16.png' end )as AttachUrl
from Base_Project p
left join Project_ProjectUser as pu on pu.ProjectId = p.ProjectId
left join AttachFile on AttachFile.ToKeyId=p.ProjectId
where ((pu.UserId=@userId and pu.IsPost='true') or p.UnitId=@unitId)";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@userId", this.CurrUser.UserId));
listStr.Add(new SqlParameter("@userId", userId));
listStr.Add(new SqlParameter("@unitId", getUser.UnitId));
listStr.Add(new SqlParameter("@state", proState));
if (proState != "1")
{
strSql += " AND (ProjectState = '" + proState + "' )";
}
else
{
strSql += " AND (ProjectState = '1' OR ProjectState IS NULL)";
}
strSql += " order by ProjectCode";
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
Grid1.DataSource = this.GetPagedDataTable(Grid1, tb);
Grid1.DataBind();
for (int i = 0; i < tb.Rows.Count; i++)
{
returnDbHtml += "<div class=\"z-item\"><p class=\"z-val\"><span><img style=\"height: .350rem; width: .350rem; \" src='" + tb.Rows[i][4].ToString() + "'/></span><span>" + tb.Rows[i][2].ToString() + "</span></p><p class=\"z-data\"><div id=\"mybtn\" style=\"cursor:pointer\" onclick=\"javascrtpt:window.location.href='indexProject.aspx?projectId=" + tb.Rows[i][0].ToString() + "'\">进入项目</div></p></div>";
}
}
}
else
{
if (getRoleP != null)
{
string strSql = @"select ProjectId,ProjectCode,(ProjectCode+' '+ProjectName) as ProjectName,ProjectState from Base_Project"
+ @" WHERE 1=1";
string strSql = @"select ProjectId,ProjectCode,(ProjectCode+' '+ProjectName) as ProjectName,ProjectState,
(case when AttachFile.AttachUrl is not null
then '../../'+RIGHT(AttachFile.AttachUrl, CHARINDEX(',', REVERSE(AttachFile.AttachUrl)) - 1)
else '../../res/images/16.png' end )
as AttachUrl
from Base_Project
left join AttachFile on AttachFile.ToKeyId=Base_Project.ProjectId"
+ @" WHERE 1=1";
List<SqlParameter> listStr = new List<SqlParameter>();
if (proState == "2")
if (proState != "1")
{
strSql += " AND (ProjectState = '2' )";
}
else if (proState == "3")
{
strSql += " AND (ProjectState = '3' )";
strSql += " AND (ProjectState = '" + proState + "' )";
}
else
{
strSql += " AND (ProjectState = '1' OR ProjectState IS NULL)";
}
strSql += " order by ProjectCode";
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
Grid1.DataSource = this.GetPagedDataTable(Grid1, tb);
Grid1.DataBind();
for (int i = 0; i < tb.Rows.Count; i++)
{
returnDbHtml += "<div class=\"z-item\"><p class=\"z-val\"><span><img style=\"height: .350rem; width: .350rem; \" src='" + tb.Rows[i][4].ToString() + "'/></span><span>" + tb.Rows[i][2].ToString() + "</span></p><p class=\"z-data\"><div id=\"mybtn\" style=\"cursor:pointer\" onclick=\"javascrtpt:window.location.href='indexProject.aspx?projectId=" + tb.Rows[i][0].ToString() + "'\">进入项目</div></p></div>";
}
}
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";
string strSql = @"select distinct p.ProjectId,p.ProjectCode,(p.ProjectCode+' '+p.ProjectName) as ProjectName,p.ProjectState,
(case when AttachFile.AttachUrl is not null
then '../../'+RIGHT(AttachFile.AttachUrl, CHARINDEX(',', REVERSE(AttachFile.AttachUrl)) - 1)
else '../../res/images/16.png' end ) as AttachUrl
from Base_Project p
left join Project_ProjectUser as pu on pu.ProjectId = p.ProjectId
left join AttachFile on AttachFile.ToKeyId=p.ProjectId
where pu.UserId=@userId and pu.IsPost='true' ";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@userId", this.CurrUser.UserId));
listStr.Add(new SqlParameter("@state", proState));
listStr.Add(new SqlParameter("@userId", userId));
if (proState != "1")
{
strSql += " AND (p.ProjectState = '" + proState + "' )";
}
else
{
strSql += " AND (p.ProjectState = '1' OR p.ProjectState IS NULL)";
}
strSql += " order by ProjectCode";
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
Grid1.DataSource = this.GetPagedDataTable(Grid1, tb);
Grid1.DataBind();
for (int i = 0; i < tb.Rows.Count; i++)
{
returnDbHtml += "<div class=\"z-item\"><p class=\"z-val\"><span><img style=\"height: .350rem; width: .350rem; \" src='" + tb.Rows[i][4].ToString() + "'/></span><span>" + tb.Rows[i][2].ToString() + "</span></p><p class=\"z-data\"><div id=\"mybtn\" style=\"cursor:pointer\" onclick=\"javascrtpt:window.location.href='indexProject.aspx?projectId=" + tb.Rows[i][0].ToString() + "'\">进入项目</div></p></div>";
}
}
}
}
}
return returnDbHtml;
}
#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>
/// 跳转公司级看板
@@ -457,6 +341,7 @@ namespace FineUIPro.Web
}
#endregion
#region
/// <summary>
/// 任务中心
/// </summary>
@@ -466,7 +351,9 @@ namespace FineUIPro.Web
{
ShowNotify("开发中");
}
#endregion
#region
/// <summary>
/// 系统管理
/// </summary>
@@ -476,6 +363,7 @@ namespace FineUIPro.Web
{
ShowNotify("开发中");
}
#endregion
#region
/// <summary>
@@ -496,6 +384,18 @@ namespace FineUIPro.Web
Response.Cookies.Add(lanCookie);
Response.Redirect(Request.UrlReferrer.ToString());//刷新当前页面
}
#endregion
#endregion
#region
/// <summary>
/// 个人信息
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnPersonal_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("Personal/PersonalInfo.aspx")));
}
#endregion
}
}