2023-08-31

This commit is contained in:
2023-08-31 11:02:23 +08:00
parent 6ea5ca4ebe
commit 0fc844f107
24 changed files with 2260 additions and 238 deletions
@@ -197,7 +197,7 @@
<Items>
<f:Grid ID="Grid1" CssClass="blockpanel" ShowBorder="true" ShowHeader="false" Title="" EnableCollapse="false"
runat="server" DataKeyNames="ContractTrackProgressId" AllowCellEditing="true" ClicksToEdit="1" ForceFit="true"
EnableColumnLines="true" DataIDField="ContractTrackProgressId">
EnableColumnLines="true" DataIDField="ContractTrackProgressId" Hidden="True">
<Toolbars>
<f:Toolbar ID="Toolbar2" runat="server" Position="Top" ToolbarAlign="Left">
<Items>
@@ -211,6 +211,12 @@
</Toolbars>
<Columns>
<f:RowNumberField HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center" Width="60px"></f:RowNumberField>
<f:RenderField ColumnID="Date" DataField="Date" FieldType="String"
HeaderText="日期" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="TextBox1" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:GroupField HeaderText="BCWS" TextAlign="Center">
<Columns>
<f:RenderField ColumnID="BCWS_Quantity" DataField="BCWS_Quantity" FieldType="String"
@@ -41,7 +41,7 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
Id = Request.Params["Id"];
if (!string.IsNullOrEmpty(Id))
{
var model = PHTGL_ContractTrackService.GetPHTGL_ContractTrackById(Id);
var model = PhtglContractTrackService.GetPHTGL_ContractTrackById(Id);
if (model != null)
{
@@ -101,6 +101,7 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
defaultObj.Add("ACWP_Quantity", "");
defaultObj.Add("ACWP_OutputValue", "");
defaultObj.Add("ACWP_Percentage", "");
defaultObj.Add("Date", "");
// 在第一行新增一条数据
btnNew.OnClientClick = Grid1.GetAddNewRecordReference(defaultObj, true);
@@ -129,6 +130,7 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
model.ACWP_Quantity = objects["values"]["ACWP_Quantity"].ToString();
model.ACWP_OutputValue = objects["values"]["ACWP_OutputValue"].ToString();
model.ACWP_Percentage = objects["values"]["ACWP_Percentage"].ToString();
model.Date = objects["values"]["Date"].ToString();
BLL.PhtglContracttrackprogressService.AddPHTGL_ContractTrackProgress(model);
}
}
@@ -177,20 +179,20 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
table.EstimatedAmount = Funs.GetNewDecimalOrZero(txtEstimatedAmount.Text);
table.SettledQuantity = txtSettledQuantity.Text;
table.SettledAmount = Funs.GetNewDecimalOrZero(txtSettledAmount.Text);
table.ContractId = txtContractId.Text;
table.ProjectId = txtProjectId.Text;
table.ContractNum = DropContractCode.SelectedValue;
table.ProjectId = this.CurrUser.LoginProjectId;
if (string.IsNullOrEmpty(Id))
{
table.Id = SQLHelper.GetNewID(typeof(PHTGL_ContractTrack));
PHTGL_ContractTrackService.AddPHTGL_ContractTrack(table);
PhtglContractTrackService.AddPHTGL_ContractTrack(table);
}
else
{
table.Id = Id;
PHTGL_ContractTrackService.UpdatePHTGL_ContractTrack(table);
PhtglContractTrackService.UpdatePHTGL_ContractTrack(table);
}
SaveGrid1();
//SaveGrid1();
PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
}
@@ -338,6 +338,15 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
/// </remarks>
protected global::FineUIPro.Button btnDelete;
/// <summary>
/// TextBox1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox TextBox1;
/// <summary>
/// txtBCWS_Quantity 控件。
/// </summary>
@@ -80,7 +80,7 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
var fileName = rootPath + initPath + hdFileName.Text;
ResponeData responeData = new ResponeData();
responeData = PHTGL_ContractTrackService.ImportData(fileName, ContractId, this.CurrUser.LoginProjectId);
responeData = PhtglContractTrackService.ImportData(fileName, ContractId, this.CurrUser.LoginProjectId);
if (responeData.code == 1)
@@ -5,179 +5,394 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>合同执行跟踪表</title>
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
.f-grid-row.yellow
{
}
.f-grid-row.yellow {
background-color: YellowGreen;
background-image: none;
}
.f-grid-row.red
{
.f-grid-row.red {
background-color: Yellow;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false" AutoScroll="true"
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="合同执行跟踪表" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="Id" AllowCellEditing="true"
ClicksToEdit="2" DataIDField="Id" AllowSorting="true" SortField="Id"
SortDirection="DESC" OnSort="Grid1_Sort" EnableColumnLines="true"
AllowPaging="true" IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange"
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Right">
<Items>
<f:DropDownList ID="DropContractCode" runat="server" Label="施工分包合同编号" AutoPostBack="true" AutoSelectFirstItem="false" LabelAlign="Right" LabelWidth="140px" OnSelectedIndexChanged="DropMainContractCode_SelectedIndexChanged"></f:DropDownList>
<f:Label ID="txtContractName" runat="server" Label="合同名称" LabelAlign="Right" LabelWidth="140px"></f:Label>
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel3" runat="server" />
<f:Panel ID="Panel3" Margin="24px" runat="server" ShowBorder="false" ShowHeader="false" Layout="Region">
<Items>
<f:Panel runat="server" ID="panelCenterRegion" RegionPosition="Center" Layout="Fit"
Title="中间面板" ShowBorder="true" ShowHeader="false" BodyPadding="10px" IconFont="_RoundPlus">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="合同执行跟踪表" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="Id" AllowCellEditing="true"
ClicksToEdit="1" DataIDField="Id" AllowSorting="true" SortField="Id"
SortDirection="DESC" OnSort="Grid1_Sort" EnableColumnLines="true"
AllowPaging="False" IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange"
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" OnRowClick="Grid1_OnRowClick" EnableRowClickEvent="True">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Right">
<Items>
<f:DropDownList ID="DropContractCode" runat="server" Label="施工分包合同编号" AutoPostBack="true" AutoSelectFirstItem="True" LabelAlign="Right"
LabelWidth="140px" OnSelectedIndexChanged="DropMainContractCode_SelectedIndexChanged">
</f:DropDownList>
<f:Label ID="txtContractName" runat="server" Label="合同名称" LabelAlign="Right" LabelWidth="140px"></f:Label>
<f:ToolbarFill runat="server"/>
<f:Button ID="btnNew" ToolTip="新增" Text="新增" Hidden="true" Icon="Add" runat="server"
OnClick="btnNew_Click">
</f:Button>
<f:Button ID="btnImport" Text="导入" ToolTip="导入" Icon="PackageIn" runat="server" OnClick="btnImport_Click">
</f:Button>
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" Text="导出" ToolTip="导出" Icon="FolderUp"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfNumber" Width="50px" HeaderText="序号" HeaderTextAlign="Center"
TextAlign="Center">
<ItemTemplate>
<asp:Label ID="lblNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:ToolbarFill runat="server" />
<f:Button ID="btnNew" ToolTip="新增" Text="新增" Hidden="true" Icon="Add" runat="server"
OnClick="btnNew_Click">
</f:Button>
<f:RenderField Width="150px" ColumnID="MainItemCode" DataField="MainItemCode" SortField="MainItemCode"
FieldType="String" HeaderText="主项号" TextAlign="Left" HeaderTextAlign="Center" >
</f:RenderField>
<f:RenderField Width="150px" ColumnID="MainItemName" DataField="MainItemName" SortField="MainItemName"
FieldType="String" HeaderText="主项名称" TextAlign="Left" HeaderTextAlign="Center" >
</f:RenderField>
<f:RenderField Width="150px" ColumnID="MajorName" DataField="MajorName" SortField="MajorName"
FieldType="String" HeaderText="专业工程名称" TextAlign="Left" HeaderTextAlign="Center" >
</f:RenderField>
<f:RenderField Width="150px" ColumnID="MajorCode" DataField="MajorCode" SortField="MajorCode"
FieldType="String" HeaderText="专业代码" TextAlign="Left" HeaderTextAlign="Center" >
</f:RenderField>
<f:RenderField Width="150px" ColumnID="SubProject" DataField="SubProject" SortField="SubProject"
FieldType="String" HeaderText="分部工程" TextAlign="Left" HeaderTextAlign="Center" >
</f:RenderField>
<f:RenderField Width="150px" ColumnID="SubItemProject" DataField="SubItemProject" SortField="SubItemProject"
FieldType="String" HeaderText="分项工程" TextAlign="Left" HeaderTextAlign="Center" >
</f:RenderField>
<f:RenderField Width="150px" ColumnID="ProjectCode" DataField="ProjectCode" SortField="ProjectCode"
<f:Button ID="btnImport" Text="导入" ToolTip="导入" Icon="PackageIn" runat="server" OnClick="btnImport_Click">
</f:Button>
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" Text="导出" ToolTip="导出" Icon="FolderUp"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
<f:Button ID="btnSave" ToolTip="保存" Icon="PageSave" EnablePostBack="true" Text="保存" runat="server" OnClick="btnSave_OnClick">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfNumber" Width="50px" HeaderText="序号" HeaderTextAlign="Center"
TextAlign="Center">
<ItemTemplate>
<asp:Label ID="lblNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="150px" ColumnID="MainItemCode" DataField="MainItemCode" SortField="MainItemCode"
FieldType="String" HeaderText="主项号" TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="TextBox2" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="MainItemName" DataField="MainItemName" SortField="MainItemName"
FieldType="String" HeaderText="主项名称" TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="TextBox3" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="MajorName" DataField="MajorName" SortField="MajorName"
FieldType="String" HeaderText="专业工程名称" TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="TextBox4" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="MajorCode" DataField="MajorCode" SortField="MajorCode"
FieldType="String" HeaderText="专业代码" TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="TextBox5" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="SubProject" DataField="SubProject" SortField="SubProject"
FieldType="String" HeaderText="分部工程" TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="TextBox6" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="SubItemProject" DataField="SubItemProject" SortField="SubItemProject"
FieldType="String" HeaderText="分项工程" TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="TextBox7" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:WindowField ColumnID="ProjectCode" HeaderTextAlign="Center" TextAlign="Left"
Width="150px" WindowID="Window1" HeaderText="项目编码" DataTextField="ProjectCode"
DataIFrameUrlFields="Id" DataIFrameUrlFormatString="ContractTrackMatchWBS.aspx?ContractTrackId={0}"
Title="项目编码" DataToolTipField="ProjectCode" SortField="ProjectCode"
Locked="true">
</f:WindowField>
<%-- <f:RenderField Width="150px" ColumnID="ProjectCode" DataField="ProjectCode" SortField="ProjectCode"
FieldType="String" HeaderText="项目编码" TextAlign="Left" HeaderTextAlign="Center" >
</f:RenderField>
<f:RenderField Width="150px" ColumnID="ProjectName" DataField="ProjectName" SortField="ProjectName"
FieldType="String" HeaderText="项目名称" TextAlign="Left" HeaderTextAlign="Center" >
</f:RenderField>
<f:RenderField Width="150px" ColumnID="ProjectDescription" DataField="ProjectDescription" SortField="ProjectDescription"
FieldType="String" HeaderText="项目特征描述" TextAlign="Left" HeaderTextAlign="Center" >
</f:RenderField>
<f:RenderField Width="150px" ColumnID="UnitOfMeasurement" DataField="UnitOfMeasurement" SortField="UnitOfMeasurement"
FieldType="String" HeaderText="计量单位" TextAlign="Left" HeaderTextAlign="Center" >
</f:RenderField>
<f:RenderField Width="150px" ColumnID="Quantity" DataField="Quantity" SortField="Quantity"
FieldType="String" HeaderText="工程量" TextAlign="Left" HeaderTextAlign="Center" >
</f:RenderField>
<f:RenderField Width="150px" ColumnID="TotalCostFixedComprehensiveUnitPrice" DataField="TotalCostFixedComprehensiveUnitPrice" SortField="TotalCostFixedComprehensiveUnitPrice"
FieldType="String" HeaderText="全费用固定综合单价" TextAlign="Left" HeaderTextAlign="Center" >
</f:RenderField>
<f:RenderField Width="150px" ColumnID="MainMaterialCost" DataField="MainMaterialCost" SortField="MainMaterialCost"
FieldType="String" HeaderText="主材费" TextAlign="Left" HeaderTextAlign="Center" >
</f:RenderField>
<f:RenderField Width="150px" ColumnID="TotalPrice" DataField="TotalPrice" SortField="TotalPrice"
FieldType="String" HeaderText="合价/元" TextAlign="Left" HeaderTextAlign="Center" >
</f:RenderField>
<f:RenderField Width="150px" ColumnID="CalculationRule" DataField="CalculationRule" SortField="CalculationRule"
FieldType="String" HeaderText="计算规则" TextAlign="Left" HeaderTextAlign="Center" >
</f:RenderField>
<f:RenderField Width="150px" ColumnID="WorkContent" DataField="WorkContent" SortField="WorkContent"
FieldType="String" HeaderText="工作内容" TextAlign="Left" HeaderTextAlign="Center" >
</f:RenderField>
<f:RenderField Width="150px" ColumnID="Remarks" DataField="Remarks" SortField="Remarks"
FieldType="String" HeaderText="备注" TextAlign="Left" HeaderTextAlign="Center" >
</f:RenderField>
<f:RenderField Width="150px" ColumnID="ConstructionSubcontractor" DataField="ConstructionSubcontractor" SortField="ConstructionSubcontractor"
FieldType="String" HeaderText="施工分包商" TextAlign="Left" HeaderTextAlign="Center" >
</f:RenderField>
<f:RenderField Width="150px" ColumnID="ContractWeight" DataField="ContractWeight" SortField="ContractWeight"
FieldType="String" HeaderText="合同权重 " TextAlign="Left" HeaderTextAlign="Center" >
</f:RenderField>
<f:RenderField Width="150px" ColumnID="MaterialSupplier" DataField="MaterialSupplier" SortField="MaterialSupplier"
FieldType="String" HeaderText="主材供应方 " TextAlign="Left" HeaderTextAlign="Center" >
</f:RenderField>
<f:RenderField Width="150px" ColumnID="IsWithinGeneralContractScope" DataField="IsWithinGeneralContractScope" SortField="IsWithinGeneralContractScope"
FieldType="String" HeaderText="是否总包合同范围内" TextAlign="Left" HeaderTextAlign="Center" >
</f:RenderField>
<f:RenderField Width="150px" ColumnID="EstimatedQuantity" DataField="EstimatedQuantity" SortField="EstimatedQuantity"
FieldType="String" HeaderText="概算工程量" TextAlign="Left" HeaderTextAlign="Center" >
</f:RenderField>
<f:RenderField Width="150px" ColumnID="EstimatedAmount" DataField="EstimatedAmount" SortField="EstimatedAmount"
FieldType="String" HeaderText="概算金额" TextAlign="Left" HeaderTextAlign="Center" >
</f:RenderField>
<f:RenderField Width="150px" ColumnID="SettledQuantity" DataField="SettledQuantity" SortField="SettledQuantity"
FieldType="String" HeaderText="结算工程量" TextAlign="Left" HeaderTextAlign="Center" >
</f:RenderField>
<f:RenderField Width="150px" ColumnID="SettledAmount" DataField="SettledAmount" SortField="SettledAmount"
FieldType="String" HeaderText="结算金额 " TextAlign="Left" HeaderTextAlign="Center" >
</f:RenderField>
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
</Listeners>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
<f:ListItem Text="10" Value="10" />
<f:ListItem Text="15" Value="15" />
<f:ListItem Text="20" Value="20" />
<f:ListItem Text="25" Value="25" />
<f:ListItem Text="所有行" Value="100000" />
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
<f:Window ID="Window1" runat="server" Hidden="true" ShowHeader="true"
IsModal="true" Target="Parent" EnableMaximize="true" EnableResize="true" OnClose="Window1_Close"
Title="编辑PHTGL_ContractTrack" EnableIFrame="true" Height="650px"
Width="1200px">
</f:Window>
<f:Window ID="Window2" Title="弹出窗体" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Top" EnableResize="false" runat="server" OnClose="Window1_Close" IsModal="true"
Width="700px" Height="240px">
</f:RenderField>--%>
<f:RenderField Width="150px" ColumnID="ProjectName" DataField="ProjectName" SortField="ProjectName"
FieldType="String" HeaderText="项目名称" TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="TextBox8" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="ProjectDescription" DataField="ProjectDescription" SortField="ProjectDescription"
FieldType="String" HeaderText="项目特征描述" TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="TextBox9" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="UnitOfMeasurement" DataField="UnitOfMeasurement" SortField="UnitOfMeasurement"
FieldType="String" HeaderText="计量单位" TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="TextBox10" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="Quantity" DataField="Quantity" SortField="Quantity"
FieldType="String" HeaderText="工程量" TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="TextBox11" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="TotalCostFixedComprehensiveUnitPrice" DataField="TotalCostFixedComprehensiveUnitPrice" SortField="TotalCostFixedComprehensiveUnitPrice"
FieldType="String" HeaderText="全费用固定综合单价" TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="TextBox12" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="MainMaterialCost" DataField="MainMaterialCost" SortField="MainMaterialCost"
FieldType="String" HeaderText="主材费" TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="TextBox13" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="TotalPrice" DataField="TotalPrice" SortField="TotalPrice"
FieldType="String" HeaderText="合价/元" TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="TextBox14" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="CalculationRule" DataField="CalculationRule" SortField="CalculationRule"
FieldType="String" HeaderText="计算规则" TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="TextBox15" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="WorkContent" DataField="WorkContent" SortField="WorkContent"
FieldType="String" HeaderText="工作内容" TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="TextBox16" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="Remarks" DataField="Remarks" SortField="Remarks"
FieldType="String" HeaderText="备注" TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="TextBox17" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="ConstructionSubcontractor" DataField="ConstructionSubcontractor" SortField="ConstructionSubcontractor"
FieldType="String" HeaderText="施工分包商" TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="TextBox18" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="ContractWeight" DataField="ContractWeight" SortField="ContractWeight"
FieldType="String" HeaderText="合同权重 " TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="TextBox19" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="MaterialSupplier" DataField="MaterialSupplier" SortField="MaterialSupplier"
FieldType="String" HeaderText="主材供应方 " TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="TextBox20" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderCheckField Width="100px" ColumnID="IsWithinGeneralContractScope" DataField="IsWithinGeneralContractScope" HeaderText="是否总包合同范围内" />
<f:RenderField Width="150px" ColumnID="EstimatedQuantity" DataField="EstimatedQuantity" SortField="EstimatedQuantity"
FieldType="String" HeaderText="概算工程量" TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="TextBox22" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="EstimatedAmount" DataField="EstimatedAmount" SortField="EstimatedAmount"
FieldType="String" HeaderText="概算金额" TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:NumberBox ID="NumberBox2" runat="server" NoDecimal="false" NoNegative="false" DecimalPrecision="2" Increment="0.01">
</f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="SettledQuantity" DataField="SettledQuantity" SortField="SettledQuantity"
FieldType="String" HeaderText="结算工程量" TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="TextBox24" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="SettledAmount" DataField="SettledAmount" SortField="SettledAmount"
FieldType="String" HeaderText="结算金额 " TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:NumberBox ID="NumberBox3" runat="server" NoDecimal="false" NoNegative="false" DecimalPrecision="2" Increment="0.01">
</f:NumberBox>
</Editor>
</f:RenderField>
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
</Listeners>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
<f:ListItem Text="10" Value="10" />
<f:ListItem Text="15" Value="15" />
<f:ListItem Text="20" Value="20" />
<f:ListItem Text="25" Value="25" />
<f:ListItem Text="所有行" Value="100000" />
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
<f:Panel runat="server" ID="panelBottomRegion" RegionPosition="Bottom" RegionSplit="true" EnableCollapse="true" RegionPercent="40%"
Title="底部面板" ShowBorder="true" ShowHeader="false" BodyPadding="10px" IconFont="_PullDown" Layout="HBox">
<Items>
<f:Panel ID="Panel7" BoxFlex="1" runat="server" ShowBorder="true" ShowHeader="false" Layout="Fit">
<Items>
<f:Grid ID="Grid2" ShowBorder="true" ShowHeader="false" Title="WBS匹配表" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="Id" AllowCellEditing="true"
ClicksToEdit="1" DataIDField="Id" AllowSorting="true" SortField="Id"
SortDirection="DESC" OnSort="Grid1_Sort" EnableColumnLines="true"
IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange">
<Toolbars>
<f:Toolbar ID="Toolbar1" runat="server" Position="Top" ToolbarAlign="Left">
<Items>
<f:ToolbarFill ID="ToolbarFill2" runat="server"></f:ToolbarFill>
<f:Button ID="btnMatchWBS_New" ToolTip="增加" Icon="Add" EnablePostBack="false" runat="server">
</f:Button>
<f:Button ID="btnMatchWBS_Delete" ToolTip="删除" Icon="Delete" EnablePostBack="true" ConfirmText="是否删除?" runat="server" OnClick="btnMatchWBS_Delete_OnClick">
</f:Button>
<f:Button ID="btnMatchWBS_Save" ToolTip="保存" Icon="PageSave" EnablePostBack="true" runat="server" OnClick="btnMatchWBS_Save_OnClick">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RenderField Width="150px" ColumnID="ControlItemAndCycleCode" DataField="ControlItemAndCycleCode" SortField="ControlItemAndCycleCode"
FieldType="String" HeaderText="WBS编号" TextAlign="Left" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="ControlItemContent" DataField="ControlItemContent" SortField="ControlItemContent"
FieldType="String" HeaderText="工作包名称" TextAlign="Left" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="60px" ColumnID="Weights" DataField="Weights" SortField="Weights"
FieldType="String" HeaderText="权重" TextAlign="Left" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="WorkPackageEstimate" DataField="WorkPackageEstimate" FieldType="Double"
HeaderText="概算" HeaderTextAlign="Center">
<Editor>
<f:NumberBox ID="NumberBox1" runat="server" NoDecimal="false" NoNegative="false" DecimalPrecision="2" Increment="0.01">
</f:NumberBox>
</Editor>
</f:RenderField>
</Columns>
</f:Grid>
</Items>
</f:Panel>
<f:Panel ID="Panel8" BoxFlex="2" runat="server" ShowBorder="true" ShowHeader="false" Layout="Fit">
<Items>
<f:Grid ID="Grid3" CssClass="blockpanel" ShowBorder="true" ShowHeader="false" Title="" EnableCollapse="false"
runat="server" DataKeyNames="ContractTrackProgressId" AllowCellEditing="true" ClicksToEdit="1" ForceFit="true"
EnableColumnLines="true" DataIDField="ContractTrackProgressId">
<Toolbars>
<f:Toolbar ID="Toolbar3" runat="server" Position="Top" ToolbarAlign="Left">
<Items>
<f:ToolbarFill ID="ToolbarFill1" runat="server"></f:ToolbarFill>
<f:Button ID="btnProgress_New" ToolTip="增加" Icon="Add" EnablePostBack="false" runat="server" Hidden="True">
</f:Button>
<f:Button ID="btnProgress_Delete" ToolTip="删除" Icon="Delete" EnablePostBack="false" runat="server" Hidden="True">
</f:Button>
<f:Button ID="btnProgress_Save" ToolTip="保存" Icon="PageSave" EnablePostBack="true" runat="server" OnClick="btnProgress_Save_OnClick">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center" Width="60px"></f:RowNumberField>
<f:RenderField ColumnID="Date" DataField="Date" FieldType="String"
HeaderText="日期" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="TextBox1" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:GroupField HeaderText="BCWS" TextAlign="Center">
<Columns>
<f:RenderField ColumnID="BCWS_Quantity" DataField="BCWS_Quantity" FieldType="String"
HeaderText="工程量" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="txtBCWS_Quantity" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField ColumnID="BCWS_OutputValue" DataField="BCWS_OutputValue" FieldType="String"
HeaderText="产值" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="txtBCWS_OutputValue" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField ColumnID="BCWS_Percentage" DataField="BCWS_Percentage" FieldType="String"
HeaderText="百分比" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="txtBCWS_Percentage" runat="server" Required="true">
</f:TextBox>
</Editor>
</f:RenderField>
</Columns>
</f:GroupField>
<f:GroupField HeaderText="ACWP" TextAlign="Center">
<Columns>
<f:RenderField ColumnID="ACWP_Quantity" DataField="ACWP_Quantity" FieldType="String"
HeaderText="工程量" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="txtACWP_Quantity" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField ColumnID="ACWP_OutputValue" DataField="ACWP_OutputValue" FieldType="String"
HeaderText="产值" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="txtACWP_OutputValue" runat="server" Required="true"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField ColumnID="ACWP_Percentage" DataField="ACWP_Percentage" FieldType="String"
HeaderText="百分比" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="txtACWP_Percentage" runat="server" Required="true">
</f:TextBox>
</Editor>
</f:RenderField>
</Columns>
</f:GroupField>
</Columns>
</f:Grid>
</Items>
</f:Panel>
</Items>
</f:Panel>
</Items>
</f:Panel>
<f:Window ID="Window1" runat="server" Hidden="true" ShowHeader="true"
IsModal="true" Target="Parent" EnableMaximize="true" EnableResize="true" OnClose="Window1_Close"
Title="编辑PHTGL_ContractTrack" EnableIFrame="true" Height="650px"
Width="1200px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<f:MenuButton ID="btnMenuEdit" OnClick="btnEdit_Click" EnablePostBack="true"
Hidden="true" runat="server" Text="编辑" Icon="TableEdit" >
</f:MenuButton>
<f:MenuButton ID="btnMenuDelete" OnClick="btnDelete_Click" EnablePostBack="true" Icon="Delete"
Hidden="true" ConfirmText="删除选中行?" ConfirmTarget="Parent" runat="server" Text="删除">
</f:MenuButton>
</f:Menu>
<f:Window ID="Window2" Title="弹出窗体" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Top" EnableResize="false" runat="server" OnClose="Window1_Close" IsModal="true"
Width="700px" Height="240px">
</f:Window>
<f:Window ID="Window3" runat="server" Hidden="true" ShowHeader="true"
IsModal="true" Target="Parent" EnableMaximize="true" EnableResize="true" OnClose="Window3_OnClose"
Title="匹配WBS" EnableIFrame="true" Height="650px"
Width="1200px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<f:MenuButton ID="btnMenuEdit" OnClick="btnEdit_Click" EnablePostBack="true"
Hidden="true" runat="server" Text="编辑" Icon="TableEdit">
</f:MenuButton>
<f:MenuButton ID="btnMenuDelete" OnClick="btnDelete_Click" EnablePostBack="true" Icon="Delete"
Hidden="true" ConfirmText="删除选中行?" ConfirmTarget="Parent" runat="server" Text="删除">
</f:MenuButton>
</f:Menu>
</form>
<script type="text/javascript">
var menuID = '<%= Menu1.ClientID %>';
@@ -1,4 +1,6 @@
using BLL;
using Microsoft.Vbe.Interop;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -27,6 +29,7 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
this.DropContractCode.DataSource = BLL.PHTGL_ContractReviewService.GetContractReview_CompleteData(this.CurrUser.LoginProjectId);
this.DropContractCode.DataBind();
Funs.FineUIPleaseSelect(this.DropContractCode);
DropMainContractCode_SelectedIndexChanged(null,null);
this.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString();
// 绑定表格
this.BindGrid();
@@ -40,14 +43,62 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
/// </summary>
private void BindGrid()
{
Model.PHTGL_ContractTrack table = new Model.PHTGL_ContractTrack();
table.ProjectId=this.CurrUser.LoginProjectId;
table.ContractId= this.ContractId;
var tb = BLL.PHTGL_ContractTrackService.GetListData(table, Grid1);
Grid1.RecordCount = PHTGL_ContractTrackService.Count;
//tb = GetFilteredTable(Grid1.FilteredData, tb);
Grid1.DataSource = tb;
Grid1.DataBind();
if (!string.IsNullOrEmpty(ContractId))
{
Model.PHTGL_ContractTrack table = new Model.PHTGL_ContractTrack();
table.ProjectId = this.CurrUser.LoginProjectId;
table.ContractId = this.ContractId;
var tb = BLL.PhtglContractTrackService.GetListData(table, Grid1);
Grid1.RecordCount = PhtglContractTrackService.Count;
//tb = GetFilteredTable(Grid1.FilteredData, tb);
Grid1.DataSource = tb;
Grid1.DataBind();
}
else
{
Grid1.DataSource = null;
Grid1.DataBind();
}
}
private void BindGrid2()
{
var db = Funs.DB;
var q = from x in db.PHTGL_ContractTrackMatchWBS
join y in db.WBS_ControlItemAndCycle on x.ControlItemAndCycleId equals y.ControlItemAndCycleId
where x.ContractTrackId==Grid1.SelectedRowID
select new
{
x.Id,
x.ContractTrackId,
x.ControlItemAndCycleId,
y.ControlItemAndCycleCode,
y.ControlItemContent,
y.Weights,
x.WorkPackageEstimate
};
;
Grid2.RecordCount =q.Count();
Grid2.DataSource = q;
Grid2.DataBind();
string deleteScript = GetDeleteScript();
// 在第一行新增一条数据
btnMatchWBS_New.OnClientClick = Window1.GetShowReference(String.Format("ContractTrackMatchWBS.aspx?ContractTrackId={0}", Grid1.SelectedRowID, "增加 - "));
}
private string GetDeleteScript()
{
return Confirm.GetShowReference("确定删除当前数据吗?", String.Empty, MessageBoxIcon.Question, Grid1.GetDeleteSelectedRowsReference(), String.Empty);
}
private void BindGrid3()
{
Model.PHTGL_ContractTrackProgress table = new Model.PHTGL_ContractTrackProgress();
table.ContractTrackId = Grid1.SelectedRowID;
var tb = BLL.PhtglContracttrackprogressService.GetPHTGL_ContractTrackProgressByModle(table);
Grid3.RecordCount = PhtglContracttrackprogressService.Count;
Grid3.DataSource = tb;
Grid3.DataBind();
}
#endregion
@@ -105,7 +156,15 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
/// <param name="e"></param>
protected void btnNew_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ContractTrackEdit.aspx?Id={0}", string.Empty, "增加 - ")));
if (!string.IsNullOrEmpty(ContractId))
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ContractTrackEdit.aspx?Id={0}", string.Empty, "增加 - ")));
}
else
{
ShowNotify("请选择施工分包合同!",MessageBoxIcon.Information);
}
}
/// <summary>
@@ -121,13 +180,24 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
return;
}
string ID = Grid1.SelectedRowID;
var model = BLL.PHTGL_ContractTrackService.GetPHTGL_ContractTrackById(ID);
var model = BLL.PhtglContractTrackService.GetPHTGL_ContractTrackById(ID);
if (model != null) ///已上报时不能删除
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ContractTrackEdit.aspx?Id={0}", ID, "编辑 - ")));
}
}
/// <summary>
/// Grid行单击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_OnRowClick(object sender, GridRowClickEventArgs e)
{
BindGrid2();
BindGrid3();
}
/// <summary>
/// Grid行双击事件
/// </summary>
@@ -150,10 +220,10 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
var model = BLL.PHTGL_ContractTrackService.GetPHTGL_ContractTrackById(rowID);
var model = BLL.PhtglContractTrackService.GetPHTGL_ContractTrackById(rowID);
if (model != null)
{
BLL.PHTGL_ContractTrackService.DeletePHTGL_ContractTrackById(rowID);
BLL.PhtglContractTrackService.DeletePHTGL_ContractTrackById(rowID);
}
}
@@ -161,6 +231,146 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
}
}
protected void btnMatchWBS_Save_OnClick(object sender, EventArgs e)
{
SaveGrid2();
}
protected void btnMatchWBS_Delete_OnClick(object sender, EventArgs e)
{
if (Grid2.SelectedRowIndexArray.Length > 0)
{
foreach (int rowIndex in Grid2.SelectedRowIndexArray)
{
string rowID = Grid2.DataKeys[rowIndex][0].ToString();
var p = BLL.PhtglContracttrackmatchwbsService.GetPHTGL_ContractTrackMatchWBSById(rowID);
if (p != null)
{
PhtglContracttrackmatchwbsService.DeleteModelById(rowID);
}
}
BindGrid2();
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
}
}
protected void btnProgress_Save_OnClick(object sender, EventArgs e)
{
SaveGrid3();
}
private void SaveGrid2()
{
JArray EditorArr = Grid2.GetMergedData();
if (EditorArr.Count > 0)
{
for (int i = 0; i < EditorArr.Count; i++)
{
JObject objects = (JObject)EditorArr[i];
var Id = objects["id"].ToString();
var WorkPackageEstimate = Funs.GetNewDecimal(objects["values"]["WorkPackageEstimate"].ToString());
var model = PhtglContracttrackmatchwbsService.GetPHTGL_ContractTrackMatchWBSById(Id);
model.WorkPackageEstimate = WorkPackageEstimate;
PhtglContracttrackmatchwbsService.UpdatePHTGL_ContractTrackMatchWBS(model);
}
}
ShowNotify("保存成功", MessageBoxIcon.Success);
}
private void SaveGrid3()
{
PhtglContracttrackprogressService.DeleteModleByContractTrackId(Grid1.SelectedRowID);
JArray EditorArr = Grid3.GetMergedData();
if (EditorArr.Count > 0)
{
Model.PHTGL_ContractTrackProgress model = null;
for (int i = 0; i < EditorArr.Count; i++)
{
JObject objects = (JObject)EditorArr[i];
model = new Model.PHTGL_ContractTrackProgress();
model.ContractTrackProgressId = SQLHelper.GetNewID(typeof(Model.PHTGL_ContractTrackProgress));
model.ContractTrackId = Grid1.SelectedRowID;
model.BCWS_Quantity = objects["values"]["BCWS_Quantity"].ToString();
model.BCWS_OutputValue = objects["values"]["BCWS_OutputValue"].ToString();
model.BCWS_Percentage = objects["values"]["BCWS_Percentage"].ToString();
model.ACWP_Quantity = objects["values"]["ACWP_Quantity"].ToString();
model.ACWP_OutputValue = objects["values"]["ACWP_OutputValue"].ToString();
model.ACWP_Percentage = objects["values"]["ACWP_Percentage"].ToString();
model.Date = objects["values"]["Date"].ToString();
BLL.PhtglContracttrackprogressService.AddPHTGL_ContractTrackProgress(model);
}
}
ShowNotify("保存成功", MessageBoxIcon.Success);
}
protected void btnSave_OnClick(object sender, EventArgs e)
{
JArray EditorArr = Grid1.GetMergedData();
if (EditorArr.Count > 0)
{
for (int i = 0; i < EditorArr.Count; i++)
{
JObject objects = (JObject)EditorArr[i];
var Id = objects["id"].ToString();
var MainItemCode = objects["values"]["MainItemCode"].ToString();
var MainItemName = objects["values"]["MainItemName"].ToString();
var MajorName = objects["values"]["MajorName"].ToString();
var MajorCode = objects["values"]["MajorCode"].ToString();
//var ProjectCode = objects["values"]["ProjectCode"].ToString();
var ProjectName = objects["values"]["ProjectName"].ToString();
var ProjectDescription = objects["values"]["ProjectDescription"].ToString();
var UnitOfMeasurement = objects["values"]["UnitOfMeasurement"].ToString();
var Quantity = objects["values"]["Quantity"].ToString();
var TotalCostFixedComprehensiveUnitPrice = objects["values"]["TotalCostFixedComprehensiveUnitPrice"].ToString();
var MainMaterialCost = objects["values"]["MainMaterialCost"].ToString();
var TotalPrice = objects["values"]["TotalPrice"].ToString();
var CalculationRule = objects["values"]["CalculationRule"].ToString();
var WorkContent = objects["values"]["WorkContent"].ToString();
var Remarks = objects["values"]["Remarks"].ToString();
var ConstructionSubcontractor = objects["values"]["ConstructionSubcontractor"].ToString();
var ContractWeight = objects["values"]["ContractWeight"].ToString();
var MaterialSupplier = objects["values"]["MaterialSupplier"].ToString();
var IsWithinGeneralContractScope = objects["values"]["IsWithinGeneralContractScope"].ToString();
var EstimatedQuantity = objects["values"]["EstimatedQuantity"].ToString();
var EstimatedAmount = objects["values"]["EstimatedAmount"].ToString();
var SettledQuantity = objects["values"]["SettledQuantity"].ToString();
var SettledAmount = objects["values"]["SettledAmount"].ToString();
var model = PhtglContractTrackService.GetPHTGL_ContractTrackById(Id);
model.MainItemCode = MainItemCode;
model.MainItemName = MainItemName;
model.MajorName = MajorName;
model.MajorCode = MajorCode;
// model.ProjectCode = ProjectCode;
model.ProjectName = ProjectName;
model.ProjectDescription = ProjectDescription;
model.UnitOfMeasurement = UnitOfMeasurement;
model.Quantity = Quantity;
model.TotalCostFixedComprehensiveUnitPrice = TotalCostFixedComprehensiveUnitPrice;
model.MainMaterialCost = MainMaterialCost;
model.TotalPrice = TotalPrice;
model.CalculationRule = CalculationRule;
model.WorkContent = WorkContent;
model.Remarks = Remarks;
model.ConstructionSubcontractor = ConstructionSubcontractor;
model.ContractWeight = ContractWeight;
model.MaterialSupplier = MaterialSupplier;
model.IsWithinGeneralContractScope = bool.Parse(IsWithinGeneralContractScope);
model.EstimatedQuantity = EstimatedQuantity;
model.EstimatedAmount = Funs.GetNewDecimal(EstimatedAmount);
model.SettledQuantity = SettledQuantity;
model.SettledAmount = Funs.GetNewDecimal(SettledAmount);
PhtglContractTrackService.UpdatePHTGL_ContractTrack(model);
}
}
BindGrid();
}
#endregion
#region
@@ -280,7 +490,7 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
protected void btnImport_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(DropContractCode.SelectedValue))
if (!string.IsNullOrEmpty(ContractId))
{
var model = ContractService.GetContractByContractNum(DropContractCode.SelectedValue);
if (model != null)
@@ -293,7 +503,12 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
{
ShowNotify("请选择施工分包合同",MessageBoxIcon.Question);
}
}
protected void Window3_OnClose(object sender, WindowCloseEventArgs e)
{
BindGrid2();
}
}
}
@@ -33,13 +33,22 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// Panel3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
protected global::FineUIPro.Panel Panel3;
/// <summary>
/// panelCenterRegion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelCenterRegion;
/// <summary>
/// Grid1 控件。
@@ -104,6 +113,15 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
/// </remarks>
protected global::FineUIPro.Button btnOut;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// lblNumber 控件。
/// </summary>
@@ -113,6 +131,213 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblNumber;
/// <summary>
/// TextBox2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox TextBox2;
/// <summary>
/// TextBox3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox TextBox3;
/// <summary>
/// TextBox4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox TextBox4;
/// <summary>
/// TextBox5 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox TextBox5;
/// <summary>
/// TextBox6 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox TextBox6;
/// <summary>
/// TextBox7 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox TextBox7;
/// <summary>
/// TextBox8 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox TextBox8;
/// <summary>
/// TextBox9 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox TextBox9;
/// <summary>
/// TextBox10 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox TextBox10;
/// <summary>
/// TextBox11 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox TextBox11;
/// <summary>
/// TextBox12 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox TextBox12;
/// <summary>
/// TextBox13 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox TextBox13;
/// <summary>
/// TextBox14 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox TextBox14;
/// <summary>
/// TextBox15 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox TextBox15;
/// <summary>
/// TextBox16 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox TextBox16;
/// <summary>
/// TextBox17 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox TextBox17;
/// <summary>
/// TextBox18 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox TextBox18;
/// <summary>
/// TextBox19 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox TextBox19;
/// <summary>
/// TextBox20 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox TextBox20;
/// <summary>
/// TextBox22 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox TextBox22;
/// <summary>
/// NumberBox2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox NumberBox2;
/// <summary>
/// TextBox24 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox TextBox24;
/// <summary>
/// NumberBox3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox NumberBox3;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
@@ -140,6 +365,213 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
/// <summary>
/// panelBottomRegion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelBottomRegion;
/// <summary>
/// Panel7 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel7;
/// <summary>
/// Grid2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid2;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// ToolbarFill2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill2;
/// <summary>
/// btnMatchWBS_New 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnMatchWBS_New;
/// <summary>
/// btnMatchWBS_Delete 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnMatchWBS_Delete;
/// <summary>
/// btnMatchWBS_Save 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnMatchWBS_Save;
/// <summary>
/// NumberBox1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox NumberBox1;
/// <summary>
/// Panel8 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel8;
/// <summary>
/// Grid3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid3;
/// <summary>
/// Toolbar3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar3;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnProgress_New 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnProgress_New;
/// <summary>
/// btnProgress_Delete 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnProgress_Delete;
/// <summary>
/// btnProgress_Save 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnProgress_Save;
/// <summary>
/// TextBox1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox TextBox1;
/// <summary>
/// txtBCWS_Quantity 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtBCWS_Quantity;
/// <summary>
/// txtBCWS_OutputValue 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtBCWS_OutputValue;
/// <summary>
/// txtBCWS_Percentage 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtBCWS_Percentage;
/// <summary>
/// txtACWP_Quantity 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtACWP_Quantity;
/// <summary>
/// txtACWP_OutputValue 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtACWP_OutputValue;
/// <summary>
/// txtACWP_Percentage 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtACWP_Percentage;
/// <summary>
/// Window1 控件。
/// </summary>
@@ -158,6 +590,15 @@ namespace FineUIPro.Web.PHTGL.ContractCompile
/// </remarks>
protected global::FineUIPro.Window Window2;
/// <summary>
/// Window3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window3;
/// <summary>
/// Menu1 控件。
/// </summary>
@@ -0,0 +1,166 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ContractTrackMatchWBS.aspx.cs" Inherits="FineUIPro.Web.PHTGL.ContractCompile.ContractTrackMatchWBS" %>
<!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>项目施工WBS展示</title>
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
<style>
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
.f-grid-colheader-text {
white-space: normal;
word-break: break-all;
}
.f-grid-row.color3,
.f-grid-row.color3 .f-icon,
.f-grid-row.color3 a {
background-color: green;
color: #fff;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" CssClass="blockpanel" Margin="5px" runat="server" ShowBorder="false" ShowHeader="false" Layout="Region">
<Items>
<f:Panel runat="server" ID="panelLeftRegion" RegionPosition="Left" RegionSplit="true" EnableCollapse="true" Layout="Fit"
RegionPercent="20%" Title="项目WBS基础数据库" TitleToolTip="项目WBS基础数据库" ShowBorder="true" ShowHeader="true"
BodyPadding="10px">
<Items>
<f:Tree ID="trWBS" EnableCollapse="true" ShowHeader="true"
OnNodeCommand="trWBS_NodeCommand" OnNodeExpand="trWBS_NodeExpand" AutoLeafIdentification="true"
runat="server">
<Listeners>
<f:Listener Event="beforenodecontextmenu" Handler="onTreeNodeContextMenu" />
</Listeners>
</f:Tree>
<f:HiddenField runat="server" ID="hdSelectId">
</f:HiddenField>
</Items>
</f:Panel>
<f:Panel runat="server" ID="panelCenterRegion" RegionPosition="Center" Layout="Fit"
Title="中间面板" ShowBorder="true" ShowHeader="false" BodyPadding="10px">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Right">
<Items>
<f:ToolbarFill runat="server" />
<f:Button ID="btnAccept" ToolTip="确认" Text="确认" Icon="Accept" runat="server"
OnClick="btnAccept_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Items>
<f:Grid ID="Grid1" Width="870px" ShowBorder="true" ShowHeader="false" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="ControlItemAndCycleId,InitControlItemCode" AllowSorting="true" EnableColumnLines="true"
SortField="ControlItemAndCycleCode" SortDirection="ASC" AllowCellEditing="False" ClicksToEdit="1" ForceFit="true"
ShowSelectedCell="true" DataIDField="ControlItemAndCycleId" AllowPaging="true" IsDatabasePaging="true" EnableCheckBoxSelect="True"
PageSize="100" OnPageIndexChange="Grid1_PageIndexChange" AllowFilters="true" OnFilterChange="Grid1_FilterChange" OnRowDataBound="Grid1_OnRowDataBound">
<Columns>
<f:RenderField Width="70px" ColumnID="ControlItemContent" DataField="ControlItemContent" FieldType="String"
HeaderText="工作包" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="70px" ColumnID="ControlPoint" DataField="ControlPoint" FieldType="String"
HeaderText="控制点等级" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField HeaderText="控制点内容描述" ColumnID="ControlItemDef" DataField="ControlItemDef" SortField="ControlItemDef"
HeaderTextAlign="Center" TextAlign="Center" Width="300px" FieldType="String">
</f:RenderField>
<f:TemplateField ColumnID="HGForms" Width="170px" HeaderText="对应的化工资料表格" HeaderTextAlign="Center" TextAlign="Left">
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# ConvertText(Eval("HGForms")) %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:TemplateField ColumnID="SHForms" Width="170px" HeaderText="对应的石化资料表格" HeaderTextAlign="Center" TextAlign="Left">
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# ConvertText(Eval("SHForms")) %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:TemplateField ColumnID="Standard" Width="150px" HeaderText="质量验收规范" HeaderTextAlign="Center" TextAlign="Center">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# ConvertText(Eval("Standard")) %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField HeaderText="条款号" ColumnID="ClauseNo" DataField="ClauseNo" SortField="ClauseNo" Hidden="true"
HeaderTextAlign="Center" TextAlign="Center" Width="60px" FieldType="String">
</f:RenderField>
<f:RenderField HeaderText="检查次数" ColumnID="CheckNum" DataField="CheckNum"
SortField="CheckNum" HeaderTextAlign="Center" TextAlign="Center" Width="50px"
FieldType="String">
</f:RenderField>
<f:RenderField Width="20px" ColumnID="ControlItemAndCycleId" DataField="ControlItemAndCycleId" FieldType="String"
HeaderText="工作包Id" HeaderTextAlign="Center" TextAlign="Center" Hidden="true">
</f:RenderField>
</Columns>
<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="100" Value="100" />
<f:ListItem Text="500" Value="500" />
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
</Items>
</f:Panel>
<f:Menu ID="Menu1" runat="server">
<f:MenuButton ID="btnMenuMore" OnClick="btnMenuMore_Click" EnablePostBack="true" runat="server" Icon="ZoomIn"
Text="展开全部">
</f:MenuButton>
</f:Menu>
</form>
<script type="text/javascript">
var treeID = '<%= trWBS.ClientID %>';
var menuID = '<%= Menu1.ClientID %>';
// 保存当前菜单对应的树节点ID
var currentNodeId;
// 返回false,来阻止浏览器右键菜单
function onTreeNodeContextMenu(event, nodeId) {
currentNodeId = nodeId;
F(menuID).show();
return false;
}
// 设置所有菜单项的禁用状态
function setMenuItemsDisabled(disabled) {
var menu = F(menuID);
$.each(menu.items, function (index, item) {
item.setDisabled(disabled);
});
}
// 显示菜单后,检查是否禁用菜单项
function onMenuShow() {
if (currentNodeId) {
var tree = F(treeID);
var nodeData = tree.getNodeData(currentNodeId);
if (nodeData.leaf) {
setMenuItemsDisabled(true);
} else {
setMenuItemsDisabled(false);
}
}
}
// 返回false,来阻止浏览器右键菜单
function onRowContextMenu(event, rowId) {
F(menuID2).show(); //showAt(event.pageX, event.pageY);
return false;
}
</script>
</body>
</html>
@@ -0,0 +1,514 @@
using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.PHTGL.ContractCompile
{
public partial class ContractTrackMatchWBS : PageBase
{
public string ContractTrackId
{
get { return (string)ViewState["ContractTrackId"]; }
set { ViewState["ContractTrackId"] = value; }
}
#region
/// <summary>
/// 页面加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ContractTrackId = Request.Params["ContractTrackId"];
InitTreeMenu();
}
}
#endregion
#region
/// <summary>
/// 加载树
/// </summary>
private void InitTreeMenu()
{
this.trWBS.Nodes.Clear();
this.trWBS.ShowBorder = false;
this.trWBS.ShowHeader = false;
this.trWBS.EnableIcons = true;
this.trWBS.AutoScroll = true;
this.trWBS.EnableSingleClickExpand = true;
TreeNode rootNode1 = new TreeNode();
rootNode1.Text = "建筑工程";
rootNode1.NodeID = "1";
rootNode1.CommandName = "ProjectType";
rootNode1.EnableExpandEvent = true;
rootNode1.EnableClickEvent = true;
this.trWBS.Nodes.Add(rootNode1);
TreeNode emptyNode = new TreeNode();
emptyNode.Text = "";
emptyNode.NodeID = "";
rootNode1.Nodes.Add(emptyNode);
//this.GetNodes(rootNode1.Nodes, rootNode1.NodeID);
TreeNode rootNode2 = new TreeNode();
rootNode2.Text = "安装工程";
rootNode2.NodeID = "2";
rootNode2.CommandName = "ProjectType";
rootNode2.EnableExpandEvent = true;
rootNode2.EnableClickEvent = true;
this.trWBS.Nodes.Add(rootNode2);
rootNode2.Nodes.Add(emptyNode);
//this.GetNodes(rootNode2.Nodes, rootNode2.NodeID);
}
#region
/// <summary>
/// 遍历节点方法
/// </summary>
/// <param name="nodes">节点集合</param>
/// <param name="parentId">父节点</param>
private void GetNodes(TreeNodeCollection nodes, string parentId)
{
List<Model.WBS_WorkPackageProject> workPackages = new List<Model.WBS_WorkPackageProject>();
if (parentId.Length == 1) //工程类型节点
{
workPackages = (from x in Funs.DB.WBS_WorkPackageProject
where x.SuperWorkPack == null && x.ProjectId == this.CurrUser.LoginProjectId && x.ProjectType == parentId
orderby x.PackageCode ascending
select x).ToList();
}
else
{
workPackages = (from x in Funs.DB.WBS_WorkPackageProject
where x.SuperWorkPack == parentId && x.ProjectId == this.CurrUser.LoginProjectId
orderby x.PackageCode ascending
select x).ToList();
}
foreach (var q in workPackages)
{
TreeNode newNode = new TreeNode();
newNode.Text = q.PackageContent;
newNode.NodeID = q.WorkPackageCode;
newNode.CommandName = "WorkPackage";
newNode.EnableClickEvent = true;
nodes.Add(newNode);
}
for (int i = 0; i < nodes.Count; i++)
{
GetNodes(nodes[i].Nodes, nodes[i].NodeID);
}
}
#endregion
#endregion
#region
/// <summary>
/// 展开树
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void trWBS_NodeExpand(object sender, TreeNodeEventArgs e)
{
e.Node.Nodes.Clear();
if (e.Node.CommandName == "ProjectType") //展开工程类型
{
var trUnitWork = from x in Funs.DB.WBS_UnitWork
where x.ProjectId == this.CurrUser.LoginProjectId && x.SuperUnitWork == null && x.ProjectType == e.Node.NodeID
select x;
trUnitWork = trUnitWork.OrderBy(x => x.UnitWorkCode);
if (trUnitWork.Count() > 0)
{
foreach (var trUnitWorkItem in trUnitWork)
{
TreeNode newNode = new TreeNode();
newNode.Text = trUnitWorkItem.UnitWorkCode + "-" + trUnitWorkItem.UnitWorkName;
newNode.NodeID = trUnitWorkItem.UnitWorkId;
newNode.CommandName = "UnitWork";
newNode.EnableExpandEvent = true;
newNode.EnableClickEvent = true;
e.Node.Nodes.Add(newNode);
if (BLL.WorkPackageService.GetWorkPackages1ByUnitWorkId(trUnitWorkItem.UnitWorkId.ToString()) != null)
{
TreeNode temp = new TreeNode();
temp.Text = "temp";
temp.NodeID = "temp";
newNode.Nodes.Add(temp);
}
}
}
}
else if (e.Node.CommandName == "UnitWork") //展开单位工程节点
{
var workPackages = from x in Funs.DB.WBS_WorkPackage where x.UnitWorkId == e.NodeID && x.SuperWorkPack == null && x.IsApprove == true orderby x.WorkPackageCode select x;
foreach (var workPackage in workPackages)
{
TreeNode newNode = new TreeNode();
newNode.Text = workPackage.PackageContent;
newNode.NodeID = workPackage.WorkPackageId;
newNode.CommandName = "WorkPackage";
newNode.EnableExpandEvent = true;
newNode.EnableClickEvent = true;
e.Node.Nodes.Add(newNode);
var childWorkPackages = from x in Funs.DB.WBS_WorkPackage where x.SuperWorkPackageId == workPackage.WorkPackageId && x.IsApprove == true select x;
if (childWorkPackages.Count() > 0)
{
TreeNode emptyNode = new TreeNode();
emptyNode.Text = "";
emptyNode.NodeID = "";
newNode.Nodes.Add(emptyNode);
}
}
}
else if (e.Node.CommandName == "WorkPackage") //展开工作包节点
{
var workPackages = from x in Funs.DB.WBS_WorkPackage where x.SuperWorkPackageId == e.Node.NodeID && x.IsApprove == true orderby x.WorkPackageCode select x;
if (workPackages.Count() > 0) //存在子单位工程
{
foreach (var workPackage in workPackages)
{
TreeNode newNode = new TreeNode();
newNode.Text = workPackage.PackageContent;
newNode.NodeID = workPackage.WorkPackageId;
newNode.CommandName = "WorkPackage";
newNode.EnableExpandEvent = true;
newNode.EnableClickEvent = true;
e.Node.Nodes.Add(newNode);
var childWorkPackages = from x in Funs.DB.WBS_WorkPackage where x.SuperWorkPackageId == workPackage.WorkPackageId && x.IsApprove == true select x;
if (childWorkPackages.Count() > 0)
{
TreeNode emptyNode = new TreeNode();
emptyNode.Text = "";
emptyNode.NodeID = "";
newNode.Nodes.Add(emptyNode);
}
}
}
}
}
#endregion
/// <summary>
/// 发起设计交底(树节点)
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuAddTechnicalDisclose_Click(object sender, EventArgs e)
{
if (this.trWBS.SelectedNode != null)
{
if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.PersonId, BLL.Const.CQMSTechnicalDiscloseMenuId, BLL.Const.BtnAdd))
{
if (this.trWBS.SelectedNode.CommandName == "WorkPackage")
{
var childWorkPackages = from x in Funs.DB.WBS_WorkPackage where x.SuperWorkPackageId == this.trWBS.SelectedNodeID && x.IsApprove == true select x;
if (childWorkPackages.Count() == 0) //末级节点
{
var oldTechnicalDisclose = BLL.CQMS_TechnicalDiscloseService.GetTechnicalDiscloseByDataId(this.trWBS.SelectedNodeID);
if (oldTechnicalDisclose == null)
{
var unitWork = (from x in Funs.DB.WBS_UnitWork
join y in Funs.DB.WBS_WorkPackage on x.UnitWorkId equals y.UnitWorkId
where y.WorkPackageId == this.trWBS.SelectedNodeID
select x).FirstOrDefault();
Model.Technical_TechnicalDisclose technicalDisclose = new Model.Technical_TechnicalDisclose();
technicalDisclose.TechnicalDiscloseId = SQLHelper.GetNewID();
technicalDisclose.ProjectId = this.CurrUser.LoginProjectId;
if (unitWork != null)
{
technicalDisclose.UnitId = unitWork.UnitId;
technicalDisclose.UnitWorkId = unitWork.UnitWorkId;
}
technicalDisclose.DataId = this.trWBS.SelectedNodeID;
technicalDisclose.DiscloseName = this.trWBS.SelectedNode.Text;
technicalDisclose.State = "0"; //未交底
technicalDisclose.CompileMan = this.CurrUser.PersonId;
technicalDisclose.CompileDate = DateTime.Now;
BLL.CQMS_TechnicalDiscloseService.AddTechnicalDisclose(technicalDisclose);
ShowNotify("发起成功!", MessageBoxIcon.Success);
}
else
{
ShowNotify("该节点已发起设计交底!", MessageBoxIcon.Warning);
}
}
else
{
ShowNotify("请选择末级节点发起设计交底!", MessageBoxIcon.Warning);
}
}
else
{
ShowNotify("请选择末级节点发起设计交底!", MessageBoxIcon.Warning);
}
}
else
{
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
}
}
else
{
ShowNotify("请选择树节点!", MessageBoxIcon.Warning);
}
}
/// <summary>
/// 展开全部
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuMore_Click(object sender, EventArgs e)
{
if (this.trWBS.SelectedNode != null)
{
if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.PersonId, BLL.Const.ControlItemAndCycleMenuId, BLL.Const.BtnAdd))
{
if (this.trWBS.SelectedNode.CommandName != "ProjectType") //非工程类型节点可以增加
{
Model.WBS_UnitWork unitWork = BLL.UnitWorkService.GetUnitWorkByUnitWorkId(this.trWBS.SelectedNodeID);
if (unitWork != null) //单位工程节点
{
this.trWBS.SelectedNode.Expanded = true;
this.trWBS.SelectedNode.Nodes.Clear();
var workPackages = from x in Funs.DB.WBS_WorkPackage where x.UnitWorkId == this.trWBS.SelectedNodeID && x.SuperWorkPack == null && x.IsApprove == true orderby x.WorkPackageCode select x;
foreach (var workPackage in workPackages)
{
TreeNode newNode = new TreeNode();
newNode.Text = workPackage.PackageContent;
newNode.NodeID = workPackage.WorkPackageId;
newNode.CommandName = "WorkPackage";
newNode.EnableExpandEvent = true;
newNode.EnableClickEvent = true;
this.trWBS.SelectedNode.Nodes.Add(newNode);
var childWorkPackages = from x in Funs.DB.WBS_WorkPackage where x.SuperWorkPackageId == workPackage.WorkPackageId && x.IsApprove == true select x;
if (childWorkPackages.Count() > 0)
{
newNode.Expanded = true;
ExpandWorkPackage(newNode.Nodes, newNode.NodeID);
}
}
}
else
{
this.trWBS.SelectedNode.Expanded = true;
this.trWBS.SelectedNode.Nodes.Clear();
ExpandWorkPackage(this.trWBS.SelectedNode.Nodes, this.trWBS.SelectedNodeID);
}
}
else
{
ShowNotify("请选择单位工程节点展开!", MessageBoxIcon.Warning);
}
}
else
{
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
}
}
else
{
ShowNotify("请选择树节点!", MessageBoxIcon.Warning);
}
}
/// <summary>
/// 展开子级分部分项节点
/// </summary>
/// <param name="nodes"></param>
/// <param name="parentId"></param>
private void ExpandWorkPackage(TreeNodeCollection nodes, string parentId)
{
var workPackages = from x in Funs.DB.WBS_WorkPackage where x.SuperWorkPackageId == parentId && x.IsApprove == true orderby x.WorkPackageCode select x;
if (workPackages.Count() > 0) //存在子单位工程
{
foreach (var workPackage in workPackages)
{
TreeNode newNode = new TreeNode();
newNode.Text = workPackage.PackageContent;
newNode.NodeID = workPackage.WorkPackageId;
newNode.CommandName = "WorkPackage";
newNode.EnableExpandEvent = true;
newNode.EnableClickEvent = true;
nodes.Add(newNode);
var childWorkPackages = from x in Funs.DB.WBS_WorkPackage where x.SuperWorkPackageId == workPackage.WorkPackageId && x.IsApprove == true select x;
if (childWorkPackages.Count() > 0)
{
newNode.Expanded = true;
ExpandWorkPackage(newNode.Nodes, newNode.NodeID);
}
}
}
}
#region Tree点击事件
/// <summary>
/// Tree点击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void trWBS_NodeCommand(object sender, TreeCommandEventArgs e)
{
BindGrid();
}
#endregion
#region
/// <summary>
/// 绑定数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_FilterChange(object sender, EventArgs e)
{
BindGrid();
}
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
BindGrid();
}
/// <summary>
/// Grid1排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
Grid1.SortDirection = e.SortDirection;
Grid1.SortField = e.SortField;
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>
/// 加载Grid
/// </summary>
private void BindGrid()
{
string strSql = @"SELECT ControlItemAndCycleId,ControlItemAndCycleCode,InitControlItemCode,ControlItemContent,ControlPoint,ControlItemDef,HGForms,SHForms,Standard,ClauseNo,CheckNum"
+ @" FROM WBS_ControlItemAndCycle ";
List<SqlParameter> listStr = new List<SqlParameter>();
strSql += " where WorkPackageId = @WorkPackageId and IsApprove=1 ";
listStr.Add(new SqlParameter("@WorkPackageId", this.trWBS.SelectedNodeID));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
Model.WBS_WorkPackage workPackage = BLL.WorkPackageService.GetWorkPackageByWorkPackageId(this.trWBS.SelectedNodeID);
if (workPackage != null)
{
if (workPackage.ProjectType == "1") //建筑工程
{
this.Grid1.Columns[4].HeaderText = "对应的建筑资料表格";
this.Grid1.Columns[5].Hidden = true;
}
else //安装工程
{
this.Grid1.Columns[4].HeaderText = "对应的化工资料表格";
this.Grid1.Columns[5].Hidden = false;
}
}
}
#endregion
//<summary>
//获取文本
//</summary>
//<param name="state"></param>
//<returns></returns>
public static string ConvertText(object Str)
{
string s = string.Empty;
if (Str != null)
{
string[] strs = Str.ToString().Split(',');
foreach (var item in strs)
{
s += item + "<br/>";
}
if (!string.IsNullOrEmpty(s))
{
s = s.Substring(0, s.Length - 5);
}
}
return s;
}
protected void btnAccept_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIDArray.Length>0)
{
var Ids=Grid1.SelectedRowIDArray;
foreach (var item in Ids)
{
var querymodel = new Model.PHTGL_ContractTrackMatchWBS
{
ContractTrackId = ContractTrackId,
ControlItemAndCycleId = item,
};
var queryResult =
PhtglContracttrackmatchwbsService.GetPHTGL_ContractTrackMatchWBSByModle(querymodel);
if (!queryResult.Any())
{
var newtable = new Model.PHTGL_ContractTrackMatchWBS
{
Id = SQLHelper.GetNewID(typeof(Model.PHTGL_ContractTrackMatchWBS)),
ContractTrackId = ContractTrackId,
ControlItemAndCycleId = item,
};
BLL.PhtglContracttrackmatchwbsService.AddPHTGL_ContractTrackMatchWBS(newtable);
}
}
ShowNotify("添加成功", MessageBoxIcon.Success);
BindGrid();
}
else
{
ShowNotify("请选择需要添加的数据",MessageBoxIcon.Information);
}
}
protected void Grid1_OnRowDataBound(object sender, GridRowEventArgs e)
{
var querymodel = new Model.PHTGL_ContractTrackMatchWBS
{
ContractTrackId = ContractTrackId,
ControlItemAndCycleId = e.RowID,
};
var queryResult =
PhtglContracttrackmatchwbsService.GetPHTGL_ContractTrackMatchWBSByModle(querymodel);
if (queryResult.Any())
{
e.RowCssClass = "color3";
}
}
}
}
@@ -0,0 +1,179 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.PHTGL.ContractCompile
{
public partial class ContractTrackMatchWBS
{
/// <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>
/// trWBS 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tree trWBS;
/// <summary>
/// hdSelectId 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hdSelectId;
/// <summary>
/// panelCenterRegion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelCenterRegion;
/// <summary>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// btnAccept 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnAccept;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Label3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label3;
/// <summary>
/// Label2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label2;
/// <summary>
/// Label1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label1;
/// <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>
/// Menu1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuMore 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuMore;
}
}