feat(hjgl):新增防腐管理
This commit is contained in:
@@ -0,0 +1,139 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AntiCorrosionTrust.aspx.cs" Inherits="FineUIPro.Web.CLGL.AntiCorrosionTrust" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head runat="server">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>防腐委托单</title>
|
||||
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
|
||||
<f:Panel ID="Panel1" runat="server" ShowBorder="false" ShowHeader="false" Layout="Region">
|
||||
<Items>
|
||||
<f:Panel runat="server" ID="panelLeftRegion" RegionPosition="Left" RegionSplit="true"
|
||||
EnableCollapse="true" Width="300px" Title="WBS目录"
|
||||
ShowBorder="true" Layout="VBox" ShowHeader="true" AutoScroll="true" BodyPadding="5px">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
|
||||
<Items>
|
||||
<f:TextBox ID="txtTreeSearch" runat="server" Label="单位工程" LabelAlign="Right"
|
||||
EmptyText="输入查询条件" Width="230px" LabelWidth="70px">
|
||||
</f:TextBox>
|
||||
<f:Button ID="btnTreeFind" ToolTip="查询" Icon="SystemSearch"
|
||||
EnablePostBack="true" OnClick="btnTreeFind_Click" runat="server">
|
||||
</f:Button>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
<Items>
|
||||
<f:Tree ID="tvControlItem" ShowHeader="false" Height="560px" Title="单位工程"
|
||||
OnNodeCommand="tvControlItem_NodeCommand" runat="server" ShowBorder="false" EnableCollapse="true"
|
||||
AutoLeafIdentification="true" EnableTextSelection="true">
|
||||
</f:Tree>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
|
||||
<f:Panel ID="Panel2" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
|
||||
ShowHeader="false" Layout="Region" BoxConfigAlign="Stretch">
|
||||
<Items>
|
||||
<f:Panel runat="server" ID="panelCenterRegion" RegionPosition="Center" ShowBorder="true"
|
||||
Layout="VBox" ShowHeader="false" BodyPadding="5px" Title="防腐委托单" AutoScroll="true">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar3" Position="Top" runat="server" ToolbarAlign="Left">
|
||||
<Items>
|
||||
<f:TextBox ID="txtTrustCode" runat="server" Label="委托单编号" Width="260px" LabelWidth="100px" LabelAlign="Right">
|
||||
</f:TextBox>
|
||||
<f:TextBox ID="txtOutputMasterCode" runat="server" Label="出库单编号" Width="260px" LabelWidth="100px" LabelAlign="Right">
|
||||
</f:TextBox>
|
||||
<f:ToolbarFill ID="ToolbarFill1" runat="server">
|
||||
</f:ToolbarFill>
|
||||
<f:Button ID="btnSearch" ToolTip="查询" Icon="SystemSearch" runat="server" Text="查询" OnClick="btnSearch_Click">
|
||||
</f:Button>
|
||||
<f:Button ID="btnNew" ToolTip="新增" Icon="Add" runat="server" Text="新增" OnClick="btnNew_Click">
|
||||
</f:Button>
|
||||
<f:Button ID="btnPrint" ToolTip="打印" Icon="Printer" runat="server" Text="打印" OnClick="btnPrint_Click" Hidden="true">
|
||||
</f:Button>
|
||||
<f:Button ID="btnExportTrust" ToolTip="导出委托单" Icon="PageExcel" runat="server" Text="导出委托单" OnClick="btnExportTrust_Click"
|
||||
EnableAjax="false" DisableControlBeforePostBack="false">
|
||||
</f:Button>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
<Items>
|
||||
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="防腐委托单"
|
||||
EnableCollapse="true" runat="server" BoxFlex="1" DataKeyNames="Id" PageSize="1000"
|
||||
AllowColumnLocking="true" EnableColumnLines="true" DataIDField="Id"
|
||||
AllowSorting="true" SortField="TrustCode" SortDirection="ASC"
|
||||
EnableTextSelection="True" EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick">
|
||||
<Columns>
|
||||
<f:TemplateField ColumnID="tfNumber" Width="50px" HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
<f:RenderField Width="220px" ColumnID="UnitWorkName" DataField="UnitWorkName" SortField="UnitWorkName"
|
||||
FieldType="String" HeaderText="单位工程名称" TextAlign="Left" HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="180px" ColumnID="ConstructionPart" DataField="ConstructionPart" SortField="ConstructionPart"
|
||||
FieldType="String" HeaderText="施工部位" TextAlign="Left" HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="160px" ColumnID="ConstructionProfessional" DataField="ConstructionProfessional" SortField="ConstructionProfessional"
|
||||
FieldType="String" HeaderText="施工专业" TextAlign="Left" HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="260px" ColumnID="TrustCode" DataField="TrustCode" SortField="TrustCode"
|
||||
FieldType="String" HeaderText="委托单编号" TextAlign="Left" HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="220px" ColumnID="OutputMasterCode" DataField="OutputMasterCode" SortField="OutputMasterCode"
|
||||
FieldType="String" HeaderText="出库单编号" TextAlign="Left" HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="110px" ColumnID="DemandDate" DataField="DemandDate" SortField="DemandDate" Renderer="Date"
|
||||
RendererArgument="yyyy-MM-dd" FieldType="Date" HeaderText="需求时间" TextAlign="Left" HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="110px" ColumnID="CompleteDate" DataField="CompleteDate" SortField="CompleteDate" Renderer="Date"
|
||||
RendererArgument="yyyy-MM-dd" FieldType="Date" HeaderText="完成时间" TextAlign="Left" HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="CreateManName" DataField="CreateManName" SortField="CreateManName"
|
||||
FieldType="String" HeaderText="创建人" TextAlign="Left" HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="110px" ColumnID="CreateDate" DataField="CreateDate" SortField="CreateDate" Renderer="Date"
|
||||
RendererArgument="yyyy-MM-dd" FieldType="Date" HeaderText="创建时间" TextAlign="Left" HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
</Columns>
|
||||
<Listeners>
|
||||
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu1" />
|
||||
</Listeners>
|
||||
</f:Grid>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
<f:Window ID="Window1" Title="弹出窗体" Hidden="true" EnableIFrame="true"
|
||||
EnableMaximize="true" Target="Top" EnableResize="false" runat="server" OnClose="Window1_Close"
|
||||
IsModal="true" Width="1200px" Height="680px">
|
||||
</f:Window>
|
||||
<f:Window ID="Window3" Title="打印" Hidden="true" EnableIFrame="true"
|
||||
EnableMaximize="true" Target="Top" EnableResize="false" runat="server"
|
||||
IsModal="true" Width="1010px" Height="660px">
|
||||
</f:Window>
|
||||
<f:Menu ID="Menu1" runat="server" Hidden="true">
|
||||
<f:MenuButton ID="btnMenuEdit" OnClick="btnMenuEdit_Click" EnablePostBack="true" Hidden="true"
|
||||
runat="server" Text="编辑" Icon="TableEdit">
|
||||
</f:MenuButton>
|
||||
<f:MenuButton ID="btnMenuDelete" OnClick="btnMenuDelete_Click" EnablePostBack="true" Hidden="true"
|
||||
ConfirmText="删除选中行?" ConfirmTarget="Top" runat="server" Text="删除" Icon="Delete">
|
||||
</f:MenuButton>
|
||||
</f:Menu>
|
||||
</form>
|
||||
<script type="text/javascript">
|
||||
var menuID1 = '<%= Menu1.ClientID %>';
|
||||
function onRowContextMenu1(event, rowId) {
|
||||
F(menuID1).show();
|
||||
return false;
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,259 @@
|
||||
using BLL;
|
||||
using MiniExcelLibs;
|
||||
using Model;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
|
||||
namespace FineUIPro.Web.CLGL
|
||||
{
|
||||
public partial class AntiCorrosionTrust : PageBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
GetButtonPower();
|
||||
InitTreeMenu();
|
||||
BindGrid();
|
||||
}
|
||||
}
|
||||
|
||||
private void BindGrid()
|
||||
{
|
||||
var filter = new AntiCorrosionTrustOutput
|
||||
{
|
||||
ProjectId = this.CurrUser.LoginProjectId,
|
||||
UnitWorkId = tvControlItem.SelectedNodeID,
|
||||
TrustCode = txtTrustCode.Text.Trim(),
|
||||
OutputMasterCode = txtOutputMasterCode.Text.Trim()
|
||||
};
|
||||
Grid1.DataSource = TwAntiCorrosionTrustService.GetListData(filter, Grid1);
|
||||
Grid1.RecordCount = TwAntiCorrosionTrustService.Count;
|
||||
Grid1.DataBind();
|
||||
}
|
||||
|
||||
private void InitTreeMenu()
|
||||
{
|
||||
this.tvControlItem.Nodes.Clear();
|
||||
|
||||
TreeNode rootNode1 = new TreeNode();
|
||||
rootNode1.NodeID = "1";
|
||||
rootNode1.Text = "建筑工程";
|
||||
rootNode1.CommandName = "建筑工程";
|
||||
rootNode1.Selectable = false;
|
||||
this.tvControlItem.Nodes.Add(rootNode1);
|
||||
|
||||
TreeNode rootNode2 = new TreeNode();
|
||||
rootNode2.NodeID = "2";
|
||||
rootNode2.Text = "安装工程";
|
||||
rootNode2.CommandName = "安装工程";
|
||||
rootNode2.Expanded = true;
|
||||
rootNode2.Selectable = false;
|
||||
this.tvControlItem.Nodes.Add(rootNode2);
|
||||
|
||||
var keyword = txtTreeSearch.Text.Trim();
|
||||
var unitWorkList = (from x in Funs.DB.WBS_UnitWork
|
||||
where x.ProjectId == this.CurrUser.LoginProjectId
|
||||
&& x.SuperUnitWork == null && x.UnitId != null && x.ProjectType != null
|
||||
&& (string.IsNullOrEmpty(keyword) || x.UnitWorkName.Contains(keyword) || x.UnitWorkCode.Contains(keyword))
|
||||
select x).ToList();
|
||||
|
||||
foreach (var q in unitWorkList.Where(x => x.ProjectType == "1"))
|
||||
{
|
||||
TreeNode tn = BuildUnitWorkNode(q);
|
||||
rootNode1.Nodes.Add(tn);
|
||||
}
|
||||
foreach (var q in unitWorkList.Where(x => x.ProjectType == "2"))
|
||||
{
|
||||
TreeNode tn = BuildUnitWorkNode(q);
|
||||
rootNode2.Nodes.Add(tn);
|
||||
}
|
||||
}
|
||||
|
||||
private TreeNode BuildUnitWorkNode(Model.WBS_UnitWork unitWork)
|
||||
{
|
||||
var unitNamesUnitIds = BLL.UnitService.getUnitNamesUnitIds(unitWork.UnitId);
|
||||
TreeNode node = new TreeNode();
|
||||
node.NodeID = unitWork.UnitWorkId;
|
||||
node.Text = unitWork.UnitWorkName;
|
||||
node.ToolTip = "施工单位:" + unitNamesUnitIds;
|
||||
node.EnableClickEvent = true;
|
||||
return node;
|
||||
}
|
||||
|
||||
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
|
||||
{
|
||||
BindGrid();
|
||||
}
|
||||
|
||||
protected void btnTreeFind_Click(object sender, EventArgs e)
|
||||
{
|
||||
InitTreeMenu();
|
||||
}
|
||||
|
||||
protected void btnSearch_Click(object sender, EventArgs e)
|
||||
{
|
||||
BindGrid();
|
||||
}
|
||||
|
||||
protected void btnNew_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (!CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.PersonId, Const.Tw_AntiCorrosionTrustMenuId, Const.BtnAdd))
|
||||
{
|
||||
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
if (string.IsNullOrEmpty(tvControlItem.SelectedNodeID) || tvControlItem.SelectedNodeID == "1" || tvControlItem.SelectedNodeID == "2")
|
||||
{
|
||||
Alert.ShowInTop("请选择单位工程!", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
PageContext.RegisterStartupScript(Window1.GetShowReference(string.Format("AntiCorrosionTrustEdit.aspx?UnitWorkId={0}", tvControlItem.SelectedNodeID)));
|
||||
}
|
||||
|
||||
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
|
||||
{
|
||||
EditSelected();
|
||||
}
|
||||
|
||||
protected void btnMenuEdit_Click(object sender, EventArgs e)
|
||||
{
|
||||
EditSelected();
|
||||
}
|
||||
|
||||
private void EditSelected()
|
||||
{
|
||||
if (!CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.PersonId, Const.Tw_AntiCorrosionTrustMenuId, Const.BtnModify))
|
||||
{
|
||||
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
if (string.IsNullOrEmpty(Grid1.SelectedRowID))
|
||||
{
|
||||
Alert.ShowInTop("请选择要编辑的项", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
PageContext.RegisterStartupScript(Window1.GetShowReference(string.Format("AntiCorrosionTrustEdit.aspx?Id={0}", Grid1.SelectedRowID)));
|
||||
}
|
||||
|
||||
protected void btnMenuDelete_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (!CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.PersonId, Const.Tw_AntiCorrosionTrustMenuId, Const.BtnDelete))
|
||||
{
|
||||
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
if (Grid1.SelectedRowIndexArray.Length == 0)
|
||||
{
|
||||
Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
|
||||
{
|
||||
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
|
||||
TwAntiCorrosionTrustService.DeleteById(rowID);
|
||||
}
|
||||
BindGrid();
|
||||
ShowNotify("删除成功!", MessageBoxIcon.Success);
|
||||
}
|
||||
|
||||
protected void btnPrint_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (string.IsNullOrEmpty(Grid1.SelectedRowID))
|
||||
{
|
||||
ShowNotify("请选择要打印的项", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
BLL.FastReportService.ResetData();
|
||||
DataTable master = TwAntiCorrosionTrustService.GetPrintMasterTable(Grid1.SelectedRowID);
|
||||
DataTable detail = TwAntiCorrosionTrustService.GetPrintDetailTable(Grid1.SelectedRowID);
|
||||
BLL.FastReportService.AddFastreportTable(master);
|
||||
BLL.FastReportService.AddFastreportTable(detail);
|
||||
|
||||
string rootPath = Server.MapPath("~/");
|
||||
string initTemplatePath = "File\\Fastreport\\防腐委托单.frx";
|
||||
if (File.Exists(rootPath + initTemplatePath))
|
||||
{
|
||||
PageContext.RegisterStartupScript(Window3.GetShowReference(string.Format("~/Controls/Fastreport.aspx?ReportPath={0}", rootPath + initTemplatePath)));
|
||||
}
|
||||
else
|
||||
{
|
||||
ShowNotify("打印模板不存在!", MessageBoxIcon.Warning);
|
||||
}
|
||||
}
|
||||
|
||||
protected void btnExportTrust_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (string.IsNullOrEmpty(Grid1.SelectedRowID))
|
||||
{
|
||||
ShowNotify("请选择要导出的项", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
|
||||
string templatePath = Funs.RootPath + @"File\Excel\DataOut\防腐委托单.xlsx";
|
||||
if (!File.Exists(templatePath))
|
||||
{
|
||||
ShowNotify("导出模板不存在!", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
|
||||
DataTable master = TwAntiCorrosionTrustService.GetPrintMasterTable(Grid1.SelectedRowID);
|
||||
DataTable detail = TwAntiCorrosionTrustService.GetPrintDetailTable(Grid1.SelectedRowID);
|
||||
if (master.Rows.Count == 0)
|
||||
{
|
||||
ShowNotify("未找到防腐委托单数据!", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
|
||||
var value = GetExportValue(master.Rows[0], detail);
|
||||
string tempPath = Funs.RootPath + @"File\Excel\Temp\防腐委托单.xlsx";
|
||||
tempPath = tempPath.Replace(".xlsx", string.Format("{0:yyyy-MM-dd-HH-mm-ss}", DateTime.Now) + ".xlsx");
|
||||
Directory.CreateDirectory(Path.GetDirectoryName(tempPath));
|
||||
MiniExcel.SaveAsByTemplate(tempPath, templatePath, value);
|
||||
|
||||
string trustCode = Convert.ToString(master.Rows[0]["TrustCode"]);
|
||||
string fileName = string.IsNullOrEmpty(trustCode) ? "防腐委托单.xlsx" : trustCode + ".xlsx";
|
||||
FileInfo info = new FileInfo(tempPath);
|
||||
long fileSize = info.Length;
|
||||
System.Web.HttpContext.Current.Response.Clear();
|
||||
System.Web.HttpContext.Current.Response.ContentType = "application/x-zip-compressed";
|
||||
System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
|
||||
System.Web.HttpContext.Current.Response.AddHeader("Content-Length", fileSize.ToString());
|
||||
System.Web.HttpContext.Current.Response.TransmitFile(tempPath, 0, fileSize);
|
||||
System.Web.HttpContext.Current.Response.Flush();
|
||||
File.Delete(tempPath);
|
||||
System.Web.HttpContext.Current.Response.End();
|
||||
}
|
||||
|
||||
private Dictionary<string, object> GetExportValue(DataRow master, DataTable detail)
|
||||
{
|
||||
var value = new Dictionary<string, object>();
|
||||
foreach (DataColumn column in master.Table.Columns)
|
||||
{
|
||||
value[column.ColumnName] = master[column] == DBNull.Value ? string.Empty : master[column];
|
||||
}
|
||||
value["Data"] = detail;
|
||||
return value;
|
||||
}
|
||||
|
||||
protected void Window1_Close(object sender, WindowCloseEventArgs e)
|
||||
{
|
||||
BindGrid();
|
||||
}
|
||||
|
||||
private void GetButtonPower()
|
||||
{
|
||||
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.PersonId, BLL.Const.Tw_AntiCorrosionTrustMenuId);
|
||||
if (buttonList.Count > 0)
|
||||
{
|
||||
btnNew.Hidden = !buttonList.Contains(BLL.Const.BtnAdd);
|
||||
btnMenuEdit.Hidden = !buttonList.Contains(BLL.Const.BtnModify);
|
||||
btnMenuDelete.Hidden = !buttonList.Contains(BLL.Const.BtnDelete);
|
||||
btnExportTrust.Hidden = !buttonList.Contains(BLL.Const.BtnPrint);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,242 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.CLGL
|
||||
{
|
||||
|
||||
|
||||
public partial class AntiCorrosionTrust
|
||||
{
|
||||
|
||||
/// <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>
|
||||
/// Toolbar1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Toolbar Toolbar1;
|
||||
|
||||
/// <summary>
|
||||
/// txtTreeSearch 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtTreeSearch;
|
||||
|
||||
/// <summary>
|
||||
/// btnTreeFind 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnTreeFind;
|
||||
|
||||
/// <summary>
|
||||
/// tvControlItem 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Tree tvControlItem;
|
||||
|
||||
/// <summary>
|
||||
/// Panel2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Panel Panel2;
|
||||
|
||||
/// <summary>
|
||||
/// panelCenterRegion 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Panel panelCenterRegion;
|
||||
|
||||
/// <summary>
|
||||
/// Toolbar3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Toolbar Toolbar3;
|
||||
|
||||
/// <summary>
|
||||
/// txtTrustCode 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtTrustCode;
|
||||
|
||||
/// <summary>
|
||||
/// txtOutputMasterCode 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtOutputMasterCode;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarFill1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarFill ToolbarFill1;
|
||||
|
||||
/// <summary>
|
||||
/// btnSearch 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnSearch;
|
||||
|
||||
/// <summary>
|
||||
/// btnNew 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnNew;
|
||||
|
||||
/// <summary>
|
||||
/// btnPrint 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnPrint;
|
||||
|
||||
/// <summary>
|
||||
/// btnExportTrust 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnExportTrust;
|
||||
|
||||
/// <summary>
|
||||
/// Grid1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Grid Grid1;
|
||||
|
||||
/// <summary>
|
||||
/// lblNumber 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblNumber;
|
||||
|
||||
/// <summary>
|
||||
/// Window1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Window Window1;
|
||||
|
||||
/// <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;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,166 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AntiCorrosionTrustEdit.aspx.cs" Inherits="FineUIPro.Web.CLGL.AntiCorrosionTrustEdit" %>
|
||||
|
||||
<!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>
|
||||
<base target="_self" />
|
||||
<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" ShowBorder="false" ShowHeader="false" Layout="Region">
|
||||
<Items>
|
||||
<f:Panel runat="server" ID="panelCenterRegion" RegionPosition="Center" ShowBorder="true"
|
||||
Layout="VBox" ShowHeader="false" BodyPadding="5px" Title="防腐委托单" AutoScroll="true">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Left">
|
||||
<Items>
|
||||
<f:ToolbarFill ID="ToolbarFill1" runat="server">
|
||||
</f:ToolbarFill>
|
||||
<f:Button ID="btnSave" Text="保存" ToolTip="保存"
|
||||
Icon="SystemSave" ValidateForms="SimpleForm1" runat="server" OnClick="btnSave_Click">
|
||||
</f:Button>
|
||||
<f:Button ID="btnSubmit" Text="提交" ToolTip="提交"
|
||||
Icon="Accept" ValidateForms="SimpleForm1" runat="server" OnClick="btnSubmit_Click">
|
||||
</f:Button>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
<Items>
|
||||
<f:Form ID="SimpleForm1" ShowBorder="true" ShowHeader="false" AutoScroll="true" BodyPadding="10px"
|
||||
runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
|
||||
<Rows>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextBox ID="txtUnitWorkName" Label="单位工程名称" runat="server" Readonly="true"
|
||||
Required="true" ShowRedStar="true" LabelWidth="140px">
|
||||
</f:TextBox>
|
||||
<f:TextBox ID="txtConstructionPart" Label="施工部位" runat="server"
|
||||
Required="true" ShowRedStar="true" LabelWidth="120px">
|
||||
</f:TextBox>
|
||||
<f:TextBox ID="txtConstructionProfessional" Label="施工专业" runat="server"
|
||||
Required="true" ShowRedStar="true" LabelWidth="120px">
|
||||
</f:TextBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextBox ID="txtTrustCode" Label="委托单编号" runat="server" Readonly="true"
|
||||
Required="true" ShowRedStar="true" LabelWidth="140px">
|
||||
</f:TextBox>
|
||||
<f:DropDownList ID="drpOutputMaster" Label="出库单编号" runat="server"
|
||||
Required="true" ShowRedStar="true" AutoPostBack="true" OnSelectedIndexChanged="drpOutputMaster_SelectedIndexChanged"
|
||||
LabelWidth="120px">
|
||||
</f:DropDownList>
|
||||
<f:DatePicker ID="txtDemandDate" Label="需求时间" runat="server" LabelWidth="120px">
|
||||
</f:DatePicker>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:DatePicker ID="txtCompleteDate" Label="完成时间" runat="server" LabelWidth="140px">
|
||||
</f:DatePicker>
|
||||
<f:TextBox ID="txtRemark" Label="备注" runat="server" LabelWidth="120px">
|
||||
</f:TextBox>
|
||||
<f:Label ID="lblBlank" runat="server" Text="">
|
||||
</f:Label>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
</Rows>
|
||||
</f:Form>
|
||||
</Items>
|
||||
<Items>
|
||||
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="防腐委托单明细"
|
||||
EnableCollapse="true" runat="server" BoxFlex="1" DataKeyNames="Id"
|
||||
EnableColumnLines="true" AllowCellEditing="true" ClicksToEdit="1" DataIDField="Id"
|
||||
AllowSorting="false" AllowPaging="false" PageSize="10000" EnableTextSelection="True">
|
||||
<Columns>
|
||||
<f:RowNumberField EnablePagingNumber="true" HeaderText="序号" Width="60px" HeaderTextAlign="Center" TextAlign="Center" />
|
||||
<f:RenderField HeaderText="Id" ColumnID="Id" DataField="Id" FieldType="String" Hidden="true">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="材料主编码" ColumnID="MaterialCode" DataField="MaterialCode"
|
||||
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="160px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="材料编码" ColumnID="Code" DataField="Code"
|
||||
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="140px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="材料名称" ColumnID="MaterialName" DataField="MaterialName"
|
||||
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="130px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="规格型号" ColumnID="MaterialSpec" DataField="MaterialSpec"
|
||||
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="130px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="材料描述" ColumnID="MaterialDef" DataField="MaterialDef"
|
||||
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="300px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="单位" ColumnID="MaterialUnit" DataField="MaterialUnit"
|
||||
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="70px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="数量" ColumnID="Quantity" DataField="Quantity"
|
||||
FieldType="String" HeaderTextAlign="Center" TextAlign="Right" Width="90px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="涂漆代码" ColumnID="PaintCode" DataField="PaintCode"
|
||||
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="110px">
|
||||
<Editor>
|
||||
<f:DropDownList ID="drpPaintCodeEditor" runat="server">
|
||||
</f:DropDownList>
|
||||
</Editor>
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="底漆" ColumnID="Primer" DataField="Primer"
|
||||
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="190px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="中间漆" ColumnID="IntermediatePaint" DataField="IntermediatePaint"
|
||||
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="190px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="面漆" ColumnID="Topcoat" DataField="Topcoat"
|
||||
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="120px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="色标颜色" ColumnID="ColorCode" DataField="ColorCode"
|
||||
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
|
||||
</f:RenderField>
|
||||
<f:RenderField HeaderText="备注" ColumnID="Remark" DataField="Remark"
|
||||
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="180px">
|
||||
<Editor>
|
||||
<f:TextBox ID="txtDetailRemarkEditor" runat="server">
|
||||
</f:TextBox>
|
||||
</Editor>
|
||||
</f:RenderField>
|
||||
</Columns>
|
||||
<Listeners>
|
||||
<f:Listener Event="afteredit" Handler="onGridAfterEdit" />
|
||||
</Listeners>
|
||||
</f:Grid>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
</form>
|
||||
<script type="text/javascript">
|
||||
var grid1ClientID = '<%= Grid1.ClientID %>';
|
||||
var paintCodeDict = <%= PaintCodeJson %>;
|
||||
|
||||
function onGridAfterEdit(event, value, params) {
|
||||
if (params.columnId !== 'PaintCode') {
|
||||
return;
|
||||
}
|
||||
|
||||
var grid = F(grid1ClientID);
|
||||
var paint = null;
|
||||
for (var i = 0; i < paintCodeDict.length; i++) {
|
||||
if (paintCodeDict[i].PaintCode === value) {
|
||||
paint = paintCodeDict[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
grid.updateCellValue(params.rowId, 'Primer', paint ? paint.Primer : '');
|
||||
grid.updateCellValue(params.rowId, 'IntermediatePaint', paint ? paint.IntermediatePaint : '');
|
||||
grid.updateCellValue(params.rowId, 'Topcoat', paint ? paint.Topcoat : '');
|
||||
grid.updateCellValue(params.rowId, 'ColorCode', paint ? paint.ColorCode : '');
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,223 @@
|
||||
using BLL;
|
||||
using Model;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace FineUIPro.Web.CLGL
|
||||
{
|
||||
public partial class AntiCorrosionTrustEdit : PageBase
|
||||
{
|
||||
public string TrustId
|
||||
{
|
||||
get { return (string)ViewState["TrustId"]; }
|
||||
set { ViewState["TrustId"] = value; }
|
||||
}
|
||||
|
||||
public string UnitWorkId
|
||||
{
|
||||
get { return (string)ViewState["UnitWorkId"]; }
|
||||
set { ViewState["UnitWorkId"] = value; }
|
||||
}
|
||||
|
||||
public string PaintCodeJson
|
||||
{
|
||||
get
|
||||
{
|
||||
var list = TwAntiCorrosionTrustService.GetPaintCodeList();
|
||||
return JsonConvert.SerializeObject(list);
|
||||
}
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
TrustId = Request.Params["Id"];
|
||||
InitPaintCodeEditor();
|
||||
PageInfoLoad();
|
||||
}
|
||||
}
|
||||
|
||||
private void PageInfoLoad()
|
||||
{
|
||||
var trust = TwAntiCorrosionTrustService.GetById(TrustId);
|
||||
if (trust != null)
|
||||
{
|
||||
UnitWorkId = trust.UnitWorkId;
|
||||
txtUnitWorkName.Text = trust.UnitWorkName;
|
||||
txtConstructionPart.Text = trust.ConstructionPart;
|
||||
txtConstructionProfessional.Text = trust.ConstructionProfessional;
|
||||
txtTrustCode.Text = trust.TrustCode;
|
||||
txtDemandDate.Text = string.Format("{0:yyyy-MM-dd}", trust.DemandDate);
|
||||
txtCompleteDate.Text = string.Format("{0:yyyy-MM-dd}", trust.CompleteDate);
|
||||
txtRemark.Text = trust.Remark;
|
||||
InitOutputMasterDropDown(trust.OutputMasterId);
|
||||
BindGrid(TwAntiCorrosionTrustService.GetDetailList(TrustId));
|
||||
}
|
||||
else
|
||||
{
|
||||
UnitWorkId = Request.Params["UnitWorkId"];
|
||||
var unitWork = UnitWorkService.GetUnitWorkByUnitWorkId(UnitWorkId);
|
||||
if (unitWork != null)
|
||||
{
|
||||
txtUnitWorkName.Text = unitWork.UnitWorkName;
|
||||
}
|
||||
txtTrustCode.Text = TwAntiCorrosionTrustService.GenerateTrustCode(UnitWorkId);
|
||||
InitOutputMasterDropDown(null);
|
||||
BindGrid(new List<AntiCorrosionTrustDetailOutput>());
|
||||
}
|
||||
}
|
||||
|
||||
private void InitOutputMasterDropDown(string selectedOutputMasterId)
|
||||
{
|
||||
drpOutputMaster.DataTextField = "CusBillCode";
|
||||
drpOutputMaster.DataValueField = "Id";
|
||||
var list = TwAntiCorrosionTrustService.GetAvailableOutputMasters(this.CurrUser.LoginProjectId, UnitWorkId, TrustId);
|
||||
if (!string.IsNullOrEmpty(selectedOutputMasterId) && list.All(x => x.Id != selectedOutputMasterId))
|
||||
{
|
||||
var current = TwAntiCorrosionTrustService.GetOutputMasterById(selectedOutputMasterId);
|
||||
if (current != null)
|
||||
{
|
||||
list.Insert(0, current);
|
||||
}
|
||||
}
|
||||
drpOutputMaster.DataSource = list;
|
||||
drpOutputMaster.DataBind();
|
||||
Funs.FineUIPleaseSelect(drpOutputMaster);
|
||||
if (!string.IsNullOrEmpty(selectedOutputMasterId))
|
||||
{
|
||||
drpOutputMaster.SelectedValue = selectedOutputMasterId;
|
||||
}
|
||||
}
|
||||
|
||||
private void InitPaintCodeEditor()
|
||||
{
|
||||
drpPaintCodeEditor.DataTextField = "PaintCode";
|
||||
drpPaintCodeEditor.DataValueField = "PaintCode";
|
||||
drpPaintCodeEditor.DataSource = TwAntiCorrosionTrustService.GetPaintCodeList();
|
||||
drpPaintCodeEditor.DataBind();
|
||||
Funs.FineUIPleaseSelect(drpPaintCodeEditor);
|
||||
}
|
||||
|
||||
private void BindGrid(List<AntiCorrosionTrustDetailOutput> list)
|
||||
{
|
||||
Grid1.DataSource = list;
|
||||
Grid1.DataBind();
|
||||
}
|
||||
|
||||
protected void drpOutputMaster_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (drpOutputMaster.SelectedValue != Const._Null)
|
||||
{
|
||||
BindGrid(TwAntiCorrosionTrustService.GetDetailsByOutputMasterId(drpOutputMaster.SelectedValue));
|
||||
}
|
||||
else
|
||||
{
|
||||
BindGrid(new List<AntiCorrosionTrustDetailOutput>());
|
||||
}
|
||||
}
|
||||
|
||||
protected void btnSave_Click(object sender, EventArgs e)
|
||||
{
|
||||
var trust = SaveTrust();
|
||||
if (trust == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
TrustId = trust.Id;
|
||||
ShowNotify("保存成功!", MessageBoxIcon.Success);
|
||||
}
|
||||
|
||||
protected void btnSubmit_Click(object sender, EventArgs e)
|
||||
{
|
||||
var trust = SaveTrust();
|
||||
if (trust == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
TrustId = trust.Id;
|
||||
PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
|
||||
}
|
||||
|
||||
private AntiCorrosionTrustOutput SaveTrust()
|
||||
{
|
||||
if (!CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.PersonId, Const.Tw_AntiCorrosionTrustMenuId, Const.BtnSave))
|
||||
{
|
||||
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
|
||||
return null;
|
||||
}
|
||||
if (drpOutputMaster.SelectedValue == Const._Null)
|
||||
{
|
||||
ShowNotify("请选择出库单编号!", MessageBoxIcon.Warning);
|
||||
return null;
|
||||
}
|
||||
if (TwAntiCorrosionTrustService.IsExistTrustCode(txtTrustCode.Text.Trim(), TrustId, this.CurrUser.LoginProjectId))
|
||||
{
|
||||
ShowNotify("委托单编号已存在,请重新生成!", MessageBoxIcon.Warning);
|
||||
return null;
|
||||
}
|
||||
|
||||
var trust = new AntiCorrosionTrustOutput
|
||||
{
|
||||
Id = TrustId,
|
||||
ProjectId = this.CurrUser.LoginProjectId,
|
||||
UnitWorkId = UnitWorkId,
|
||||
ConstructionPart = txtConstructionPart.Text.Trim(),
|
||||
ConstructionProfessional = txtConstructionProfessional.Text.Trim(),
|
||||
TrustCode = txtTrustCode.Text.Trim(),
|
||||
OutputMasterId = drpOutputMaster.SelectedValue,
|
||||
DemandDate = Funs.GetNewDateTime(txtDemandDate.Text.Trim()),
|
||||
CompleteDate = Funs.GetNewDateTime(txtCompleteDate.Text.Trim()),
|
||||
CreateMan = this.CurrUser.PersonId,
|
||||
Remark = txtRemark.Text.Trim()
|
||||
};
|
||||
|
||||
var details = CollectGridDetailInfo();
|
||||
if (details.Count == 0)
|
||||
{
|
||||
ShowNotify("防腐委托单明细不能为空!", MessageBoxIcon.Warning);
|
||||
return null;
|
||||
}
|
||||
|
||||
TwAntiCorrosionTrustService.Save(trust, details);
|
||||
return trust;
|
||||
}
|
||||
|
||||
private List<AntiCorrosionTrustDetailOutput> CollectGridDetailInfo()
|
||||
{
|
||||
var result = new List<AntiCorrosionTrustDetailOutput>();
|
||||
int sortIndex = 0;
|
||||
JArray mergedData = Grid1.GetMergedData();
|
||||
foreach (JObject mergedRow in mergedData)
|
||||
{
|
||||
JObject values = mergedRow.Value<JObject>("values");
|
||||
sortIndex++;
|
||||
result.Add(new AntiCorrosionTrustDetailOutput
|
||||
{
|
||||
Id = values.Value<string>("Id"),
|
||||
SortIndex = sortIndex,
|
||||
MaterialCode = values.Value<string>("MaterialCode"),
|
||||
Quantity = GetDecimal(values.Value<string>("Quantity")),
|
||||
PaintCode = values.Value<string>("PaintCode"),
|
||||
Remark = values.Value<string>("Remark")
|
||||
});
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private decimal? GetDecimal(string value)
|
||||
{
|
||||
decimal result;
|
||||
if (decimal.TryParse(value, out result))
|
||||
{
|
||||
return result;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,206 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.CLGL
|
||||
{
|
||||
|
||||
|
||||
public partial class AntiCorrosionTrustEdit
|
||||
{
|
||||
|
||||
/// <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>
|
||||
/// panelCenterRegion 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Panel panelCenterRegion;
|
||||
|
||||
/// <summary>
|
||||
/// Toolbar2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Toolbar Toolbar2;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarFill1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarFill ToolbarFill1;
|
||||
|
||||
/// <summary>
|
||||
/// btnSave 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnSave;
|
||||
|
||||
/// <summary>
|
||||
/// btnSubmit 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnSubmit;
|
||||
|
||||
/// <summary>
|
||||
/// SimpleForm1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Form SimpleForm1;
|
||||
|
||||
/// <summary>
|
||||
/// txtUnitWorkName 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtUnitWorkName;
|
||||
|
||||
/// <summary>
|
||||
/// txtConstructionPart 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtConstructionPart;
|
||||
|
||||
/// <summary>
|
||||
/// txtConstructionProfessional 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtConstructionProfessional;
|
||||
|
||||
/// <summary>
|
||||
/// txtTrustCode 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtTrustCode;
|
||||
|
||||
/// <summary>
|
||||
/// drpOutputMaster 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpOutputMaster;
|
||||
|
||||
/// <summary>
|
||||
/// txtDemandDate 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtDemandDate;
|
||||
|
||||
/// <summary>
|
||||
/// txtCompleteDate 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtCompleteDate;
|
||||
|
||||
/// <summary>
|
||||
/// txtRemark 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtRemark;
|
||||
|
||||
/// <summary>
|
||||
/// lblBlank 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Label lblBlank;
|
||||
|
||||
/// <summary>
|
||||
/// Grid1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Grid Grid1;
|
||||
|
||||
/// <summary>
|
||||
/// drpPaintCodeEditor 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpPaintCodeEditor;
|
||||
|
||||
/// <summary>
|
||||
/// txtDetailRemarkEditor 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtDetailRemarkEditor;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user