危险源管理模块接入真实数据库:新增危大/超危工程、风险控制清单、安全验收、安全巡检、临时用电管理(含前端页面、BLL/API服务、WebAPI控制器、Model项、SQL脚本与接口文档)

排除 CreateModel.bat(含明文sa密码与本地服务器名,未入库)
This commit is contained in:
2026-08-24 11:07:59 +08:00
parent 4925a6c4b0
commit 55944d732a
323 changed files with 9806 additions and 922 deletions
@@ -0,0 +1,157 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="HazardProject.aspx.cs" Inherits="FineUIPro.Web.HSSE.HazardousMG.HazardProject" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>危大、超危清单</title>
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<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" EnableColumnLines="true" DataKeyNames="HazardProjectId"
DataIDField="HazardProjectId" AllowSorting="true"
SortField="ProjectName" SortDirection="ASC" OnSort="Grid1_Sort" AllowPaging="true"
IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange"
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick"
EnableTextSelection="True">
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:TextBox runat="server" Label="分部分项工程" ID="txtProjectName" EmptyText="输入查询条件"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="240px" LabelAlign="right"
LabelWidth="110px">
</f:TextBox>
<f:DropDownList ID="ddlRiskLevel" runat="server" Label="风险等级" LabelAlign="right" LabelWidth="90px"
Width="200px" AutoPostBack="true" OnSelectedIndexChanged="TextBox_TextChanged">
<f:ListItem Text="全部" Value="" />
<f:ListItem Text="危大工程" Value="危大工程" />
<f:ListItem Text="超危工程" Value="超危工程" />
</f:DropDownList>
<f:DatePicker ID="dpStartDateFrom" runat="server" EmptyText="开工时间起" Width="130px"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged">
</f:DatePicker>
<f:DatePicker ID="dpStartDateTo" runat="server" EmptyText="开工时间止" Width="130px"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged">
</f:DatePicker>
<f:DatePicker ID="dpEndDateFrom" runat="server" EmptyText="结束时间起" Width="130px"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged">
</f:DatePicker>
<f:DatePicker ID="dpEndDateTo" runat="server" EmptyText="结束时间止" Width="130px"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged">
</f:DatePicker>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" ToolTip="导出" Icon="FolderUp"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
<f:Button ID="btnImport" runat="server" ToolTip="导入" Icon="ApplicationGet" OnClick="btnImport_Click">
</f:Button>
<f:Button ID="btnNew" ToolTip="新增" Icon="Add" runat="server" OnClick="btnNew_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfNumber" Width="50px" HeaderText="序号" HeaderTextAlign="Center"
TextAlign="Center">
<ItemTemplate>
<asp:Label ID="lblNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="200px" ColumnID="ProjectName" DataField="ProjectName"
SortField="ProjectName" FieldType="String" HeaderText="分部分项工程" HeaderTextAlign="Center"
TextAlign="Left" ExpandUnusedSpace="true">
</f:RenderField>
<f:RenderField Width="200px" ColumnID="WorkContent" DataField="WorkContent"
SortField="WorkContent" FieldType="String" HeaderText="施工内容" HeaderTextAlign="Center"
TextAlign="Left">
</f:RenderField>
<f:RenderField Width="90px" ColumnID="RiskLevel" DataField="RiskLevel"
SortField="RiskLevel" FieldType="String" HeaderText="风险等级" HeaderTextAlign="Center"
TextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="StartDate" DataField="StartDate"
SortField="StartDate" FieldType="Date" Renderer="Date" HeaderText="开工时间" HeaderTextAlign="Center"
TextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="EndDate" DataField="EndDate"
SortField="EndDate" FieldType="Date" Renderer="Date" HeaderText="结束时间" HeaderTextAlign="Center"
TextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="ManagerMan" DataField="ManagerMan"
SortField="ManagerMan" FieldType="String" HeaderText="现场负责人" HeaderTextAlign="Center"
TextAlign="Center">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="Remark" DataField="Remark"
SortField="Remark" FieldType="String" HeaderText="备注" HeaderTextAlign="Center"
TextAlign="Left">
</f:RenderField>
</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:ListItem Text="10" Value="10" />
<f:ListItem Text="15" Value="15" />
<f:ListItem Text="20" Value="20" />
<f:ListItem Text="25" Value="25" />
<f:ListItem Text="所有行" Value="100000" />
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="编辑" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="true" runat="server" IsModal="true" Width="860px"
Height="560px">
</f:Window>
<f:Window ID="Window2" Title="导入危大、超危工程" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="true" runat="server" IsModal="true" Width="700px"
Height="500px" OnClose="Window2_Close">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<f:MenuButton ID="btnMenuEdit" OnClick="btnMenuEdit_Click" Icon="TableEdit" EnablePostBack="true"
runat="server" Text="编辑">
</f:MenuButton>
<f:MenuButton ID="btnQR" OnClick="btnQR_Click" EnablePostBack="true"
runat="server" Text="公示牌二维码" Icon="Shading">
</f:MenuButton>
<f:MenuButton ID="btnMenuSafetyPatrol" OnClick="btnMenuSafetyPatrol_Click" EnablePostBack="true"
Icon="Find" runat="server" Text="安全巡检">
</f:MenuButton>
<f:MenuButton ID="btnMenuSafetyAcceptance" OnClick="btnMenuSafetyAcceptance_Click" EnablePostBack="true"
Icon="Accept" runat="server" Text="安全防护验收">
</f:MenuButton>
<f:MenuButton ID="btnMenuDelete" OnClick="btnMenuDelete_Click" EnablePostBack="true"
Icon="Delete" ConfirmText="删除选中行?" ConfirmTarget="Parent" runat="server"
Text="删除">
</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>
@@ -0,0 +1,341 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using NPOI.SS.UserModel;
namespace FineUIPro.Web.HSSE.HazardousMG
{
/// <summary>
/// 危大、超危工程清单页面
/// </summary>
public partial class HazardProject : PageBase
{
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
this.BindGrid();
}
}
/// <summary>
/// 新增按钮事件
/// </summary>
protected void btnNew_Click(object sender, EventArgs e)
{
if (this.CurrUser == null || string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{
Alert.ShowInTop("请先选择项目!", MessageBoxIcon.Warning);
return;
}
PageContext.RegisterStartupScript(Window1.GetShowReference("HazardProjectEdit.aspx"));
}
#endregion
#region
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
if (this.CurrUser == null || string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{
Alert.ShowInTop("请先登录或选择项目!", MessageBoxIcon.Warning);
return;
}
List<Model.HSSE_HazardProject> list = this.GetFilteredList();
Grid1.RecordCount = list.Count;
var table = this.GetPagedDataTable(Grid1, list);
Grid1.DataSource = table;
Grid1.DataBind();
}
/// <summary>
/// 获取按查询条件过滤后的清单列表
/// </summary>
private List<Model.HSSE_HazardProject> GetFilteredList()
{
List<Model.HSSE_HazardProject> list = BLL.HazardProjectService.GetList(this.CurrUser.LoginProjectId);
////查询条件过滤
string name = this.txtProjectName.Text.Trim();
if (!string.IsNullOrEmpty(name))
{
list = list.Where(x => x.ProjectName.Contains(name)).ToList();
}
if (!string.IsNullOrEmpty(this.ddlRiskLevel.SelectedValue))
{
list = list.Where(x => x.RiskLevel == this.ddlRiskLevel.SelectedValue).ToList();
}
////开工时间范围过滤
if (this.dpStartDateFrom.SelectedDate.HasValue)
{
DateTime startFrom = this.dpStartDateFrom.SelectedDate.Value;
list = list.Where(x => x.StartDate.HasValue && x.StartDate.Value >= startFrom).ToList();
}
if (this.dpStartDateTo.SelectedDate.HasValue)
{
DateTime startTo = this.dpStartDateTo.SelectedDate.Value;
list = list.Where(x => x.StartDate.HasValue && x.StartDate.Value <= startTo).ToList();
}
////结束时间范围过滤
if (this.dpEndDateFrom.SelectedDate.HasValue)
{
DateTime endFrom = this.dpEndDateFrom.SelectedDate.Value;
list = list.Where(x => x.EndDate.HasValue && x.EndDate.Value >= endFrom).ToList();
}
if (this.dpEndDateTo.SelectedDate.HasValue)
{
DateTime endTo = this.dpEndDateTo.SelectedDate.Value;
list = list.Where(x => x.EndDate.HasValue && x.EndDate.Value <= endTo).ToList();
}
return list;
}
/// <summary>
/// 分页事件
/// </summary>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
this.BindGrid();
}
/// <summary>
/// 每页记录数下拉事件
/// </summary>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
this.Grid1.PageSize = Convert.ToInt32(this.ddlPageSize.SelectedValue);
this.BindGrid();
}
/// <summary>
/// 排序事件
/// </summary>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 查询
/// </summary>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 导出
/// </summary>
protected void btnOut_Click(object sender, EventArgs e)
{
List<Model.HSSE_HazardProject> list = this.GetFilteredList();
string[] cols = { "序号", "分部分项工程", "施工内容", "风险等级", "开工时间", "结束时间", "现场负责人", "备注" };
short[] widths = { 8, 30, 40, 16, 16, 16, 16, 30 };
string rootPath = Server.MapPath("~/");
string fullPath = rootPath + BLL.Const.ExcelUrl;
if (!Directory.Exists(fullPath))
{
Directory.CreateDirectory(fullPath);
}
string fileName = "危大超危工程清单" + BLL.Funs.GetNewFileName() + ".xls";
string filePath = fullPath + fileName;
BLL.Common.NPOIExcel excel = new BLL.Common.NPOIExcel();
////表头样式:白字加粗、蓝底、带边框
IFont headerFont = excel.CreateFont();
headerFont.Boldweight = 700;
headerFont.Color = BLL.Common.NPOIColor.WHITE;
ICellStyle headerStyle = excel.CreateCellStyle();
headerStyle.SetFont(headerFont);
headerStyle.FillForegroundColor = BLL.Common.NPOIColor.ROYAL_BLUE;
headerStyle.FillPattern = FillPattern.SolidForeground;
headerStyle.BorderTop = BorderStyle.Thin;
headerStyle.BorderBottom = BorderStyle.Thin;
headerStyle.BorderLeft = BorderStyle.Thin;
headerStyle.BorderRight = BorderStyle.Thin;
////数据样式:带边框
ICellStyle dataStyle = excel.CreateCellStyle();
dataStyle.BorderTop = BorderStyle.Thin;
dataStyle.BorderBottom = BorderStyle.Thin;
dataStyle.BorderLeft = BorderStyle.Thin;
dataStyle.BorderRight = BorderStyle.Thin;
for (int i = 0; i < cols.Length; i++)
{
excel.SetValue(0, i, cols[i]);
excel.SetStyle(0, i, headerStyle);
excel.SetColumnWidth(i, widths[i]);
}
int rowIndex = 1;
foreach (Model.HSSE_HazardProject item in list)
{
excel.SetValue(rowIndex, 0, rowIndex.ToString());
excel.SetValue(rowIndex, 1, item.ProjectName ?? string.Empty);
excel.SetValue(rowIndex, 2, item.WorkContent ?? string.Empty);
excel.SetValue(rowIndex, 3, item.RiskLevel ?? string.Empty);
excel.SetValue(rowIndex, 4, item.StartDate.HasValue ? item.StartDate.Value.ToString("yyyy-MM-dd") : string.Empty);
excel.SetValue(rowIndex, 5, item.EndDate.HasValue ? item.EndDate.Value.ToString("yyyy-MM-dd") : string.Empty);
excel.SetValue(rowIndex, 6, item.ManagerMan ?? string.Empty);
excel.SetValue(rowIndex, 7, item.Remark ?? string.Empty);
for (int i = 0; i < cols.Length; i++)
{
excel.SetStyle(rowIndex, i, dataStyle);
}
rowIndex++;
}
excel.Save(filePath);
FileInfo info = new FileInfo(filePath);
long fileSize = info.Length;
Response.Clear();
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.AddHeader("Content-Length", fileSize.ToString());
Response.TransmitFile(filePath, 0, fileSize);
Response.Flush();
Response.End();
}
/// <summary>
/// 导入
/// </summary>
protected void btnImport_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Window2.GetShowReference("HazardProjectDataIn.aspx"));
}
/// <summary>
/// 导入窗口关闭事件
/// </summary>
protected void Window2_Close(object sender, WindowCloseEventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 双击行编辑事件
/// </summary>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
this.EditData();
}
/// <summary>
/// 右键菜单编辑事件
/// </summary>
protected void btnMenuEdit_Click(object sender, EventArgs e)
{
this.EditData();
}
/// <summary>
/// 编辑数据方法
/// </summary>
private void EditData()
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
string id = Grid1.SelectedRowID;
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("HazardProjectEdit.aspx?HazardProjectId={0}", id)));
}
#endregion
#region
/// <summary>
/// 右键菜单删除事件
/// </summary>
protected void btnMenuDelete_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length > 0)
{
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
BLL.HazardProjectService.Delete(rowID);
}
this.BindGrid();
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
}
}
#endregion
#region
/// <summary>
/// 右键菜单查看该危大、超危工程关联的安全巡检记录
/// </summary>
protected void btnMenuSafetyPatrol_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请选择一条记录!", MessageBoxIcon.Warning);
return;
}
string id = Grid1.SelectedRowID;
PageContext.RegisterStartupScript(String.Format("window.open('SafetyPatrol.aspx?HazardProjectId={0}', '_blank');", id));
}
/// <summary>
/// 右键菜单查看该危大、超危工程关联的安全防护验收记录
/// </summary>
protected void btnMenuSafetyAcceptance_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请选择一条记录!", MessageBoxIcon.Warning);
return;
}
string id = Grid1.SelectedRowID;
PageContext.RegisterStartupScript(String.Format("window.open('SafetyAcceptance.aspx?HazardProjectId={0}', '_blank');", id));
}
#endregion
#region
/// <summary>
/// 生成现场公示牌二维码(安全员扫码后进入巡检)
/// </summary>
protected void btnQR_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请选择一条记录!", MessageBoxIcon.Warning);
return;
}
string id = Grid1.SelectedRowID;
Model.HSSE_HazardProject info = BLL.HazardProjectService.GetById(id);
if (info != null)
{
////二维码内容:危大工程标识(编号),接入数据库后替换为巡检页面URL
string strValue = "hazard$hid=" + info.HazardProjectId;
string urlName = "hazard$hid=" + info.HazardProjectId;
string title = "危大工程公示牌:" + info.ProjectName;
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("~/Controls/ShowQRImage.aspx?strValue={0}&urlName={1}&title={2}", strValue, urlName, System.Web.HttpUtility.UrlEncode(title)), "公示牌二维码", 340, 400));
}
}
#endregion
}
}
@@ -0,0 +1,242 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.HSSE.HazardousMG
{
public partial class HazardProject
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// txtProjectName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtProjectName;
/// <summary>
/// ddlRiskLevel 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlRiskLevel;
/// <summary>
/// dpStartDateFrom 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker dpStartDateFrom;
/// <summary>
/// dpStartDateTo 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker dpStartDateTo;
/// <summary>
/// dpEndDateFrom 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker dpEndDateFrom;
/// <summary>
/// dpEndDateTo 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker dpEndDateTo;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnOut 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut;
/// <summary>
/// btnImport 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnImport;
/// <summary>
/// btnNew 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnNew;
/// <summary>
/// lblNumber 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblNumber;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
/// <summary>
/// ToolbarText1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary>
/// ddlPageSize 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// Window2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window2;
/// <summary>
/// Menu1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuEdit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuEdit;
/// <summary>
/// btnQR 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnQR;
/// <summary>
/// btnMenuDelete 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuDelete;
}
}
@@ -0,0 +1,34 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="HazardProjectDataIn.aspx.cs" Inherits="FineUIPro.Web.HSSE.HazardousMG.HazardProjectDataIn" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>导入危大、超危工程</title>
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" Margin="2px" BodyPadding="2px" ShowBorder="false"
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Right">
<Items>
<f:FileUpload ID="FileExcel" runat="server" Label="数据文件" EmptyText="请上传Excel格式文件" Width="350px" LabelWidth="90px" LabelAlign="Right"></f:FileUpload>
<f:ToolbarFill ID="ToolbarFill1" runat="server"></f:ToolbarFill>
<f:Button ID="btnTemplate" runat="server" Icon="DiskDownload" Text="模板下载" EnableAjax="false" DisableControlBeforePostBack="false" OnClick="btnTemplate_Click"></f:Button>
<f:Button ID="btnImport" runat="server" Text="导入" ToolTip="导入" Icon="SystemSave" OnClick="btnImport_Click"></f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Items>
<f:TextArea ID="txtError" runat="server" Label="错误信息" Readonly="true" Hidden="true"
BoxFlex="1" LabelAlign="Right" LabelWidth="90px">
</f:TextArea>
</Items>
</f:Panel>
</form>
</body>
</html>
@@ -0,0 +1,210 @@
using System;
using System.Data;
using System.IO;
using NPOI.SS.UserModel;
namespace FineUIPro.Web.HSSE.HazardousMG
{
/// <summary>
/// 危大、超危工程导入页面
/// </summary>
public partial class HazardProjectDataIn : PageBase
{
/// <summary>
/// 上传预设的虚拟路径
/// </summary>
private string initPath = BLL.Const.ExcelUrl;
/// <summary>
/// 加载页面
/// </summary>
protected void Page_Load(object sender, EventArgs e)
{
}
#region
/// <summary>
/// 下载导入模板
/// </summary>
protected void btnTemplate_Click(object sender, EventArgs e)
{
string fileName = "危大超危工程导入模板.xls";
string rootPath = Server.MapPath("~/");
string fullPath = rootPath + initPath;
if (!Directory.Exists(fullPath))
{
Directory.CreateDirectory(fullPath);
}
string filePath = fullPath + fileName;
BLL.Common.NPOIExcel excel = new BLL.Common.NPOIExcel();
string[] cols = { "分部分项工程", "施工内容", "风险等级", "开工时间", "结束时间", "现场负责人", "备注" };
short[] widths = { 30, 40, 16, 16, 16, 16, 30 };
////表头样式:白字加粗、蓝底、带边框
IFont headerFont = excel.CreateFont();
headerFont.Boldweight = 700;
headerFont.Color = BLL.Common.NPOIColor.WHITE;
ICellStyle headerStyle = excel.CreateCellStyle();
headerStyle.SetFont(headerFont);
headerStyle.FillForegroundColor = BLL.Common.NPOIColor.ROYAL_BLUE;
headerStyle.FillPattern = FillPattern.SolidForeground;
headerStyle.BorderTop = BorderStyle.Thin;
headerStyle.BorderBottom = BorderStyle.Thin;
headerStyle.BorderLeft = BorderStyle.Thin;
headerStyle.BorderRight = BorderStyle.Thin;
for (int i = 0; i < cols.Length; i++)
{
excel.SetValue(0, i, cols[i]);
excel.SetStyle(0, i, headerStyle);
excel.SetColumnWidth(i, widths[i]);
}
excel.SetRowHeight(0, 22);
////开工时间、结束时间列设为日期格式(Excel 中显示为日期)
short dateFormat = excel.ActiveSheet.Workbook.CreateDataFormat().GetFormat("yyyy-mm-dd");
ICellStyle dateStyle = excel.CreateCellStyle();
dateStyle.DataFormat = dateFormat;
excel.ActiveSheet.SetDefaultColumnStyle(3, dateStyle);
excel.ActiveSheet.SetDefaultColumnStyle(4, dateStyle);
////风险等级下拉(第3列,数据行 1-500)
excel.SetValueRange(1, 500, 2, 2, new string[] { "危大工程", "超危工程" }, "请选择:危大工程 或 超危工程");
excel.Save(filePath);
FileInfo info = new FileInfo(filePath);
long fileSize = info.Length;
Response.Clear();
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.AddHeader("Content-Length", fileSize.ToString());
Response.TransmitFile(filePath, 0, fileSize);
Response.Flush();
Response.End();
}
#endregion
#region
/// <summary>
/// 导入
/// </summary>
protected void btnImport_Click(object sender, EventArgs e)
{
try
{
this.txtError.Hidden = true;
this.txtError.Text = string.Empty;
if (string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{
Alert.ShowInTop("请先选择项目!", MessageBoxIcon.Warning);
return;
}
if (this.FileExcel.HasFile == false)
{
Alert.ShowInTop("请您选择Excel文件!", MessageBoxIcon.Warning);
return;
}
string ext = Path.GetExtension(FileExcel.FileName).ToLower();
if (ext != ".xls")
{
Alert.ShowInTop("请选择.xls格式的Excel文件!", MessageBoxIcon.Warning);
return;
}
string rootPath = Server.MapPath("~/");
string fullPath = rootPath + initPath;
if (!Directory.Exists(fullPath))
{
Directory.CreateDirectory(fullPath);
}
string filePath = fullPath + BLL.Funs.GetNewFileName() + ext;
if (FileExcel.PostedFile == null || FileExcel.PostedFile.ContentLength == 0)
{
Alert.ShowInTop("文件上传失败,请重新选择文件!", MessageBoxIcon.Warning);
return;
}
FileExcel.PostedFile.SaveAs(filePath);
DataTable dt = BLL.Common.NPOIHelper.ExcelToDataTable1(filePath);
if (dt == null || dt.Rows.Count == 0)
{
Alert.ShowInTop("导入数据为空!", MessageBoxIcon.Warning);
return;
}
int success = 0;
foreach (DataRow row in dt.Rows)
{
string projectName = GetCell(row, 0);
if (string.IsNullOrEmpty(projectName))
{
continue;
}
Model.HSSE_HazardProject info = new Model.HSSE_HazardProject
{
HazardProjectId = Guid.NewGuid().ToString(),
ProjectId = this.CurrUser.LoginProjectId,
ProjectCode = BLL.HazardProjectService.GetNewCode(),
ProjectName = projectName,
WorkContent = GetCell(row, 1),
RiskLevel = GetCell(row, 2),
StartDate = ParseDate(GetCell(row, 3)),
EndDate = ParseDate(GetCell(row, 4)),
ManagerMan = GetCell(row, 5),
Remark = GetCell(row, 6)
};
BLL.HazardProjectService.Add(info);
success++;
}
ShowNotify("导入成功,共导入 " + success + " 条数据!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
catch (Exception ex)
{
this.txtError.Hidden = false;
this.txtError.Text = ex.ToString();
}
}
/// <summary>
/// 安全获取单元格值
/// </summary>
private string GetCell(DataRow row, int index)
{
if (row.Table.Columns.Count > index && row[index] != null && row[index] != DBNull.Value)
{
return row[index].ToString().Trim();
}
return string.Empty;
}
/// <summary>
/// 解析日期(兼容文本日期与Excel数值日期)
/// </summary>
private DateTime? ParseDate(string val)
{
if (string.IsNullOrEmpty(val))
{
return null;
}
DateTime dt;
if (DateTime.TryParse(val, out dt))
{
return dt;
}
double oa;
if (double.TryParse(val, out oa) && oa > 0)
{
try
{
return DateTime.FromOADate(oa);
}
catch (Exception)
{
}
}
return null;
}
#endregion
}
}
@@ -0,0 +1,62 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.HSSE.HazardousMG
{
public partial class HazardProjectDataIn
{
/// <summary>
/// form1 控件。
/// </summary>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// Toolbar1 控件。
/// </summary>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// FileExcel 控件。
/// </summary>
protected global::FineUIPro.FileUpload FileExcel;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnTemplate 控件。
/// </summary>
protected global::FineUIPro.Button btnTemplate;
/// <summary>
/// btnImport 控件。
/// </summary>
protected global::FineUIPro.Button btnImport;
/// <summary>
/// txtError 控件。
/// </summary>
protected global::FineUIPro.TextArea txtError;
}
}
@@ -0,0 +1,73 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="HazardProjectEdit.aspx.cs" Inherits="FineUIPro.Web.HSSE.HazardousMG.HazardProjectEdit" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>编辑危大、超危工程</title>
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" runat="server" AutoSizePanelID="SimpleForm1"/>
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" Title="危大、超危工程信息" AutoScroll="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Rows>
<f:FormRow>
<Items>
<f:TextBox ID="txtProjectName" runat="server" Label="分部分项工程" LabelAlign="Right"
MaxLength="100" Required="true" ShowRedStar="true" LabelWidth="110px">
</f:TextBox>
<f:TextBox ID="txtWorkContent" runat="server" Label="施工内容" LabelAlign="Right"
MaxLength="200" LabelWidth="110px">
</f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DropDownList ID="ddlRiskLevel" runat="server" Label="风险等级" LabelAlign="Right"
LabelWidth="110px">
<f:ListItem Text="危大工程" Value="危大工程" />
<f:ListItem Text="超危工程" Value="超危工程" />
</f:DropDownList>
<f:DatePicker ID="dpStartDate" runat="server" Label="开工时间" LabelAlign="Right"
LabelWidth="110px" DateFormatString="yyyy-MM-dd">
</f:DatePicker>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DatePicker ID="dpEndDate" runat="server" Label="结束时间" LabelAlign="Right"
LabelWidth="110px" DateFormatString="yyyy-MM-dd">
</f:DatePicker>
<f:TextBox ID="txtManagerMan" runat="server" Label="现场负责人" LabelAlign="Right"
MaxLength="50" LabelWidth="110px">
</f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtRemark" runat="server" Label="备注" LabelAlign="Right"
MaxLength="500" LabelWidth="110px">
</f:TextBox>
</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="btnSave" Icon="SystemSave" runat="server" ToolTip="保存" ValidateForms="SimpleForm1"
OnClick="btnSave_Click">
</f:Button>
<f:Button ID="btnClose" EnablePostBack="false" ToolTip="关闭" runat="server" Icon="SystemClose">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</f:Form>
</form>
</body>
</html>
@@ -0,0 +1,113 @@
using System;
using System.Collections.Generic;
using System.Linq;
namespace FineUIPro.Web.HSSE.HazardousMG
{
/// <summary>
/// 编辑危大、超危工程页面
/// </summary>
public partial class HazardProjectEdit : PageBase
{
#region
/// <summary>
/// 主键
/// </summary>
private string HazardProjectId
{
get
{
return (string)ViewState["HazardProjectId"];
}
set
{
ViewState["HazardProjectId"] = value;
}
}
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.btnClose.OnClientClick = ActiveWindow.GetHideReference();
this.HazardProjectId = Request.Params["HazardProjectId"];
if (!string.IsNullOrEmpty(this.HazardProjectId))
{
////编辑:回填数据
Model.HSSE_HazardProject info = BLL.HazardProjectService.GetById(this.HazardProjectId);
if (info != null)
{
this.txtProjectName.Text = info.ProjectName;
this.txtWorkContent.Text = info.WorkContent;
this.ddlRiskLevel.SelectedValue = info.RiskLevel;
if (info.StartDate.HasValue)
{
this.dpStartDate.SelectedDate = info.StartDate.Value;
}
if (info.EndDate.HasValue)
{
this.dpEndDate.SelectedDate = info.EndDate.Value;
}
this.txtManagerMan.Text = info.ManagerMan;
this.txtRemark.Text = info.Remark;
}
}
}
}
#endregion
#region
/// <summary>
/// 保存按钮事件
/// </summary>
protected void btnSave_Click(object sender, EventArgs e)
{
if (this.CurrUser == null || string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{
Alert.ShowInTop("请先选择项目!", MessageBoxIcon.Warning);
return;
}
if (!string.IsNullOrEmpty(this.HazardProjectId))
{
////编辑:更新原记录(仅更新表单字段,保留编号等内部字段)
Model.HSSE_HazardProject info = BLL.HazardProjectService.GetById(this.HazardProjectId);
if (info != null)
{
info.ProjectName = this.txtProjectName.Text.Trim();
info.WorkContent = this.txtWorkContent.Text.Trim();
info.RiskLevel = this.ddlRiskLevel.SelectedValue;
info.StartDate = this.dpStartDate.SelectedDate;
info.EndDate = this.dpEndDate.SelectedDate;
info.ManagerMan = this.txtManagerMan.Text.Trim();
info.Remark = this.txtRemark.Text.Trim();
BLL.HazardProjectService.Update(info);
}
}
else
{
////新增:插入记录,编号自动生成
Model.HSSE_HazardProject info = new Model.HSSE_HazardProject
{
HazardProjectId = Guid.NewGuid().ToString(),
ProjectId = this.CurrUser.LoginProjectId,
ProjectCode = BLL.HazardProjectService.GetNewCode(),
ProjectName = this.txtProjectName.Text.Trim(),
WorkContent = this.txtWorkContent.Text.Trim(),
RiskLevel = this.ddlRiskLevel.SelectedValue,
StartDate = this.dpStartDate.SelectedDate,
EndDate = this.dpEndDate.SelectedDate,
ManagerMan = this.txtManagerMan.Text.Trim(),
Remark = this.txtRemark.Text.Trim()
};
BLL.HazardProjectService.Add(info);
}
PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
}
#endregion
}
}
@@ -0,0 +1,87 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.HSSE.HazardousMG
{
public partial class HazardProjectEdit
{
/// <summary>
/// form1 控件。
/// </summary>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
protected global::FineUIPro.Form SimpleForm1;
/// <summary>
/// txtProjectName 控件。
/// </summary>
protected global::FineUIPro.TextBox txtProjectName;
/// <summary>
/// txtWorkContent 控件。
/// </summary>
protected global::FineUIPro.TextBox txtWorkContent;
/// <summary>
/// ddlRiskLevel 控件。
/// </summary>
protected global::FineUIPro.DropDownList ddlRiskLevel;
/// <summary>
/// dpStartDate 控件。
/// </summary>
protected global::FineUIPro.DatePicker dpStartDate;
/// <summary>
/// dpEndDate 控件。
/// </summary>
protected global::FineUIPro.DatePicker dpEndDate;
/// <summary>
/// txtManagerMan 控件。
/// </summary>
protected global::FineUIPro.TextBox txtManagerMan;
/// <summary>
/// txtRemark 控件。
/// </summary>
protected global::FineUIPro.TextBox txtRemark;
/// <summary>
/// Toolbar1 控件。
/// </summary>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnSave 控件。
/// </summary>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// btnClose 控件。
/// </summary>
protected global::FineUIPro.Button btnClose;
}
}
@@ -0,0 +1,132 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="RiskControlList.aspx.cs" Inherits="FineUIPro.Web.HSSE.HazardousMG.RiskControlList" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>风险分级管控清单</title>
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<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" EnableColumnLines="true" DataKeyNames="RiskId"
DataIDField="RiskId" AllowSorting="true"
SortField="RiskName" SortDirection="ASC" OnSort="Grid1_Sort" AllowPaging="true"
IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange"
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick"
OnRowCommand="Grid1_RowCommand" EnableTextSelection="True">
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:TextBox runat="server" Label="风险点" ID="txtRiskName" EmptyText="输入查询条件"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="220px" LabelAlign="right"
LabelWidth="80px">
</f:TextBox>
<f:DropDownList ID="ddlRiskLevel" runat="server" Label="等级" LabelAlign="right" LabelWidth="50px"
Width="140px" AutoPostBack="true" OnSelectedIndexChanged="TextBox_TextChanged">
<f:ListItem Text="全部" Value="" />
<f:ListItem Text="重大" Value="重大" />
<f:ListItem Text="较大" Value="较大" />
<f:ListItem Text="一般" Value="一般" />
<f:ListItem Text="低" Value="低" />
</f:DropDownList>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<f:Button ID="btnNew" ToolTip="新增" Icon="Add" runat="server" OnClick="btnNew_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfNumber" Width="50px" HeaderText="序号" HeaderTextAlign="Center"
TextAlign="Center">
<ItemTemplate>
<asp:Label ID="lblNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="150px" ColumnID="RiskName" DataField="RiskName"
SortField="RiskName" FieldType="String" HeaderText="风险点" HeaderTextAlign="Center"
TextAlign="Left">
</f:RenderField>
<f:RenderField Width="80px" ColumnID="RiskLevel" DataField="RiskLevel"
SortField="RiskLevel" FieldType="String" HeaderText="风险等级" HeaderTextAlign="Center"
TextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="RiskType" DataField="RiskType"
SortField="RiskType" FieldType="String" HeaderText="风险类别" HeaderTextAlign="Center"
TextAlign="Center">
</f:RenderField>
<f:RenderField Width="260px" ColumnID="ControlMeasure" DataField="ControlMeasure"
SortField="ControlMeasure" FieldType="String" HeaderText="管控措施" HeaderTextAlign="Center"
TextAlign="Left" ExpandUnusedSpace="true">
</f:RenderField>
<f:RenderField Width="140px" ColumnID="ManagerUnit" DataField="ManagerUnit"
SortField="ManagerUnit" FieldType="String" HeaderText="责任单位" HeaderTextAlign="Center"
TextAlign="Left">
</f:RenderField>
<f:RenderField Width="80px" ColumnID="ManagerMan" DataField="ManagerMan"
SortField="ManagerMan" FieldType="String" HeaderText="责任人" HeaderTextAlign="Center"
TextAlign="Center">
</f:RenderField>
<f:LinkButtonField Width="80px" ColumnID="UploadFile" CommandName="attchUrl"
HeaderText="附件" HeaderTextAlign="Center" TextAlign="Center" Text="附件">
</f:LinkButtonField>
</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:ListItem Text="10" Value="10" />
<f:ListItem Text="15" Value="15" />
<f:ListItem Text="20" Value="20" />
<f:ListItem Text="25" Value="25" />
<f:ListItem Text="所有行" Value="100000" />
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="编辑" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="true" runat="server" IsModal="true" Width="760px"
Height="560px" OnClose="Window1_Close">
</f:Window>
<f:Window ID="WindowAtt" Title="附件" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="700px"
Height="500px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<f:MenuButton ID="btnMenuEdit" OnClick="btnMenuEdit_Click" Icon="TableEdit" EnablePostBack="true"
runat="server" Text="编辑">
</f:MenuButton>
<f:MenuButton ID="btnMenuDelete" OnClick="btnMenuDelete_Click" EnablePostBack="true"
Icon="Delete" ConfirmText="删除选中行?" ConfirmTarget="Parent" runat="server"
Text="删除">
</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>
@@ -0,0 +1,176 @@
using System;
using System.Collections.Generic;
using System.Linq;
namespace FineUIPro.Web.HSSE.HazardousMG
{
/// <summary>
/// 风险分级管控清单页面
/// </summary>
public partial class RiskControlList : PageBase
{
#region
/// <summary>
/// 加载页面
/// </summary>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
this.BindGrid();
}
}
/// <summary>
/// 新增按钮事件
/// </summary>
protected void btnNew_Click(object sender, EventArgs e)
{
if (this.CurrUser == null || string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{
Alert.ShowInTop("请先选择项目!", MessageBoxIcon.Warning);
return;
}
PageContext.RegisterStartupScript(Window1.GetShowReference("RiskControlListEdit.aspx"));
}
#endregion
#region
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
if (this.CurrUser == null || string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{
Alert.ShowInTop("请先登录或选择项目!", MessageBoxIcon.Warning);
return;
}
List<Model.HSSE_RiskControlList> list = BLL.RiskControlListService.GetList(this.CurrUser.LoginProjectId);
////查询条件过滤
string name = this.txtRiskName.Text.Trim();
if (!string.IsNullOrEmpty(name))
{
list = list.Where(x => x.RiskName.Contains(name)).ToList();
}
if (!string.IsNullOrEmpty(this.ddlRiskLevel.SelectedValue))
{
list = list.Where(x => x.RiskLevel == this.ddlRiskLevel.SelectedValue).ToList();
}
Grid1.RecordCount = list.Count;
var table = this.GetPagedDataTable(Grid1, list);
Grid1.DataSource = table;
Grid1.DataBind();
}
/// <summary>
/// 分页事件
/// </summary>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
this.BindGrid();
}
/// <summary>
/// 每页记录数下拉事件
/// </summary>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
this.Grid1.PageSize = Convert.ToInt32(this.ddlPageSize.SelectedValue);
this.BindGrid();
}
/// <summary>
/// 排序事件
/// </summary>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 查询
/// </summary>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 双击行编辑事件
/// </summary>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
this.EditData();
}
/// <summary>
/// 右键菜单编辑事件
/// </summary>
protected void btnMenuEdit_Click(object sender, EventArgs e)
{
this.EditData();
}
/// <summary>
/// 编辑数据方法
/// </summary>
private void EditData()
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
string id = Grid1.SelectedRowID;
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("RiskControlListEdit.aspx?RiskId={0}", id)));
}
#endregion
#region
/// <summary>
/// 右键菜单删除事件
/// </summary>
protected void btnMenuDelete_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length > 0)
{
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
BLL.RiskControlListService.Delete(rowID);
}
this.BindGrid();
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
}
}
/// <summary>
/// 编辑窗口关闭事件
/// </summary>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 附件查看(弹出附件列表窗口)
/// </summary>
protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
{
if (e.CommandName == "attchUrl")
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/RiskControl&menuId={2}",
-1, e.RowID, BLL.Const.ProjectRiskControlMenuId)));
}
}
#endregion
}
}
@@ -0,0 +1,102 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.HSSE.HazardousMG
{
public partial class RiskControlList
{
/// <summary>
/// form1 控件。
/// </summary>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// Grid1 控件。
/// </summary>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar1 控件。
/// </summary>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// txtRiskName 控件。
/// </summary>
protected global::FineUIPro.TextBox txtRiskName;
/// <summary>
/// ddlRiskLevel 控件。
/// </summary>
protected global::FineUIPro.DropDownList ddlRiskLevel;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnNew 控件。
/// </summary>
protected global::FineUIPro.Button btnNew;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
/// <summary>
/// ToolbarText1 控件。
/// </summary>
protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary>
/// ddlPageSize 控件。
/// </summary>
protected global::FineUIPro.DropDownList ddlPageSize;
/// <summary>
/// Window1 控件。
/// </summary>
protected global::FineUIPro.Window Window1;
/// <summary>
/// WindowAtt 控件。
/// </summary>
protected global::FineUIPro.Window WindowAtt;
/// <summary>
/// Menu1 控件。
/// </summary>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuEdit 控件。
/// </summary>
protected global::FineUIPro.MenuButton btnMenuEdit;
/// <summary>
/// btnMenuDelete 控件。
/// </summary>
protected global::FineUIPro.MenuButton btnMenuDelete;
}
}
@@ -0,0 +1,96 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="RiskControlListEdit.aspx.cs" Inherits="FineUIPro.Web.HSSE.HazardousMG.RiskControlListEdit" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>编辑风险分级管控清单</title>
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" runat="server" AutoSizePanelID="SimpleForm1"/>
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" Title="风险分级管控清单" AutoScroll="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Rows>
<f:FormRow>
<Items>
<f:TextBox ID="txtRiskName" runat="server" Label="风险点" LabelAlign="Right"
MaxLength="100" Required="true" ShowRedStar="true" LabelWidth="90px">
</f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DropDownList ID="ddlRiskLevel" runat="server" Label="风险等级" LabelAlign="Right"
LabelWidth="90px" Required="true" ShowRedStar="true">
<f:ListItem Text="重大" Value="重大" />
<f:ListItem Text="较大" Value="较大" />
<f:ListItem Text="一般" Value="一般" />
<f:ListItem Text="低" Value="低" />
</f:DropDownList>
<f:TextBox ID="txtRiskType" runat="server" Label="风险类别" LabelAlign="Right"
MaxLength="50" LabelWidth="90px">
</f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextArea ID="txtControlMeasure" runat="server" Label="管控措施" LabelAlign="Right" Height="80px"
MaxLength="500" Required="true" ShowRedStar="true" LabelWidth="90px">
</f:TextArea>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtManagerUnit" runat="server" Label="责任单位" LabelAlign="Right"
MaxLength="100" LabelWidth="90px">
</f:TextBox>
<f:TextBox ID="txtManagerMan" runat="server" Label="责任人" LabelAlign="Right"
MaxLength="50" LabelWidth="90px">
</f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Panel ID="Panel2" ShowHeader="false" ShowBorder="false" Layout="Column" CssClass="" runat="server">
<Items>
<f:Label ID="Label1" runat="server" ShowRedStar="true" Label="上传附件"
LabelWidth="90px" LabelAlign="Right">
</f:Label>
<f:Button ID="btnAttach" Icon="TableCell" EnablePostBack="true" Text="附件" runat="server" OnClick="btnAttach_Click">
</f:Button>
</Items>
</f:Panel>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtRemark" runat="server" Label="备注" LabelAlign="Right"
MaxLength="500" LabelWidth="90px">
</f:TextBox>
</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="btnSave" Icon="SystemSave" runat="server" ToolTip="保存" ValidateForms="SimpleForm1"
OnClick="btnSave_Click">
</f:Button>
<f:Button ID="btnClose" EnablePostBack="false" ToolTip="关闭" runat="server" Icon="SystemClose">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</f:Form>
<f:Window ID="WindowAtt" Title="附件" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="700px"
Height="500px">
</f:Window>
</form>
</body>
</html>
@@ -0,0 +1,111 @@
using System;
using System.Collections.Generic;
using System.Linq;
namespace FineUIPro.Web.HSSE.HazardousMG
{
/// <summary>
/// 编辑风险分级管控清单页面
/// </summary>
public partial class RiskControlListEdit : PageBase
{
#region
/// <summary>
/// 主键
/// </summary>
private string RiskId
{
get
{
return (string)ViewState["RiskId"];
}
set
{
ViewState["RiskId"] = value;
}
}
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.btnClose.OnClientClick = ActiveWindow.GetHideReference();
this.RiskId = Request.Params["RiskId"];
if (!string.IsNullOrEmpty(this.RiskId))
{
////编辑:回填数据
Model.HSSE_RiskControlList info = BLL.RiskControlListService.GetById(this.RiskId);
if (info != null)
{
this.txtRiskName.Text = info.RiskName;
this.ddlRiskLevel.SelectedValue = info.RiskLevel;
this.txtRiskType.Text = info.RiskType;
this.txtControlMeasure.Text = info.ControlMeasure;
this.txtManagerUnit.Text = info.ManagerUnit;
this.txtManagerMan.Text = info.ManagerMan;
this.txtRemark.Text = info.Remark;
}
}
}
}
#endregion
#region
/// <summary>
/// 保存按钮事件
/// </summary>
protected void btnSave_Click(object sender, EventArgs e)
{
if (this.CurrUser == null || string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{
Alert.ShowInTop("请先选择项目!", MessageBoxIcon.Warning);
return;
}
////新增时先生成主键,保证附件能挂到同一记录
if (string.IsNullOrEmpty(this.RiskId))
{
this.RiskId = Guid.NewGuid().ToString();
}
////校验附件是否已上传
Model.AttachFile attach = BLL.Funs.DB.AttachFile.FirstOrDefault(x => x.ToKeyId == this.RiskId);
if (attach == null || string.IsNullOrEmpty(attach.AttachUrl))
{
Alert.ShowInTop("请上传附件!", MessageBoxIcon.Warning);
return;
}
Model.HSSE_RiskControlList info = new Model.HSSE_RiskControlList
{
RiskId = this.RiskId,
ProjectId = this.CurrUser.LoginProjectId,
RiskName = this.txtRiskName.Text.Trim(),
RiskLevel = this.ddlRiskLevel.SelectedValue,
RiskType = this.txtRiskType.Text.Trim(),
ControlMeasure = this.txtControlMeasure.Text.Trim(),
ManagerUnit = this.txtManagerUnit.Text.Trim(),
ManagerMan = this.txtManagerMan.Text.Trim(),
Remark = this.txtRemark.Text.Trim()
};
////存在则更新,不存在则新增(服务层已处理)
BLL.RiskControlListService.Update(info);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
/// <summary>
/// 上传附件(弹出附件上传窗口)
/// </summary>
protected void btnAttach_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.RiskId))
{
this.RiskId = Guid.NewGuid().ToString();
}
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("~/AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/RiskControl&menuId={1}", this.RiskId, BLL.Const.ProjectRiskControlMenuId)));
}
#endregion
}
}
@@ -0,0 +1,107 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.HSSE.HazardousMG
{
public partial class RiskControlListEdit
{
/// <summary>
/// form1 控件。
/// </summary>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
protected global::FineUIPro.Form SimpleForm1;
/// <summary>
/// Panel2 控件。
/// </summary>
protected global::FineUIPro.Panel Panel2;
/// <summary>
/// Label1 控件。
/// </summary>
protected global::FineUIPro.Label Label1;
/// <summary>
/// btnAttach 控件。
/// </summary>
protected global::FineUIPro.Button btnAttach;
/// <summary>
/// txtRiskName 控件。
/// </summary>
protected global::FineUIPro.TextBox txtRiskName;
/// <summary>
/// ddlRiskLevel 控件。
/// </summary>
protected global::FineUIPro.DropDownList ddlRiskLevel;
/// <summary>
/// txtRiskType 控件。
/// </summary>
protected global::FineUIPro.TextBox txtRiskType;
/// <summary>
/// txtControlMeasure 控件。
/// </summary>
protected global::FineUIPro.TextArea txtControlMeasure;
/// <summary>
/// txtManagerUnit 控件。
/// </summary>
protected global::FineUIPro.TextBox txtManagerUnit;
/// <summary>
/// txtManagerMan 控件。
/// </summary>
protected global::FineUIPro.TextBox txtManagerMan;
/// <summary>
/// txtRemark 控件。
/// </summary>
protected global::FineUIPro.TextBox txtRemark;
/// <summary>
/// Toolbar1 控件。
/// </summary>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnSave 控件。
/// </summary>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// btnClose 控件。
/// </summary>
protected global::FineUIPro.Button btnClose;
/// <summary>
/// WindowAtt 控件。
/// </summary>
protected global::FineUIPro.Window WindowAtt;
}
}
@@ -0,0 +1,120 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SafetyAcceptance.aspx.cs" Inherits="FineUIPro.Web.HSSE.HazardousMG.SafetyAcceptance" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>安全防护验收</title>
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<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" EnableColumnLines="true" DataKeyNames="AcceptanceId"
DataIDField="AcceptanceId" AllowSorting="true"
SortField="HazardProjectName" SortDirection="ASC" OnSort="Grid1_Sort" AllowPaging="true"
IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange"
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick"
OnRowCommand="Grid1_RowCommand" EnableTextSelection="True">
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:TextBox runat="server" Label="工程名称" ID="txtProjectName" EmptyText="输入查询条件"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="260px" LabelAlign="right"
LabelWidth="100px">
</f:TextBox>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<f:Button ID="btnNew" ToolTip="新增" Icon="Add" runat="server" OnClick="btnNew_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfNumber" Width="50px" HeaderText="序号" HeaderTextAlign="Center"
TextAlign="Center">
<ItemTemplate>
<asp:Label ID="lblNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="180px" ColumnID="HazardProjectName" DataField="HazardProjectName"
SortField="HazardProjectName" FieldType="String" HeaderText="工程名称" HeaderTextAlign="Center"
TextAlign="Left" ExpandUnusedSpace="true">
</f:RenderField>
<f:RenderField Width="90px" ColumnID="AcceptanceResult" DataField="AcceptanceResult"
SortField="AcceptanceResult" FieldType="String" HeaderText="验收结果" HeaderTextAlign="Center"
TextAlign="Center">
</f:RenderField>
<f:RenderField Width="90px" ColumnID="AcceptanceMan" DataField="AcceptanceMan"
SortField="AcceptanceMan" FieldType="String" HeaderText="验收人" HeaderTextAlign="Center"
TextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="AcceptanceDate" DataField="AcceptanceDate"
SortField="AcceptanceDate" FieldType="Date" Renderer="Date" HeaderText="验收时间" HeaderTextAlign="Center"
TextAlign="Center">
</f:RenderField>
<f:LinkButtonField Width="80px" ColumnID="Attachment" CommandName="attchUrl"
HeaderText="附件" HeaderTextAlign="Center" TextAlign="Center" Text="附件">
</f:LinkButtonField>
<f:RenderField Width="150px" ColumnID="Remark" DataField="Remark"
SortField="Remark" FieldType="String" HeaderText="情况说明" HeaderTextAlign="Center"
TextAlign="Left">
</f:RenderField>
</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:ListItem Text="10" Value="10" />
<f:ListItem Text="15" Value="15" />
<f:ListItem Text="20" Value="20" />
<f:ListItem Text="25" Value="25" />
<f:ListItem Text="所有行" Value="100000" />
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="编辑" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="true" runat="server" IsModal="true" Width="760px"
Height="560px" OnClose="Window1_Close">
</f:Window>
<f:Window ID="WindowAtt" Title="附件" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="700px"
Height="500px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<f:MenuButton ID="btnMenuEdit" OnClick="btnMenuEdit_Click" Icon="TableEdit" EnablePostBack="true"
runat="server" Text="编辑">
</f:MenuButton>
<f:MenuButton ID="btnMenuDelete" OnClick="btnMenuDelete_Click" EnablePostBack="true"
Icon="Delete" ConfirmText="删除选中行?" ConfirmTarget="Parent" runat="server"
Text="删除">
</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>
@@ -0,0 +1,189 @@
using System;
using System.Collections.Generic;
using System.Linq;
namespace FineUIPro.Web.HSSE.HazardousMG
{
/// <summary>
/// 安全防护验收页面
/// </summary>
public partial class SafetyAcceptance : PageBase
{
#region
/// <summary>
/// 关联的危大、超危工程主键(从危大清单右键进入时按此过滤)
/// </summary>
private string HazardProjectId
{
get { return (string)ViewState["HazardProjectId"]; }
set { ViewState["HazardProjectId"] = value; }
}
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.HazardProjectId = Request.Params["HazardProjectId"];
this.ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
this.BindGrid();
}
}
/// <summary>
/// 新增按钮事件
/// </summary>
protected void btnNew_Click(object sender, EventArgs e)
{
if (this.CurrUser == null || string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{
Alert.ShowInTop("请先选择项目!", MessageBoxIcon.Warning);
return;
}
PageContext.RegisterStartupScript(Window1.GetShowReference("SafetyAcceptanceEdit.aspx"));
}
#endregion
#region
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
if (this.CurrUser == null || string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{
Alert.ShowInTop("请先登录或选择项目!", MessageBoxIcon.Warning);
return;
}
List<Model.HSSE_SafetyAcceptance> list = BLL.SafetyAcceptanceService.GetList(this.CurrUser.LoginProjectId);
////按关联危大工程过滤(从危大清单右键进入)
if (!string.IsNullOrEmpty(this.HazardProjectId))
{
list = list.Where(x => x.HazardProjectId == this.HazardProjectId).ToList();
}
////查询条件过滤
string projectName = this.txtProjectName.Text.Trim();
if (!string.IsNullOrEmpty(projectName))
{
list = list.Where(x => x.HazardProjectName.Contains(projectName)).ToList();
}
Grid1.RecordCount = list.Count;
var table = this.GetPagedDataTable(Grid1, list);
Grid1.DataSource = table;
Grid1.DataBind();
}
/// <summary>
/// 分页事件
/// </summary>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
this.BindGrid();
}
/// <summary>
/// 每页记录数下拉事件
/// </summary>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
this.Grid1.PageSize = Convert.ToInt32(this.ddlPageSize.SelectedValue);
this.BindGrid();
}
/// <summary>
/// 排序事件
/// </summary>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 查询
/// </summary>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 双击行编辑事件
/// </summary>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
this.EditData();
}
/// <summary>
/// 右键菜单编辑事件
/// </summary>
protected void btnMenuEdit_Click(object sender, EventArgs e)
{
this.EditData();
}
/// <summary>
/// 编辑数据方法
/// </summary>
private void EditData()
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
string id = Grid1.SelectedRowID;
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("SafetyAcceptanceEdit.aspx?AcceptanceId={0}", id)));
}
#endregion
#region
/// <summary>
/// 右键菜单删除事件
/// </summary>
protected void btnMenuDelete_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length > 0)
{
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
BLL.SafetyAcceptanceService.Delete(rowID);
}
this.BindGrid();
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
}
}
/// <summary>
/// 编辑窗口关闭事件
/// </summary>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 附件查看(弹出附件列表窗口)
/// </summary>
protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
{
if (e.CommandName == "attchUrl")
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/SafetyAcceptance&menuId={2}",
-1, e.RowID, BLL.Const.SafetyAcceptanceMenuId)));
}
}
#endregion
}
}
@@ -0,0 +1,170 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.HSSE.HazardousMG
{
public partial class SafetyAcceptance
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// txtProjectName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtProjectName;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnNew 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnNew;
/// <summary>
/// lblNumber 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblNumber;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
/// <summary>
/// ToolbarText1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary>
/// ddlPageSize 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// WindowAtt 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window WindowAtt;
/// <summary>
/// Menu1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuEdit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuEdit;
/// <summary>
/// btnMenuDelete 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuDelete;
}
}
@@ -0,0 +1,75 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SafetyAcceptanceEdit.aspx.cs" Inherits="FineUIPro.Web.HSSE.HazardousMG.SafetyAcceptanceEdit" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>编辑安全防护验收</title>
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.f-field-label {
white-space: nowrap !important;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" runat="server" AutoSizePanelID="SimpleForm1"/>
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" Title="安全防护验收" AutoScroll="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Rows>
<f:FormRow>
<Items>
<f:DropDownList ID="ddlHazardProject" runat="server" Label="危大、超危清单" LabelAlign="Right"
LabelWidth="130px" Required="true" ShowRedStar="true">
</f:DropDownList>
<f:DropDownList ID="ddlAcceptanceResult" runat="server" Label="验收结果" LabelAlign="Right"
LabelWidth="130px" Required="true" ShowRedStar="true">
<f:ListItem Text="合格" Value="合格" Selected="true" />
<f:ListItem Text="不合格" Value="不合格" />
</f:DropDownList>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Panel ID="Panel2" ShowHeader="false" ShowBorder="false" Layout="Column" CssClass="" runat="server">
<Items>
<f:Label ID="Label1" runat="server" ShowRedStar="true" Label="上传附件"
LabelWidth="130px" LabelAlign="Right">
</f:Label>
<f:Button ID="btnAttach" Icon="TableCell" EnablePostBack="true" Text="附件" runat="server" OnClick="btnAttach_Click">
</f:Button>
</Items>
</f:Panel>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextArea ID="txtRemark" runat="server" Label="情况说明" LabelAlign="Right"
MaxLength="500" LabelWidth="130px" Height="80px">
</f:TextArea>
</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="btnSave" Icon="SystemSave" runat="server" ToolTip="保存" ValidateForms="SimpleForm1"
OnClick="btnSave_Click">
</f:Button>
<f:Button ID="btnClose" EnablePostBack="false" ToolTip="关闭" runat="server" Icon="SystemClose">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</f:Form>
<f:Window ID="WindowAtt" Title="附件" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="700px"
Height="500px">
</f:Window>
</form>
</body>
</html>
@@ -0,0 +1,130 @@
using System;
using System.Collections.Generic;
using System.Linq;
namespace FineUIPro.Web.HSSE.HazardousMG
{
/// <summary>
/// 编辑安全防护验收页面
/// </summary>
public partial class SafetyAcceptanceEdit : PageBase
{
#region
/// <summary>
/// 主键
/// </summary>
private string AcceptanceId
{
get
{
return (string)ViewState["AcceptanceId"];
}
set
{
ViewState["AcceptanceId"] = value;
}
}
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.btnClose.OnClientClick = ActiveWindow.GetHideReference();
this.InitDropDownList();
this.AcceptanceId = Request.Params["AcceptanceId"];
if (!string.IsNullOrEmpty(this.AcceptanceId))
{
////编辑:回填数据
Model.HSSE_SafetyAcceptance info = BLL.SafetyAcceptanceService.GetById(this.AcceptanceId);
if (info != null)
{
this.ddlHazardProject.SelectedValue = info.HazardProjectId;
this.ddlAcceptanceResult.SelectedValue = info.AcceptanceResult;
this.txtRemark.Text = info.Remark;
}
}
}
}
/// <summary>
/// 初始化危大、超危清单下拉
/// </summary>
private void InitDropDownList()
{
if (this.CurrUser == null || string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{
return;
}
List<Model.HSSE_HazardProject> projects = BLL.HazardProjectService.GetList(this.CurrUser.LoginProjectId);
foreach (Model.HSSE_HazardProject p in projects)
{
this.ddlHazardProject.Items.Add(new FineUIPro.ListItem(p.ProjectName + "" + p.ProjectCode + "", p.HazardProjectId));
}
}
#endregion
#region
/// <summary>
/// 保存按钮事件
/// </summary>
protected void btnSave_Click(object sender, EventArgs e)
{
if (this.CurrUser == null || string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{
Alert.ShowInTop("请先选择项目!", MessageBoxIcon.Warning);
return;
}
////新增时先生成主键,保证附件能挂到同一记录
if (string.IsNullOrEmpty(this.AcceptanceId))
{
this.AcceptanceId = Guid.NewGuid().ToString();
}
////校验附件是否已上传
Model.AttachFile attach = BLL.Funs.DB.AttachFile.FirstOrDefault(x => x.ToKeyId == this.AcceptanceId);
if (attach == null || string.IsNullOrEmpty(attach.AttachUrl))
{
Alert.ShowInTop("请上传附件!", MessageBoxIcon.Warning);
return;
}
////根据所选清单回填工程名称
string hazardProjectName = string.Empty;
Model.HSSE_HazardProject project = BLL.HazardProjectService.GetById(this.ddlHazardProject.SelectedValue);
if (project != null)
{
hazardProjectName = project.ProjectName;
}
Model.HSSE_SafetyAcceptance info = new Model.HSSE_SafetyAcceptance
{
AcceptanceId = this.AcceptanceId,
ProjectId = this.CurrUser.LoginProjectId,
HazardProjectId = this.ddlHazardProject.SelectedValue,
HazardProjectName = hazardProjectName,
AcceptanceResult = this.ddlAcceptanceResult.SelectedValue,
AcceptanceMan = this.CurrUser.UserName,
AcceptanceDate = DateTime.Now,
Remark = this.txtRemark.Text.Trim()
};
////存在则更新,不存在则新增(服务层已处理)
BLL.SafetyAcceptanceService.Update(info);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
/// <summary>
/// 上传附件
/// </summary>
protected void btnAttach_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.AcceptanceId))
{
this.AcceptanceId = Guid.NewGuid().ToString();
}
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("~/AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/SafetyAcceptance&menuId={1}", this.AcceptanceId, BLL.Const.SafetyAcceptanceMenuId)));
}
#endregion
}
}
@@ -0,0 +1,87 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.HSSE.HazardousMG
{
public partial class SafetyAcceptanceEdit
{
/// <summary>
/// form1 控件。
/// </summary>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
protected global::FineUIPro.Form SimpleForm1;
/// <summary>
/// ddlHazardProject 控件。
/// </summary>
protected global::FineUIPro.DropDownList ddlHazardProject;
/// <summary>
/// ddlAcceptanceResult 控件。
/// </summary>
protected global::FineUIPro.DropDownList ddlAcceptanceResult;
/// <summary>
/// Panel2 控件。
/// </summary>
protected global::FineUIPro.Panel Panel2;
/// <summary>
/// Label1 控件。
/// </summary>
protected global::FineUIPro.Label Label1;
/// <summary>
/// btnAttach 控件。
/// </summary>
protected global::FineUIPro.Button btnAttach;
/// <summary>
/// txtRemark 控件。
/// </summary>
protected global::FineUIPro.TextArea txtRemark;
/// <summary>
/// Toolbar1 控件。
/// </summary>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnSave 控件。
/// </summary>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// btnClose 控件。
/// </summary>
protected global::FineUIPro.Button btnClose;
/// <summary>
/// WindowAtt 控件。
/// </summary>
protected global::FineUIPro.Window WindowAtt;
}
}
@@ -0,0 +1,139 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SafetyPatrol.aspx.cs" Inherits="FineUIPro.Web.HSSE.HazardousMG.SafetyPatrol" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>安全巡检</title>
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.f-field-label {
white-space: nowrap !important;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<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" EnableColumnLines="true" DataKeyNames="PatrolId"
DataIDField="PatrolId" AllowSorting="true"
SortField="PatrolDate" SortDirection="DESC" OnSort="Grid1_Sort" AllowPaging="true"
IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange"
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick"
OnRowCommand="Grid1_RowCommand" EnableTextSelection="True">
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:TextBox runat="server" Label="工程名称" ID="txtProjectName" EmptyText="输入查询条件"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="200px" LabelAlign="right"
LabelWidth="80px">
</f:TextBox>
<f:DatePicker runat="server" DateFormatString="yyyy-MM-dd" Label="开始日期" ID="txtStartTime"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" LabelAlign="right" Width="190px"
LabelWidth="80px">
</f:DatePicker>
<f:DatePicker runat="server" DateFormatString="yyyy-MM-dd" Label="结束日期" ID="txtEndTime"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" LabelAlign="right" Width="190px"
LabelWidth="80px">
</f:DatePicker>
<f:Button ID="btnRset" ToolTip="重置" Icon="ArrowUndo" OnClick="btnRset_Click" EnablePostBack="true"
runat="server">
</f:Button>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<f:Button ID="btnNew" ToolTip="扫码巡检" Icon="Add" runat="server" OnClick="btnNew_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfNumber" Width="60px" HeaderText="序号" HeaderTextAlign="Center"
TextAlign="Center">
<ItemTemplate>
<asp:Label ID="lblNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="180px" ColumnID="HazardProjectName" DataField="HazardProjectName"
SortField="HazardProjectName" FieldType="String" HeaderText="工程名称" HeaderTextAlign="Center"
TextAlign="Left">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="PatrolDate" DataField="PatrolDate"
SortField="PatrolDate" FieldType="Date" Renderer="Date" HeaderText="巡检日期" HeaderTextAlign="Center"
TextAlign="Center">
</f:RenderField>
<f:RenderField Width="80px" ColumnID="PatrolMan" DataField="PatrolMan"
SortField="PatrolMan" FieldType="String" HeaderText="巡检人" HeaderTextAlign="Center"
TextAlign="Center">
</f:RenderField>
<f:RenderField Width="200px" ColumnID="Content" DataField="Content"
SortField="Content" FieldType="String" HeaderText="巡检内容" HeaderTextAlign="Center" ExpandUnusedSpace="true"
TextAlign="Left">
</f:RenderField>
<f:TemplateField ColumnID="tfPatrolStatus" Width="120px" HeaderText="巡检状态" HeaderTextAlign="Center"
TextAlign="Center">
<ItemTemplate>
<asp:Label ID="lblPatrolStatus" runat="server" Text='<%# Eval("PatrolStatus") %>'
ForeColor='<%# GetPatrolStatusColor(Eval("PatrolStatus")) %>' Font-Bold="true"></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:LinkButtonField Width="80px" ColumnID="Attach" CommandName="attchUrl"
HeaderText="巡检图片" HeaderTextAlign="Center" TextAlign="Center" Text="查看">
</f:LinkButtonField>
</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:ListItem Text="10" Value="10" />
<f:ListItem Text="15" Value="15" />
<f:ListItem Text="20" Value="20" />
<f:ListItem Text="25" Value="25" />
<f:ListItem Text="所有行" Value="100000" />
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="编辑" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="true" runat="server" IsModal="true" Width="780px"
Height="600px" OnClose="Window1_Close">
</f:Window>
<f:Window ID="WindowAtt" Title="附件" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="700px"
Height="500px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<f:MenuButton ID="btnMenuEdit" OnClick="btnMenuEdit_Click" Icon="TableEdit" EnablePostBack="true"
runat="server" Text="编辑">
</f:MenuButton>
<f:MenuButton ID="btnMenuDelete" OnClick="btnMenuDelete_Click" EnablePostBack="true"
Icon="Delete" ConfirmText="删除选中行?" ConfirmTarget="Parent" runat="server"
Text="删除">
</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>
@@ -0,0 +1,223 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
namespace FineUIPro.Web.HSSE.HazardousMG
{
/// <summary>
/// 安全巡检页面
/// </summary>
public partial class SafetyPatrol : PageBase
{
#region
/// <summary>
/// 关联的危大、超危工程主键(从危大清单右键进入时按此过滤)
/// </summary>
private string HazardProjectId
{
get { return (string)ViewState["HazardProjectId"]; }
set { ViewState["HazardProjectId"] = value; }
}
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.HazardProjectId = Request.Params["HazardProjectId"];
this.ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
this.BindGrid();
}
}
/// <summary>
/// 扫码巡检按钮事件
/// </summary>
protected void btnNew_Click(object sender, EventArgs e)
{
if (this.CurrUser == null || string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{
Alert.ShowInTop("请先选择项目!", MessageBoxIcon.Warning);
return;
}
PageContext.RegisterStartupScript(Window1.GetShowReference("SafetyPatrolEdit.aspx"));
}
#endregion
#region
/// <summary>
/// 巡检状态颜色(待整改标红)
/// </summary>
public Color GetPatrolStatusColor(object value)
{
string state = value == null ? "" : value.ToString();
return state == "待整改" ? Color.Red : Color.Green;
}
#endregion
#region
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
if (this.CurrUser == null || string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{
Alert.ShowInTop("请先登录或选择项目!", MessageBoxIcon.Warning);
return;
}
List<Model.HSSE_SafetyPatrol> list = BLL.SafetyPatrolService.GetList(this.CurrUser.LoginProjectId);
////按关联危大工程过滤(从危大清单右键进入)
if (!string.IsNullOrEmpty(this.HazardProjectId))
{
list = list.Where(x => x.HazardProjectId == this.HazardProjectId).ToList();
}
////查询条件过滤
string projectName = this.txtProjectName.Text.Trim();
if (!string.IsNullOrEmpty(projectName))
{
list = list.Where(x => x.HazardProjectName != null && x.HazardProjectName.Contains(projectName)).ToList();
}
////巡检日期时间段过滤
DateTime startDate;
if (DateTime.TryParse(this.txtStartTime.Text, out startDate))
{
list = list.Where(x => x.PatrolDate.HasValue && x.PatrolDate.Value.Date >= startDate.Date).ToList();
}
DateTime endDate;
if (DateTime.TryParse(this.txtEndTime.Text, out endDate))
{
list = list.Where(x => x.PatrolDate.HasValue && x.PatrolDate.Value.Date <= endDate.Date).ToList();
}
Grid1.RecordCount = list.Count;
var table = this.GetPagedDataTable(Grid1, list);
Grid1.DataSource = table;
Grid1.DataBind();
}
/// <summary>
/// 分页事件
/// </summary>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
this.BindGrid();
}
/// <summary>
/// 每页记录数下拉事件
/// </summary>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
this.Grid1.PageSize = Convert.ToInt32(this.ddlPageSize.SelectedValue);
this.BindGrid();
}
/// <summary>
/// 排序事件
/// </summary>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 查询
/// </summary>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
this.BindGrid();
}
/// <summary>
/// 重置查询条件
/// </summary>
protected void btnRset_Click(object sender, EventArgs e)
{
this.txtProjectName.Text = "";
this.txtStartTime.Text = "";
this.txtEndTime.Text = "";
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 双击行编辑事件
/// </summary>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
this.EditData();
}
/// <summary>
/// 右键菜单编辑事件
/// </summary>
protected void btnMenuEdit_Click(object sender, EventArgs e)
{
this.EditData();
}
/// <summary>
/// 编辑数据方法
/// </summary>
private void EditData()
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
string id = Grid1.SelectedRowID;
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("SafetyPatrolEdit.aspx?PatrolId={0}", id)));
}
#endregion
#region
/// <summary>
/// 右键菜单删除事件
/// </summary>
protected void btnMenuDelete_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length > 0)
{
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
BLL.SafetyPatrolService.Delete(rowID);
}
this.BindGrid();
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
}
}
/// <summary>
/// 编辑窗口关闭事件
/// </summary>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 附件查看(弹出附件列表窗口)
/// </summary>
protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
{
if (e.CommandName == "attchUrl")
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/SafetyPatrol&menuId={2}",
-1, e.RowID, BLL.Const.SafetyPatrolMenuId)));
}
}
#endregion
}
}
@@ -0,0 +1,206 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.HSSE.HazardousMG
{
public partial class SafetyPatrol
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// txtProjectName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtProjectName;
/// <summary>
/// txtStartTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtStartTime;
/// <summary>
/// txtEndTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtEndTime;
/// <summary>
/// btnRset 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnRset;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnNew 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnNew;
/// <summary>
/// lblNumber 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblNumber;
/// <summary>
/// lblPatrolStatus 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblPatrolStatus;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
/// <summary>
/// ToolbarText1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary>
/// ddlPageSize 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// WindowAtt 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window WindowAtt;
/// <summary>
/// Menu1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuEdit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuEdit;
/// <summary>
/// btnMenuDelete 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuDelete;
}
}
@@ -0,0 +1,80 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SafetyPatrolEdit.aspx.cs" Inherits="FineUIPro.Web.HSSE.HazardousMG.SafetyPatrolEdit" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>编辑安全巡检记录</title>
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" runat="server" AutoSizePanelID="SimpleForm1"/>
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" Title="危大、超危工程每日巡检记录" AutoScroll="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Rows>
<f:FormRow>
<Items>
<f:DropDownList ID="ddlHazardProject" runat="server" Label="扫码工程" LabelAlign="Right"
LabelWidth="100px" Required="true" ShowRedStar="true">
</f:DropDownList>
<f:DatePicker ID="dpPatrolDate" runat="server" Label="巡检日期" LabelAlign="Right"
LabelWidth="90px" DateFormatString="yyyy-MM-dd">
</f:DatePicker>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DropDownList ID="ddlPatrolStatus" runat="server" Label="巡检状态" LabelAlign="Right"
LabelWidth="100px">
<f:ListItem Text="正常" Value="正常" />
<f:ListItem Text="待整改" Value="待整改" />
</f:DropDownList>
<f:Label ID="lblPatrolMan" runat="server" Label="巡检人" LabelAlign="Right"
LabelWidth="90px">
</f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextArea ID="txtContent" runat="server" Label="巡检内容" LabelAlign="Right" Height="100px"
MaxLength="1000" LabelWidth="100px">
</f:TextArea>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Panel ID="Panel2" ShowHeader="false" ShowBorder="false" Layout="Column" CssClass="" runat="server">
<Items>
<f:Label ID="Label1" runat="server" ShowRedStar="true" Label="巡检图片"
LabelWidth="100px" LabelAlign="Right">
</f:Label>
<f:Button ID="btnAttach" Icon="TableCell" EnablePostBack="true" Text="上传" runat="server" OnClick="btnAttach_Click">
</f:Button>
</Items>
</f:Panel>
</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="btnSave" Icon="SystemSave" runat="server" ToolTip="保存" ValidateForms="SimpleForm1"
OnClick="btnSave_Click">
</f:Button>
<f:Button ID="btnClose" EnablePostBack="false" ToolTip="关闭" runat="server" Icon="SystemClose">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</f:Form>
<f:Window ID="WindowAtt" Title="附件" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="700px"
Height="500px">
</f:Window>
</form>
</body>
</html>
@@ -0,0 +1,151 @@
using System;
using System.Collections.Generic;
using System.Linq;
namespace FineUIPro.Web.HSSE.HazardousMG
{
/// <summary>
/// 编辑安全巡检记录页面
/// </summary>
public partial class SafetyPatrolEdit : PageBase
{
#region
/// <summary>
/// 主键
/// </summary>
private string PatrolId
{
get
{
return (string)ViewState["PatrolId"];
}
set
{
ViewState["PatrolId"] = value;
}
}
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.btnClose.OnClientClick = ActiveWindow.GetHideReference();
this.InitDropDownList();
////巡检人关联当前登录账号
if (this.CurrUser != null)
{
this.lblPatrolMan.Text = this.CurrUser.UserName;
}
this.PatrolId = Request.Params["PatrolId"];
if (!string.IsNullOrEmpty(this.PatrolId))
{
////编辑:回填数据
Model.HSSE_SafetyPatrol info = BLL.SafetyPatrolService.GetById(this.PatrolId);
if (info != null)
{
if (!string.IsNullOrEmpty(info.HazardProjectId))
{
this.ddlHazardProject.SelectedValue = info.HazardProjectId;
}
if (info.PatrolDate.HasValue)
{
this.dpPatrolDate.SelectedDate = info.PatrolDate.Value;
}
if (!string.IsNullOrEmpty(info.PatrolStatus))
{
this.ddlPatrolStatus.SelectedValue = info.PatrolStatus;
}
this.txtContent.Text = info.Content;
}
}
else
{
////新增(扫码巡检):默认巡检日期为当天、巡检状态为正常
this.dpPatrolDate.SelectedDate = DateTime.Now;
this.ddlPatrolStatus.SelectedValue = "正常";
}
}
}
/// <summary>
/// 初始化危大、超危清单下拉
/// </summary>
private void InitDropDownList()
{
if (this.CurrUser == null || string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{
return;
}
List<Model.HSSE_HazardProject> projects = BLL.HazardProjectService.GetList(this.CurrUser.LoginProjectId);
foreach (Model.HSSE_HazardProject p in projects)
{
this.ddlHazardProject.Items.Add(new FineUIPro.ListItem(p.ProjectName + "" + p.ProjectCode + "", p.HazardProjectId));
}
}
#endregion
#region
/// <summary>
/// 保存按钮事件
/// </summary>
protected void btnSave_Click(object sender, EventArgs e)
{
if (this.CurrUser == null || string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{
Alert.ShowInTop("请先选择项目!", MessageBoxIcon.Warning);
return;
}
////新增时先生成主键,保证附件能挂到同一记录
if (string.IsNullOrEmpty(this.PatrolId))
{
this.PatrolId = Guid.NewGuid().ToString();
}
////校验附件是否已上传
Model.AttachFile attach = BLL.Funs.DB.AttachFile.FirstOrDefault(x => x.ToKeyId == this.PatrolId);
if (attach == null || string.IsNullOrEmpty(attach.AttachUrl))
{
Alert.ShowInTop("请上传巡检图片!", MessageBoxIcon.Warning);
return;
}
////根据所选清单回填工程名称
string hazardProjectName = string.Empty;
Model.HSSE_HazardProject project = BLL.HazardProjectService.GetById(this.ddlHazardProject.SelectedValue);
if (project != null)
{
hazardProjectName = project.ProjectName;
}
Model.HSSE_SafetyPatrol info = new Model.HSSE_SafetyPatrol
{
PatrolId = this.PatrolId,
ProjectId = this.CurrUser.LoginProjectId,
HazardProjectId = this.ddlHazardProject.SelectedValue,
HazardProjectName = hazardProjectName,
PatrolDate = this.dpPatrolDate.SelectedDate,
PatrolMan = this.CurrUser.UserName,
PatrolStatus = this.ddlPatrolStatus.SelectedValue,
Content = this.txtContent.Text.Trim()
};
////存在则更新,不存在则新增(服务层已处理)
BLL.SafetyPatrolService.Update(info);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
/// <summary>
/// 上传巡检图片
/// </summary>
protected void btnAttach_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.PatrolId))
{
this.PatrolId = Guid.NewGuid().ToString();
}
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("~/AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/SafetyPatrol&menuId={1}", this.PatrolId, BLL.Const.SafetyPatrolMenuId)));
}
#endregion
}
}
@@ -0,0 +1,161 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.HSSE.HazardousMG
{
public partial class SafetyPatrolEdit
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form SimpleForm1;
/// <summary>
/// ddlHazardProject 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlHazardProject;
/// <summary>
/// dpPatrolDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker dpPatrolDate;
/// <summary>
/// ddlPatrolStatus 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPatrolStatus;
/// <summary>
/// lblPatrolMan 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblPatrolMan;
/// <summary>
/// txtContent 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtContent;
/// <summary>
/// Panel2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel2;
/// <summary>
/// Label1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label Label1;
/// <summary>
/// btnAttach 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnAttach;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// btnClose 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnClose;
/// <summary>
/// WindowAtt 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window WindowAtt;
}
}
@@ -0,0 +1,78 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SpecialPlanEdit.aspx.cs" Inherits="FineUIPro.Web.HSSE.HazardousMG.SpecialPlanEdit" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>编辑专项施工方案</title>
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" runat="server" AutoSizePanelID="SimpleForm1"/>
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" Title="专项施工方案" AutoScroll="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Rows>
<f:FormRow>
<Items>
<f:TextBox ID="txtHazardProjectName" runat="server" Label="工程名称" LabelAlign="Right"
MaxLength="100" Required="true" ShowRedStar="true" LabelWidth="110px">
</f:TextBox>
<f:TextBox ID="txtPlanName" runat="server" Label="方案名称" LabelAlign="Right"
MaxLength="100" Required="true" ShowRedStar="true" LabelWidth="110px">
</f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtCompileMan" runat="server" Label="编制人" LabelAlign="Right"
MaxLength="50" LabelWidth="110px">
</f:TextBox>
<f:DatePicker ID="dpCompileDate" runat="server" Label="编制日期" LabelAlign="Right"
LabelWidth="110px" DateFormatString="yyyy-MM-dd">
</f:DatePicker>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Panel ID="Panel2" ShowHeader="false" ShowBorder="false" Layout="Column" CssClass="" runat="server">
<Items>
<f:Label ID="Label1" runat="server" ShowRedStar="true" Label="上传附件"
LabelWidth="110px" LabelAlign="Right">
</f:Label>
<f:Button ID="btnAttach" Icon="TableCell" EnablePostBack="true" Text="附件" runat="server" OnClick="btnAttach_Click">
</f:Button>
</Items>
</f:Panel>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextArea ID="txtRemark" runat="server" Label="备注" LabelAlign="Right"
MaxLength="500" LabelWidth="110px" Height="80px">
</f:TextArea>
</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="btnSave" Icon="SystemSave" runat="server" ToolTip="保存" ValidateForms="SimpleForm1"
OnClick="btnSave_Click">
</f:Button>
<f:Button ID="btnClose" EnablePostBack="false" ToolTip="关闭" runat="server" Icon="SystemClose">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</f:Form>
<f:Window ID="WindowAtt" Title="附件" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="700px"
Height="500px">
</f:Window>
</form>
</body>
</html>
@@ -0,0 +1,111 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
namespace FineUIPro.Web.HSSE.HazardousMG
{
/// <summary>
/// 编辑专项施工方案页面
/// </summary>
public partial class SpecialPlanEdit : PageBase
{
#region
/// <summary>
/// 主键
/// </summary>
private string PlanId
{
get
{
return (string)ViewState["PlanId"];
}
set
{
ViewState["PlanId"] = value;
}
}
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.btnClose.OnClientClick = ActiveWindow.GetHideReference();
this.PlanId = Request.Params["PlanId"];
if (!string.IsNullOrEmpty(this.PlanId))
{
////编辑:回填数据
Model.HSSE_SpecialPlan info = BLL.SpecialPlanService.GetById(this.PlanId);
if (info != null)
{
this.txtHazardProjectName.Text = info.HazardProjectName;
this.txtPlanName.Text = info.PlanName;
this.txtCompileMan.Text = info.CompileMan;
if (info.CompileDate.HasValue)
{
this.dpCompileDate.SelectedDate = info.CompileDate.Value;
}
this.txtRemark.Text = info.Remark;
}
}
}
}
#endregion
#region
/// <summary>
/// 保存按钮事件
/// </summary>
protected void btnSave_Click(object sender, EventArgs e)
{
if (this.CurrUser == null || string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{
Alert.ShowInTop("请先选择项目!", MessageBoxIcon.Warning);
return;
}
////新增时先生成主键,保证附件能挂到同一记录
if (string.IsNullOrEmpty(this.PlanId))
{
this.PlanId = Guid.NewGuid().ToString();
}
////校验附件是否已上传
Model.AttachFile attach = BLL.Funs.DB.AttachFile.FirstOrDefault(x => x.ToKeyId == this.PlanId);
if (attach == null || string.IsNullOrEmpty(attach.AttachUrl))
{
Alert.ShowInTop("请上传附件!", MessageBoxIcon.Warning);
return;
}
Model.HSSE_SpecialPlan info = new Model.HSSE_SpecialPlan
{
PlanId = this.PlanId,
ProjectId = this.CurrUser.LoginProjectId,
HazardProjectName = this.txtHazardProjectName.Text.Trim(),
PlanName = this.txtPlanName.Text.Trim(),
CompileMan = this.txtCompileMan.Text.Trim(),
CompileDate = this.dpCompileDate.SelectedDate,
Remark = this.txtRemark.Text.Trim()
};
////存在则更新,不存在则新增(服务层已处理)
BLL.SpecialPlanService.Update(info);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
/// <summary>
/// 上传附件
/// </summary>
protected void btnAttach_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.PlanId))
{
this.PlanId = Guid.NewGuid().ToString();
}
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("~/AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/SpecialPlan&menuId={1}", this.PlanId, BLL.Const.SpecialSchemeMenuId)));
}
#endregion
}
}
@@ -0,0 +1,161 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.HSSE.HazardousMG
{
public partial class SpecialPlanEdit
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form SimpleForm1;
/// <summary>
/// txtHazardProjectName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtHazardProjectName;
/// <summary>
/// txtPlanName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtPlanName;
/// <summary>
/// txtCompileMan 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtCompileMan;
/// <summary>
/// dpCompileDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker dpCompileDate;
/// <summary>
/// Panel2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel2;
/// <summary>
/// Label1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label Label1;
/// <summary>
/// btnAttach 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnAttach;
/// <summary>
/// txtRemark 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtRemark;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// btnClose 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnClose;
/// <summary>
/// WindowAtt 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window WindowAtt;
}
}