三库三期

This commit is contained in:
2026-11-03 17:33:37 +08:00
parent c4f2876c4a
commit d7c5baec2b
28 changed files with 4458 additions and 68 deletions
@@ -51,7 +51,7 @@
<f:FormRow >
<Items>
<f:DropDownList ID="drpRewardAndPunishMan" runat="server" Required="true" ShowRedStar="true" Label="奖罚人" LabelAlign="Right" EnableEdit="true"
<f:DropDownList ID="drpRewardAndPunishMan" runat="server" Label="奖罚人" LabelAlign="Right" EnableEdit="true"
AutoPostBack="true" OnSelectedIndexChanged="drpUser_OnSelectedIndexChanged">
</f:DropDownList>
<f:DropDownList ID="drpTeamGroup" runat="server" Label="所属班组" LabelAlign="Right" Readonly="True">
+1 -1
View File
@@ -18668,7 +18668,7 @@
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v17.0\WebApplications\Microsoft.WebApplication.targets" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v18.0\WebApplications\Microsoft.WebApplication.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
@@ -21,7 +21,7 @@
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="危大工程" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="DANGEROUS_ID" EnableColumnLines="true"
DataIDField="DANGEROUS_ID" AllowSorting="true" SortField="ReportDate DESC,ENGINEERING_DATE" ForceFit="true"
DataIDField="RECORD_ID" AllowSorting="true" SortField="ReportDate DESC,ENGINEERING_DATE" ForceFit="true"
SortDirection="DESC" OnSort="Grid1_Sort" AllowPaging="true" IsDatabasePaging="true"
PageSize="10" OnPageIndexChange="Grid1_PageIndexChange" EnableRowDoubleClickEvent="true"
OnRowDoubleClick="Grid1_RowDoubleClick" EnableTextSelection="True">
@@ -80,12 +80,6 @@
<f:RenderField Width="160px" ColumnID="ENGINEERING_TYPE" DataField="ENGINEERING_TYPE"
FieldType="String" HeaderText="方案类型" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="ENGINEERING_LEVEL" DataField="ENGINEERING_LEVEL"
FieldType="String" HeaderText="等级" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="ENGINEERING_STATE" DataField="ENGINEERING_STATE"
FieldType="String" HeaderText="状态" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="SUBCONTRACTOR_ID" DataField="SUBCONTRACTOR_ID" SortField="SUBCONTRACTOR_ID"
FieldType="String" HeaderText="主数据组织编码" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
@@ -118,8 +112,8 @@
</Items>
</f:Panel>
<f:Window ID="Window1" Title="危大工程" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="1000px"
Height="560px" OnClose="Window1_Close">
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="1200px"
Height="720px" OnClose="Window1_Close">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<%--<f:MenuButton ID="btnMenuEdit" OnClick="btnMenuEdit_Click" EnablePostBack="true"
@@ -38,7 +38,7 @@ namespace FineUIPro.Web.SanKu
/// </summary>
private void BindGrid()
{
string strSql = @"SELECT tba.RECORD_ID,tba.DANGEROUS_ID,tba.PROJECT_CODE,tba.PROJECT_NAME,tba.SUBCONTRACTOR_ID,tba.SUBCONTRACTOR_NAME,tba.ENGINEERING_DATE,tba.ENGINEERING_NAME,tba.ENGINEERING_TYPE,tba.ENGINEERING_LEVEL,tba.ENGINEERING_STATE,tba.ENGINEERING_ADDRESS,tba.STANDBY_PERSONNEL_NAME,tba.ReportDate
string strSql = @"SELECT tba.RECORD_ID,tba.DANGEROUS_ID,tba.PROJECT_CODE,tba.PROJECT_NAME,tba.SUBCONTRACTOR_ID,tba.SUBCONTRACTOR_NAME,tba.ENGINEERING_DATE,tba.ENGINEERING_NAME,tba.ENGINEERING_TYPE,tba.ENGINEERING_ADDRESS,tba.STANDBY_PERSONNEL_NAME,tba.ReportDate
FROM SANKU_DANGEROUS_ENGINEERING AS tba WITH(NOLOCK)
WHERE 1=1 ";
List<SqlParameter> listStr = new List<SqlParameter>();
@@ -306,7 +306,13 @@ namespace FineUIPro.Web.SanKu
/// <param name="e"></param>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
//this.EditData();
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning);
return;
}
var recordId = Grid1.SelectedRowID;
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("DangerousEngineeringDutyRecord.aspx?RecordId={0}", Grid1.SelectedRowID, "查看 - ")));
}
/// <summary>
@@ -0,0 +1,160 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="DangerousEngineeringBriefingRecord.aspx.cs" Inherits="FineUIPro.Web.SanKu.DangerousEngineeringBriefingRecord" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>安全技术交底</title>
<link href="../res/css/common.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
</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" DataKeyNames="TECH_BRIEFING_ID" EnableColumnLines="true"
DataIDField="CombineField" AllowSorting="true" SortField="ReportDate DESC,BRIEFING_DATE DESC,PERSONNEL_NAME" ForceFit="true"
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="Toolbar2" Position="Top" runat="server">
<Items>
<f:TextBox runat="server" Label="项目名称" ID="txtProjectName" EmptyText="输入集团主数据项目名称" AutoPostBack="true"
OnTextChanged="TextBox_TextChanged" Width="280px" LabelWidth="80px">
</f:TextBox>
<f:TextBox runat="server" Label="交底人员" ID="txtTechPersonName" EmptyText="输入交底人员名称" AutoPostBack="true"
OnTextChanged="TextBox_TextChanged" Width="280px" LabelWidth="80px">
</f:TextBox>
<f:TextBox runat="server" Label="参与人员" ID="txtPersonName" EmptyText="输入参与交底人员名称" AutoPostBack="true"
OnTextChanged="TextBox_TextChanged" Width="280px" LabelWidth="80px">
</f:TextBox>
<f:ToolbarSeparator runat="server"></f:ToolbarSeparator>
<f:RadioButtonList runat="server" ID="rbType" Label="类型" Width="280px" LabelWidth="80px" AutoPostBack="true" OnSelectedIndexChanged="TextBox_TextChanged">
<f:RadioItem Text="全部" Value="-1" Selected="true" />
<f:RadioItem Text="危大" Value="1" />
<f:RadioItem Text="非危大" Value="0" />
</f:RadioButtonList>
<f:ToolbarSeparator runat="server"></f:ToolbarSeparator>
<f:RadioButtonList runat="server" ID="rbIsReport" Label="是否上报" Width="280px" LabelWidth="80px" AutoPostBack="true" OnSelectedIndexChanged="TextBox_TextChanged">
<f:RadioItem Text="全部" Value="-1" />
<f:RadioItem Text="未上报" Value="0" Selected="true" />
<f:RadioItem Text="已上报" Value="1" />
</f:RadioButtonList>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnCollect" OnClick="btnCollect_Click" runat="server" Text="收集" ToolTip="数据收集" Icon="DatabaseCopy" EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
<f:Button ID="btnReport" OnClick="btnReport_Click" runat="server" Text="上报" ToolTip="上报" Icon="WorldGo" EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
<f:Button ID="btnDelAll" OnClick="btnDelAll_Click" runat="server" Text="清空" ToolTip="清空所有数据" ConfirmText="确定清空所有数据?请谨慎操作!" Icon="DatabaseDelete" EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" ToolTip="导出" Icon="FolderUp"
EnableAjax="false" DisableControlBeforePostBack="false">
</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="100px" ColumnID="ReportDate" DataField="ReportDate" SortField="ReportDate"
FieldType="Date" Renderer="Date" HeaderText="上报日期" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>--%>
<f:RenderField Width="140px" ColumnID="ReportDate" DataField="ReportDate" SortField="ReportDate"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd HH:mm:ss" HeaderText="上报时间" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="160px" ColumnID="PROJECT_CODE" DataField="PROJECT_CODE" SortField="PROJECT_CODE"
FieldType="String" HeaderText="主数据项目编号" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="220px" ColumnID="PROJECT_NAME" DataField="PROJECT_NAME" SortField="PROJECT_NAME"
FieldType="String" HeaderText="主数据项目" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="SUBCONTRACTOR_ID" DataField="SUBCONTRACTOR_ID" SortField="SUBCONTRACTOR_ID"
FieldType="String" HeaderText="主数据组织编码" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="220px" ColumnID="SUBCONTRACTOR_NAME" DataField="SUBCONTRACTOR_NAME"
FieldType="String" HeaderText="单位名称" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="BRIEFING_TYPE" DataField="BRIEFING_TYPE"
FieldType="String" HeaderText="类型" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="BRIEFING_PERSONNEL_NAME" DataField="BRIEFING_PERSONNEL_NAME"
FieldType="String" HeaderText="交底人" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="POSITION_NAME" DataField="POSITION_NAME"
FieldType="String" HeaderText="岗位" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="BRIEFING_DATE" DataField="BRIEFING_DATE" SortField="BRIEFING_DATE"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="交底日期" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="160px" ColumnID="BRIEFING_CONTENT" DataField="BRIEFING_CONTENT" SortField="BRIEFING_CONTENT"
FieldType="String" HeaderText="交底内容" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="BRIEFING_STATUS" DataField="BRIEFING_STATUS" SortField="BRIEFING_STATUS"
FieldType="String" HeaderText="交底状态" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="PERSONNEL_NAME" DataField="PERSONNEL_NAME"
FieldType="String" HeaderText="参与人" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="BRIEFING_RESULT" DataField="BRIEFING_RESULT" SortField="BRIEFING_RESULT"
FieldType="String" HeaderText="交底情况" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="SIGN_STATUS" DataField="SIGN_STATUS" SortField="SIGN_STATUS"
FieldType="String" HeaderText="签字" HeaderTextAlign="Center" TextAlign="Center">
</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:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="安全技术交底" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="1000px"
Height="560px" OnClose="Window1_Close">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<%--<f:MenuButton ID="btnMenuEdit" OnClick="btnMenuEdit_Click" EnablePostBack="true"
Hidden="true" runat="server" Text="编辑" Icon="Pencil">
</f:MenuButton>
<f:MenuButton ID="btnMenuDelete" ConfirmText="确定删除当前数据?" OnClick="btnMenuDelete_Click" EnablePostBack="true"
Hidden="true" runat="server" Text="删除" Icon="Delete">
</f:MenuButton>
<f:MenuButton ID="MenuView" EnablePostBack="true" runat="server" Text="查看" Icon="find" OnClick="MenuView_Click">
</f:MenuButton>--%>
</f:Menu>
</form>
<script type="text/jscript">
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,365 @@
using BLL;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
namespace FineUIPro.Web.SanKu
{
public partial class DangerousEngineeringBriefingRecord : PageBase
{
#region 定义项
/// <summary>
/// 主键
/// </summary>
public string RecordId
{
get
{
return (string)ViewState["RecordId"];
}
set
{
ViewState["RecordId"] = value;
}
}
#endregion
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.RecordId = Request.Params["RecordId"];
Funs.DropDownPageSize(this.ddlPageSize);
////权限按钮方法
this.GetButtonPower();
if (this.CurrUser != null && this.CurrUser.PageSize.HasValue)
{
Grid1.PageSize = this.CurrUser.PageSize.Value;
}
this.ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
// 绑定表格
this.BindGrid();
}
}
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
string strSql = @"SELECT CONCAT(RECORD_ID,'-',ID_NUMBER) AS CombineField,tba.RECORD_ID,tba.TECH_BRIEFING_ID,CASE WHEN tba.DANGEROUS_ID IS NOT NULL THEN '危大' ELSE '非危大' END AS BRIEFING_TYPE,tba.DANGEROUS_ID,tba.PROJECT_CODE,tba.PROJECT_NAME,tba.SUBCONTRACTOR_ID,tba.SUBCONTRACTOR_CODE,tba.SUBCONTRACTOR_NAME,tba.BRIEFING_TIME,tba.BRIEFING_DATE,tba.BRIEFING_CONTENT,tba.BRIEFING_STATUS,tba.BRIEFING_PERSONNEL_ID_NUMBER,tba.BRIEFING_PERSONNEL_NAME,tba.PERSONNEL_NAME,tba.ID_NUMBER,tba.POSITION_NAME,tba.BRIEFING_RESULT,tba.SIGN_STATUS,tba.ReportDate
FROM SANKU_SAFETY_TECH_BRIEFING AS tba WITH(NOLOCK)
WHERE 1=1 ";
List<SqlParameter> listStr = new List<SqlParameter>();
if (!string.IsNullOrWhiteSpace(this.RecordId))
{
strSql += " AND tba.RECORD_ID = @RecordId";
listStr.Add(new SqlParameter("@RecordId", this.RecordId));
}
if (!string.IsNullOrEmpty(this.txtProjectName.Text.Trim()))
{
strSql += " AND tba.PROJECT_NAME LIKE @ProjectName";
listStr.Add(new SqlParameter("@ProjectName", "%" + this.txtProjectName.Text.Trim() + "%"));
}
if (!string.IsNullOrEmpty(this.txtTechPersonName.Text.Trim()))
{
strSql += " AND tba.BRIEFING_PERSONNEL_NAME LIKE @PersonName";
listStr.Add(new SqlParameter("@PersonName", "%" + this.txtTechPersonName.Text.Trim() + "%"));
}
if (!string.IsNullOrEmpty(this.txtPersonName.Text.Trim()))
{
strSql += " AND tba.PERSONNEL_NAME LIKE @PersonName";
listStr.Add(new SqlParameter("@PersonName", "%" + this.txtPersonName.Text.Trim() + "%"));
}
if (this.rbType.SelectedValue == "0")
{//非危大
strSql += " AND tba.DANGEROUS_ID IS NULL";
}
else if (this.rbType.SelectedValue == "1")
{//危大
strSql += " AND tba.DANGEROUS_ID IS NOT NULL";
}
if (this.rbIsReport.SelectedValue == "0")
{//未上报
strSql += " AND tba.ReportDate IS NULL";
}
else if (this.rbIsReport.SelectedValue == "1")
{//已上报
strSql += " AND tba.ReportDate IS NOT NULL";
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
//tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#region 查询
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
this.BindGrid();
}
#endregion
#region 数据收集、清空
/// <summary>
/// 数据收集
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnCollect_Click(object sender, EventArgs e)
{
DataOp("1");
}
/// <summary>
/// 数据清空
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnDelAll_Click(object sender, EventArgs e)
{
DataOp("0");
}
/// <summary>
/// 数据操作
/// </summary>
/// <param name="op"></param>
private void DataOp(string op)
{
var db = Funs.DB;
string resultStr = string.Empty;
string msg = string.Empty;
try
{
var result = Funs.DB.SP_SANKU_DATA_INIT("SANKU_SAFETY_TECH_BRIEFING", int.Parse(op));
resultStr = "成功";
msg = $"{(op == "1" ? "收集" : "清空所有")}安全技术交底记录数据";
}
catch (Exception ex)
{
resultStr = "失败";
msg = JsonConvert.SerializeObject(ex);
}
//记录上报结果日志
Model.SANKU_REPORT_LOG newModel = new Model.SANKU_REPORT_LOG();
newModel.OPTYPE = "数据操作";
newModel.CONTENT = $"{(op == "1" ? "收集" : "清空所有")}安全技术交底记录数据";
newModel.RESULT = resultStr;
newModel.DETAIL = msg;
newModel.OPERATOR = this.CurrUser.UserName;
newModel.CREATE_TIME = DateTime.Now;
db.SANKU_REPORT_LOG.InsertOnSubmit(newModel);
db.SubmitChanges();
if (resultStr == "成功")
{
this.BindGrid();
}
}
#endregion
#region 汇总上报
/// <summary>
/// 汇总上报
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnReport_Click(object sender, EventArgs e)
{
string message = string.Empty;
string code = SanKuDataSummaryReportService.ReportSafetyTechBriefingRecords(this.CurrUser.UserName, ref message);
if (code == "1")
{
this.BindGrid();
ShowNotify(message, MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
return;
}
else
{
Alert.ShowInParent(message, MessageBoxIcon.Error);
}
}
#endregion
#region 导出按钮
/// <summary>
/// 导出按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnOut_Click(object sender, EventArgs e)
{
Response.ClearContent();
string filename = Funs.GetNewFileName();
Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("三库——安全技术交底记录数据" + filename, System.Text.Encoding.UTF8) + ".xls");
Response.ContentType = "application/excel";
Response.ContentEncoding = System.Text.Encoding.UTF8;
this.Grid1.PageSize = this.Grid1.RecordCount;
this.BindGrid();
Response.Write(GetGridTableHtml(Grid1));
Response.End();
}
#endregion
#region 获取按钮权限
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower()
{
//var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.PersonDutyMenuId);
//if (buttonList.Count() > 0)
//{
// if (buttonList.Contains(BLL.Const.BtnAdd))
// {
// this.btnNew.Hidden = false;
// }
// if (buttonList.Contains(BLL.Const.BtnModify))
// {
// this.btnMenuEdit.Hidden = false;
// }
// if (buttonList.Contains(BLL.Const.BtnDelete))
// {
// this.btnMenuDelete.Hidden = false;
// }
//}
}
#endregion
#region 删除数据
/// <summary>
/// 右键删除事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuDelete_Click(object sender, EventArgs e)
{
this.DeleteData();
}
/// <summary>
/// 删除方法
/// </summary>
private void DeleteData()
{
if (Grid1.SelectedRowIndexArray.Length > 0)
{
var db = Funs.DB;
string strShowNotify = string.Empty;
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
var item = db.SANKU_SAFETY_TECH_BRIEFING.Where(x => x.TECH_BRIEFING_ID == long.Parse(rowID)).FirstOrDefault();
if (item != null)
{
if (item.ReportDate != null)
{
ShowNotify("数据已上报,无法删除!", MessageBoxIcon.Warning);
}
else
{
db.SANKU_SAFETY_TECH_BRIEFING.DeleteOnSubmit(item);
db.SubmitChanges();
}
}
}
BindGrid();
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
}
}
#endregion
#region 分页
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGrid();
}
/// <summary>
/// 分页显示条数下拉框
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
BindGrid();
}
#endregion
/// <summary>
/// Grid行双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
//this.EditData();
}
/// <summary>
/// 右键编辑事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuEdit_Click(object sender, EventArgs e)
{
//this.EditData();
}
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
protected void MenuView_Click(object sender, EventArgs e)
{
//string url = "AccidentRecordView.aspx?Id={0}";
//PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format(url, Id, "操作 - ")));
}
}
}
@@ -0,0 +1,197 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.SanKu
{
public partial class DangerousEngineeringBriefingRecord
{
/// <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>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// txtProjectName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtProjectName;
/// <summary>
/// txtTechPersonName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtTechPersonName;
/// <summary>
/// txtPersonName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtPersonName;
/// <summary>
/// rbType 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButtonList rbType;
/// <summary>
/// rbIsReport 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButtonList rbIsReport;
/// <summary>
/// btnCollect 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnCollect;
/// <summary>
/// btnReport 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnReport;
/// <summary>
/// btnDelAll 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnDelAll;
/// <summary>
/// btnOut 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut;
/// <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>
/// Menu1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
}
}
@@ -0,0 +1,139 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="DangerousEngineeringDutyRecord.aspx.cs" Inherits="FineUIPro.Web.SanKu.DangerousEngineeringDutyRecord" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>危大工程履职</title>
<link href="../res/css/common.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
</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" DataKeyNames="DUTY_RECORD_ID" EnableColumnLines="true"
DataIDField="CombineField" AllowSorting="true" SortField="ReportDate DESC,DUTY_START_TIME DESC,DUTY_PERSONNEL" ForceFit="true"
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="Toolbar2" Position="Top" runat="server">
<Items>
<f:TextBox runat="server" Label="项目名称" ID="txtProjectName" EmptyText="输入集团主数据项目名称" AutoPostBack="true"
OnTextChanged="TextBox_TextChanged" Width="280px" LabelWidth="80px">
</f:TextBox>
<f:TextBox runat="server" Label="人员名称" ID="txtPersonName" EmptyText="输入人员名称" AutoPostBack="true"
OnTextChanged="TextBox_TextChanged" Width="280px" LabelWidth="80px">
</f:TextBox>
<f:ToolbarSeparator runat="server"></f:ToolbarSeparator>
<f:RadioButtonList runat="server" ID="rbIsReport" Label="是否上报" Width="280px" LabelWidth="80px" AutoPostBack="true" OnSelectedIndexChanged="TextBox_TextChanged">
<f:RadioItem Text="全部" Value="-1" />
<f:RadioItem Text="未上报" Value="0" Selected="true" />
<f:RadioItem Text="已上报" Value="1" />
</f:RadioButtonList>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnCollect" OnClick="btnCollect_Click" runat="server" Text="收集" ToolTip="数据收集" Icon="DatabaseCopy" EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
<f:Button ID="btnReport" OnClick="btnReport_Click" runat="server" Text="上报" ToolTip="上报" Icon="WorldGo" EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
<f:Button ID="btnDelAll" OnClick="btnDelAll_Click" runat="server" Text="清空" ToolTip="清空所有数据" ConfirmText="确定清空所有数据?请谨慎操作!" Icon="DatabaseDelete" EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" ToolTip="导出" Icon="FolderUp"
EnableAjax="false" DisableControlBeforePostBack="false">
</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="100px" ColumnID="ReportDate" DataField="ReportDate" SortField="ReportDate"
FieldType="Date" Renderer="Date" HeaderText="上报日期" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>--%>
<f:RenderField Width="140px" ColumnID="ReportDate" DataField="ReportDate" SortField="ReportDate"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd HH:mm:ss" HeaderText="上报时间" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="160px" ColumnID="PROJECT_CODE" DataField="PROJECT_CODE" SortField="PROJECT_CODE"
FieldType="String" HeaderText="主数据项目编号" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="220px" ColumnID="PROJECT_NAME" DataField="PROJECT_NAME" SortField="PROJECT_NAME"
FieldType="String" HeaderText="主数据项目" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="SUBCONTRACTOR_ID" DataField="SUBCONTRACTOR_ID" SortField="SUBCONTRACTOR_ID"
FieldType="String" HeaderText="主数据组织编码" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="DUTY_LEVEL" DataField="DUTY_LEVEL" SortField="DUTY_LEVEL"
FieldType="String" HeaderText="履职层级" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="DUTY_PERSONNEL" DataField="DUTY_PERSONNEL"
FieldType="String" HeaderText="履职人员" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="140px" ColumnID="DUTY_ROLE" DataField="DUTY_ROLE" SortField="DUTY_ROLE"
FieldType="String" HeaderText="人员角色" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="260px" ColumnID="SUBCONTRACTOR_NAME" DataField="SUBCONTRACTOR_NAME"
FieldType="String" HeaderText="人员单位" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="DUTY_START_TIME" DataField="DUTY_START_TIME" SortField="DUTY_START_TIME"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="开始时间" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="DUTY_END_TIME" DataField="DUTY_END_TIME" SortField="DUTY_END_TIME"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="结束时间" TextAlign="Center" HeaderTextAlign="Center">
</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:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="危大工程履职" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="1000px"
Height="560px" OnClose="Window1_Close">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<%--<f:MenuButton ID="btnMenuEdit" OnClick="btnMenuEdit_Click" EnablePostBack="true"
Hidden="true" runat="server" Text="编辑" Icon="Pencil">
</f:MenuButton>
<f:MenuButton ID="btnMenuDelete" ConfirmText="确定删除当前数据?" OnClick="btnMenuDelete_Click" EnablePostBack="true"
Hidden="true" runat="server" Text="删除" Icon="Delete">
</f:MenuButton>
<f:MenuButton ID="MenuView" EnablePostBack="true" runat="server" Text="查看" Icon="find" OnClick="MenuView_Click">
</f:MenuButton>--%>
</f:Menu>
</form>
<script type="text/jscript">
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,351 @@
using BLL;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
namespace FineUIPro.Web.SanKu
{
public partial class DangerousEngineeringDutyRecord : PageBase
{
#region 定义项
/// <summary>
/// 主键
/// </summary>
public string RecordId
{
get
{
return (string)ViewState["RecordId"];
}
set
{
ViewState["RecordId"] = value;
}
}
#endregion
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.RecordId = Request.Params["RecordId"];
Funs.DropDownPageSize(this.ddlPageSize);
////权限按钮方法
this.GetButtonPower();
if (this.CurrUser != null && this.CurrUser.PageSize.HasValue)
{
Grid1.PageSize = this.CurrUser.PageSize.Value;
}
this.ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
// 绑定表格
this.BindGrid();
}
}
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
string strSql = @"SELECT CONCAT(DANGEROUS_ID,'-',ID_NUMBER) AS CombineField,tba.RECORD_ID,tba.DUTY_RECORD_ID,tba.DANGEROUS_ID,tba.PROJECT_CODE,tba.PROJECT_NAME,tba.SUBCONTRACTOR_ID,tba.SUBCONTRACTOR_NAME,tba.DUTY_START_TIME,tba.DUTY_END_TIME,tba.DUTY_LEVEL,tba.DUTY_ROLE,tba.DUTY_PERSONNEL,tba.ID_NUMBER,tba.ReportDate
FROM SANKU_DANGEROUS_ENGINEERING_DUTY_RECORD AS tba WITH(NOLOCK)
WHERE 1=1 ";
List<SqlParameter> listStr = new List<SqlParameter>();
if (!string.IsNullOrWhiteSpace(this.RecordId))
{
strSql += " AND tba.RECORD_ID = @RecordId";
listStr.Add(new SqlParameter("@RecordId", this.RecordId));
}
if (!string.IsNullOrEmpty(this.txtProjectName.Text.Trim()))
{
strSql += " AND tba.PROJECT_NAME LIKE @ProjectName";
listStr.Add(new SqlParameter("@ProjectName", "%" + this.txtProjectName.Text.Trim() + "%"));
}
if (!string.IsNullOrEmpty(this.txtPersonName.Text.Trim()))
{
strSql += " AND tba.DUTY_PERSONNEL LIKE @PersonName";
listStr.Add(new SqlParameter("@PersonName", "%" + this.txtPersonName.Text.Trim() + "%"));
}
if (this.rbIsReport.SelectedValue == "0")
{//未上报
strSql += " AND tba.ReportDate IS NULL";
}
else if (this.rbIsReport.SelectedValue == "1")
{//已上报
strSql += " AND tba.ReportDate IS NOT NULL";
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
//tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#region 查询
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
this.BindGrid();
}
#endregion
#region 数据收集、清空
/// <summary>
/// 数据收集
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnCollect_Click(object sender, EventArgs e)
{
DataOp("1");
}
/// <summary>
/// 数据清空
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnDelAll_Click(object sender, EventArgs e)
{
DataOp("0");
}
/// <summary>
/// 数据操作
/// </summary>
/// <param name="op"></param>
private void DataOp(string op)
{
var db = Funs.DB;
string resultStr = string.Empty;
string msg = string.Empty;
try
{
var result = Funs.DB.SP_SANKU_DATA_INIT("SANKU_DANGEROUS_ENGINEERING_DUTY_RECORD", int.Parse(op));
resultStr = "成功";
msg = $"{(op == "1" ? "收集" : "清空所有")}危大工程履职记录数据";
}
catch (Exception ex)
{
resultStr = "失败";
msg = JsonConvert.SerializeObject(ex);
}
//记录上报结果日志
Model.SANKU_REPORT_LOG newModel = new Model.SANKU_REPORT_LOG();
newModel.OPTYPE = "数据操作";
newModel.CONTENT = $"{(op == "1" ? "收集" : "清空所有")}危大工程履职记录数据";
newModel.RESULT = resultStr;
newModel.DETAIL = msg;
newModel.OPERATOR = this.CurrUser.UserName;
newModel.CREATE_TIME = DateTime.Now;
db.SANKU_REPORT_LOG.InsertOnSubmit(newModel);
db.SubmitChanges();
if (resultStr == "成功")
{
this.BindGrid();
}
}
#endregion
#region 汇总上报
/// <summary>
/// 汇总上报
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnReport_Click(object sender, EventArgs e)
{
string message = string.Empty;
string code = SanKuDataSummaryReportService.ReportDangerousEngineeringDutyRecords(this.CurrUser.UserName, ref message);
if (code == "1")
{
this.BindGrid();
ShowNotify(message, MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
return;
}
else
{
Alert.ShowInParent(message, MessageBoxIcon.Error);
}
}
#endregion
#region 导出按钮
/// <summary>
/// 导出按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnOut_Click(object sender, EventArgs e)
{
Response.ClearContent();
string filename = Funs.GetNewFileName();
Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("三库——危大工程履职记录数据" + filename, System.Text.Encoding.UTF8) + ".xls");
Response.ContentType = "application/excel";
Response.ContentEncoding = System.Text.Encoding.UTF8;
this.Grid1.PageSize = this.Grid1.RecordCount;
this.BindGrid();
Response.Write(GetGridTableHtml(Grid1));
Response.End();
}
#endregion
#region 获取按钮权限
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower()
{
//var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.PersonDutyMenuId);
//if (buttonList.Count() > 0)
//{
// if (buttonList.Contains(BLL.Const.BtnAdd))
// {
// this.btnNew.Hidden = false;
// }
// if (buttonList.Contains(BLL.Const.BtnModify))
// {
// this.btnMenuEdit.Hidden = false;
// }
// if (buttonList.Contains(BLL.Const.BtnDelete))
// {
// this.btnMenuDelete.Hidden = false;
// }
//}
}
#endregion
#region 删除数据
/// <summary>
/// 右键删除事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuDelete_Click(object sender, EventArgs e)
{
this.DeleteData();
}
/// <summary>
/// 删除方法
/// </summary>
private void DeleteData()
{
if (Grid1.SelectedRowIndexArray.Length > 0)
{
var db = Funs.DB;
string strShowNotify = string.Empty;
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
var item = db.SANKU_DANGEROUS_ENGINEERING_DUTY_RECORD.Where(x => x.DUTY_RECORD_ID == long.Parse(rowID)).FirstOrDefault();
if (item != null)
{
if (item.ReportDate != null)
{
ShowNotify("数据已上报,无法删除!", MessageBoxIcon.Warning);
}
else
{
db.SANKU_DANGEROUS_ENGINEERING_DUTY_RECORD.DeleteOnSubmit(item);
db.SubmitChanges();
}
}
}
BindGrid();
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
}
}
#endregion
#region 分页
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGrid();
}
/// <summary>
/// 分页显示条数下拉框
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
BindGrid();
}
#endregion
/// <summary>
/// Grid行双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
//this.EditData();
}
/// <summary>
/// 右键编辑事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuEdit_Click(object sender, EventArgs e)
{
//this.EditData();
}
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
protected void MenuView_Click(object sender, EventArgs e)
{
//string url = "AccidentRecordView.aspx?Id={0}";
//PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format(url, Id, "操作 - ")));
}
}
}
@@ -0,0 +1,179 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.SanKu
{
public partial class DangerousEngineeringDutyRecord
{
/// <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>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// txtProjectName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtProjectName;
/// <summary>
/// txtPersonName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtPersonName;
/// <summary>
/// rbIsReport 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButtonList rbIsReport;
/// <summary>
/// btnCollect 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnCollect;
/// <summary>
/// btnReport 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnReport;
/// <summary>
/// btnDelAll 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnDelAll;
/// <summary>
/// btnOut 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut;
/// <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>
/// Menu1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
}
}
+15 -6
View File
@@ -35,10 +35,10 @@
OnTextChanged="TextBox_TextChanged" Width="210px" LabelWidth="80px" LabelAlign="Right">
</f:TextBox>
<f:ToolbarSeparator runat="server"></f:ToolbarSeparator>
<f:RadioButtonList runat="server" ID="rbIsReport" Label="是否上报" Width="280px" LabelWidth="80px" AutoPostBack="true" OnSelectedIndexChanged="TextBox_TextChanged">
<f:RadioItem Text="全部" Value="-1" />
<f:RadioItem Text="未上报" Value="0" Selected="true" />
<f:RadioItem Text="已上报" Value="1" />
<f:RadioButtonList runat="server" ID="rbObject" Label="奖惩对象" Width="280px" LabelWidth="80px" AutoPostBack="true" OnSelectedIndexChanged="TextBox_TextChanged">
<f:RadioItem Text="全部" Value="-1" Selected="true" />
<f:RadioItem Text="单位" Value="1" />
<f:RadioItem Text="人员" Value="0" />
</f:RadioButtonList>
<f:ToolbarSeparator runat="server"></f:ToolbarSeparator>
<f:RadioButtonList runat="server" ID="rbType" Label="奖惩" Width="280px" LabelWidth="80px" LabelAlign="Right" AutoPostBack="true" OnSelectedIndexChanged="TextBox_TextChanged">
@@ -47,6 +47,12 @@
<f:RadioItem Text="处罚" Value="处罚" />
</f:RadioButtonList>
<f:ToolbarSeparator runat="server"></f:ToolbarSeparator>
<f:RadioButtonList runat="server" ID="rbIsReport" Label="是否上报" Width="280px" LabelWidth="80px" AutoPostBack="true" OnSelectedIndexChanged="TextBox_TextChanged">
<f:RadioItem Text="全部" Value="-1" />
<f:RadioItem Text="未上报" Value="0" Selected="true" />
<f:RadioItem Text="已上报" Value="1" />
</f:RadioButtonList>
<f:ToolbarSeparator runat="server"></f:ToolbarSeparator>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnCollect" OnClick="btnCollect_Click" runat="server" Text="收集" ToolTip="数据收集" Icon="DatabaseCopy" EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
@@ -78,8 +84,8 @@
<f:RenderField Width="220px" ColumnID="PROJECT_NAME" DataField="PROJECT_NAME" SortField="PROJECT_NAME"
FieldType="String" HeaderText="主数据项目" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="140px" ColumnID="PERSONNEL_NAME" DataField="PERSONNEL_NAME"
FieldType="String" HeaderText="奖惩人员" HeaderTextAlign="Center" TextAlign="Center">
<f:RenderField Width="100px" ColumnID="REWARD_OBJECT" DataField="REWARD_OBJECT" SortField="REWARD_OBJECT"
FieldType="String" HeaderText="奖惩对象" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="REWARD_UNIT_ID" DataField="REWARD_UNIT_ID" SortField="REWARD_UNIT_ID"
FieldType="String" HeaderText="主数据组织编码" HeaderTextAlign="Center" TextAlign="Left">
@@ -87,6 +93,9 @@
<f:RenderField Width="220px" ColumnID="REWARD_UNIT_NAME" DataField="REWARD_UNIT_NAME"
FieldType="String" HeaderText="奖惩单位" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="140px" ColumnID="PERSONNEL_NAME" DataField="PERSONNEL_NAME"
FieldType="String" HeaderText="奖惩人员" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="REWARD_DATE" DataField="REWARD_DATE" SortField="REWARD_DATE"
FieldType="Date" Renderer="Date" HeaderText="奖惩时间" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
@@ -38,7 +38,7 @@ namespace FineUIPro.Web.SanKu
/// </summary>
private void BindGrid()
{
string strSql = @"SELECT tba.REWARD_ID,tba.RECORD_ID,tba.PROJECT_CODE,tba.PROJECT_NAME,tba.PERSONNEL_NAME,tba.REWARD_DATE,tba.REWARD_TYPE,tba.REWARD_UNIT_ID,tba.REWARD_UNIT_NAME,tba.REWARD_CONTENT,tba.REWARD_AMOUNT,tba.REWARD_LEVEL,tba.ReportDate
string strSql = @"SELECT tba.REWARD_ID,tba.RECORD_ID,CASE WHEN tba.PERSONNEL_NAME IS NOT NULL THEN '人员' ELSE '单位' END AS REWARD_OBJECT,tba.PROJECT_CODE,tba.PROJECT_NAME,tba.PERSONNEL_NAME,tba.REWARD_DATE,tba.REWARD_TYPE,tba.REWARD_UNIT_ID,tba.REWARD_UNIT_NAME,tba.REWARD_CONTENT,tba.REWARD_AMOUNT,tba.REWARD_LEVEL,tba.ReportDate
FROM SANKU_SAFETY_REWARD AS tba WITH(NOLOCK)
WHERE 1=1 ";
List<SqlParameter> listStr = new List<SqlParameter>();
@@ -52,6 +52,20 @@ namespace FineUIPro.Web.SanKu
strSql += " AND tba.REWARD_CONTENT LIKE @Content";
listStr.Add(new SqlParameter("@Content", "%" + this.txtContent.Text.Trim() + "%"));
}
string type = this.rbType.SelectedValue.Trim();
if (!string.IsNullOrWhiteSpace(type))
{//奖罚类型
strSql += " AND tba.REWARD_TYPE = @Type";
listStr.Add(new SqlParameter("@Type", type));
}
if (this.rbObject.SelectedValue == "0")
{//人员
strSql += " AND tba.PERSONNEL_NAME IS NOT NULL";
}
else if (this.rbObject.SelectedValue == "1")
{//单位
strSql += " AND tba.PERSONNEL_NAME IS NULL";
}
if (this.rbIsReport.SelectedValue == "0")
{//未上报
strSql += " AND tba.ReportDate IS NULL";
@@ -60,12 +74,6 @@ namespace FineUIPro.Web.SanKu
{//已上报
strSql += " AND tba.ReportDate IS NOT NULL";
}
string type = this.rbType.SelectedValue.Trim();
if (!string.IsNullOrWhiteSpace(type))
{//奖罚类型
strSql += " AND tba.REWARD_TYPE = @Type";
listStr.Add(new SqlParameter("@Type", type));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
+11 -2
View File
@@ -78,13 +78,13 @@ namespace FineUIPro.Web.SanKu
protected global::FineUIPro.TextBox txtContent;
/// <summary>
/// rbIsReport 控件。
/// rbObject 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButtonList rbIsReport;
protected global::FineUIPro.RadioButtonList rbObject;
/// <summary>
/// rbType 控件。
@@ -95,6 +95,15 @@ namespace FineUIPro.Web.SanKu
/// </remarks>
protected global::FineUIPro.RadioButtonList rbType;
/// <summary>
/// rbIsReport 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButtonList rbIsReport;
/// <summary>
/// btnCollect 控件。
/// </summary>
@@ -0,0 +1,145 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WorkBriefing.aspx.cs" Inherits="FineUIPro.Web.SanKu.WorkBriefing" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>班前喊话发起记录</title>
<link href="../res/css/common.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
</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" DataKeyNames="BRIEFING_ID" EnableColumnLines="true"
DataIDField="RECORD_ID" AllowSorting="true" SortField="ReportDate DESC,BRIEFING_TIME" ForceFit="true"
SortDirection="DESC" OnSort="Grid1_Sort" AllowPaging="true" IsDatabasePaging="true"
PageSize="10" OnPageIndexChange="Grid1_PageIndexChange" EnableRowDoubleClickEvent="true"
OnRowDoubleClick="Grid1_RowDoubleClick" EnableTextSelection="True">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server">
<Items>
<f:TextBox runat="server" Label="项目名称" ID="txtProjectName" EmptyText="输入集团主数据项目名称" AutoPostBack="true"
OnTextChanged="TextBox_TextChanged" Width="280px" LabelWidth="80px">
</f:TextBox>
<f:TextBox runat="server" Label="喊话内容" ID="txtContent" EmptyText="输入喊话内容" AutoPostBack="true"
OnTextChanged="TextBox_TextChanged" Width="260px" LabelWidth="80px">
</f:TextBox>
<f:TextBox runat="server" Label="人员姓名" ID="txtPerson" EmptyText="输入人员姓名" AutoPostBack="true"
OnTextChanged="TextBox_TextChanged" Width="260px" LabelWidth="80px">
</f:TextBox>
<f:ToolbarSeparator runat="server"></f:ToolbarSeparator>
<f:RadioButtonList runat="server" ID="rbIsReport" Label="是否上报" Width="280px" LabelWidth="80px" AutoPostBack="true" OnSelectedIndexChanged="TextBox_TextChanged">
<f:RadioItem Text="全部" Value="-1" />
<f:RadioItem Text="未上报" Value="0" Selected="true" />
<f:RadioItem Text="已上报" Value="1" />
</f:RadioButtonList>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnCollect" OnClick="btnCollect_Click" runat="server" Text="收集" ToolTip="数据收集" Icon="DatabaseCopy" EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
<f:Button ID="btnReport" OnClick="btnReport_Click" runat="server" Text="上报" ToolTip="上报" Icon="WorldGo" EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
<f:Button ID="btnDelAll" OnClick="btnDelAll_Click" runat="server" Text="清空" ToolTip="清空所有数据" ConfirmText="确定清空所有数据?请谨慎操作!" Icon="DatabaseDelete" EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" ToolTip="导出" Icon="FolderUp"
EnableAjax="false" DisableControlBeforePostBack="false">
</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="100px" ColumnID="ReportDate" DataField="ReportDate" SortField="ReportDate"
FieldType="Date" Renderer="Date" HeaderText="上报日期" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>--%>
<f:RenderField Width="140px" ColumnID="ReportDate" DataField="ReportDate" SortField="ReportDate"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd HH:mm:ss" HeaderText="上报时间" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="160px" ColumnID="PROJECT_CODE" DataField="PROJECT_CODE" SortField="PROJECT_CODE"
FieldType="String" HeaderText="主数据项目编号" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="220px" ColumnID="PROJECT_NAME" DataField="PROJECT_NAME" SortField="PROJECT_NAME"
FieldType="String" HeaderText="主数据项目" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="SUBCONTRACTOR_ID" DataField="SUBCONTRACTOR_ID" SortField="SUBCONTRACTOR_ID"
FieldType="String" HeaderText="主数据组织编码" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="220px" ColumnID="SUBCONTRACTOR_NAME" DataField="SUBCONTRACTOR_NAME"
FieldType="String" HeaderText="单位名称" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="140px" ColumnID="PERSONNEL_NAME" DataField="PERSONNEL_NAME"
FieldType="String" HeaderText="发起人员" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="POSITION_NAME" DataField="POSITION_NAME"
FieldType="String" HeaderText="人员岗位" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="BRIEFING_DATE" DataField="BRIEFING_DATE" SortField="BRIEFING_DATE"
FieldType="Date" Renderer="Date" HeaderText="发起日期" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="BRIEFING_TIME" DataField="BRIEFING_TIME" SortField="BRIEFING_TIME"
FieldType="Date" Renderer="Date" HeaderText="喊话时间" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="PARTICIPANT_COUNT" DataField="PARTICIPANT_COUNT"
FieldType="Int" HeaderText="参与人数" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="220px" ColumnID="BRIEFING_CONTENT" DataField="BRIEFING_CONTENT"
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:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="班前喊话参与记录" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="1200px"
Height="720px" OnClose="Window1_Close">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<%--<f:MenuButton ID="btnMenuEdit" OnClick="btnMenuEdit_Click" EnablePostBack="true"
Hidden="true" runat="server" Text="编辑" Icon="Pencil">
</f:MenuButton>
<f:MenuButton ID="btnMenuDelete" ConfirmText="确定删除当前数据?" OnClick="btnMenuDelete_Click" EnablePostBack="true"
Hidden="true" runat="server" Text="删除" Icon="Delete">
</f:MenuButton>
<f:MenuButton ID="MenuView" EnablePostBack="true" runat="server" Text="查看" Icon="find" OnClick="MenuView_Click">
</f:MenuButton>--%>
</f:Menu>
</form>
<script type="text/jscript">
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,325 @@
using BLL;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
namespace FineUIPro.Web.SanKu
{
public partial class WorkBriefing : PageBase
{
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Funs.DropDownPageSize(this.ddlPageSize);
////权限按钮方法
this.GetButtonPower();
if (this.CurrUser != null && this.CurrUser.PageSize.HasValue)
{
Grid1.PageSize = this.CurrUser.PageSize.Value;
}
this.ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
// 绑定表格
this.BindGrid();
}
}
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
string strSql = @"SELECT tba.BRIEFING_ID,tba.RECORD_ID,tba.PROJECT_CODE,tba.PROJECT_NAME,tba.SUBCONTRACTOR_ID,tba.SUBCONTRACTOR_NAME,tba.PERSONNEL_NAME,tba.BRIEFING_TIME,tba.BRIEFING_DATE,tba.BRIEFING_CONTENT,tba.POSITION_NAME,tba.PARTICIPANT_COUNT,tba.ReportDate
FROM SANKU_WORK_BRIEFING AS tba WITH(NOLOCK)
WHERE 1=1 ";
List<SqlParameter> listStr = new List<SqlParameter>();
if (!string.IsNullOrEmpty(this.txtProjectName.Text.Trim()))
{
strSql += " AND tba.PROJECT_NAME LIKE @ProjectName";
listStr.Add(new SqlParameter("@ProjectName", "%" + this.txtProjectName.Text.Trim() + "%"));
}
if (!string.IsNullOrEmpty(this.txtContent.Text.Trim()))
{
strSql += " AND tba.BRIEFING_CONTENT LIKE @Content";
listStr.Add(new SqlParameter("@Content", "%" + this.txtContent.Text.Trim() + "%"));
}
if (!string.IsNullOrEmpty(this.txtPerson.Text.Trim()))
{
strSql += " AND tba.PERSONNEL_NAME LIKE @PersonName";
listStr.Add(new SqlParameter("@PersonName", "%" + this.txtPerson.Text.Trim() + "%"));
}
if (this.rbIsReport.SelectedValue == "0")
{//未上报
strSql += " AND tba.ReportDate IS NULL";
}
else if (this.rbIsReport.SelectedValue == "1")
{//已上报
strSql += " AND tba.ReportDate IS NOT NULL";
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
//tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#region 查询
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
this.BindGrid();
}
#endregion
#region 数据收集、清空
/// <summary>
/// 数据收集
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnCollect_Click(object sender, EventArgs e)
{
DataOp("1");
}
/// <summary>
/// 数据清空
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnDelAll_Click(object sender, EventArgs e)
{
DataOp("0");
}
/// <summary>
/// 数据操作
/// </summary>
/// <param name="op"></param>
private void DataOp(string op)
{
var db = Funs.DB;
string resultStr = string.Empty;
string msg = string.Empty;
try
{
var result = Funs.DB.SP_SANKU_DATA_INIT("SANKU_WORK_BRIEFING", int.Parse(op));
resultStr = "成功";
msg = $"{(op == "1" ? "收集" : "清空所有")}班前喊话发起记录数据";
}
catch (Exception ex)
{
resultStr = "失败";
msg = JsonConvert.SerializeObject(ex);
}
//记录上报结果日志
Model.SANKU_REPORT_LOG newModel = new Model.SANKU_REPORT_LOG();
newModel.OPTYPE = "数据操作";
newModel.CONTENT = $"{(op == "1" ? "收集" : "清空所有")}班前喊话发起记录数据";
newModel.RESULT = resultStr;
newModel.DETAIL = msg;
newModel.OPERATOR = this.CurrUser.UserName;
newModel.CREATE_TIME = DateTime.Now;
db.SANKU_REPORT_LOG.InsertOnSubmit(newModel);
db.SubmitChanges();
if (resultStr == "成功")
{
this.BindGrid();
}
}
#endregion
#region 汇总上报
/// <summary>
/// 汇总上报
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnReport_Click(object sender, EventArgs e)
{
string message = string.Empty;
string code = SanKuDataSummaryReportService.ReportWorkBriefingRecords(this.CurrUser.UserName, ref message);
if (code == "1")
{
this.BindGrid();
ShowNotify(message, MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
return;
}
else
{
Alert.ShowInParent(message, MessageBoxIcon.Error);
}
}
#endregion
#region 导出按钮
/// <summary>
/// 导出按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnOut_Click(object sender, EventArgs e)
{
Response.ClearContent();
string filename = Funs.GetNewFileName();
Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("三库——班前喊话发起记录数据" + filename, System.Text.Encoding.UTF8) + ".xls");
Response.ContentType = "application/excel";
Response.ContentEncoding = System.Text.Encoding.UTF8;
this.Grid1.PageSize = this.Grid1.RecordCount;
this.BindGrid();
Response.Write(GetGridTableHtml(Grid1));
Response.End();
}
#endregion
#region 获取按钮权限
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower()
{
}
#endregion
#region 删除数据
/// <summary>
/// 右键删除事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuDelete_Click(object sender, EventArgs e)
{
this.DeleteData();
}
/// <summary>
/// 删除方法
/// </summary>
private void DeleteData()
{
if (Grid1.SelectedRowIndexArray.Length > 0)
{
var db = Funs.DB;
string strShowNotify = string.Empty;
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
var item = db.SANKU_WORK_BRIEFING.Where(x => x.BRIEFING_ID == long.Parse(rowID)).FirstOrDefault();
if (item != null)
{
if (item.ReportDate != null)
{
ShowNotify("数据已上报,无法删除!", MessageBoxIcon.Warning);
}
else
{
db.SANKU_WORK_BRIEFING.DeleteOnSubmit(item);
db.SubmitChanges();
}
}
}
BindGrid();
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
}
}
#endregion
#region 分页
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGrid();
}
/// <summary>
/// 分页显示条数下拉框
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
BindGrid();
}
#endregion
/// <summary>
/// Grid行双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning);
return;
}
var recordId = Grid1.SelectedRowID;
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("WorkBriefingParticipant.aspx?RecordId={0}", Grid1.SelectedRowID, "查看 - ")));
}
/// <summary>
/// 右键编辑事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuEdit_Click(object sender, EventArgs e)
{
//this.EditData();
}
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
protected void MenuView_Click(object sender, EventArgs e)
{
//string url = "AccidentRecordView.aspx?Id={0}";
//PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format(url, Id, "操作 - ")));
}
}
}
+188
View File
@@ -0,0 +1,188 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.SanKu
{
public partial class WorkBriefing
{
/// <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>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// txtProjectName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtProjectName;
/// <summary>
/// txtContent 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtContent;
/// <summary>
/// txtPerson 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtPerson;
/// <summary>
/// rbIsReport 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButtonList rbIsReport;
/// <summary>
/// btnCollect 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnCollect;
/// <summary>
/// btnReport 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnReport;
/// <summary>
/// btnDelAll 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnDelAll;
/// <summary>
/// btnOut 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut;
/// <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>
/// Menu1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
}
}
@@ -0,0 +1,136 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WorkBriefingParticipant.aspx.cs" Inherits="FineUIPro.Web.SanKu.WorkBriefingParticipant" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>班前喊话参与记录</title>
<link href="../res/css/common.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
</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" DataKeyNames="PARTICIPANT_ID" EnableColumnLines="true"
DataIDField="CombineField" AllowSorting="true" SortField="ReportDate DESC,PARTICIPATE_DATE DESC,PERSONNEL_NAME" ForceFit="true"
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="Toolbar2" Position="Top" runat="server">
<Items>
<f:TextBox runat="server" Label="项目名称" ID="txtProjectName" EmptyText="输入集团主数据项目名称" AutoPostBack="true"
OnTextChanged="TextBox_TextChanged" Width="280px" LabelWidth="80px">
</f:TextBox>
<f:TextBox runat="server" Label="人员姓名" ID="txtPerson" EmptyText="输入人员姓名" AutoPostBack="true"
OnTextChanged="TextBox_TextChanged" Width="260px" LabelWidth="80px">
</f:TextBox>
<f:ToolbarSeparator runat="server"></f:ToolbarSeparator>
<f:RadioButtonList runat="server" ID="rbIsReport" Label="是否上报" Width="280px" LabelWidth="80px" AutoPostBack="true" OnSelectedIndexChanged="TextBox_TextChanged">
<f:RadioItem Text="全部" Value="-1" />
<f:RadioItem Text="未上报" Value="0" Selected="true" />
<f:RadioItem Text="已上报" Value="1" />
</f:RadioButtonList>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnCollect" OnClick="btnCollect_Click" runat="server" Text="收集" ToolTip="数据收集" Icon="DatabaseCopy" EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
<f:Button ID="btnReport" OnClick="btnReport_Click" runat="server" Text="上报" ToolTip="上报" Icon="WorldGo" EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
<f:Button ID="btnDelAll" OnClick="btnDelAll_Click" runat="server" Text="清空" ToolTip="清空所有数据" ConfirmText="确定清空所有数据?请谨慎操作!" Icon="DatabaseDelete" EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" ToolTip="导出" Icon="FolderUp"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfNumber" Width="80px" 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="100px" ColumnID="ReportDate" DataField="ReportDate" SortField="ReportDate"
FieldType="Date" Renderer="Date" HeaderText="上报日期" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>--%>
<f:RenderField Width="140px" ColumnID="ReportDate" DataField="ReportDate" SortField="ReportDate"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd HH:mm:ss" HeaderText="上报时间" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="160px" ColumnID="PROJECT_CODE" DataField="PROJECT_CODE" SortField="PROJECT_CODE"
FieldType="String" HeaderText="主数据项目编号" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="260px" ColumnID="PROJECT_NAME" DataField="PROJECT_NAME" SortField="PROJECT_NAME"
FieldType="String" HeaderText="主数据项目" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="SUBCONTRACTOR_ID" DataField="SUBCONTRACTOR_ID" SortField="SUBCONTRACTOR_ID"
FieldType="String" HeaderText="主数据组织编码" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="260px" ColumnID="SUBCONTRACTOR_NAME" DataField="SUBCONTRACTOR_NAME"
FieldType="String" HeaderText="单位名称" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="140px" ColumnID="PERSONNEL_NAME" DataField="PERSONNEL_NAME"
FieldType="String" HeaderText="参与人员" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="POSITION_NAME" DataField="POSITION_NAME"
FieldType="String" HeaderText="人员岗位" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="PARTICIPATE_DATE" DataField="PARTICIPATE_DATE" SortField="PARTICIPATE_DATE"
FieldType="Date" Renderer="Date" HeaderText="参与日期" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="PARTICIPATE_RESULT" DataField="PARTICIPATE_RESULT"
FieldType="String" HeaderText="参与结果" HeaderTextAlign="Center" TextAlign="Center">
</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:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="班前喊话参与记录" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="1000px"
Height="560px" OnClose="Window1_Close">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<%--<f:MenuButton ID="btnMenuEdit" OnClick="btnMenuEdit_Click" EnablePostBack="true"
Hidden="true" runat="server" Text="编辑" Icon="Pencil">
</f:MenuButton>
<f:MenuButton ID="btnMenuDelete" ConfirmText="确定删除当前数据?" OnClick="btnMenuDelete_Click" EnablePostBack="true"
Hidden="true" runat="server" Text="删除" Icon="Delete">
</f:MenuButton>
<f:MenuButton ID="MenuView" EnablePostBack="true" runat="server" Text="查看" Icon="find" OnClick="MenuView_Click">
</f:MenuButton>--%>
</f:Menu>
</form>
<script type="text/jscript">
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,337 @@
using BLL;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
namespace FineUIPro.Web.SanKu
{
public partial class WorkBriefingParticipant : PageBase
{
#region 定义项
/// <summary>
/// 主键
/// </summary>
public string RecordId
{
get
{
return (string)ViewState["RecordId"];
}
set
{
ViewState["RecordId"] = value;
}
}
#endregion
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.RecordId = Request.Params["RecordId"];
Funs.DropDownPageSize(this.ddlPageSize);
////权限按钮方法
this.GetButtonPower();
if (this.CurrUser != null && this.CurrUser.PageSize.HasValue)
{
Grid1.PageSize = this.CurrUser.PageSize.Value;
}
this.ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
// 绑定表格
this.BindGrid();
}
}
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
string strSql = @"SELECT CONCAT(BRIEFING_ID,'-',PERSONNEL_ID_NUMBER) AS CombineField,tba.PARTICIPANT_ID,tba.BRIEFING_ID,tba.RECORD_ID,tba.PROJECT_CODE,tba.PROJECT_NAME,tba.SUBCONTRACTOR_ID,tba.SUBCONTRACTOR_NAME,tba.PERSONNEL_NAME,tba.POSITION_NAME,tba.PARTICIPATE_DATE,tba.PARTICIPATE_RESULT,tba.ReportDate
FROM SANKU_WORK_BRIEFING_PARTICIPANT AS tba WITH(NOLOCK)
WHERE 1=1 ";
List<SqlParameter> listStr = new List<SqlParameter>();
if (!string.IsNullOrWhiteSpace(this.RecordId))
{
strSql += " AND tba.RECORD_ID = @RecordId";
listStr.Add(new SqlParameter("@RecordId",this.RecordId));
}
if (!string.IsNullOrEmpty(this.txtProjectName.Text.Trim()))
{
strSql += " AND tba.PROJECT_NAME LIKE @ProjectName";
listStr.Add(new SqlParameter("@ProjectName", "%" + this.txtProjectName.Text.Trim() + "%"));
}
if (!string.IsNullOrEmpty(this.txtPerson.Text.Trim()))
{
strSql += " AND tba.PERSONNEL_NAME LIKE @PersonName";
listStr.Add(new SqlParameter("@PersonName", "%" + this.txtPerson.Text.Trim() + "%"));
}
if (this.rbIsReport.SelectedValue == "0")
{//未上报
strSql += " AND tba.ReportDate IS NULL";
}
else if (this.rbIsReport.SelectedValue == "1")
{//已上报
strSql += " AND tba.ReportDate IS NOT NULL";
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
//tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#region 查询
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
this.BindGrid();
}
#endregion
#region 数据收集、清空
/// <summary>
/// 数据收集
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnCollect_Click(object sender, EventArgs e)
{
DataOp("1");
}
/// <summary>
/// 数据清空
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnDelAll_Click(object sender, EventArgs e)
{
DataOp("0");
}
/// <summary>
/// 数据操作
/// </summary>
/// <param name="op"></param>
private void DataOp(string op)
{
var db = Funs.DB;
string resultStr = string.Empty;
string msg = string.Empty;
try
{
var result = Funs.DB.SP_SANKU_DATA_INIT("SANKU_WORK_BRIEFING_PARTICIPANT", int.Parse(op));
resultStr = "成功";
msg = $"{(op == "1" ? "收集" : "清空所有")}班前喊话参与记录数据";
}
catch (Exception ex)
{
resultStr = "失败";
msg = JsonConvert.SerializeObject(ex);
}
//记录上报结果日志
Model.SANKU_REPORT_LOG newModel = new Model.SANKU_REPORT_LOG();
newModel.OPTYPE = "数据操作";
newModel.CONTENT = $"{(op == "1" ? "收集" : "清空所有")}班前喊话参与记录数据";
newModel.RESULT = resultStr;
newModel.DETAIL = msg;
newModel.OPERATOR = this.CurrUser.UserName;
newModel.CREATE_TIME = DateTime.Now;
db.SANKU_REPORT_LOG.InsertOnSubmit(newModel);
db.SubmitChanges();
if (resultStr == "成功")
{
this.BindGrid();
}
}
#endregion
#region 汇总上报
/// <summary>
/// 汇总上报
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnReport_Click(object sender, EventArgs e)
{
string message = string.Empty;
string code = SanKuDataSummaryReportService.ReportWorkBriefingParticipantRecords(this.CurrUser.UserName, ref message);
if (code == "1")
{
this.BindGrid();
ShowNotify(message, MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
return;
}
else
{
Alert.ShowInParent(message, MessageBoxIcon.Error);
}
}
#endregion
#region 导出按钮
/// <summary>
/// 导出按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnOut_Click(object sender, EventArgs e)
{
Response.ClearContent();
string filename = Funs.GetNewFileName();
Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("三库——班前喊话参与记录数据" + filename, System.Text.Encoding.UTF8) + ".xls");
Response.ContentType = "application/excel";
Response.ContentEncoding = System.Text.Encoding.UTF8;
this.Grid1.PageSize = this.Grid1.RecordCount;
this.BindGrid();
Response.Write(GetGridTableHtml(Grid1));
Response.End();
}
#endregion
#region 获取按钮权限
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower()
{
}
#endregion
#region 删除数据
/// <summary>
/// 右键删除事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuDelete_Click(object sender, EventArgs e)
{
this.DeleteData();
}
/// <summary>
/// 删除方法
/// </summary>
private void DeleteData()
{
if (Grid1.SelectedRowIndexArray.Length > 0)
{
var db = Funs.DB;
string strShowNotify = string.Empty;
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
var item = db.SANKU_WORK_BRIEFING_PARTICIPANT.Where(x => x.PARTICIPANT_ID == long.Parse(rowID)).FirstOrDefault();
if (item != null)
{
if (item.ReportDate != null)
{
ShowNotify("数据已上报,无法删除!", MessageBoxIcon.Warning);
}
else
{
db.SANKU_WORK_BRIEFING_PARTICIPANT.DeleteOnSubmit(item);
db.SubmitChanges();
}
}
}
BindGrid();
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
}
}
#endregion
#region 分页
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGrid();
}
/// <summary>
/// 分页显示条数下拉框
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
BindGrid();
}
#endregion
/// <summary>
/// Grid行双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
//this.EditData();
}
/// <summary>
/// 右键编辑事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuEdit_Click(object sender, EventArgs e)
{
//this.EditData();
}
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
protected void MenuView_Click(object sender, EventArgs e)
{
//string url = "AccidentRecordView.aspx?Id={0}";
//PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format(url, Id, "操作 - ")));
}
}
}
@@ -0,0 +1,179 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.SanKu
{
public partial class WorkBriefingParticipant
{
/// <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>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// txtProjectName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtProjectName;
/// <summary>
/// txtPerson 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtPerson;
/// <summary>
/// rbIsReport 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButtonList rbIsReport;
/// <summary>
/// btnCollect 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnCollect;
/// <summary>
/// btnReport 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnReport;
/// <summary>
/// btnDelAll 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnDelAll;
/// <summary>
/// btnOut 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut;
/// <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>
/// Menu1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
}
}