This commit is contained in:
geh
2026-01-09 15:36:54 +08:00
parent 6679a6506d
commit 24fffc5678
7 changed files with 471 additions and 190 deletions
@@ -10,75 +10,80 @@
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" runat="server" AutoSizePanelID="SimpleForm1"/>
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false"
AutoScroll="true" BodyPadding="10px" runat="server" RedStarPosition="BeforeText"
LabelAlign="Right">
<Rows>
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="人力预警" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="WarningId" EnableColumnLines="true" DataIDField="WarningId"
AllowSorting="true" SortDirection="DESC" OnSort="Grid1_Sort" AllowPaging="true"
IsDatabasePaging="true" PageSize="15" OnPageIndexChange="Grid1_PageIndexChange" ForceFit="true"
EnableRowDoubleClickEvent="true" EnableTextSelection="True">
<Columns>
<f:RowNumberField EnablePagingNumber="true" HeaderText="序号" Width="50px" HeaderTextAlign="Center"
TextAlign="Center"/>
<f:TemplateField Width="260px" HeaderText="单位" HeaderTextAlign="Center" TextAlign="Left" ColumnID="tfUnitName">
<ItemTemplate>
<asp:Label ID="lbUnitName" runat="server" Text='<%#ConvertUnitName(Eval("UnitId")) %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:TemplateField Width="150px" HeaderText="装置" HeaderTextAlign="Center" TextAlign="Left" ColumnID="tfUnitWorkName">
<ItemTemplate>
<asp:Label ID="lbUnitWorkName" runat="server" Text='<%#ConvertUnitWorkName(Eval("UnitWorkId")) %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:TemplateField Width="150px" HeaderText="岗位" HeaderTextAlign="Center" TextAlign="Left" ColumnID="tfWorkPostName">
<ItemTemplate>
<asp:Label ID="lbtfWorkPostName" runat="server" Text='<%#ConvertWorkPostName(Eval("WorkPostId")) %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="100px" ColumnID="PlanQuantity" DataField="PlanQuantity"
HeaderText="计划人力" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="ActualQuantity" DataField="ActualQuantity"
HeaderText="实际考勤" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<%-- <f:TemplateField Width="100px" HeaderText="偏差" HeaderTextAlign="Center" TextAlign="Left" ColumnID="Bias"> --%>
<%-- <ItemTemplate> --%>
<%-- <asp:Label ID="lbBias" runat="server" Text='<%#ConvertBiasPercent(Eval("Bias")) %>'></asp:Label> --%>
<%-- </ItemTemplate> --%>
<%-- </f:TemplateField> --%>
<f:FormRow>
<Items>
<f:Label ID="lProject" runat="server" Label="项目" LabelWidth="150px">
</f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Label ID="lUnit" runat="server" Label="单位" LabelWidth="150px">
</f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Label ID="lUnitWork" runat="server" Label="装置" LabelWidth="150px">
</f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Label ID="lWorkPost" runat="server" Label="岗位" LabelWidth="150px" >
</f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Label ID="lPlanDate" runat="server" Label="时间" LabelAlign="Right" LabelWidth="150px">
</f:Label>
</Items>
</f:FormRow>
<%--<f:FormRow>
<Items>
<f:Label ID="lVersion" runat="server" Label="计划版本" LabelAlign="Right" LabelWidth="150px"></f:Label>
</Items>
</f:FormRow>--%>
<f:FormRow>
<Items>
<f:Label ID="lQuantity" runat="server" Label="计划人力" LabelAlign="Right" LabelWidth="150px"></f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Label ID="lNumber" runat="server" Label="实际人力" LabelAlign="Right" LabelWidth="150px"></f:Label>
</Items>
</f:FormRow>
</Rows>
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
<Items>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<f:Button ID="btnClose" EnablePostBack="false" ToolTip="关闭" runat="server" Icon="SystemClose" Text="关闭">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</f:Form>
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu"/>
</Listeners>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="编辑培训计划" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true"
Width="1000px" Height="600px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<f:MenuButton ID="btnMenuView" OnClick="btnMenuView_Click" EnablePostBack="true"
runat="server" Text="查看" Icon="Find">
</f:MenuButton>
</f:Menu>
</form>
<script type="text/javascript">
var menuID = '<%= Menu1.ClientID %>';
// 返回false,来阻止浏览器右键菜单
function onRowContextMenu(event, rowId) {
F(menuID).show(); //showAt(event.pageX, event.pageY);
return false;
}
function reloadGrid() {
__doPostBack(null, 'reloadGrid');
}
</script>
</body>
</html>
@@ -1,5 +1,8 @@
using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
@@ -18,40 +21,12 @@ namespace FineUIPro.Web.JDGL.SGManPower
set { ViewState["ProjectId"] = value; }
}
public string UnitId
public string WarningType
{
get => (string)ViewState["UnitId"];
set => ViewState["UnitId"] = value;
get => (string)ViewState["WarningType"];
set => ViewState["WarningType"] = value;
}
public string UnitWorkId
{
get => (string)ViewState["UnitWorkId"];
set => ViewState["UnitWorkId"] = value;
}
public string WorkPostId
{
get => (string)ViewState["WorkPostId"];
set => ViewState["WorkPostId"] = value;
}
public string PlanDate
{
get => (string)ViewState["PlanDate"];
set => ViewState["PlanDate"] = value;
}
public string Quantity
{
get => (string)ViewState["Quantity"];
set => ViewState["Quantity"] = value;
}
public string Num
{
get => (string)ViewState["Num"];
set => ViewState["Num"] = value;
}
#endregion
@@ -59,65 +34,170 @@ namespace FineUIPro.Web.JDGL.SGManPower
{
if (!IsPostBack)
{
this.btnClose.OnClientClick = ActiveWindow.GetHideReference();
Funs.DropDownPageSize(this.ddlPageSize);
ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
this.ProjectId = Request.Params["projectId"];
this.UnitId = Request.Params["unitId"];
this.UnitWorkId = Request.Params["unitWorkId"];
this.WorkPostId = Request.Params["workPostId"];
this.PlanDate = Request.Params["planDate"];
this.Quantity = Request.Params["quantity"];
this.Num = Request.Params["num"];
if (!string.IsNullOrEmpty(ProjectId))
{
var project = BLL.ProjectService.GetProjectByProjectId(ProjectId); //项目
if (project != null)
{
this.lProject.Text = project.ProjectName;
}
}
this.WarningType = Request.Params["warningType"];
// 绑定表格
BindGrid();
if (!string.IsNullOrEmpty(UnitId))
{
var unit = BLL.UnitService.GetUnitByUnitId(UnitId); //单位
if (unit != null)
{
this.lUnit.Text = unit.UnitName;
}
}
if (!string.IsNullOrEmpty(UnitWorkId))
{
var unitWork = BLL.UnitWorkService.GetUnitWorkByUnitWorkId(UnitWorkId); //单位工程(装置)
if (unitWork != null)
{
this.lUnitWork.Text = unitWork.UnitWorkName;
}
}
if (!string.IsNullOrEmpty(WorkPostId))
{
var workPost = BLL.WorkPostService.GetWorkPostById(WorkPostId); //岗位
if (workPost != null)
{
this.lWorkPost.Text = workPost.WorkPostName;
}
}
if (!string.IsNullOrEmpty(PlanDate))
{
this.lPlanDate.Text = PlanDate;
}
if (!string.IsNullOrEmpty(Quantity))
{
this.lQuantity.Text = Quantity;
}
if (!string.IsNullOrEmpty(Num))
{
this.lNumber.Text = Num;
}
}
}
private void BindGrid()
{
string strSql =
@"SELECT * from SGManPower_WarningResult where 1=1 ";
List<SqlParameter> listStr = new List<SqlParameter>();
if (!string.IsNullOrEmpty(this.ProjectId))
{
strSql += " AND ProjectId = @ProjectId ";
listStr.Add(new SqlParameter("@ProjectId", this.ProjectId));
}
if (!string.IsNullOrEmpty(this.WarningType))
{
strSql += " AND WarningType = @WarningType ";
listStr.Add(new SqlParameter("@WarningType", this.WarningType));
}
strSql += " ORDER BY UnitId";
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
/// <summary>
/// 右键编辑事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuView_Click(object sender, EventArgs e)
{
this.EditData();
}
/// <summary>
/// 编辑数据方法
/// </summary>
private void EditData()
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请选择一条记录!", MessageBoxIcon.Warning);
return;
}
var result = Funs.DB.SGManPower_WarningResult.FirstOrDefault(x => x.WarningId == Grid1.SelectedRowID);
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("SGWarningDetailsEdit.aspx?projectId={0}&unitId={1}&unitWorkId={2}&workPostId={3}&startTime={4}&endTime={5}", result.ProjectId, result.UnitId, result.UnitWorkId, result.WorkPostId, result.StartDate, result.EndDate, "编辑 - ")));
}
#region
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
BindGrid();
}
/// <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();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
BindGrid();
}
#endregion
#region
/// <summary>
/// 格式化受伤情况
/// </summary>
/// <param name="injury"></param>
/// <returns></returns>
protected string ConvertWorkPostName(object workPostId)
{
string name = string.Empty;
if (workPostId != null)
{
name = BLL.WorkPostService.getWorkPostNameById(workPostId.ToString());
}
return name;
}
protected string ConvertUnitName(object unitId)
{
string name = string.Empty;
if (unitId != null)
{
name = UnitService.GetUnitNameByUnitId(unitId);
}
return name;
}
/// <summary>
/// 格式装置
/// </summary>
/// <param name="injury"></param>
/// <returns></returns>
protected string ConvertUnitWorkName(object unitWorkId)
{
string name = string.Empty;
if (unitWorkId != null)
{
name = BLL.UnitWorkService.GetNameById(unitWorkId.ToString());
}
return name;
}
// 在页面中添加格式化方法
protected string ConvertBiasPercent(object biasValue)
{
if (biasValue != null && decimal.TryParse(biasValue.ToString(), out decimal value))
{
return (value * 100).ToString("F2") + "%";
}
return "0.00%";
}
#endregion
}
}
@@ -33,102 +33,102 @@ namespace FineUIPro.Web.JDGL.SGManPower
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// SimpleForm1 控件。
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form SimpleForm1;
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// lProject 控件。
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lProject;
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// lUnit 控件。
/// lbUnitName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lUnit;
protected global::System.Web.UI.WebControls.Label lbUnitName;
/// <summary>
/// lUnitWork 控件。
/// lbUnitWorkName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lUnitWork;
protected global::System.Web.UI.WebControls.Label lbUnitWorkName;
/// <summary>
/// lWorkPost 控件。
/// lbtfWorkPostName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lWorkPost;
protected global::System.Web.UI.WebControls.Label lbtfWorkPostName;
/// <summary>
/// lPlanDate 控件。
/// ToolbarSeparator1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lPlanDate;
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
/// <summary>
/// lQuantity 控件。
/// ToolbarText1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lQuantity;
protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary>
/// lNumber 控件。
/// ddlPageSize 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lNumber;
protected global::FineUIPro.DropDownList ddlPageSize;
/// <summary>
/// Toolbar1 控件。
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
protected global::FineUIPro.Window Window1;
/// <summary>
/// ToolbarFill1 控件。
/// Menu1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnClose 控件。
/// btnMenuView 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnClose;
protected global::FineUIPro.MenuButton btnMenuView;
}
}
@@ -180,7 +180,7 @@ namespace FineUIPro.Web.JDGL.SGManPower
listStr.Add(new SqlParameter("@EndTime", Convert.ToDateTime(this.txtEndTime.Text)));
}
strSql += " ORDER BY p.PlanDate, p.UnitId, p.UnitWorkId, p.WorkPostId";
strSql += " ORDER BY p.PlanDate desc, p.UnitId, p.UnitWorkId, p.WorkPostId";
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);