initproject

This commit is contained in:
2024-05-08 10:02:08 +08:00
commit 98f03b1780
3859 changed files with 348243 additions and 0 deletions
@@ -0,0 +1,98 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="QualificationAnalysis.aspx.cs" Inherits="FineUIPro.Web.WelderManage.QualificationAnalysis" %>
<!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>
</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="false"
runat="server" BoxFlex="1" DataKeyNames="WelderQualifiedProjectId" AllowCellEditing="true"
EnableColumnLines="true" ClicksToEdit="2" DataIDField="WelderQualifiedProjectId" AllowSorting="true"
SortField="LimitDate" SortDirection="ASC" OnSort="Grid1_Sort" EnableTextSelection="True"
AllowPaging="true" IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange"
>
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Right">
<Items>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<f:Button ID="btnNew" Text="资质分析" ToolTip="资质分析" Icon="ApplicationEdit" runat="server">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField EnablePagingNumber="true" HeaderText="序号" Width="60px" HeaderTextAlign="Center"
TextAlign="Center" />
<f:RenderField HeaderText="焊接类型" ColumnID="WeldingMethodId" DataField="WeldingMethodId"
SortField="WeldingMethodId" FieldType="String" HeaderTextAlign="Center" TextAlign="Left"
Width="150px">
</f:RenderField>
<f:RenderField HeaderText="焊接材质类型" ColumnID="MaterialType" DataField="MaterialType"
SortField="MaterialType" HeaderTextAlign="Center" TextAlign="Left" Width="150px">
</f:RenderField>
<f:RenderField HeaderText="焊接位置" ColumnID="WeldingLocationId" DataField="WeldingLocationId"
SortField="WeldingLocationId" HeaderTextAlign="Center" TextAlign="Left" Width="150px">
</f:RenderField>
<f:RenderField HeaderText="壁厚范围" ColumnID="ThicknessMax" DataField="ThicknessMax"
SortField="ThicknessMax" HeaderTextAlign="Center" TextAlign="Left" Width="150px">
</f:RenderField>
<f:RenderField HeaderText="到期时间" ColumnID="LimitDate" DataField="LimitDate" SortField="LimitDate"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderTextAlign="Center"
TextAlign="Center" Width="150px">
</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:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="资质分析" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Top" EnableResize="true" runat="server" IsModal="true" Width="1024px"
Height="560px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<%--<f:MenuButton ID="btnMenuEdit" OnClick="btnMenuEdit_Click" EnablePostBack="true"
runat="server" Text="编辑" Icon="TableEdit">
</f:MenuButton>
<f:MenuButton ID="btnMenuDelete" OnClick="btnMenuDelete_Click" EnablePostBack="true"
ConfirmText="删除选中行?" ConfirmTarget="Top" runat="server" Text="删除" Icon="Delete">
</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,102 @@
using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.WelderManage
{
public partial class QualificationAnalysis : 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 = this.Grid1.PageSize.ToString();
// 绑定表格
this.BindGrid();
}
else if (GetRequestEventArgument() == "reloadGrid")
{
this.BindGrid();
}
}
#endregion
#region
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
string strSql = @"SELECT WelderQualifiedProject.WelderQualifiedProjectId,
WelderQualifiedProject.WED_ID,
WelderQualifiedProject.QualifiedProjectCode,
WelderQualifiedProject.LimitDate,
WelderQualifiedProject.WeldingMethodId,
WelderQualifiedProject.MaterialType,
WelderQualifiedProject.WeldingLocationId,
WelderQualifiedProject.ThicknessMax,
WelderQualifiedProject.SizesMin"
+ @" FROM HJGL_BS_WelderQualifiedProject AS WelderQualifiedProject"
+ @" WHERE WelderQualifiedProject.LimitDate>=GETDATE() ";
List<SqlParameter> listStr = new List<SqlParameter>();
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
// 2.获取当前分页数据
//var table = this.GetPagedDataTable(Grid1, tb1);
Grid1.RecordCount = tb.Rows.Count;
tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#endregion
#region
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
this.BindGrid();
}
/// <summary>
/// 分页显示条数下拉框
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
this.Grid1.PageSize = Convert.ToInt32(this.ddlPageSize.SelectedValue);
this.BindGrid();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
this.BindGrid();
}
#endregion
}
}
@@ -0,0 +1,123 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.WelderManage {
public partial class QualificationAnalysis {
/// <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>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnNew 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnNew;
/// <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,163 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="QualifiedProject.aspx.cs" Inherits="FineUIPro.Web.WelderManage.QualifiedProject" %>
<!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>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" ShowBorder="false" ShowHeader="false" Layout="Region">
<Items>
<f:Panel runat="server" ID="panelLeftRegion" RegionPosition="Left" RegionSplit="true"
EnableCollapse="true" Width="240px" Title="焊工合格项目" ShowBorder="true" Layout="VBox"
ShowHeader="true" AutoScroll="true" BodyPadding="5px" IconFont="ArrowCircleLeft">
<Toolbars>
<f:Toolbar ID="Toolbar4" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:DropDownList ID="drpUnitId" runat="server" Label="单位" EmptyText="输入查询条件" LabelAlign="Right"
AutoPostBack="true" OnSelectedIndexChanged="TextBox_TextChanged" Width="220px" LabelWidth="80px"></f:DropDownList>
</Items>
</f:Toolbar>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:TextBox ID="txtWelderCodeS" runat="server" Label="焊工号" EmptyText="输入查询条件" AutoPostBack="true"
OnTextChanged="TextBox_TextChanged" Width="220px" LabelWidth="80px" LabelAlign="Right">
</f:TextBox>
</Items>
</f:Toolbar>
<f:Toolbar ID="Toolbar3" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:TextBox ID="txtWelderNameS" runat="server" Label="焊工姓名" EmptyText="输入查询条件" AutoPostBack="true"
OnTextChanged="TextBox_TextChanged" Width="220px" LabelWidth="80px" LabelAlign="Right">
</f:TextBox>
</Items>
</f:Toolbar>
</Toolbars>
<Items>
<f:Tree ID="tvControlItem" ShowHeader="false" Height="500px" Title="单位-焊工" OnNodeCommand="tvControlItem_NodeCommand"
runat="server" ShowBorder="false" EnableCollapse="true" EnableSingleClickExpand="true"
AutoLeafIdentification="true" EnableTextSelection="true" Expanded="true">
</f:Tree>
</Items>
</f:Panel>
<f:Panel runat="server" ID="panelCenterRegion" RegionPosition="Center" ShowBorder="true"
Layout="VBox" ShowHeader="false" BodyPadding="5px" IconFont="PlusCircle" Title="焊工合格项目"
TitleToolTip="焊工合格项目" AutoScroll="true">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="焊工合格项目" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="WelderQualifiedProjectId" AllowCellEditing="true"
EnableColumnLines="true" ClicksToEdit="2" DataIDField="WelderQualifiedProjectId" AllowSorting="true"
SortField="LimitDate" SortDirection="DESC" OnSort="Grid1_Sort" AllowPaging="true" IsDatabasePaging="true" PageSize="15" OnPageIndexChange="Grid1_PageIndexChange"
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" EnableTextSelection="True" AllowColumnLocking="true">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Right">
<Items>
<f:Label ID="lblCode" runat="server" Label="焊工代号" LabelAlign="Right" Width="150px"></f:Label>
<f:Label ID="lblName" runat="server" Label="焊工姓名" LabelAlign="Right" Width="250px"></f:Label>
<f:ToolbarFill ID="ToolbarFill1" runat="server"></f:ToolbarFill>
<f:FileUpload runat="server" ID="fileUpload" EmptyText="请选择要导入的Excel文件"
LabelWidth="50px" LabelAlign="Right" Width="300px">
</f:FileUpload>
<f:Button ID="btnImport" Icon="ApplicationEdit" runat="server" Text="导入" ToolTip="焊工资质导入"
OnClick="btnImport_Click">
</f:Button>
<f:Button ID="btnDownLoad" runat="server" Icon="ApplicationGo" Text="模板下载" ToolTip="模板下载" OnClick="btnDownLoad_Click">
</f:Button>
<f:Button ID="btnAdd" ToolTip="新增" Text="增加" Icon="Add" runat="server" OnClick="btnAdd_Click">
</f:Button>
<f:Button ID="btnQualificationAnalysis" Text="资质分析" ToolTip="资质分析"
Icon="ApplicationEdit" runat="server" OnClick="btnQualificationAnalysis_Click">
</f:Button>
<f:HiddenField ID="hidFileName" runat="server"></f:HiddenField>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField HeaderText="序号" Width="40px" HeaderTextAlign="Center" TextAlign="Center" />
<f:RenderField Width="250px" ColumnID="QualifiedProjectCode" DataField="QualifiedProjectCode" SortField="QualifiedProjectCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" HeaderText="合格项目代号" ExpandUnusedSpace="true" Locked="true">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="LimitDate" DataField="LimitDate" SortField="LimitDate"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="有效期限"
HeaderTextAlign="Center" TextAlign="Center" Locked="true">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="CheckDate" DataField="CheckDate" SortField="CheckDate"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="考试日期"
HeaderTextAlign="Center" TextAlign="Center" Locked="true">
</f:RenderField>
<f:RenderField Width="110px" ColumnID="ExamProject" DataField="ExamProject" SortField="ExamProject"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" HeaderText="考试项目" Locked="true">
</f:RenderField>
<f:RenderField Width="110px" ColumnID="IsPass" DataField="IsPass" SortField="IsPass"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" HeaderText="是否合格" Locked="true">
</f:RenderField>
<f:RenderField Width="90px" ColumnID="WeldingMethodId" DataField="WeldingMethodId" SortField="WeldingMethodId"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" HeaderText="焊接类型">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="MaterialType" DataField="MaterialType" SortField="MaterialType"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" HeaderText="焊接材质类型范围">
</f:RenderField>
<f:RenderField Width="90px" ColumnID="WeldingLocationId" DataField="WeldingLocationId" SortField="WeldingLocationId"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" HeaderText="焊接位置范围">
</f:RenderField>
<f:RenderField Width="90px" ColumnID="ThicknessMax" DataField="ThicknessMax" SortField="ThicknessMax"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" HeaderText="壁厚范围">
</f:RenderField>
<f:RenderField Width="90px" ColumnID="SizesMin" DataField="SizesMin" SortField="SizesMin"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" HeaderText="外径范围">
</f:RenderField>
<f:TemplateField ColumnID="WeldType" Width="260px" HeaderText="可焊焊缝类型"
HeaderTextAlign="Center" TextAlign="Left">
<ItemTemplate>
<asp:Label ID="lbWeldType" runat="server" Text='<%# ConvertWeldType(Eval("WeldType")) %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
</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="15" Value="15" />
<f:ListItem Text="20" Value="20" />
<f:ListItem Text="25" Value="25" />
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="合格项目" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="top" EnableResize="true" runat="server" OnClose="Window1_Close" IsModal="true"
Width="600px" Height="420px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<f:MenuButton ID="btnMenuEdit" OnClick="btnMenuEdit_Click" EnablePostBack="true"
runat="server" Text="编辑" Icon="TableEdit">
</f:MenuButton>
<f:MenuButton ID="btnMenuDelete" OnClick="btnMenuDelete_Click" EnablePostBack="true"
ConfirmText="删除选中行?" ConfirmTarget="Top" runat="server" Text="删除" Icon="Delete">
</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;
}
</script>
</body>
</html>
@@ -0,0 +1,813 @@
using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.IO;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.WelderManage
{
public partial class QualifiedProject : PageBase
{
//定义变量
/// <summary>
/// 上传预设的虚拟路径
/// </summary>
private string initPath = Const.ExcelUrl;
/// <summary>
/// 错误集合
/// </summary>
public static string errorInfos = string.Empty;
#region
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
this.drpUnitId.DataTextField = "UnitName";
this.drpUnitId.DataValueField = "UnitId";
this.drpUnitId.DataSource = (from x in Funs.DB.Base_Unit select x).ToList();
this.drpUnitId.DataBind();
Funs.FineUIPleaseSelect(this.drpUnitId);
this.InitTreeMenu();//加载树
}
}
/// <summary>
/// 加载树
/// </summary>
private void InitTreeMenu()
{
this.tvControlItem.Nodes.Clear();
TreeNode rootNode = new TreeNode();
rootNode.Text = "单位-焊工";
rootNode.ToolTip = "单位";
rootNode.NodeID = "0";
rootNode.Expanded = true;
this.tvControlItem.Nodes.Add(rootNode);
List<Model.Welder_Welder> welders = new List<Model.Welder_Welder>();
List<Model.Base_Unit> units = (from x in Funs.DB.Base_Unit select x).ToList();
if (this.drpUnitId.SelectedValue != BLL.Const._Null)
{
units = units.Where(e => e.UnitId == this.drpUnitId.SelectedValue).ToList();
}
foreach (var item in units)
{
TreeNode rootProjectNode = new TreeNode();//定义根节点
rootProjectNode.Text = item.UnitName;
rootProjectNode.NodeID = item.UnitId;
//rootProjectNode.Expanded = true;
rootProjectNode.ToolTip = "单位";
rootNode.Nodes.Add(rootProjectNode);
welders = (from x in Funs.DB.Welder_Welder
where x.UnitId == item.UnitId
select x).ToList();
this.BindNodes(rootProjectNode, welders);
}
}
#endregion
#region
/// <summary>
/// 绑定树节点
/// </summary>
/// <param name="node"></param>
private void BindNodes(TreeNode node, List<Model.Welder_Welder> welders)
{
if (node.ToolTip == "单位")
{
if (!string.IsNullOrEmpty(this.txtWelderCodeS.Text.Trim()))
{
welders = welders.Where(e => e.WelderCode.Contains(this.txtWelderCodeS.Text.Trim())).ToList();
}
if (!string.IsNullOrEmpty(txtWelderNameS.Text.Trim()))
{
welders = welders.Where(e => e.WelderName.Contains(this.txtWelderNameS.Text.Trim())).ToList();
}
foreach (var item in welders)
{
TreeNode newNode = new TreeNode();
newNode.Text = item.WelderName;
newNode.NodeID = item.WelderId;
newNode.ToolTip = item.WelderCode;
newNode.EnableClickEvent = true;
node.Nodes.Add(newNode);
}
}
}
#endregion
#region TreeView
/// <summary>
/// 点击TreeView
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
{
this.BindGrid();
}
#endregion
#region Grid
private void BindGrid()
{
var welder = BLL.WelderService.GetWelderById(this.tvControlItem.SelectedNodeID);
if (welder != null)
{
this.lblCode.Text = welder.WelderCode;
this.lblName.Text = welder.WelderName;
}
string strSql = @"SELECT que.WelderQualifiedProjectId,
que.WelderId,
que.QualifiedProjectCode,
que.LimitDate,
que.CheckDate,
que.CertificateNo,
que.WeldingMethodId,
que.MaterialType,
que.WeldingLocationId,
que.WeldType,que.ExamProject,
(CASE WHEN que.IsPass=1 THEN '是' ELSE '否' END) AS IsPass ,
(CASE WHEN que.ThicknessMax >0 THEN '≤'+CONVERT(VARCHAR(5),que.ThicknessMax)
WHEN que.ThicknessMax=0 THEN '不限'
WHEN que.ThicknessMax IS NULL THEN '' END) AS ThicknessMax,
(CASE WHEN que.SizesMin >0 THEN '≥'+CONVERT(VARCHAR(5),que.SizesMin)
WHEN que.SizesMin=0 THEN '不限'
WHEN que.SizesMin IS NULL THEN '' END) AS SizesMin
FROM Welder_WelderQualify AS que
WHERE que.WelderId=@WelderId";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@WelderId", this.tvControlItem.SelectedNodeID));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
// 2.获取当前分页数据
//var table = this.GetPagedDataTable(Grid1, tb1);
Grid1.RecordCount = tb.Rows.Count;
tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#endregion
#region
/// <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;
}
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.Welder_QualifiedProjectMenuId, Const.BtnAdd))
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("QualifiedProjectEdit.aspx?WelderQualifiedProjectId={0}", Grid1.SelectedRowID, "维护 - ")));
}
else
{
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
}
}
#endregion
#region
protected void btnMenuEdit_Click(object sender, EventArgs e)
{
if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.Welder_QualifiedProjectMenuId, BLL.Const.BtnModify))
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请选择一条记录!", MessageBoxIcon.Warning);
return;
}
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("QualifiedProjectEdit.aspx?WelderQualifiedProjectId={0}", Grid1.SelectedRowID, "维护 - ")));
}
else
{
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
}
}
/// <summary>
/// 删除
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuDelete_Click(object sender, EventArgs e)
{
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.Welder_QualifiedProjectMenuId, Const.BtnDelete))
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请选择一条记录!", MessageBoxIcon.Warning);
return;
}
bool isShow = true;
if (Grid1.SelectedRowIndexArray.Length > 1)
{
isShow = false;
}
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
if (judgementDelete(rowID, isShow))
{
BLL.WelderQualifiedService.DeleteWelderQualifiedProjectByWelderQualifiedProjectId(rowID);
//BLL.Sys_LogService.AddLog(Const.System_1, this.CurrUser.LoginProjectId, this.CurrUser.UserId, "删除合格项目焊工");
}
}
ShowNotify("删除成功!", MessageBoxIcon.Success);
this.BindGrid();
}
else
{
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
}
}
#endregion
#region
/// <summary>
/// 判断是否可以删除
/// </summary>
/// <returns></returns>
private bool judgementDelete(string id, bool isShow)
{
string content = string.Empty;
if (string.IsNullOrEmpty(content))
{
return true;
}
else
{
if (isShow)
{
Alert.ShowInTop(content, MessageBoxIcon.Error);
}
return false;
}
}
#endregion
#region
/// <summary>
/// 弹出编辑窗体关闭事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
#endregion
#region
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
BindGrid();
}
/// <summary>
/// 分页显示条数下拉框
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
Grid1.SortDirection = e.SortDirection;
Grid1.SortField = e.SortField;
BindGrid();
}
#endregion
#region
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
this.InitTreeMenu();
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 增加
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAdd_Click(object sender, EventArgs e)
{
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.Welder_QualifiedProjectMenuId, Const.BtnAdd))
{
if (!string.IsNullOrEmpty(this.tvControlItem.SelectedNodeID))
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("QualifiedProjectEdit.aspx?WED_ID={0}", this.tvControlItem.SelectedNodeID, "新增 - ")));
}
else
{
Alert.ShowInTop("请选择一名焊工!", MessageBoxIcon.Warning);
return;
}
}
else
{
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
}
}
#endregion
protected void btnQualificationAnalysis_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(this.tvControlItem.SelectedNodeID))
{
var que = from x in Funs.DB.Welder_WelderQualify where x.WelderId == this.tvControlItem.SelectedNodeID select x;
if (que.Count() > 0)
{
foreach (var q in que)
{
string weldMethod = string.Empty;
string materialType = string.Empty;
string location = string.Empty;
string weldType = string.Empty;
decimal thicknessMax = 0; // 0表示不限
decimal sizesMin = 0; // 0表示不限
string materialTypeName = string.Empty;
string[] queProject = q.QualifiedProjectCode.Split('-');
// 焊接方法和钢材类型
weldMethod = queProject[0];
if (queProject.Count() > 1)
{
if (queProject[1].Trim() == ("FeI") || queProject[1].Trim() == ("Fe"))
{
materialType = "Fe";
}
else if (queProject[1].Trim() == ("FeII") || queProject[1].Trim() == ("FeⅡ"))
{
materialType = "FeⅡ,Fe";
}
else if (queProject[1].Trim() == ("FeIII") || queProject[1].Trim() == ("FeⅢ"))
{
materialType = "FeⅢ,FeⅡ,Fe";
//if (weldMethod.Contains("GTAW"))
//{
// materialType = "FeⅢ";
//}
//else
//{
// materialType = "FeⅢ,FeⅡ,Fe";
//}
}
else if (queProject[1].Trim() == ("FeIV") || queProject[1].Trim() == ("FeⅣ"))
{
materialType = "FeⅣ";
}
else
{
materialType = queProject[1].Trim();
}
}
if (queProject.Count() > 2)
{
// 焊接位置
if (queProject[2].Contains("6G"))
{
location = "ALL";
}
else if (queProject[2].Contains("2G"))
{
location = "1G,2G";
}
else if (queProject[2].Contains("3G"))
{
location = "1G,2G,3G";
}
else if (queProject[2].Contains("4G"))
{
location = "1G,3G,4G";
}
else if (queProject[2].Contains("5G"))
{
location = "1G,2G,3G,5G";
}
else if (queProject[2].Contains("6FG"))
{
location = "ALL";
}
else if (queProject[2].Contains("5FG"))
{
location = "2FG,5FG";
}
else if (queProject[2].Contains("4FG"))
{
location = "2FG,4FG";
}
else
{
location = queProject[2];
}
//1 - 对接,2 - 角焊缝,3 - 支管连接焊缝
if (queProject[2].Contains("FG"))
{
weldType = "2,3";
}
else
{
if (queProject[2] == ("6G"))
{
weldType = "1,2,3";
}
else
{
weldType = "1,2";
}
}
}
if (queProject.Count() > 3)
{
// 壁厚和外径
string[] thickSize = queProject[3].Split('/');
if (thickSize.Count() == 2)
{
decimal thick = Convert.ToDecimal(thickSize[0]);
if (thick < 12)
{
//thicknessMax = "≤" + thick * 2;
thicknessMax = thick * 2;
}
else
{
thicknessMax = 0;
}
decimal size = Convert.ToDecimal(thickSize[1]);
if (size < 25)
{
//sizesMin = "≥" + size;
sizesMin = size;
}
else if (size >= 25 && size < 76)
{
//sizesMin = "≥25";
sizesMin = 25;
}
else
{
//sizesMin = "≥76";
sizesMin = 76;
}
}
else if (thickSize.Count() == 1)
{
thicknessMax = 0;
//sizesMin = "≥76";
sizesMin = 76;
}
}
Model.Welder_WelderQualify updateQue = new Model.Welder_WelderQualify();
updateQue.WelderQualifiedProjectId = q.WelderQualifiedProjectId;
updateQue.WelderId = q.WelderId;
updateQue.QualifiedProjectCode = q.QualifiedProjectCode;
updateQue.LimitDate = q.LimitDate;
updateQue.WeldingMethodId = weldMethod;
updateQue.MaterialType = materialType;
updateQue.WeldingLocationId = location;
updateQue.ThicknessMax = thicknessMax;
updateQue.SizesMin = sizesMin;
updateQue.MaterialTypeName = materialTypeName;
updateQue.WeldType = weldType;
BLL.WelderQualifiedService.UpdateWelderQualifiedProject(updateQue);
}
BindGrid();
}
}
else
{
Alert.ShowInTop("请选择一名焊工!", MessageBoxIcon.Warning);
return;
}
}
#region
/// <summary>
/// 模板下载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnDownLoad_Click(object sender, EventArgs e)
{
string rootPath = Server.MapPath("~/");
string uploadfilepath = rootPath + Const.WelderQueTemplateUrl;
string filePath = Const.WelderQueTemplateUrl;
string fileName = Path.GetFileName(filePath);
FileInfo info = new FileInfo(uploadfilepath);
long fileSize = info.Length;
Response.ClearContent();
Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.ContentType = "excel/plain";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AddHeader("Content-Length", fileSize.ToString().Trim());
Response.TransmitFile(uploadfilepath, 0, fileSize);
Response.End();
//PageContext.RegisterStartupScript(Confirm.GetShowReference("确定要下载焊工资质导入模板?", String.Empty, MessageBoxIcon.Question, PageManager1.GetCustomEventReference(false, "Confirm_OK"), PageManager1.GetCustomEventReference("Confirm_Cancel")));
}
/// <summary>
/// 下载导入模板
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void PageManager1_CustomEvent(object sender, CustomEventArgs e)
{
if (e.EventArgument == "Confirm_OK")
{
string rootPath = Server.MapPath("~/");
string uploadfilepath = rootPath + Const.WelderQueTemplateUrl;
string filePath = Const.WelderQueTemplateUrl;
string fileName = Path.GetFileName(filePath);
FileInfo info = new FileInfo(uploadfilepath);
long fileSize = info.Length;
Response.ClearContent();
Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.ContentType = "excel/plain";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AddHeader("Content-Length", fileSize.ToString().Trim());
Response.TransmitFile(uploadfilepath, 0, fileSize);
Response.End();
}
}
#endregion
protected void btnImport_Click(object sender, EventArgs e)
{
string message = string.Empty;
errorInfos = string.Empty;
try
{
if (this.fileUpload.HasFile == false)
{
ShowNotify("请选择Excel文件!", MessageBoxIcon.Warning);
return;
}
string IsXls = Path.GetExtension(this.fileUpload.FileName).ToString().Trim().ToLower();
if (IsXls != ".xls" && IsXls != ".xlsx")
{
ShowNotify("只能选择Excel文件!", MessageBoxIcon.Warning);
return;
}
string rootPath = Server.MapPath("~/");
string initFullPath = rootPath + initPath;
if (!Directory.Exists(initFullPath))
{
Directory.CreateDirectory(initFullPath);
}
//指定上传文件名称
this.hidFileName.Text = BLL.Funs.GetNewFileName() + IsXls;
//上传文件路径
string filePath = initFullPath + this.hidFileName.Text;
//文件上传服务器
this.fileUpload.PostedFile.SaveAs(filePath);
//文件上传服务器后的名称
string fileName = rootPath + initPath + this.hidFileName.Text;
//读取Excel
DataSet ds = NPOIHelper.ExcelToDataSet(fileName, out errorInfos, true);
//验证Excel读取是否有误
if (!string.IsNullOrEmpty(errorInfos))
{
ShowNotify(errorInfos, MessageBoxIcon.Warning);
return;
}
if (ds.Tables.Count > 0)
{
List<Model.Welder_WelderQualify> welderQueList = new List<Model.Welder_WelderQualify>();
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
Model.Welder_WelderQualify welderQue = new Model.Welder_WelderQualify();
#region
string welderQueId = SQLHelper.GetNewID(typeof(Model.Welder_WelderQualify));
welderQue.WelderQualifiedProjectId = welderQueId;
if (ds.Tables[0].Rows[i]["焊工姓名"] != null && !string.IsNullOrEmpty(ds.Tables[0].Rows[i]["焊工姓名"].ToString()))
{
}
else
{
errorInfos += (i + 2) + "行, 焊工姓名不能为空!</br>";
}
string insId = string.Empty;
if (ds.Tables[0].Rows[i]["焊工号"] != null && !string.IsNullOrEmpty(ds.Tables[0].Rows[i]["焊工号"].ToString()))
{
var welder = from x in Funs.DB.Welder_Welder
where x.WelderCode == ds.Tables[0].Rows[i]["焊工号"].ToString()
&& x.WelderName == ds.Tables[0].Rows[i]["焊工姓名"].ToString()
select x;
if (welder.Count()>0)
{
welderQue.WelderId = welder.First().WelderId;
}
else
{
errorInfos += (i + 2) + "行, 该焊工信息不存在!</br>";
}
}
else
{
errorInfos += (i + 2) + "行, 焊工号不能为空!</br>";
}
if (ds.Tables[0].Rows[i]["焊工合格项目"] != null && !string.IsNullOrEmpty(ds.Tables[0].Rows[i]["焊工合格项目"].ToString()))
{
string strQue = ds.Tables[0].Rows[i]["焊工合格项目"].ToString();
var que = from x in Funs.DB.Welder_WelderQualify
where x.WelderId == welderQue.WelderId
&& x.QualifiedProjectCode == strQue
select x;
if (que.Count() == 0)
{
welderQue.QualifiedProjectCode = strQue;
}
else
{
errorInfos += (i + 2) + "行, 该焊工合格项目已存在!</br>";
}
}
else
{
errorInfos += (i + 2) + "行, 焊工合格项目不能为空!</br>";
}
if (ds.Tables[0].Rows[i]["有效日期"] != null && !string.IsNullOrEmpty(ds.Tables[0].Rows[i]["有效日期"].ToString()))
{
try
{
DateTime b = Convert.ToDateTime(ds.Tables[0].Rows[i]["有效日期"].ToString());
welderQue.LimitDate = b;
}
catch
{
errorInfos += (i + 2) + "行,有效日期格式不正确!</br>";
}
}
#endregion
welderQueList.Add(welderQue);
}
// 数据验证错误,返回
if (!string.IsNullOrEmpty(errorInfos))
{
ShowNotify(errorInfos, MessageBoxIcon.Warning, 10000);
return;
}
else
{
foreach (var item in welderQueList)
{
BLL.WelderQualifiedService.AddWelderQualifiedProject(item);
}
ShowNotify("焊工资质导入成功!", MessageBoxIcon.Success);
this.BindGrid();
//PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
}
else
{
ShowAlert("没有数据!", MessageBoxIcon.Warning);
return;
}
}
catch (Exception ex)
{
ShowAlert("'" + ex.Message + "'", MessageBoxIcon.Warning);
}
}
#region
/// <summary>
/// 转换热处理类型
/// </summary>
/// <param name="pt"></param>
/// <returns></returns>
protected string ConvertWeldType(object weldType)
{
string weldTypeNames = string.Empty;
if (weldType != null)
{
string[] type = weldType.ToString().Split(',');
foreach (string r in type)
{
if (r == "1")
{
weldTypeNames = weldTypeNames + "对接焊缝,";
}
if (r == "2")
{
weldTypeNames = weldTypeNames + "承插焊缝,";
}
if (r == "3")
{
weldTypeNames = weldTypeNames + "支管连接焊缝,";
}
}
}
if (weldTypeNames.Length > 0)
{
weldTypeNames = weldTypeNames.Substring(0, weldTypeNames.Length - 1);
}
return weldTypeNames;
}
#endregion
private string GetTypeName(string type)
{
string typeName = string.Empty;
if (type == "FeI" || type== "Fe")
{
typeName = "碳钢";
}
else if (type == "FeII" || type== "FeⅡ")
{
typeName = "不锈钢";
}
else if (type == "FeIII" || type== "FeⅢ")
{
typeName = "合金钢";
}
else if (type == "FeIV" || type== "FeⅣ")
{
typeName = "铬钼钢";
}
else
{
typeName = "其它";
}
return typeName;
}
}
}
@@ -0,0 +1,294 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.WelderManage {
public partial class QualifiedProject {
/// <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>
/// panelLeftRegion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelLeftRegion;
/// <summary>
/// Toolbar4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar4;
/// <summary>
/// drpUnitId 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpUnitId;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// txtWelderCodeS 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtWelderCodeS;
/// <summary>
/// Toolbar3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar3;
/// <summary>
/// txtWelderNameS 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtWelderNameS;
/// <summary>
/// tvControlItem 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tree tvControlItem;
/// <summary>
/// panelCenterRegion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelCenterRegion;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// lblCode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblCode;
/// <summary>
/// lblName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblName;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// fileUpload 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.FileUpload fileUpload;
/// <summary>
/// btnImport 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnImport;
/// <summary>
/// btnDownLoad 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnDownLoad;
/// <summary>
/// btnAdd 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnAdd;
/// <summary>
/// btnQualificationAnalysis 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnQualificationAnalysis;
/// <summary>
/// hidFileName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hidFileName;
/// <summary>
/// lbWeldType 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lbWeldType;
/// <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;
/// <summary>
/// btnMenuEdit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuEdit;
/// <summary>
/// btnMenuDelete 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuDelete;
}
}
@@ -0,0 +1,85 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="QualifiedProjectEdit.aspx.cs" Inherits="FineUIPro.Web.WelderManage.QualifiedProjectEdit" %>
<!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>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="SimpleForm1" runat="server" />
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Rows>
<f:FormRow>
<Items>
<f:Label runat="server" ID="lbWedlerName" Label="焊工姓名" LabelWidth="120px"></f:Label>
<f:Label runat="server" ID="lbWedlerCode" Label="焊工代号" LabelWidth="120px"></f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtQualifiedProjectCode" runat="server" Label="合格项目代号" MaxLength="100" ShowRedStar="true" Required="true" LabelWidth="120px">
</f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DatePicker runat="server" DateFormatString="yyyy-MM-dd" Label="有效期限" ID="txtLimitDate" ShowRedStar="true" Required="true" LabelWidth="120px" EnableEdit="false">
</f:DatePicker>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtCertificateNo" runat="server" Label="证书编号" MaxLength="50" LabelWidth="120px">
</f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DatePicker runat="server" DateFormatString="yyyy-MM-dd" Label="考试日期" ID="txtCheckDate" LabelWidth="120px" EnableEdit="false">
</f:DatePicker>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtExamProject" runat="server" Label="考试项目" MaxLength="50" LabelWidth="120px">
</f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DropDownList ID="drpIsPass" runat="server" Label="是否合格" LabelWidth="120px">
<f:ListItem Value="是" Text="是" Selected="true" />
<f:ListItem Value="否" Text="否" />
</f:DropDownList>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtRemark" runat="server" Label="备注" MaxLength="50" LabelWidth="120px">
</f:TextBox>
</Items>
</f:FormRow>
</Rows>
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
<Items>
<f:Label runat="server" ID="lbTemp"></f:Label>
<f:ToolbarFill ID="ToolbarFill1" runat="server"></f:ToolbarFill>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" 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,136 @@
using BLL;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.WelderManage
{
public partial class QualifiedProjectEdit : PageBase
{
#region
/// <summary>
/// 合格项目id
/// </summary>
public string WelderQualifiedProjectId
{
get
{
return (string)ViewState["WelderQualifiedProjectId"];
}
set
{
ViewState["WelderQualifiedProjectId"] = value;
}
}
/// <summary>
/// 焊工id
/// </summary>
public string WED_ID
{
get
{
return (string)ViewState["WED_ID"];
}
set
{
ViewState["WED_ID"] = value;
}
}
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.btnClose.OnClientClick = ActiveWindow.GetHideReference();
this.WelderQualifiedProjectId = Request.Params["WelderQualifiedProjectId"];
this.WED_ID = Request.Params["WED_ID"];
if (!string.IsNullOrEmpty(this.WelderQualifiedProjectId))
{
var welderQualifiedProject = BLL.WelderQualifiedService.GetWelderQualifiedProjectById(this.WelderQualifiedProjectId);
if (welderQualifiedProject != null)
{
this.WED_ID = welderQualifiedProject.WelderId;
this.txtQualifiedProjectCode.Text = welderQualifiedProject.QualifiedProjectCode;
if (welderQualifiedProject.LimitDate.HasValue)
{
this.txtLimitDate.Text = string.Format("{0:yyyy-MM-dd}", welderQualifiedProject.LimitDate);
}
this.txtCertificateNo.Text = welderQualifiedProject.CertificateNo;
if (welderQualifiedProject.CheckDate.HasValue)
{
this.txtCheckDate.Text = string.Format("{0:yyyy-MM-dd}", welderQualifiedProject.CheckDate);
}
this.txtExamProject.Text = welderQualifiedProject.ExamProject;
txtRemark.Text = welderQualifiedProject.Remark;
drpIsPass.SelectedValue = welderQualifiedProject.IsPass == true ? "是" : "否";
}
}
Model.Welder_Welder welder = BLL.WelderService.GetWelderById(this.WED_ID);
if (welder != null)
{
this.lbWedlerName.Text = welder.WelderName;
this.lbWedlerCode.Text = welder.WelderCode;
}
}
}
#endregion
#region
/// <summary>
/// 提交按钮事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
SaveData();
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
private void SaveData()
{
if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.Welder_QualifiedProjectMenuId, BLL.Const.BtnSave))
{
Model.Welder_WelderQualify welderQualifiedProject = new Model.Welder_WelderQualify();
welderQualifiedProject.WelderId = this.WED_ID;
welderQualifiedProject.QualifiedProjectCode = this.txtQualifiedProjectCode.Text.Trim();
welderQualifiedProject.LimitDate = Funs.GetNewDateTime(this.txtLimitDate.Text.Trim());
welderQualifiedProject.CertificateNo = this.txtCertificateNo.Text.Trim();
welderQualifiedProject.CheckDate = Funs.GetNewDateTime(this.txtCheckDate.Text.Trim());
welderQualifiedProject.ExamProject = txtExamProject.Text.Trim();
welderQualifiedProject.Remark = txtRemark.Text;
welderQualifiedProject.IsPass = drpIsPass.SelectedValue == "是" ? true : false;
if (!string.IsNullOrEmpty(WelderQualifiedProjectId))
{
welderQualifiedProject.WelderQualifiedProjectId = this.WelderQualifiedProjectId;
BLL.WelderQualifiedService.UpdateWelderQualifiedProject(welderQualifiedProject);
BLL.Sys_LogService.AddLog(Const.System_1, this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.Welder_QualifiedProjectMenuId, Const.BtnModify, this.WED_ID);
}
else
{
welderQualifiedProject.WelderQualifiedProjectId = SQLHelper.GetNewID(typeof(Model.Welder_Welder));
this.WelderQualifiedProjectId = welderQualifiedProject.WelderQualifiedProjectId;
BLL.WelderQualifiedService.AddWelderQualifiedProject(welderQualifiedProject);
BLL.Sys_LogService.AddLog(Const.System_1, this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.Welder_QualifiedProjectMenuId, Const.BtnAdd, this.WED_ID);
}
}
else
{
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
}
}
#endregion
}
}
@@ -0,0 +1,168 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.WelderManage {
public partial class QualifiedProjectEdit {
/// <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>
/// lbWedlerName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lbWedlerName;
/// <summary>
/// lbWedlerCode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lbWedlerCode;
/// <summary>
/// txtQualifiedProjectCode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtQualifiedProjectCode;
/// <summary>
/// txtLimitDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtLimitDate;
/// <summary>
/// txtCertificateNo 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtCertificateNo;
/// <summary>
/// txtCheckDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtCheckDate;
/// <summary>
/// txtExamProject 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtExamProject;
/// <summary>
/// drpIsPass 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpIsPass;
/// <summary>
/// txtRemark 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtRemark;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// lbTemp 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lbTemp;
/// <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;
}
}
@@ -0,0 +1,157 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WelderManage.aspx.cs" Inherits="FineUIPro.Web.WelderManage.WelderManage" %>
<!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" />
</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="<%$ Resources:Lan,WelderManage %>"
EnableCollapse="true" runat="server" BoxFlex="1" EnableColumnLines="true" DataKeyNames="WelderId"
AllowCellEditing="true" ClicksToEdit="2" DataIDField="WelderId" AllowSorting="true"
SortField="WelderId" SortDirection="DESC" OnSort="Grid1_Sort" AllowPaging="true"
IsDatabasePaging="true" PageSize="15" OnPageIndexChange="Grid1_PageIndexChange"
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" EnableTextSelection="True">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Right">
<Items>
<f:TextBox ID="txtWelderCode" runat="server" Label="<%$ Resources:Lan,WelderCode %>"
EmptyText="<%$ Resources:Lan,EnterQueryConditions %>" Width="280px" LabelWidth="120px"
LabelAlign="Right">
</f:TextBox>
<f:TextBox ID="txtWelderName" runat="server" Label="<%$ Resources:Lan,WelderName %>"
EmptyText="<%$ Resources:Lan,EnterQueryConditions %>" Width="280px" LabelWidth="120px"
LabelAlign="Right">
</f:TextBox>
<f:Button ID="btnQuery" ToolTip="<%$ Resources:Lan,Inquiry %>" Icon="SystemSearch"
EnablePostBack="true" OnClick="btnQuery_Click" runat="server">
</f:Button>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<f:FileUpload runat="server" ID="fileUpload" EmptyText="请选择要导入的Excel文件"
LabelWidth="50px" LabelAlign="Right" Width="300px">
</f:FileUpload>
<f:Button ID="btnImport" Icon="ApplicationEdit" runat="server" Text="导入" ToolTip="焊工信息导入"
OnClick="btnImport_Click" >
</f:Button>
<f:Button ID="btnDownLoad" runat="server" Icon="ApplicationGo" Text="模板下载" ToolTip="模板下载" OnClick="btnDownLoad_Click">
</f:Button>
<f:Button ID="btnNew" ToolTip="<%$ Resources:Lan,Add %>" Text="新增" Icon="Add" EnablePostBack="true"
runat="server" OnClick="btnNew_Click">
</f:Button>
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" ToolTip="<%$ Resources:Lan,Export %>"
Icon="TableGo" Text="导出" EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
<f:HiddenField ID="hidFileName" runat="server"></f:HiddenField>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RenderField Width="180px" ColumnID="UnitName" DataField="UnitName" FieldType="String"
HeaderText="<%$ Resources:Lan,UnitName %>" HeaderTextAlign="Center" TextAlign="Left"
SortField="UnitName">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="WelderCode" DataField="WelderCode" FieldType="String"
HeaderText="<%$ Resources:Lan,WelderCode %>" HeaderTextAlign="Center" TextAlign="Left"
SortField="WelderCode">
</f:RenderField>
<f:RenderField Width="110px" ColumnID="WelderName" DataField="WelderName" FieldType="String"
HeaderText="<%$ Resources:Lan,WelderName %>" HeaderTextAlign="Center" TextAlign="Left"
SortField="WelderName">
</f:RenderField>
<f:RenderField Width="80px" ColumnID="Sex" DataField="Sex" FieldType="String"
HeaderText="<%$ Resources:Lan,Sex %>" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="90px" ColumnID="Age" DataField="Age" FieldType="Int"
HeaderText="年龄" HeaderTextAlign="Center" TextAlign="Left" >
</f:RenderField>
<f:RenderField Width="160px" ColumnID="IdentityCard" DataField="IdentityCard"
FieldType="String" HeaderText="身份证号" HeaderTextAlign="Center"
TextAlign="Left">
</f:RenderField>
<f:RenderField Width="110px" ColumnID="CertificateValidity" DataField="CertificateValidity"
FieldType="Date" HeaderText="<%$ Resources:Lan,CertificateValidity %>" HeaderTextAlign="Center"
TextAlign="Left" Renderer="Date">
</f:RenderField>
<f:RenderField Width="180px" ColumnID="WelderLevel" DataField="WelderLevel" FieldType="String"
HeaderText="考试中心焊工号" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="110px" ColumnID="IsOnDuty" DataField="IsOnDuty" FieldType="String"
HeaderText="<%$ Resources:Lan,IsOnDuty %>" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:WindowField HeaderTextAlign="Center" TextAlign="Center" Width="150px" WindowID="Window2"
DataIFrameUrlFields="WelderId" DataIFrameUrlFormatString="WelderItem.aspx?WelderId={0}"
Text="<%$ Resources:Lan,WelderQualification %>" HeaderText="<%$ Resources:Lan,WelderQualification %>" Hidden="true">
</f:WindowField>
<f:WindowField HeaderTextAlign="Center" TextAlign="Center" Width="80px" WindowID="Window3"
DataIFrameUrlFields="WelderId" DataIFrameUrlFormatString="WelderPrint.aspx?WelderId={0}"
Text="<%$ Resources:Lan,Print %>" ToolTip="<%$ Resources:Lan,PrintWelder %>" HeaderText="<%$ Resources:Lan,Print %>" Hidden="true">
</f:WindowField>
</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="<%$ Resources:Lan,NumberOfRecordsPerPage %>">
</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:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="<%$ Resources:Lan,PopForm %>" Hidden="true" EnableIFrame="true"
EnableMaximize="true" Target="Top" EnableResize="true" runat="server" OnClose="Window1_Close"
IsModal="true" Width="860px" Height="500px">
</f:Window>
<f:Window ID="Window2" Title="<%$ Resources:Lan,PopForm %>" Hidden="true" EnableIFrame="true"
EnableMaximize="true" Target="Top" EnableResize="true" runat="server" OnClose="Window1_Close"
IsModal="true" Width="1000px" Height="550px">
</f:Window>
<f:Window ID="Window3" Title="<%$ Resources:Lan,PopForm %>" Hidden="true" EnableIFrame="true"
EnableMaximize="true" Target="Top" EnableResize="true" runat="server" IsModal="true"
Width="600px" Height="650px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<f:MenuButton ID="btnMenuEdit" OnClick="btnMenuEdit_Click" Icon="BulletEdit" EnablePostBack="true"
runat="server" Text="<%$ Resources:Lan,Edit %>">
</f:MenuButton>
<f:MenuButton ID="btnMenuDelete" OnClick="btnMenuDelete_Click" EnablePostBack="true"
Icon="Delete" ConfirmText="<%$ Resources:Lan,DeleteReminder %>" ConfirmTarget="Top"
runat="server" Text="<%$ Resources:Lan,Delete %>">
</f:MenuButton>
<f:MenuButton ID="btnView" OnClick="btnView_Click" Icon="Find" EnablePostBack="true"
runat="server" Text="<%$ Resources:Lan,View %>">
</f:MenuButton>
<f:MenuButton ID="btnPrint" OnClick="btnPrint_Click" Icon="Printer" EnablePostBack="true"
runat="server" Text="<%$ Resources:Lan,Print %>">
</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,896 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using AspNet = System.Web.UI.WebControls;
using System.Text;
using BLL;
using NPOI.SS.UserModel;
using NPOI.SS.Util;
using NPOI.XSSF.UserModel;
namespace FineUIPro.Web.WelderManage
{
public partial class WelderManage : PageBase
{
//定义变量
/// <summary>
/// 上传预设的虚拟路径
/// </summary>
private string initPath = Const.ExcelUrl;
/// <summary>
/// 错误集合
/// </summary>
public static string errorInfos = string.Empty;
#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();
}
}
#region
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
string strSql = @"SELECT Welder.WelderId, Welder.WelderCode, Welder.WelderName, Welder.UnitId,Welder.Birthday,
DATEDIFF(YEAR,Welder.Birthday,GETDATE()) AS Age,
(CASE WHEN Welder.Sex=1 THEN '男' ELSE '女' END) AS Sex,
Welder.IdentityCard, Welder.CertificateNum, Welder.CertificateValidity,
Welder.WelderLevel, Welder.Remark,Unit.UnitName,
(CASE WHEN Welder.IsOnDuty=1 THEN '是' ELSE '否' END) AS IsOnDuty
FROM Welder_Welder AS Welder
LEFT JOIN Base_Unit AS Unit ON Unit.UnitId = Welder.UnitId WHERE 1=1";
List<SqlParameter> parms = new List<SqlParameter>();
if (!string.IsNullOrEmpty(this.txtWelderCode.Text))
{
strSql += " and Welder.WelderCode LIKE @WelderCode";
parms.Add(new SqlParameter("@WelderCode", "%" + this.txtWelderCode.Text.Trim() + "%"));
}
if (!string.IsNullOrEmpty(this.txtWelderName.Text))
{
strSql += " and Welder.WelderName LIKE @WelderName";
parms.Add(new SqlParameter("@WelderName", "%" + this.txtWelderName.Text.Trim() + "%"));
}
SqlParameter[] parameter = parms.ToArray();
DataTable dt = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = dt.Rows.Count;
var table = this.GetPagedDataTable(Grid1, dt);
Grid1.DataSource = table;
Grid1.DataBind();
}
/// <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();
}
/// <summary>
/// 关闭弹出窗口
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close(object sender, EventArgs e)
{
BindGrid();
}
#endregion
#endregion
#region
/// <summary>
/// 增加按钮事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnNew_Click(object sender, EventArgs e)
{
if (GetButtonPower(Const.BtnAdd))
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("WelderManageEdit.aspx", "新增 - ")));
}
else
{
Alert.ShowInTop(Resources.Lan.NoPrivilegePrompt, MessageBoxIcon.Warning);
return;
}
}
#endregion
#region
/// <summary>
/// 双击事件
/// </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();
}
/// <summary>
/// 编辑数据方法
/// </summary>
private void EditData()
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop(Resources.Lan.SelectLeastOneRecord, MessageBoxIcon.Warning);
return;
}
////双击事件 编辑权限有:编辑页面,无:查看页面 或者状态是完成时查看页面
if (GetButtonPower(Const.BtnModify))
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("WelderManageEdit.aspx?WelderId={0}", Grid1.SelectedRowID, "编辑 - ")));
}
else if (GetButtonPower(Const.BtnSee))
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("WelderManageView.aspx?WelderId={0}", Grid1.SelectedRowID, "查看 - ")));
}
else
{
ShowNotify(Resources.Lan.NoPrivilegePrompt, MessageBoxIcon.Warning);
return;
}
}
#endregion
#region
/// <summary>
/// 右键删除事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuDelete_Click(object sender, EventArgs e)
{
if (GetButtonPower(Const.BtnDelete))
{
if (Grid1.SelectedRowIndexArray.Length > 0)
{
string strShowNotify = string.Empty;
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
var welder = BLL.WelderService.GetWelderById(rowID);
if (welder != null)
{
string cont = judgementDelete(rowID);
if (string.IsNullOrEmpty(cont))
{
BLL.WelderService.DeleteWelderById(rowID);
BLL.Sys_LogService.AddLog(Const.System_1, this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.WelderManageMenuId, Const.BtnDelete, rowID);
}
else
{
strShowNotify += Resources.Lan.WelderManage + "" + welder.WelderCode + cont;
}
}
}
if (!string.IsNullOrEmpty(strShowNotify))
{
Alert.ShowInTop(strShowNotify, MessageBoxIcon.Warning);
}
else
{
BindGrid();
ShowNotify(Resources.Lan.DeletedSuccessfully, MessageBoxIcon.Success);
}
}
}
else
{
Alert.ShowInTop(Resources.Lan.NoPrivilegePrompt, MessageBoxIcon.Warning);
return;
}
}
#region
/// <summary>
/// 判断是否可以删除
/// </summary>
/// <returns></returns>
private string judgementDelete(string id)
{
string content = string.Empty;
if (Funs.DB.Welder_ProjectWelder.FirstOrDefault(x => x.WelderId == id) != null)
{
content += "已在【项目焊工】中使用,不能删除!";
}
if (Funs.DB.Pipeline_WeldJoint.FirstOrDefault(x => x.BackingWelderId == id) != null)
{
content += "已在【焊接信息】中使用,不能删除!";
}
return content;
}
#endregion
#endregion
#region
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnQuery_Click(object sender, EventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 查看按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnView_Click(object sender, EventArgs e)
{
if (GetButtonPower(Const.BtnSee))
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("WelderManageView.aspx?WelderId={0}", Grid1.SelectedRowID, "查看 - ")));
}
else
{
ShowNotify(Resources.Lan.NoPrivilegePrompt, MessageBoxIcon.Warning);
return;
}
}
#endregion
#region
/// <summary>
/// 获取性别
/// </summary>
/// <param name="sex"></param>
/// <returns></returns>
protected string ConvertSex(object sex)
{
if (sex != null)
{
if (sex.ToString() == "1")
{
return Resources.Lan.Male;
}
else if (sex.ToString() == "2")
{
return Resources.Lan.Female;
}
}
return null;
}
/// <summary>
/// 获取是否在岗
/// </summary>
/// <param name="isOnduty"></param>
/// <returns></returns>
protected string ConvertIsOnDuty(object isOnduty)
{
if (isOnduty != null)
{
if (Convert.ToBoolean(isOnduty) == true)
{
return Resources.Lan.Yes;
}
else if (Convert.ToBoolean(isOnduty) == false)
{
return Resources.Lan.No;
}
}
return null;
}
#endregion
#region
/// <summary>
/// 打印按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnPrint_Click(object sender, EventArgs e)
{
if (GetButtonPower(Const.BtnPrint))
{
PageContext.RegisterStartupScript(Window3.GetShowReference(String.Format("WelderPrint.aspx?WelderId={0}", Grid1.SelectedRowID, "打印 - ")));
}
else
{
ShowNotify(Resources.Lan.NoPrivilegePrompt, MessageBoxIcon.Warning);
return;
}
}
#endregion
#region
/// 导出按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnOut_Click(object sender, EventArgs e)
{
string rootPath = Server.MapPath("~/") + Const.ExcelUrl;
//导出文件
string filePath = rootPath + DateTime.Now.ToString("yyyyMMddhhmmss") + "\\";
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);
}
string ReportFileName = filePath + "焊工基本信息.xlsx";
string strSql = @"SELECT Welder.WelderId, Welder.WelderCode, Welder.WelderName, Welder.UnitId,
Welder.Birthday,(CASE WHEN Welder.Sex=1 THEN '男' ELSE '女' END) AS Sex,
Welder.IdentityCard,Welder.IdentityCard, Welder.CertificateNum, Welder.CertificateValidity,
Welder.WelderLevel, Welder.Remark,Unit.UnitName,Welder.IsOnDuty
FROM Welder_Welder AS Welder LEFT JOIN Base_Unit AS Unit ON Unit.UnitId = Welder.UnitId
WHERE 1=1 ";
DataTable dt = SQLHelper.RunSqlGetTable(strSql);
if (dt.Rows.Count > 0)
{
int rowIndex = 0;
XSSFWorkbook hssfworkbook = new XSSFWorkbook();
var style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 10, true, false);
XSSFSheet ws = (XSSFSheet)hssfworkbook.CreateSheet("焊工基本信息");
#region
ws.SetColumnWidth(0, 6 * 256);
ws.SetColumnWidth(1, 10 * 256);
ws.SetColumnWidth(2, 20 * 256);
ws.SetColumnWidth(3, 12 * 256);
ws.SetColumnWidth(4, 19 * 256);
ws.SetColumnWidth(5, 20 * 256);
ws.SetColumnWidth(6, 27 * 256);
ws.SetColumnWidth(7, 12 * 256);
ws.SetColumnWidth(8, 11 * 256);
ws.SetColumnWidth(9, 11 * 256);
ws.SetColumnWidth(10, 14 * 256);
ws.SetColumnWidth(11, 18 * 256);
#endregion
#region
ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + 3, style, 0, 11, true);
//行0
CellRangeAddress region = new CellRangeAddress(rowIndex, rowIndex, 0, 11);
ws.AddMergedRegion(region);
ws.GetRow(rowIndex).GetCell(0).SetCellValue("巴斯夫(广东)一体化项目专用化学品二区\r\n焊工信息登记表");
ws.GetRow(rowIndex).GetCell(0).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 16);
//行1
region = new CellRangeAddress(rowIndex + 1, rowIndex + 1, 0, 11);
ws.AddMergedRegion(region);
ws.GetRow(rowIndex + 1).GetCell(0).SetCellValue($"时间:{DateTime.Now.ToString("yyyy-MM-dd")}");
ws.GetRow(rowIndex + 1).GetCell(0).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Right, 10);
//行3
ws.GetRow(rowIndex + 2).GetCell(0).SetCellValue("序号");
ws.GetRow(rowIndex + 2).GetCell(1).SetCellValue("焊工姓名");
ws.GetRow(rowIndex + 2).GetCell(2).SetCellValue("考试中心焊工号");
ws.GetRow(rowIndex + 2).GetCell(3).SetCellValue("CC7焊工号");
ws.GetRow(rowIndex + 2).GetCell(4).SetCellValue("身份证号");
ws.GetRow(rowIndex + 2).GetCell(5).SetCellValue("焊工证号");
ws.GetRow(rowIndex + 2).GetCell(6).SetCellValue("合格项目");
ws.GetRow(rowIndex + 2).GetCell(7).SetCellValue("考试时间");
ws.GetRow(rowIndex + 2).GetCell(8).SetCellValue("考试项目");
ws.GetRow(rowIndex + 2).GetCell(9).SetCellValue("是否合格");
ws.GetRow(rowIndex + 2).GetCell(10).SetCellValue("在场状态");
ws.GetRow(rowIndex + 2).GetCell(11).SetCellValue("备注");
#endregion
#region
if (dt.Rows.Count > 0)
{
rowIndex += 3;
var welderIds = GetColumnValues<string>(dt, "WelderId");
var weldlerList = Funs.DB.Welder_WelderQualify.Where(x => welderIds.Contains(x.WelderId)).ToList();
for (int i = 0; i < dt.Rows.Count; i++)
{
int num = 0;
var itemWelders = weldlerList.Where(x => x.WelderId == dt.Rows[i]["WelderId"].ToString()).ToList();
if (itemWelders.Count > 0)
{
num = itemWelders.Count - 1;
ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex + num, style, 0, 11);
//合并单元格
region = new CellRangeAddress(rowIndex, rowIndex + num, 0, 0);
ws.AddMergedRegion(region);
region = new CellRangeAddress(rowIndex, rowIndex + num, 1, 1);
ws.AddMergedRegion(region);
region = new CellRangeAddress(rowIndex, rowIndex + num, 2, 2);
ws.AddMergedRegion(region);
region = new CellRangeAddress(rowIndex, rowIndex + num, 3, 3);
ws.AddMergedRegion(region);
region = new CellRangeAddress(rowIndex, rowIndex + num, 4, 4);
ws.AddMergedRegion(region);
region = new CellRangeAddress(rowIndex, rowIndex + num, 5, 5);
ws.AddMergedRegion(region);
region = new CellRangeAddress(rowIndex, rowIndex + num, 10, 10);
ws.AddMergedRegion(region);
region = new CellRangeAddress(rowIndex, rowIndex + num, 11, 11);
ws.AddMergedRegion(region);
int j = 0;
foreach (var item in itemWelders)
{
int datanum = rowIndex + j;
//合格项目
ws.GetRow(datanum).GetCell(6).SetCellValue(item.QualifiedProjectCode);
//考试时间
ws.GetRow(datanum).GetCell(7).SetCellValue(item.CheckDate != null ? item.CheckDate.Value.ToString("yyyy-MM-dd") : string.Empty);
//考试项目
ws.GetRow(datanum).GetCell(8).SetCellValue(item.ExamProject);
//是否合格
string passStr = "否";
if (item.IsPass != null)
{
passStr = item.IsPass.Value ? "是" : "否";
}
ws.GetRow(datanum).GetCell(9).SetCellValue(passStr);
j++;
}
}
else
{
ws = ExcelCreateRow(ws, hssfworkbook, rowIndex, rowIndex, style, 0, 11);
}
//序号
ws.GetRow(rowIndex).GetCell(0).SetCellValue(i + 1);
//焊工姓名
ws.GetRow(rowIndex).GetCell(1).SetCellValue(dt.Rows[i]["WelderName"].ToString());
//考试中心焊工号
ws.GetRow(rowIndex).GetCell(2).SetCellValue(dt.Rows[i]["WelderLevel"].ToString());
//CC7焊工号
ws.GetRow(rowIndex).GetCell(3).SetCellValue(dt.Rows[i]["WelderCode"].ToString());
//身份证号
ws.GetRow(rowIndex).GetCell(4).SetCellValue(dt.Rows[i]["IdentityCard"].ToString());
//焊工证号
ws.GetRow(rowIndex).GetCell(5).SetCellValue(dt.Rows[i]["CertificateNum"].ToString());
//在场状态
string isOnDutyStr = string.Empty;
if (dt.Rows[i]["IsOnDuty"] != null)
{
isOnDutyStr = dt.Rows[i]["IsOnDuty"].ToString() == "1" ? "在场" : "离场";
}
ws.GetRow(rowIndex).GetCell(10).SetCellValue(isOnDutyStr);
//备注
ws.GetRow(rowIndex).GetCell(11).SetCellValue(dt.Rows[i]["Remark"].ToString());
rowIndex += 1 + num;
}
}
#endregion
ws.SetMargin(MarginType.LeftMargin, 0.3);
ws.SetMargin(MarginType.RightMargin, 0.2);
ws.PrintSetup.Landscape = true;
ws.PrintSetup.PaperSize = 9;
ws.ForceFormulaRecalculation = true;
using (FileStream filess = System.IO.File.OpenWrite(ReportFileName))
{
hssfworkbook.Write(filess);
}
FileInfo filet = new FileInfo(ReportFileName);
Response.Clear();
Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.UTF8;
// 添加头信息,为"文件下载/另存为"对话框指定默认文件名
Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode("焊工基本信息.xlsx"));
// 添加头信息,指定文件大小,让浏览器能够显示下载进度
Response.AddHeader("Content-Length", filet.Length.ToString());
// 指定返回的是一个不能被客户端读取的流,必须被下载
Response.ContentType = "application/ms-excel";
// 把文件流发送到客户端
Response.WriteFile(filet.FullName);
// 停止页面的执行
Response.End();
}
}
/// <summary>
/// 导出方法
/// </summary>
/// <param name="grid"></param>
/// <returns></returns>
private string GetGridTableHtml(Grid grid)
{
StringBuilder sb = new StringBuilder();
grid.PageSize = 10000;
BindGrid();
this.Grid1.Columns[9].Hidden = true;
this.Grid1.Columns[10].Hidden = true;
sb.Append("<meta http-equiv=\"content-type\" content=\"application/excel; charset=UTF-8\"/>");
sb.Append("<table cellspacing=\"0\" rules=\"all\" border=\"1\" style=\"border-collapse:collapse;\">");
sb.Append("<tr>");
foreach (GridColumn column in grid.Columns)
{
sb.AppendFormat("<td>{0}</td>", column.HeaderText);
}
sb.Append("</tr>");
foreach (GridRow row in grid.Rows)
{
sb.Append("<tr>");
foreach (GridColumn column in grid.Columns)
{
string html = row.Values[column.ColumnIndex].ToString();
sb.AppendFormat("<td>{0}</td>", html);
}
sb.Append("</tr>");
}
sb.Append("</table>");
return sb.ToString();
}
#endregion
#region
/// <summary>
/// 模板下载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnDownLoad_Click(object sender, EventArgs e)
{
string rootPath = Server.MapPath("~/");
string uploadfilepath = rootPath + Const.WelderInfoTemplateUrl;
string filePath = Const.WelderInfoTemplateUrl;
string fileName = Path.GetFileName(filePath);
FileInfo info = new FileInfo(uploadfilepath);
long fileSize = info.Length;
Response.ClearContent();
Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.ContentType = "excel/plain";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AddHeader("Content-Length", fileSize.ToString().Trim());
Response.TransmitFile(uploadfilepath, 0, fileSize);
Response.End();
//PageContext.RegisterStartupScript(Confirm.GetShowReference("确定要下载焊工信息导入模板?", String.Empty, MessageBoxIcon.Question, PageManager1.GetCustomEventReference(false, "Confirm_OK"), PageManager1.GetCustomEventReference("Confirm_Cancel")));
}
/// <summary>
/// 下载导入模板
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void PageManager1_CustomEvent(object sender, CustomEventArgs e)
{
if (e.EventArgument == "Confirm_OK")
{
string rootPath = Server.MapPath("~/");
string uploadfilepath = rootPath + Const.WelderInfoTemplateUrl;
string filePath = Const.WelderInfoTemplateUrl;
string fileName = Path.GetFileName(filePath);
FileInfo info = new FileInfo(uploadfilepath);
long fileSize = info.Length;
Response.ClearContent();
Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.ContentType = "excel/plain";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AddHeader("Content-Length", fileSize.ToString().Trim());
Response.TransmitFile(uploadfilepath, 0, fileSize);
Response.End();
}
}
#endregion
protected void btnImport_Click(object sender, EventArgs e)
{
string message = string.Empty;
errorInfos = string.Empty;
try
{
if (this.fileUpload.HasFile == false)
{
ShowNotify("请选择Excel文件!", MessageBoxIcon.Warning);
return;
}
string IsXls = Path.GetExtension(this.fileUpload.FileName).ToString().Trim().ToLower();
if (IsXls != ".xls" && IsXls != ".xlsx")
{
ShowNotify("只能选择Excel文件!", MessageBoxIcon.Warning);
return;
}
string rootPath = Server.MapPath("~/");
string initFullPath = rootPath + initPath;
if (!Directory.Exists(initFullPath))
{
Directory.CreateDirectory(initFullPath);
}
//指定上传文件名称
this.hidFileName.Text = BLL.Funs.GetNewFileName() + IsXls;
//上传文件路径
string filePath = initFullPath + this.hidFileName.Text;
//文件上传服务器
this.fileUpload.PostedFile.SaveAs(filePath);
//文件上传服务器后的名称
string fileName = rootPath + initPath + this.hidFileName.Text;
//读取Excel
DataSet ds = NPOIHelper.ExcelToDataSet(fileName, out errorInfos, true);
//验证Excel读取是否有误
if (!string.IsNullOrEmpty(errorInfos))
{
ShowNotify(errorInfos, MessageBoxIcon.Warning);
return;
}
if (ds.Tables.Count > 0)
{
List<Model.Welder_Welder> welderList = new List<Model.Welder_Welder>();
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
Model.Welder_Welder welder = new Model.Welder_Welder();
#region
string welderId = SQLHelper.GetNewID(typeof(Model.Welder_Welder));
welder.WelderId = welderId;
if (ds.Tables[0].Rows[i]["焊工姓名"] != null && !string.IsNullOrEmpty(ds.Tables[0].Rows[i]["焊工姓名"].ToString()))
{
welder.WelderName = ds.Tables[0].Rows[i]["焊工姓名"].ToString();
}
else
{
errorInfos += (i + 2) + "行, 焊工姓名不能为空!</br>";
}
string insId = string.Empty;
if (ds.Tables[0].Rows[i]["焊工号"] != null && !string.IsNullOrEmpty(ds.Tables[0].Rows[i]["焊工号"].ToString()))
{
if (!BLL.WelderService.IsExisWelderCode(welderId, ds.Tables[0].Rows[i]["焊工号"].ToString()))
{
welder.WelderCode = ds.Tables[0].Rows[i]["焊工号"].ToString();
}
else
{
errorInfos += (i + 2) + "行, 焊工号已存在!</br>";
}
}
else
{
errorInfos += (i + 2) + "行, 焊工号不能为空!</br>";
}
if (ds.Tables[0].Rows[i]["所属单位"] != null && !string.IsNullOrEmpty(ds.Tables[0].Rows[i]["所属单位"].ToString()))
{
var unit = from x in Funs.DB.Base_Unit
where x.UnitName == ds.Tables[0].Rows[i]["所属单位"].ToString()
select x;
if (unit.Count() > 0)
{
welder.UnitId = unit.First().UnitId;
}
else
{
errorInfos += (i + 2) + "行, 所属单位不存在!</br>";
}
}
else
{
errorInfos += (i + 2) + "行, 所属单位不能为空!</br>";
}
if (ds.Tables[0].Rows[i]["性别"] != null && !string.IsNullOrEmpty(ds.Tables[0].Rows[i]["性别"].ToString()))
{
if (ds.Tables[0].Rows[i]["性别"].ToString() == "男")
{
welder.Sex = "1";
}
else if (ds.Tables[0].Rows[i]["性别"].ToString() == "女")
{
welder.Sex = "2";
}
else
{
errorInfos += (i + 2) + "行, 性别填写不规范,请填写男或女!</br>";
}
}
if (ds.Tables[0].Rows[i]["出生日期"] != null && !string.IsNullOrEmpty(ds.Tables[0].Rows[i]["出生日期"].ToString()))
{
try
{
DateTime b = Convert.ToDateTime(ds.Tables[0].Rows[i]["出生日期"].ToString());
welder.Birthday = b;
}
catch
{
errorInfos += (i + 2) + "行,出生日期格式不正确!</br>";
}
}
if (ds.Tables[0].Rows[i]["身份证号"] != null && !string.IsNullOrEmpty(ds.Tables[0].Rows[i]["身份证号"].ToString()))
{
if (ds.Tables[0].Rows[i]["身份证号"].ToString().Length == 18)
{
welder.IdentityCard = ds.Tables[0].Rows[i]["身份证号"].ToString();
welder.CertificateNum = ds.Tables[0].Rows[i]["身份证号"].ToString();
}
else
{
errorInfos += (i + 2) + "行,身份证号格式不正确!</br>";
}
}
else
{
errorInfos += (i + 2) + "行,身份证号不能为空!</br>";
}
if (ds.Tables[0].Rows[i]["备注"] != null && !string.IsNullOrEmpty(ds.Tables[0].Rows[i]["备注"].ToString()))
{
welder.Remark = ds.Tables[0].Rows[i]["备注"].ToString();
}
welder.IsOnDuty = true;
#endregion
welderList.Add(welder);
}
// 数据验证错误,返回
if (!string.IsNullOrEmpty(errorInfos))
{
ShowNotify(errorInfos, MessageBoxIcon.Warning, 10000);
return;
}
else
{
if (welderList.Count > 0)
{
Funs.DB.Welder_Welder.InsertAllOnSubmit(welderList);
Funs.DB.SubmitChanges();
ShowNotify("焊工信息导入成功!", MessageBoxIcon.Success);
this.BindGrid();
}
//foreach (var item in welderList)
//{
// BLL.WelderService.AddWelder(item);
//}
//PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
}
else
{
ShowAlert("没有数据!", MessageBoxIcon.Warning);
return;
}
}
catch (Exception ex)
{
ShowAlert("'" + ex.Message + "'", MessageBoxIcon.Warning);
}
}
#region
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private bool GetButtonPower(string button)
{
return BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.WelderManageMenuId, button);
}
#endregion
#region
/// <summary>
/// 获取某一列的所有值
/// </summary>
/// <typeparam name="T">列数据类型</typeparam>
/// <param name="dtSource">数据表</param>
/// <param name="filedName">列名</param>
/// <returns></returns>
public static List<T> GetColumnValues<T>(DataTable dtSource, string filedName)
{
return (from r in dtSource.AsEnumerable() select r.Field<T>(filedName)).ToList<T>();
}
/// <summary>
/// 行和列
/// </summary>
/// <returns></returns>
private XSSFSheet ExcelCreateRow(XSSFSheet ws, XSSFWorkbook hssfworkbook, int sRows, int eRows, ICellStyle style, int cStart, int cEnd, bool istitle = false)
{
for (int i = sRows; i <= eRows; i++)
{
ws.CreateRow(i);
if (istitle)
{
ws.GetRow(i).HeightInPoints =
i == sRows ? 49.75f :
i == (sRows + 1) ? 13.75f :
38f;
}
else
{
ws.GetRow(i).HeightInPoints = 38f;
}
for (int j = cStart; j <= cEnd; j++)
{
ws.GetRow(i).CreateCell(j);
ws.GetRow(i).GetCell(j).CellStyle = style;
}
}
return ws;
}
#endregion
}
}
@@ -0,0 +1,249 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.WelderManage {
public partial class WelderManage {
/// <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>
/// txtWelderCode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtWelderCode;
/// <summary>
/// txtWelderName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtWelderName;
/// <summary>
/// btnQuery 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnQuery;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// fileUpload 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.FileUpload fileUpload;
/// <summary>
/// btnImport 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnImport;
/// <summary>
/// btnDownLoad 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnDownLoad;
/// <summary>
/// btnNew 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnNew;
/// <summary>
/// btnOut 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut;
/// <summary>
/// hidFileName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hidFileName;
/// <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>
/// Window3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window3;
/// <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;
/// <summary>
/// btnView 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnView;
/// <summary>
/// btnPrint 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnPrint;
}
}
@@ -0,0 +1,140 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WelderManageEdit.aspx.cs"
Inherits="FineUIPro.Web.WelderManage.WelderManageEdit" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>编辑焊工管理</title>
<base target="_self" />
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.userphoto .f-field-label
{
margin-top: 0;
}
.userphoto img
{
width: 150px;
height: 180px;
}
.uploadbutton .f-btn
{
width: 100%;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" runat="server" />
<f:Panel ID="Panel2" runat="server" ShowHeader="false" ShowBorder="false" ColumnWidth="100%"
MarginRight="5px">
<Items>
<f:Form ID="SimpleForm1" LabelAlign="Right" MessageTarget="Qtip" RedStarPosition="BeforeText"
LabelWidth="90px" BodyPadding="5px" ShowBorder="false" ShowHeader="false" runat="server"
AutoScroll="false">
<Items>
<f:Panel ID="Panel3" runat="server" ShowBorder="false" ShowHeader="false" Layout="HBox"
BoxConfigAlign="StretchMax">
<Items>
<f:Panel ID="Panel1" Title="面板1" BoxFlex="5" MarginRight="5px" runat="server" ShowBorder="false"
Width="200px" ShowHeader="false">
<Items>
<f:TextBox ID="txtWelderCode" runat="server" Label="<%$ Resources:Lan,WelderCode %>"
Required="true" MaxLength="50" ShowRedStar="true" LabelWidth="140px">
</f:TextBox>
<f:DropDownList ID="drpUnitId" runat="server" Label="<%$ Resources:Lan,UnitName %>"
LabelWidth="140px" Required="true" ShowRedStar="true">
</f:DropDownList>
<f:TextBox ID="txtCertificateNum" runat="server" Label="焊工证号"
MaxLength="50" LabelWidth="140px">
</f:TextBox>
<f:DatePicker ID="txtBirthday" runat="server" Label="<%$ Resources:Lan,Birthday %>"
LabelWidth="140px">
</f:DatePicker>
<f:CheckBox ID="cbIsOnDuty" runat="server" Label="<%$ Resources:Lan,IsOnDuty %>"
LabelWidth="140px">
</f:CheckBox>
</Items>
</f:Panel>
<f:Panel ID="Panel4" runat="server" BoxFlex="5" ShowBorder="false" ShowHeader="false"
Width="200px" MarginRight="5px" Layout="VBox">
<Items>
<f:TextBox ID="txtWelderName" runat="server" Label="<%$ Resources:Lan,WelderName %>"
Required="true" MaxLength="50" ShowRedStar="true" LabelWidth="120px">
</f:TextBox>
<f:RadioButtonList ID="rblSex" runat="server" Label="<%$ Resources:Lan,Sex %>" LabelWidth="120px">
<f:RadioItem Selected="true" Value="1" Text="<%$ Resources:Lan,Male %>" />
<f:RadioItem Value="2" Text="<%$ Resources:Lan,Female %>" />
</f:RadioButtonList>
<f:TextBox ID="txtIdentityCard" runat="server" Label="<%$ Resources:Lan,IdentityCard %>"
MaxLength="18" LabelWidth="120px" Required="true" ShowRedStar="true">
</f:TextBox>
<f:DatePicker ID="txtCertificateValidity" runat="server" Label="<%$ Resources:Lan,CertificateValidity %>"
LabelWidth="120px" Required="true" ShowRedStar="true">
</f:DatePicker>
<f:TextBox ID="txtWelderLevel" runat="server" Label="考试中心焊工号"
MaxLength="50" LabelWidth="120px">
</f:TextBox>
</Items>
</f:Panel>
<f:Panel ID="Panel5" Title="面板1" BoxFlex="3" runat="server" ShowBorder="false" ShowHeader="false"
Layout="VBox">
<Items>
<f:Image ID="Image1" CssClass="userphoto" ImageUrl="~/res/images/blank_180.png" runat="server"
BoxFlex="1">
</f:Image>
</Items>
<Items>
<f:FileUpload runat="server" ID="filePhoto" EmptyText="<%$ Resources:Lan,PleaseSelectPhoto %>" OnFileSelected="btnPhoto_Click"
AutoPostBack="true">
</f:FileUpload>
</Items>
</f:Panel>
</Items>
</f:Panel>
</Items>
<Items>
<f:Form ID="Form7" ShowBorder="false" ShowHeader="false" runat="server">
<Rows>
<f:FormRow>
<Items>
<f:TextArea ID="txtRemark" runat="server" Label="<%$ Resources:Lan,Remark %>" MaxLength="500"
LabelWidth="140px">
</f:TextArea>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:LinkButton ID="UploadAttach" runat="server" Label="<%$ Resources:Lan,WelderCertificateAnnex %>"
Text="<%$ Resources:Lan,UploadAndView %>" OnClick="btnAttachUrl_Click" LabelWidth="180px">
</f:LinkButton>
</Items>
</f:FormRow>
</Rows>
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
<Items>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" ValidateForms="SimpleForm1"
OnClick="btnSave_Click">
</f:Button>
<f:Button ID="btnClose" EnablePostBack="false" ToolTip="<%$ Resources:Lan,Close %>"
runat="server" Icon="SystemClose">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</f:Form>
</Items>
</f:Form>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="<%$ Resources:Lan,FileUpload %>" Hidden="true" EnableIFrame="true"
EnableMaximize="true" Target="Parent" EnableResize="true" runat="server" IsModal="true"
Width="680px" Height="480px">
</f:Window>
</form>
</body>
</html>
@@ -0,0 +1,223 @@
using System;
using System.Linq;
using BLL;
namespace FineUIPro.Web.WelderManage
{
public partial class WelderManageEdit : PageBase
{
#region
/// <summary>
/// 照片附件路径
/// </summary>
public string PhotoAttachUrl
{
get
{
return (string)ViewState["PhotoAttachUrl"];
}
set
{
ViewState["PhotoAttachUrl"] = value;
}
}
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.btnClose.OnClientClick = ActiveWindow.GetHideReference();
BLL.Base_UnitService.InitUnitDropDownList(this.drpUnitId, true, BLL.Const.UnitType_5, Resources.Lan.PleaseSelect);//单位
//BLL.Base_ProjectTypeService.InitProjectTypeDropDownList(this.drpPojectType, true, Resources.Lan.PleaseSelect);//项目类型
string welderId = Request.Params["WelderId"];
if (!string.IsNullOrEmpty(welderId))
{
Model.Welder_Welder welder = BLL.WelderService.GetWelderById(welderId);
if (welder != null)
{
this.txtWelderCode.Text = welder.WelderCode;
this.txtWelderName.Text = welder.WelderName;
//if (!string.IsNullOrEmpty(welder.ProjectTypeId))
//{
// this.drpPojectType.SelectedValue = welder.ProjectTypeId;
//}
if (!string.IsNullOrEmpty(welder.UnitId))
{
this.drpUnitId.SelectedValue = welder.UnitId;
}
this.rblSex.SelectedValue = welder.Sex;
if (welder.Birthday.HasValue)
{
this.txtBirthday.Text = string.Format("{0:yyyy-MM-dd}", welder.Birthday);
}
this.txtIdentityCard.Text = welder.IdentityCard;
this.txtCertificateNum.Text = welder.CertificateNum;
if (welder.CertificateValidity.HasValue)
{
this.txtCertificateValidity.Text = string.Format("{0:yyyy-MM-dd}", welder.CertificateValidity);
}
this.txtWelderLevel.Text = welder.WelderLevel;
if (welder.IsOnDuty == true)
{
cbIsOnDuty.Checked = true;
}
else
{
cbIsOnDuty.Checked = false;
}
this.txtRemark.Text = welder.Remark;
if (!string.IsNullOrEmpty(welder.PhotoUrl))
{
this.PhotoAttachUrl = welder.PhotoUrl;
this.Image1.ImageUrl = "~/" + this.PhotoAttachUrl;
}
}
}
else
{
this.cbIsOnDuty.Checked = true;
}
}
}
#endregion
#region
/// <summary>
/// 保存按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
string welderId = Request.Params["WelderId"];
var q = Funs.DB.Welder_Welder.FirstOrDefault(x => x.WelderCode == this.txtWelderCode.Text.Trim()
&& (x.WelderId != welderId || (welderId == null && welderId != null)));
if (q != null)
{
Alert.ShowInTop(Resources.Lan.WelderCodeExists, MessageBoxIcon.Warning);
return;
}
if (this.drpUnitId.SelectedValue == BLL.Const._Null)
{
Alert.ShowInTop(Resources.Lan.SelectCompany, MessageBoxIcon.Warning);
return;
}
welderId = SaveData(welderId);
ShowNotify(Resources.Lan.SaveSuccessfully, MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
private string SaveData(string welderId)
{
Model.Welder_Welder newWelder = new Model.Welder_Welder();
newWelder.WelderCode = this.txtWelderCode.Text.Trim();
newWelder.WelderName = this.txtWelderName.Text.Trim();
if (this.drpUnitId.SelectedValue != BLL.Const._Null)
{
newWelder.UnitId = this.drpUnitId.SelectedValue;
}
newWelder.Sex = this.rblSex.SelectedValue;
newWelder.Birthday = Funs.GetNewDateTime(this.txtBirthday.Text.Trim());
newWelder.IdentityCard = this.txtIdentityCard.Text.Trim();
newWelder.CertificateNum = this.txtCertificateNum.Text.Trim();
newWelder.CertificateValidity = Funs.GetNewDateTime(this.txtCertificateValidity.Text.Trim());
newWelder.WelderLevel = this.txtWelderLevel.Text.Trim();
if (this.cbIsOnDuty.Checked)
{
newWelder.IsOnDuty = true;
}
else
{
newWelder.IsOnDuty = false;
}
newWelder.Remark = this.txtRemark.Text.Trim();
newWelder.PhotoUrl = this.PhotoAttachUrl;
if (!string.IsNullOrEmpty(welderId))
{
if (!BLL.WelderService.IsExisWelderCode(welderId, this.txtWelderCode.Text))
{
newWelder.WelderId = welderId;
BLL.WelderService.UpdateWelder(newWelder);
BLL.Sys_LogService.AddLog(Const.System_1, this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.WelderManageMenuId, Const.BtnModify, welderId);
}
else
{
Alert.ShowInParent(Resources.Lan.WelderCodeExists, MessageBoxIcon.Warning);
}
}
else
{
welderId = SQLHelper.GetNewID(typeof(Model.Welder_Welder));
if (!BLL.WelderService.IsExisWelderCode(welderId, this.txtWelderCode.Text))
{
newWelder.WelderId = welderId;
BLL.WelderService.AddWelder(newWelder);
BLL.Sys_LogService.AddLog(Const.System_1, this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.WelderManageMenuId, Const.BtnAdd, welderId);
}
else
{
Alert.ShowInParent(Resources.Lan.WelderCodeExists, MessageBoxIcon.Warning);
}
}
return welderId;
}
#endregion
#region
/// <summary>
/// 上传附件资源
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAttachUrl_Click(object sender, EventArgs e)
{
string edit = "0";
string welderId = Request.Params["WelderId"];
if (string.IsNullOrEmpty(welderId))
{
SaveData(welderId);
}
else
{
edit = "1";
}
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("../AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/WelderManage&menuId={1}&edit={2}", welderId, BLL.Const.WelderManageMenuId, edit)));
}
#endregion
#region
/// <summary>
/// 上传照片
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnPhoto_Click(object sender, EventArgs e)
{
if (filePhoto.HasFile)
{
string fileName = filePhoto.ShortFileName;
if (!ValidateFileType(fileName))
{
ShowNotify(Resources.Lan.InvalidFileType, MessageBoxIcon.Warning);
return;
}
this.PhotoAttachUrl = BLL.UploadFileService.UploadAttachment(BLL.Funs.RootPath, this.filePhoto, this.PhotoAttachUrl, Const.WelderFilePath);
this.Image1.ImageUrl = "~/" + this.PhotoAttachUrl;
}
}
#endregion
}
}
@@ -0,0 +1,258 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.WelderManage {
public partial class WelderManageEdit {
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel2;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form SimpleForm1;
/// <summary>
/// Panel3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel3;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// txtWelderCode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtWelderCode;
/// <summary>
/// drpUnitId 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpUnitId;
/// <summary>
/// txtCertificateNum 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtCertificateNum;
/// <summary>
/// txtBirthday 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtBirthday;
/// <summary>
/// cbIsOnDuty 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.CheckBox cbIsOnDuty;
/// <summary>
/// Panel4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel4;
/// <summary>
/// txtWelderName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtWelderName;
/// <summary>
/// rblSex 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButtonList rblSex;
/// <summary>
/// txtIdentityCard 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtIdentityCard;
/// <summary>
/// txtCertificateValidity 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtCertificateValidity;
/// <summary>
/// txtWelderLevel 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtWelderLevel;
/// <summary>
/// Panel5 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel5;
/// <summary>
/// Image1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Image Image1;
/// <summary>
/// filePhoto 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.FileUpload filePhoto;
/// <summary>
/// Form7 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form Form7;
/// <summary>
/// txtRemark 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtRemark;
/// <summary>
/// UploadAttach 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.LinkButton UploadAttach;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// btnClose 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnClose;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
}
}
@@ -0,0 +1,132 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WelderManageView.aspx.cs"
Inherits="FineUIPro.Web.WelderManage.WelderManageView" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>查看焊工管理</title>
<base target="_self" />
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.userphoto .f-field-label
{
margin-top: 0;
}
.userphoto img
{
width: 150px;
height: 180px;
}
.uploadbutton .f-btn
{
width: 100%;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" runat="server" />
<f:Panel ID="Panel2" runat="server" ShowHeader="false" ShowBorder="false" ColumnWidth="100%"
MarginRight="5px">
<Items>
<f:Form ID="SimpleForm1" LabelAlign="Right" MessageTarget="Qtip" RedStarPosition="BeforeText"
LabelWidth="90px" BodyPadding="5px" ShowBorder="false" ShowHeader="false" runat="server"
AutoScroll="false">
<Items>
<f:Panel ID="Panel3" runat="server" ShowBorder="false" ShowHeader="false" Layout="HBox"
BoxConfigAlign="StretchMax">
<Items>
<f:Panel ID="Panel1" Title="面板1" BoxFlex="5" MarginRight="5px" runat="server" ShowBorder="false"
Width="200px" ShowHeader="false">
<Items>
<f:TextBox ID="txtWelderCode" runat="server" Label="<%$ Resources:Lan,WelderCode %>"
Readonly="true" LabelWidth="140px">
</f:TextBox>
<f:TextBox ID="txtUnitName" runat="server" Label="<%$ Resources:Lan,UnitName %>"
Readonly="true" LabelWidth="140px">
</f:TextBox>
<f:DatePicker ID="txtBirthday" runat="server" Label="<%$ Resources:Lan,Birthday %>"
LabelWidth="140px" Readonly="true">
</f:DatePicker>
<f:TextBox ID="txtCertificateNum" runat="server" Label="<%$ Resources:Lan,CertificateNumber %>"
Readonly="true" LabelWidth="140px">
</f:TextBox>
<f:TextBox ID="txtWelderLevel" runat="server" Label="<%$ Resources:Lan,WelderLevel %>"
Readonly="true" LabelWidth="140px">
</f:TextBox>
</Items>
</f:Panel>
<f:Panel ID="Panel4" runat="server" BoxFlex="5" ShowBorder="false" ShowHeader="false"
Width="200px" MarginRight="5px" Layout="VBox">
<Items>
<f:TextBox ID="txtWelderName" runat="server" Label="<%$ Resources:Lan,WelderName %>"
Readonly="true" LabelWidth="120px">
</f:TextBox>
<f:RadioButtonList ID="rblSex" runat="server" Label="<%$ Resources:Lan,Sex %>" LabelWidth="120px"
Readonly="true">
<f:RadioItem Selected="true" Value="1" Text="<%$ Resources:Lan,Male %>" />
<f:RadioItem Value="2" Text="<%$ Resources:Lan,Female %>" />
</f:RadioButtonList>
<f:TextBox ID="txtIdentityCard" runat="server" Label="<%$ Resources:Lan,IdentityCard %>"
LabelWidth="120px" Readonly="true">
</f:TextBox>
<f:DatePicker ID="txtCertificateValidity" runat="server" Label="<%$ Resources:Lan,CertificateValidity %>"
LabelWidth="120px" Readonly="true">
</f:DatePicker>
<f:CheckBox ID="cbIsOnDuty" runat="server" Label="<%$ Resources:Lan,IsOnDuty %>"
LabelWidth="120px" Readonly="true">
</f:CheckBox>
</Items>
</f:Panel>
<f:Panel ID="Panel5" Title="面板1" BoxFlex="3" runat="server" ShowBorder="false" ShowHeader="false"
Layout="VBox">
<Items>
<f:Image ID="Image1" CssClass="userphoto" ImageUrl="~/res/images/blank_180.png" runat="server"
BoxFlex="1">
</f:Image>
</Items>
</f:Panel>
</Items>
</f:Panel>
</Items>
<Items>
<f:Form ID="Form7" ShowBorder="false" ShowHeader="false" runat="server">
<Rows>
<f:FormRow>
<Items>
<f:TextArea ID="txtRemark" runat="server" Label="<%$ Resources:Lan,Remark %>" Readonly="true"
LabelWidth="140px">
</f:TextArea>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:LinkButton ID="UploadAttach" runat="server" Label="<%$ Resources:Lan,WelderCertificateAnnex %>"
Text="<%$ Resources:Lan,UploadAndView %>" OnClick="btnAttachUrl_Click" LabelWidth="180px">
</f:LinkButton>
</Items>
</f:FormRow>
</Rows>
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
<Items>
<f:Button ID="btnClose" EnablePostBack="false" ToolTip="<%$ Resources:Lan,Close %>"
runat="server" Icon="SystemClose">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</f:Form>
</Items>
</f:Form>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="<%$ Resources:Lan,FileUpload %>" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="true" runat="server" IsModal="true" Width="680px"
Height="480px">
</f:Window>
</form>
</body>
</html>
@@ -0,0 +1,79 @@
using System;
namespace FineUIPro.Web.WelderManage
{
public partial class WelderManageView : PageBase
{
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.btnClose.OnClientClick = ActiveWindow.GetHideReference();
string welderId = Request.Params["WelderId"];
if (!string.IsNullOrEmpty(welderId))
{
Model.Welder_Welder welder = BLL.WelderService.GetWelderById(welderId);
if (welder != null)
{
this.txtWelderCode.Text = welder.WelderCode;
this.txtWelderName.Text = welder.WelderName;
if (!string.IsNullOrEmpty(welder.UnitId))
{
this.txtUnitName.Text = BLL.Base_UnitService.GetUnitNameByUnitId(welder.UnitId);
}
this.rblSex.SelectedValue = welder.Sex;
if (welder.Birthday.HasValue)
{
this.txtBirthday.Text = string.Format("{0:yyyy-MM-dd}", welder.Birthday);
}
this.txtIdentityCard.Text = welder.IdentityCard;
this.txtCertificateNum.Text = welder.CertificateNum;
if (welder.CertificateValidity.HasValue)
{
this.txtCertificateValidity.Text = string.Format("{0:yyyy-MM-dd}", welder.CertificateValidity);
}
this.txtWelderLevel.Text = welder.WelderLevel;
if (welder.IsOnDuty == true)
{
cbIsOnDuty.Checked = true;
}
else
{
cbIsOnDuty.Checked = false;
}
this.txtRemark.Text = welder.Remark;
if (!string.IsNullOrEmpty(welder.PhotoUrl))
{
this.Image1.ImageUrl = "~/" + welder.PhotoUrl;
}
}
}
}
}
#endregion
#region
/// <summary>
/// 上传附件资源
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAttachUrl_Click(object sender, EventArgs e)
{
string edit = "0";
string welderId = Request.Params["WelderId"];
if (!string.IsNullOrEmpty(welderId))
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("../AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/WelderManage&menuId={1}&edit={2}", welderId, BLL.Const.WelderManageMenuId, edit)));
}
}
#endregion
}
}
@@ -0,0 +1,240 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.WelderManage {
public partial class WelderManageView {
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel2;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form SimpleForm1;
/// <summary>
/// Panel3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel3;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// txtWelderCode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtWelderCode;
/// <summary>
/// txtUnitName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtUnitName;
/// <summary>
/// txtBirthday 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtBirthday;
/// <summary>
/// txtCertificateNum 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtCertificateNum;
/// <summary>
/// txtWelderLevel 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtWelderLevel;
/// <summary>
/// Panel4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel4;
/// <summary>
/// txtWelderName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtWelderName;
/// <summary>
/// rblSex 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButtonList rblSex;
/// <summary>
/// txtIdentityCard 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtIdentityCard;
/// <summary>
/// txtCertificateValidity 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtCertificateValidity;
/// <summary>
/// cbIsOnDuty 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.CheckBox cbIsOnDuty;
/// <summary>
/// Panel5 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel5;
/// <summary>
/// Image1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Image Image1;
/// <summary>
/// Form7 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form Form7;
/// <summary>
/// txtRemark 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtRemark;
/// <summary>
/// UploadAttach 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.LinkButton UploadAttach;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// btnClose 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnClose;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
}
}