集团主数据在建项目使用情况
This commit is contained in:
@@ -1166,6 +1166,8 @@
|
||||
<Content Include="indexold.aspx" />
|
||||
<Content Include="indexProjectOld.aspx" />
|
||||
<Content Include="ProjectData\LocationSelect.aspx" />
|
||||
<Content Include="ProjectData\MasterProjectData.aspx" />
|
||||
<Content Include="ProjectData\MasterProjectDataUsage.aspx" />
|
||||
<Content Include="ProjectData\ProjectDevices.aspx" />
|
||||
<Content Include="ProjectData\ProjectDevicesEdit.aspx" />
|
||||
<Content Include="QualityAudit\SubcontractLeasingProtocolAttachUrl\2024-11\638666775877584960_微信图片_20241106163356.png" />
|
||||
@@ -12667,6 +12669,10 @@
|
||||
<Compile Include="ProjectData\LocationSelect.aspx.designer.cs">
|
||||
<DependentUpon>LocationSelect.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ProjectData\MasterProjectData.aspx.cs" />
|
||||
<Compile Include="ProjectData\MasterProjectData.aspx.designer.cs" />
|
||||
<Compile Include="ProjectData\MasterProjectDataUsage.aspx.cs" />
|
||||
<Compile Include="ProjectData\MasterProjectDataUsage.aspx.designer.cs" />
|
||||
<Compile Include="ProjectData\ProjectDevices.aspx.cs">
|
||||
<DependentUpon>ProjectDevices.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
|
||||
@@ -0,0 +1,266 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MasterProjectData.aspx.cs" Inherits="FineUIPro.Web.ProjectData.MasterProjectData" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head runat="server">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>集团在建项目清单</title>
|
||||
<link href="../res/css/common.css" rel="stylesheet" type="text/css" />
|
||||
<style type="text/css">
|
||||
.f-grid-row .f-grid-cell-inner {
|
||||
white-space: normal;
|
||||
word-break: break-all;
|
||||
}
|
||||
/* 增强合计行样式 - 使用多种选择器确保生效 */
|
||||
.f-grid-row-summary .f-grid-cell,
|
||||
.f-grid-summary-row .f-grid-cell-inner {
|
||||
font-weight: bold !important;
|
||||
color: red !important;
|
||||
}
|
||||
|
||||
.Pause {
|
||||
/*background-color: darkgray;*/
|
||||
background-color: red;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
|
||||
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
|
||||
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
|
||||
<Items>
|
||||
<f:TabStrip ID="TabStrip1" ShowBorder="true" TabPosition="Top"
|
||||
EnableTabCloseMenu="false" ActiveTabIndex="0" runat="server" OnTabIndexChanged="TabStrip1_TabIndexChanged" AutoPostBack="true">
|
||||
<Tabs>
|
||||
<f:Tab Title="企业主数据与QHSE系统项目建立一览表" BodyPadding="10px" runat="server">
|
||||
<Items>
|
||||
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="集团在建项目清单" Height="720px"
|
||||
EnableCollapse="true" runat="server" BoxFlex="1" EnableColumnLines="true" EnableSummary="true" SummaryPosition="Bottom"
|
||||
DataKeyNames="Pid" DataIDField="Pid" AllowSorting="true" SortField="Relate,Start_date DESC,StartDate" SortDirection="DESC"
|
||||
OnSort="Grid1_Sort" AllowPaging="false" IsDatabasePaging="false" PageSize="1000000" OnPageIndexChange="Grid1_PageIndexChange"
|
||||
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" EnableTextSelection="True">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Left">
|
||||
<Items>
|
||||
<f:TextBox runat="server" Label="主数据编号" ID="txtProCode" EmptyText="输入主数据项目编号"
|
||||
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="260px" LabelWidth="100px" LabelAlign="Right">
|
||||
</f:TextBox>
|
||||
<f:TextBox runat="server" Label="主数据名称" ID="txtProName" EmptyText="输入主数据项目名称"
|
||||
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="260px" LabelWidth="100px">
|
||||
</f:TextBox>
|
||||
<f:DatePicker runat="server" Label="主数据开工日期" ID="txtStartTime" EmptyText="开始日期" LabelAlign="Right" LabelWidth="120px" Width="220px" AutoPostBack="true" OnTextChanged="TextBox_TextChanged">
|
||||
</f:DatePicker>
|
||||
<f:Label ID="Label5" runat="server" Text="至">
|
||||
</f:Label>
|
||||
<f:DatePicker runat="server" ID="txtEndTime" LabelAlign="Right" EmptyText="结束日期" Width="110px" AutoPostBack="true" OnTextChanged="TextBox_TextChanged">
|
||||
</f:DatePicker>
|
||||
<f:RadioButtonList runat="server" ID="rblIsRelate" AutoPostBack="true" Label="关联" LabelWidth="60px" LabelAlign="Right"
|
||||
OnSelectedIndexChanged="TextBox_TextChanged" Width="350px">
|
||||
<f:RadioItem Text="全部" Value="0" Selected="true" />
|
||||
<f:RadioItem Text="已关联" Value="1" />
|
||||
<f:RadioItem Text="未关联" Value="2" />
|
||||
<f:RadioItem Text="未对应" Value="3" />
|
||||
</f:RadioButtonList>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
|
||||
<Items>
|
||||
<f:TextBox runat="server" Label="项目编号" ID="txtProjectCode" EmptyText="输入QHSE项目编号"
|
||||
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="260px" LabelWidth="90px" LabelAlign="Right">
|
||||
</f:TextBox>
|
||||
<f:TextBox runat="server" Label="项目名称" ID="txtProjectName" EmptyText="输入QHSE项目名称"
|
||||
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="260px" LabelWidth="90px">
|
||||
</f:TextBox>
|
||||
<f:ToolbarFill runat="server"></f:ToolbarFill>
|
||||
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" ToolTip="导出" Icon="FolderUp"
|
||||
EnableAjax="false" DisableControlBeforePostBack="false">
|
||||
</f:Button>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
<Columns>
|
||||
<f:TemplateField ColumnID="tfNumber" Width="55px" 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:GroupField ColumnID="GroupField1" runat="server" HeaderText="集团主数据" HeaderTextAlign="Center">
|
||||
<Columns>
|
||||
<f:RenderField Width="260px" ColumnID="Pro_name" DataField="Pro_name"
|
||||
FieldType="String" HeaderText="项目名称" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="160px" ColumnID="Pro_code" DataField="Pro_code"
|
||||
FieldType="String" HeaderText="项目编号" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="180px" ColumnID="Org_name" DataField="Org_name"
|
||||
FieldType="String" HeaderText="所属单位" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="160px" ColumnID="Con_mode_desc" DataField="Con_mode_desc"
|
||||
FieldType="String" HeaderText="承包方式" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="Pro_nature" DataField="Pro_nature"
|
||||
FieldType="String" HeaderText="性质" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="110px" ColumnID="Start_date" DataField="Start_date" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="开工时间" TextAlign="Center" HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="140px" ColumnID="Amount" DataField="Amount"
|
||||
FieldType="String" HeaderText="合同额/规模(亿)" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="Pro_status" DataField="Pro_status"
|
||||
FieldType="String" HeaderText="状态" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
</Columns>
|
||||
</f:GroupField>
|
||||
<f:GroupField ColumnID="GroupField2" runat="server" HeaderText="QHSE系统" HeaderTextAlign="Center">
|
||||
<Columns>
|
||||
<f:RenderField Width="260px" ColumnID="ProjectName" DataField="ProjectName"
|
||||
FieldType="String" HeaderText="项目名称" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="160px" ColumnID="ProjectCode" DataField="ProjectCode"
|
||||
FieldType="String" HeaderText="项目编号" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="110px" ColumnID="StartDate" DataField="StartDate" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="开工时间" TextAlign="Center" HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:TemplateField ColumnID="tfState" Width="110px" HeaderText="状态" HeaderTextAlign="Center" TextAlign="Center"
|
||||
EnableLock="true" Locked="False">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblState" runat="server" Text='<%# ConvertProjectState(Eval("ProjectState")) %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
</Columns>
|
||||
</f:GroupField>
|
||||
<f:GroupField ColumnID="GroupField3" runat="server" HeaderText="项目关联使用主数据情况及说明" HeaderTextAlign="Center">
|
||||
<Columns>
|
||||
<f:RenderField Width="120px" ColumnID="RelateName" DataField="RelateName"
|
||||
FieldType="String" HeaderText="是否关联使用" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
<%--<f:RenderField Width="120px" ColumnID="Use" DataField="Use"
|
||||
FieldType="String" HeaderText="是否使用系统" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>--%>
|
||||
<f:RenderField Width="160px" ColumnID="ReasonType" DataField="ReasonType"
|
||||
FieldType="String" HeaderText="原因类型" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="360px" ColumnID="Reason" DataField="Reason"
|
||||
FieldType="String" HeaderText="未关联原因情况说明" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
<%--<f:RenderField Width="200px" ColumnID="Reason" DataField="Reason"
|
||||
FieldType="String" HeaderText="原因说明" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="200px" ColumnID="Situation" DataField="Situation"
|
||||
FieldType="String" HeaderText="其他情况" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>--%>
|
||||
</Columns>
|
||||
</f:GroupField>
|
||||
</Columns>
|
||||
<Listeners>
|
||||
<f:Listener Event="dataload" Handler="onGridDataLoad" />
|
||||
</Listeners>
|
||||
<PageItems>
|
||||
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
|
||||
</f:ToolbarSeparator>
|
||||
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
|
||||
</f:ToolbarText>
|
||||
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
|
||||
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
|
||||
</f:DropDownList>
|
||||
</PageItems>
|
||||
</f:Grid>
|
||||
</Items>
|
||||
</f:Tab>
|
||||
<f:Tab Title="企业QHSE项目使用情况一览表" BodyPadding="10px" runat="server">
|
||||
<Items>
|
||||
<f:Grid ID="Grid2" ShowBorder="true" ShowHeader="false" Title="QHSE在建项目清单" Height="720px"
|
||||
EnableCollapse="true" runat="server" BoxFlex="1" EnableColumnLines="true" EnableSummary="true" SummaryPosition="Bottom"
|
||||
DataKeyNames="ProjectId" DataIDField="ProjectId" AllowSorting="true" SortField="Usage,StartDate" SortDirection="DESC"
|
||||
OnSort="Grid2_Sort" AllowPaging="false" IsDatabasePaging="false" PageSize="1000000" OnPageIndexChange="Grid2_PageIndexChange"
|
||||
EnableTextSelection="True">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar3" Position="Top" runat="server" ToolbarAlign="Left">
|
||||
<Items>
|
||||
<f:TextBox runat="server" Label="项目编号" ID="txtProjectCode2" EmptyText="输入QHSE项目编号"
|
||||
AutoPostBack="true" OnTextChanged="TextBox_TextChanged2" Width="260px" LabelWidth="90px" LabelAlign="Right">
|
||||
</f:TextBox>
|
||||
<f:TextBox runat="server" Label="项目名称" ID="txtProjectName2" EmptyText="输入QHSE项目名称"
|
||||
AutoPostBack="true" OnTextChanged="TextBox_TextChanged2" Width="260px" LabelWidth="90px">
|
||||
</f:TextBox>
|
||||
<f:DatePicker runat="server" Label="开工日期" ID="txtStartTime2" EmptyText="开始日期" LabelAlign="Right" LabelWidth="120px" Width="220px" AutoPostBack="true" OnTextChanged="TextBox_TextChanged2">
|
||||
</f:DatePicker>
|
||||
<f:Label ID="Label1" runat="server" Text="至">
|
||||
</f:Label>
|
||||
<f:DatePicker runat="server" ID="txtEndTime2" LabelAlign="Right" EmptyText="结束日期" Width="110px" AutoPostBack="true" OnTextChanged="TextBox_TextChanged2">
|
||||
</f:DatePicker>
|
||||
<f:ToolbarFill runat="server"></f:ToolbarFill>
|
||||
<f:Button ID="btnOut2" OnClick="btnOut_Click2" runat="server" ToolTip="导出" Icon="FolderUp"
|
||||
EnableAjax="false" DisableControlBeforePostBack="false">
|
||||
</f:Button>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
<Columns>
|
||||
<f:TemplateField ColumnID="tfPageIndex" Width="55px" HeaderText="序号" HeaderTextAlign="Center"
|
||||
TextAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblPageIndex" runat="server" Text='<%# Grid2.PageIndex * Grid2.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
<f:RenderField Width="160px" ColumnID="ProjectCode" DataField="ProjectCode"
|
||||
FieldType="String" HeaderText="项目编号" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="260px" ColumnID="ProjectName" DataField="ProjectName"
|
||||
FieldType="String" HeaderText="项目名称" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="260px" ColumnID="ShortName" DataField="ShortName"
|
||||
FieldType="String" HeaderText="项目简称" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="110px" ColumnID="StartDate" DataField="StartDate" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="开工时间" TextAlign="Center" HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="110px" ColumnID="EndDate" DataField="EndDate" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="完工时间" TextAlign="Center" HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:TemplateField ColumnID="tfStatus" Width="110px" HeaderText="状态" HeaderTextAlign="Center" TextAlign="Center"
|
||||
EnableLock="true" Locked="False">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblStatus" runat="server" Text='<%# ConvertProjectState(Eval("ProjectState")) %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
<f:RenderField Width="120px" ColumnID="Usage" DataField="Usage"
|
||||
FieldType="String" HeaderText="使用情况" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
</Columns>
|
||||
<Listeners>
|
||||
<f:Listener Event="dataload" Handler="onGridDataLoad" />
|
||||
</Listeners>
|
||||
<PageItems>
|
||||
<f:ToolbarSeparator ID="ToolbarSeparator2" runat="server">
|
||||
</f:ToolbarSeparator>
|
||||
<f:ToolbarText ID="ToolbarText2" runat="server" Text="每页记录数:">
|
||||
</f:ToolbarText>
|
||||
<f:DropDownList runat="server" ID="ddlPageSize2" Width="80px" AutoPostBack="true"
|
||||
OnSelectedIndexChanged="ddlPageSize2_SelectedIndexChanged">
|
||||
</f:DropDownList>
|
||||
</PageItems>
|
||||
</f:Grid>
|
||||
</Items>
|
||||
</f:Tab>
|
||||
</Tabs>
|
||||
</f:TabStrip>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
<f:Window ID="Window1" Title="集团主数据在建项目使用情况说明" Hidden="true" EnableIFrame="true" EnableMaximize="true"
|
||||
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="1080px" Height="720px" OnClose="Window1_Close">
|
||||
</f:Window>
|
||||
</form>
|
||||
<script type="text/javascript">
|
||||
function reloadGrid() {
|
||||
__doPostBack(null, 'reloadGrid');
|
||||
}
|
||||
|
||||
function onGridDataLoad(event) {
|
||||
this.mergeColumns(['Pro_name', 'Pro_code', 'Start_date', 'Pro_status'], {
|
||||
depends: true
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,554 @@
|
||||
using BLL;
|
||||
using FineUIPro.Web.BaseInfo;
|
||||
using FineUIPro.Web.DataShow;
|
||||
using Model;
|
||||
using Model.Customization;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Linq;
|
||||
using AspNet = System.Web.UI.WebControls;
|
||||
|
||||
namespace FineUIPro.Web.ProjectData
|
||||
{
|
||||
public partial class MasterProjectData : PageBase
|
||||
{
|
||||
#region 加载
|
||||
/// <summary>
|
||||
/// 加载页面
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
Funs.DropDownPageSize(this.ddlPageSize);
|
||||
this.ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
|
||||
//// 绑定表格
|
||||
//this.BindGrid();
|
||||
TabStrip1_TabIndexChanged(null, null);
|
||||
}
|
||||
}
|
||||
|
||||
protected void TabStrip1_TabIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (TabStrip1.ActiveTabIndex == 0)
|
||||
{
|
||||
this.Panel1.Title = "企业主数据与QHSE系统项目建立一览表";
|
||||
this.BindGrid();
|
||||
}
|
||||
else
|
||||
{
|
||||
this.Panel1.Title = "企业QHSE项目使用情况一览表";
|
||||
this.BindGrid2();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 集团在建项目使用情况
|
||||
|
||||
|
||||
#region 绑定数据
|
||||
/// <summary>
|
||||
/// 绑定数据
|
||||
/// </summary>
|
||||
private void BindGrid()
|
||||
{
|
||||
var list = new List<MasterProjectDataInfo>();
|
||||
var db = Funs.DB;
|
||||
var masterProDatas = ProjectService.GetMasterProjectDataInfos();
|
||||
var query = (from x in masterProDatas
|
||||
join pro in db.Base_Project on x.Pro_id equals pro.MasterSysId into proGroup
|
||||
from pro in proGroup.DefaultIfEmpty()
|
||||
join use in db.Project_MasterDataUsage on x.Pro_id equals use.Pro_id into useGroup
|
||||
from use in useGroup.DefaultIfEmpty()
|
||||
select new MasterProjectDataInfo
|
||||
{
|
||||
//Pid = x.Pro_id + (pro != null ? $"-{pro.ProjectId}" : ""),
|
||||
Pid = $"{x.Pro_id}|{(pro != null ? $"{pro.ProjectId}" : "")}|{(use != null ? use.Id : "")}",
|
||||
Pro_id = x.Pro_id,
|
||||
Pro_name = x.Pro_name,
|
||||
Pro_code = x.Pro_code,
|
||||
Start_date = x.Start_date,
|
||||
Con_mode_desc = x.Con_mode_desc,
|
||||
Pro_nature = x.Pro_nature,
|
||||
Pro_status = x.Pro_status,
|
||||
Org_name = x.Org_name,
|
||||
Amount = ConvertAmount(x.Ori_amt_sum_vat_fc, x.Amt_add_sum_vat_fc_local),
|
||||
ProjectId = pro != null ? pro.ProjectId : null,
|
||||
ProjectName = pro != null ? pro.ProjectName : "",
|
||||
ProjectCode = pro != null ? pro.ProjectCode : "",
|
||||
StartDate = pro != null ? pro.StartDate : null,
|
||||
ProjectState = pro != null ? pro.ProjectState : "",
|
||||
Relate = pro != null && pro.MasterSysId != null ? 1 : 2,
|
||||
RelateName = pro != null && pro.MasterSysId != null ? "已关联" : "未关联",
|
||||
UseId = use != null ? use.Id : null,
|
||||
//Use = use == null ? "" : (use != null && use.Is_use == true) ? "已使用" : "未使用",
|
||||
ReasonType = use != null ? use.ReasonType : "",
|
||||
Reason = use != null ? use.Reason : "",
|
||||
//Situation = use != null ? use.Situation : "",
|
||||
//Remark = use != null ? use.Remark : "",
|
||||
}).ToList();
|
||||
|
||||
string startDate = this.txtStartTime.Text.Trim();
|
||||
string endDate = this.txtEndTime.Text.Trim();
|
||||
if (!string.IsNullOrWhiteSpace(startDate))
|
||||
{
|
||||
query = query.Where(x => Funs.GetNewDateTime(x.Start_date) >= Funs.GetNewDateTime(startDate)).ToList();
|
||||
}
|
||||
if (!string.IsNullOrWhiteSpace(endDate))
|
||||
{
|
||||
query = query.Where(x => Funs.GetNewDateTime(x.Start_date) <= Funs.GetNewDateTime(endDate)).ToList();
|
||||
}
|
||||
query = query.OrderByDescending(x => x.StartDate).ToList();
|
||||
list.AddRange(query);
|
||||
|
||||
|
||||
//// 获取施工中的项目
|
||||
var getProjects = ProjectService.GetProjectWorkList();
|
||||
getProjects = getProjects.Where(x => x.MasterSysId == null).OrderByDescending(x => x.StartDate).ToList();
|
||||
foreach (var pro in getProjects)
|
||||
{
|
||||
list.Add(new MasterProjectDataInfo
|
||||
{
|
||||
Pid = $"|{pro.ProjectId}|",
|
||||
Pro_id = "",
|
||||
Pro_name = "",
|
||||
Pro_code = "",
|
||||
Start_date = "",
|
||||
Con_mode_desc = "",
|
||||
Pro_nature = "",
|
||||
Pro_status = "",
|
||||
Org_name = "",
|
||||
Amount = "",
|
||||
ProjectId = pro != null ? pro.ProjectId : null,
|
||||
ProjectName = pro != null ? pro.ProjectName : "",
|
||||
ProjectCode = pro != null ? pro.ProjectCode : "",
|
||||
StartDate = pro != null ? pro.StartDate : null,
|
||||
ProjectState = pro != null ? pro.ProjectState : "",
|
||||
Relate = 3,
|
||||
RelateName = "未对应",
|
||||
UseId = null,
|
||||
//Use = use == null ? "" : (use != null && use.Is_use == true) ? "已使用" : "未使用",
|
||||
ReasonType = "",
|
||||
Reason = "",
|
||||
//Situation = use != null ? use.Situation : "",
|
||||
//Remark = use != null ? use.Remark : "",
|
||||
});
|
||||
}
|
||||
|
||||
string proName = this.txtProName.Text.Trim();
|
||||
string proCode = this.txtProCode.Text.Trim();
|
||||
string projectName = this.txtProjectName.Text.Trim();
|
||||
string projectCode = this.txtProjectCode.Text.Trim();
|
||||
int relate = int.Parse(this.rblIsRelate.SelectedValue);
|
||||
|
||||
if (!string.IsNullOrEmpty(proName))
|
||||
{
|
||||
list = list.Where(x => x.Pro_name.Contains(proName)).ToList();
|
||||
}
|
||||
if (!string.IsNullOrEmpty(proCode))
|
||||
{
|
||||
list = list.Where(x => x.Pro_code.Contains(proCode)).ToList();
|
||||
}
|
||||
if (!string.IsNullOrEmpty(projectName))
|
||||
{
|
||||
list = list.Where(x => x.ProjectName.Contains(projectName)).ToList();
|
||||
}
|
||||
if (!string.IsNullOrEmpty(projectCode))
|
||||
{
|
||||
list = list.Where(x => x.ProjectCode.Contains(projectCode)).ToList();
|
||||
}
|
||||
if (relate > 0)
|
||||
{
|
||||
list = list.Where(x => x.Relate == relate).ToList();
|
||||
}
|
||||
|
||||
DataTable tb = Funs.LINQToDataTable(list);
|
||||
Grid1.RecordCount = tb.Rows.Count;
|
||||
var table = this.GetPagedDataTable(Grid1, tb);
|
||||
Grid1.DataSource = table;
|
||||
Grid1.DataBind();
|
||||
|
||||
//int masterNum = query.Count();
|
||||
int masterNum = 0;
|
||||
int relateNum = 0;
|
||||
int allQhseNum = 0;
|
||||
try
|
||||
{
|
||||
for (int i = 0; i < Grid1.Rows.Count; i++)
|
||||
{
|
||||
var mpCode = table.Rows[i]["Pro_code"].ToString().Trim();
|
||||
var pCode = table.Rows[i]["ProjectCode"].ToString().Trim();
|
||||
var relateStr = table.Rows[i]["RelateName"].ToString().Trim();
|
||||
var reason = table.Rows[i]["Reason"].ToString().Trim();
|
||||
if (Grid1.Rows[i].DataKeys[0] != null && relateStr == "未关联" && !string.IsNullOrWhiteSpace(reason))
|
||||
{
|
||||
Grid1.Rows[i].RowCssClass = "Pause";
|
||||
}
|
||||
if (relateStr == "已关联")
|
||||
{
|
||||
relateNum++;
|
||||
}
|
||||
if (!string.IsNullOrWhiteSpace(mpCode))
|
||||
{
|
||||
masterNum++;
|
||||
}
|
||||
if (!string.IsNullOrWhiteSpace(pCode))
|
||||
{
|
||||
allQhseNum++;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { }
|
||||
|
||||
|
||||
JObject summary = new JObject();
|
||||
summary.Add("tfNumber", "合计");
|
||||
//summary.Add("Pro_name", masterNum);
|
||||
//summary.Add("ProjectName", allQhseNum);
|
||||
//summary.Add("RelateName", $"已关联:{relateNum}");
|
||||
|
||||
summary.Add("Pro_name", $"主数据(已关联/总数):{relateNum}/{masterNum}");
|
||||
summary.Add("ProjectName", $"QHSE(已关联/总数):{relateNum}/{allQhseNum}");
|
||||
|
||||
Grid1.SummaryData = summary;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 合同额(亿)
|
||||
/// </summary>
|
||||
/// <param name="Ori_amt">合同含税金额原始存档(元)</param>
|
||||
/// <param name="Amt_add">增补合同本币含税金额(元)</param>
|
||||
/// <returns></returns>
|
||||
protected string ConvertAmount(decimal? Ori_amt, decimal? Amt_add)
|
||||
{
|
||||
string result = string.Empty;
|
||||
Ori_amt = Ori_amt == null ? 0 : Ori_amt;
|
||||
Amt_add = Amt_add == null ? 0 : Amt_add;
|
||||
decimal? all = Amt_add + Ori_amt;
|
||||
if (all != null)
|
||||
{
|
||||
double amount = all == null ? 0 : (Math.Round((double)(all / 100000000m), 2));
|
||||
result = amount.ToString();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 项目状态
|
||||
/// </summary>
|
||||
/// <param name="addType"></param>
|
||||
/// <returns></returns>
|
||||
protected string ConvertProjectState(object state)
|
||||
{
|
||||
string result = string.Empty;
|
||||
string stateStr = state.ToString();
|
||||
if (state != null && !string.IsNullOrWhiteSpace(stateStr))
|
||||
{
|
||||
result = stateStr == "2" ? "暂停中" : stateStr == "3" ? "已完工" : "施工中";
|
||||
}
|
||||
return result;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Grid
|
||||
|
||||
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
|
||||
{
|
||||
EditData(sender, e);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 编辑数据方法
|
||||
/// </summary>
|
||||
private void EditData(object sender, GridRowClickEventArgs e)
|
||||
{
|
||||
if (Grid1.SelectedRowIndexArray.Length == 0)
|
||||
{
|
||||
Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
var pId = Grid1.SelectedRowID;
|
||||
|
||||
string pro_id = pId.Split('|')[0];
|
||||
string projectId = pId.Split('|')[1];
|
||||
string useId = pId.Split('|')[2];
|
||||
|
||||
var obj = Grid1.SelectedRow.Values;
|
||||
string num = obj[0].ToString();
|
||||
string pro_name = obj[2].ToString();
|
||||
string pro_code = obj[3].ToString();
|
||||
string startdate = obj[7].ToString();
|
||||
string prostatus = obj[9].ToString();
|
||||
string projectName = obj[11].ToString();
|
||||
string projectCode = obj[12].ToString();
|
||||
string startDate = obj[13].ToString();
|
||||
string lblState = (Grid1.SelectedRow.FindControl("lblState") as AspNet.Label).Text;
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(pro_id))
|
||||
{
|
||||
var masterUsage = Funs.DB.Project_MasterDataUsage.Where(x => x.Pro_id == pro_id).FirstOrDefault();
|
||||
if (masterUsage != null)
|
||||
{
|
||||
useId = masterUsage.Id;
|
||||
}
|
||||
else
|
||||
{
|
||||
useId = SQLHelper.GetNewID(typeof(Model.Project_MasterDataUsage));
|
||||
Model.Project_MasterDataUsage model = new Model.Project_MasterDataUsage();
|
||||
model.Id = useId;
|
||||
model.Pro_id = pro_id;
|
||||
model.Pro_code = pro_code;
|
||||
model.Pro_name = pro_name;
|
||||
model.Is_relate = !string.IsNullOrWhiteSpace(projectId);
|
||||
model.Is_use = !string.IsNullOrWhiteSpace(projectId);
|
||||
model.Projectid = projectId;
|
||||
model.Projectcode = projectName;
|
||||
model.Projectname = projectCode;
|
||||
model.Create_user = this.CurrUser.UserName;
|
||||
model.Create_date = DateTime.Now;
|
||||
ProjectMasterDataUsageService.AddProjectMasterDataUsage(model);
|
||||
}
|
||||
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("MasterProjectDataUsage.aspx?UseId={0}", useId)));
|
||||
//PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("MasterProjectDataUsage.aspx?UseId={0}&ProId={1}", useId, pro_id)));
|
||||
}
|
||||
}
|
||||
|
||||
protected void Window1_Close(object sender, WindowCloseEventArgs e)
|
||||
{
|
||||
this.BindGrid();
|
||||
}
|
||||
protected void TextBox_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
this.BindGrid();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
|
||||
{
|
||||
BindGrid();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
|
||||
BindGrid();
|
||||
}
|
||||
|
||||
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
|
||||
{
|
||||
BindGrid();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 导出按钮
|
||||
|
||||
/// <summary>
|
||||
/// 导出按钮
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnOut_Click(object sender, EventArgs e)
|
||||
{
|
||||
Response.ClearContent();
|
||||
string filename = Funs.GetNewFileName();
|
||||
Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("企业主数据与QHSE系统项目建立一览表" + filename, System.Text.Encoding.UTF8) + ".xls");
|
||||
Response.ContentType = "application/excel";
|
||||
Response.ContentEncoding = System.Text.Encoding.UTF8;
|
||||
this.Grid1.PageSize = this.Grid1.RecordCount;
|
||||
this.BindGrid();
|
||||
Response.Write(GetGridMultiHeaderTableHtml(Grid1));
|
||||
//Response.Write(GetGridTableHtml(Grid1));
|
||||
Response.End();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
|
||||
#region 企业QHSE在建项目使用情况
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 绑定数据
|
||||
/// </summary>
|
||||
private void BindGrid2()
|
||||
{
|
||||
var db = Funs.DB;
|
||||
//// 获取施工中的项目
|
||||
var getProjects = ProjectService.GetProjectWorkList();
|
||||
|
||||
string projectName = this.txtProjectName2.Text.Trim();
|
||||
string projectCode = this.txtProjectCode2.Text.Trim();
|
||||
int relate = int.Parse(this.rblIsRelate.SelectedValue);
|
||||
|
||||
var list = new List<QHSEProjectDataInfo>();
|
||||
if (!string.IsNullOrEmpty(projectName))
|
||||
{
|
||||
getProjects = getProjects.Where(x => x.ProjectName.Contains(projectName)).ToList();
|
||||
}
|
||||
if (!string.IsNullOrEmpty(projectCode))
|
||||
{
|
||||
getProjects = getProjects.Where(x => x.ProjectCode.Contains(projectCode)).ToList();
|
||||
}
|
||||
|
||||
string startDate = this.txtStartTime2.Text.Trim();
|
||||
string endDate = this.txtEndTime2.Text.Trim();
|
||||
if (!string.IsNullOrWhiteSpace(startDate))
|
||||
{
|
||||
getProjects = getProjects.Where(x => x.StartDate >= Funs.GetNewDateTime(startDate)).ToList();
|
||||
}
|
||||
if (!string.IsNullOrWhiteSpace(endDate))
|
||||
{
|
||||
getProjects = getProjects.Where(x => x.StartDate <= Funs.GetNewDateTime(endDate)).ToList();
|
||||
}
|
||||
|
||||
var dateNow = DateTime.Now.Date;//现在
|
||||
var dateMonthAgo = dateNow.AddMonths(-1);//一个月前
|
||||
|
||||
var datas = (from x in db.Project_HSSEData_HSSE
|
||||
where x.ReportDate == dateNow || x.ReportDate == dateMonthAgo
|
||||
select new QHSEProjectHSSEData
|
||||
{
|
||||
ProjectId = x.ProjectId,
|
||||
ReportDate = x.ReportDate,
|
||||
DataMetricsSum = (x.JoinConstructionPersonNum ?? 0) + (x.GeneralClosedNum ?? 0) + (x.GeneralNotClosedNum ?? 0) + (x.SafeWorkingHour ?? 0)
|
||||
}).ToList();
|
||||
|
||||
foreach (var pro in getProjects)
|
||||
{
|
||||
string result = "正常";
|
||||
var nowData = datas.Where(x => x.ProjectId == pro.ProjectId && x.ReportDate == dateNow).FirstOrDefault();
|
||||
var monthAgoData = datas.Where(x => x.ProjectId == pro.ProjectId && x.ReportDate == dateMonthAgo).FirstOrDefault();
|
||||
if (nowData != null && monthAgoData != null)
|
||||
{//两个时间点都有指标数据
|
||||
if (nowData.DataMetricsSum == monthAgoData.DataMetricsSum)
|
||||
{
|
||||
result = "异常";
|
||||
}
|
||||
}
|
||||
//else if (nowData != null)
|
||||
//{//现在有指标数据,一个月前没有
|
||||
// result = "正常";
|
||||
//}
|
||||
//else if (monthAgoData != null)
|
||||
//{//现在没有指标数据,一个月前有
|
||||
// result = "正常";
|
||||
//}
|
||||
|
||||
list.Add(new QHSEProjectDataInfo
|
||||
{
|
||||
ProjectId = pro.ProjectId,
|
||||
ProjectName = pro.ProjectName,
|
||||
ShortName = pro.ShortName,
|
||||
ProjectCode = pro.ProjectCode,
|
||||
StartDate = pro.StartDate,
|
||||
EndDate = pro.EndDate,
|
||||
ProjectState = pro.ProjectState,
|
||||
Usage = result
|
||||
});
|
||||
}
|
||||
|
||||
DataTable tb = Funs.LINQToDataTable(list);
|
||||
Grid2.RecordCount = tb.Rows.Count;
|
||||
var table = this.GetPagedDataTable(Grid2, tb);
|
||||
Grid2.DataSource = table;
|
||||
Grid2.DataBind();
|
||||
|
||||
int exNum = 0;
|
||||
int allQhseNum = 0;
|
||||
//int allQhseNum = list.Count();
|
||||
try
|
||||
{
|
||||
for (int i = 0; i < Grid2.Rows.Count; i++)
|
||||
{
|
||||
allQhseNum++;
|
||||
var usage = table.Rows[i]["Usage"].ToString().Trim();
|
||||
if (usage == "异常")
|
||||
{
|
||||
Grid2.Rows[i].RowCssClass = "Pause";
|
||||
exNum++;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { }
|
||||
|
||||
|
||||
JObject summary = new JObject();
|
||||
summary.Add("tfNumber", "合计");
|
||||
summary.Add("ProjectCode", allQhseNum);
|
||||
summary.Add("Usage", $"异常:{exNum}");
|
||||
|
||||
Grid2.SummaryData = summary;
|
||||
}
|
||||
|
||||
protected void TextBox_TextChanged2(object sender, EventArgs e)
|
||||
{
|
||||
this.BindGrid2();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Grid2_PageIndexChange(object sender, GridPageEventArgs e)
|
||||
{
|
||||
this.BindGrid2();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void ddlPageSize2_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
Grid2.PageSize = Convert.ToInt32(ddlPageSize2.SelectedValue);
|
||||
this.BindGrid2();
|
||||
}
|
||||
|
||||
protected void Grid2_Sort(object sender, FineUIPro.GridSortEventArgs e)
|
||||
{
|
||||
this.BindGrid2();
|
||||
}
|
||||
|
||||
#region 导出按钮
|
||||
|
||||
/// <summary>
|
||||
/// 导出按钮
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnOut_Click2(object sender, EventArgs e)
|
||||
{
|
||||
Response.ClearContent();
|
||||
string filename = Funs.GetNewFileName();
|
||||
Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("企业QHSE项目使用情况一览表" + filename, System.Text.Encoding.UTF8) + ".xls");
|
||||
Response.ContentType = "application/excel";
|
||||
Response.ContentEncoding = System.Text.Encoding.UTF8;
|
||||
this.Grid2.PageSize = this.Grid2.RecordCount;
|
||||
this.BindGrid2();
|
||||
Response.Write(GetGridMultiHeaderTableHtml(Grid2));
|
||||
//Response.Write(GetGridTableHtml(Grid2));
|
||||
Response.End();
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,332 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.ProjectData
|
||||
{
|
||||
|
||||
|
||||
public partial class MasterProjectData
|
||||
{
|
||||
|
||||
/// <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>
|
||||
/// TabStrip1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TabStrip TabStrip1;
|
||||
|
||||
/// <summary>
|
||||
/// Grid1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Grid Grid1;
|
||||
|
||||
/// <summary>
|
||||
/// Toolbar2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Toolbar Toolbar2;
|
||||
|
||||
/// <summary>
|
||||
/// txtProCode 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtProCode;
|
||||
|
||||
/// <summary>
|
||||
/// txtProName 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtProName;
|
||||
|
||||
/// <summary>
|
||||
/// txtStartTime 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtStartTime;
|
||||
|
||||
/// <summary>
|
||||
/// Label5 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Label Label5;
|
||||
|
||||
/// <summary>
|
||||
/// txtEndTime 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtEndTime;
|
||||
|
||||
/// <summary>
|
||||
/// rblIsRelate 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.RadioButtonList rblIsRelate;
|
||||
|
||||
/// <summary>
|
||||
/// Toolbar1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Toolbar Toolbar1;
|
||||
|
||||
/// <summary>
|
||||
/// txtProjectCode 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtProjectCode;
|
||||
|
||||
/// <summary>
|
||||
/// txtProjectName 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtProjectName;
|
||||
|
||||
/// <summary>
|
||||
/// btnOut 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnOut;
|
||||
|
||||
/// <summary>
|
||||
/// lblNumber 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblNumber;
|
||||
|
||||
/// <summary>
|
||||
/// lblState 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblState;
|
||||
|
||||
/// <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>
|
||||
/// Grid2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Grid Grid2;
|
||||
|
||||
/// <summary>
|
||||
/// Toolbar3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Toolbar Toolbar3;
|
||||
|
||||
/// <summary>
|
||||
/// txtProjectCode2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtProjectCode2;
|
||||
|
||||
/// <summary>
|
||||
/// txtProjectName2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtProjectName2;
|
||||
|
||||
/// <summary>
|
||||
/// txtStartTime2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtStartTime2;
|
||||
|
||||
/// <summary>
|
||||
/// Label1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Label Label1;
|
||||
|
||||
/// <summary>
|
||||
/// txtEndTime2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtEndTime2;
|
||||
|
||||
/// <summary>
|
||||
/// btnOut2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnOut2;
|
||||
|
||||
/// <summary>
|
||||
/// lblPageIndex 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblPageIndex;
|
||||
|
||||
/// <summary>
|
||||
/// lblStatus 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblStatus;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarSeparator2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator2;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarText2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarText ToolbarText2;
|
||||
|
||||
/// <summary>
|
||||
/// ddlPageSize2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList ddlPageSize2;
|
||||
|
||||
/// <summary>
|
||||
/// Window1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Window Window1;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,180 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MasterProjectDataUsage.aspx.cs" Inherits="FineUIPro.Web.ProjectData.MasterProjectDataUsage" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head runat="server">
|
||||
<title>质量巡检</title>
|
||||
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
|
||||
<style type="text/css">
|
||||
.labcenter {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.f-grid-row .f-grid-cell-inner {
|
||||
white-space: normal;
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
.f-grid-row.red {
|
||||
background-color: #FF7575;
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
.fontred {
|
||||
color: #FF7575;
|
||||
background-image: none;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" AutoSizePanelID="SimpleForm1" runat="server" />
|
||||
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true"
|
||||
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
|
||||
<Rows>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextBox ID="txtPro_code" runat="server" Label="主数据项目编号" LabelWidth="120px" LabelAlign="Right" Readonly="true">
|
||||
</f:TextBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextBox ID="txtPro_name" runat="server" Label="主数据项目名称" LabelWidth="120px" LabelAlign="Right" Readonly="true">
|
||||
</f:TextBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextBox ID="txtProjectcode" runat="server" Label="QHSE项目编号" LabelWidth="120px" LabelAlign="Right" Readonly="true">
|
||||
</f:TextBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextBox ID="txtProjectname" runat="server" Label="QHSE项目名称" LabelWidth="120px" LabelAlign="Right" Readonly="true">
|
||||
</f:TextBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:RadioButtonList runat="server" ID="rblIsRelate" Label="是否关联使用" LabelWidth="120px" Readonly="true" Enabled="true" LabelAlign="Right">
|
||||
<f:RadioItem Text="已关联" Value="1" />
|
||||
<f:RadioItem Text="未关联" Value="0" />
|
||||
</f:RadioButtonList>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<%--<f:FormRow>
|
||||
<Items>
|
||||
<f:RadioButtonList runat="server" ID="rblIsUse" Label="是否使用" LabelWidth="120px" LabelAlign="Right" ShowRedStar="true" AutoPostBack="true" OnSelectedIndexChanged="rblIsUse_SelectedIndexChanged">
|
||||
<f:RadioItem Text="已使用" Value="1" />
|
||||
<f:RadioItem Text="未使用" Value="0" />
|
||||
</f:RadioButtonList>
|
||||
</Items>
|
||||
</f:FormRow>--%>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:RadioButtonList runat="server" ID="rblReasonType" Label="原因类型" LabelWidth="120px" LabelAlign="Right" Required="true" ShowRedStar="true">
|
||||
<f:RadioItem Text="业主统筹" Value="业主统筹" />
|
||||
<f:RadioItem Text="工期短/规模小" Value="工期短/规模小" />
|
||||
<f:RadioItem Text="网络受限" Value="网络受限" />
|
||||
<f:RadioItem Text="停缓建" Value="停缓建" />
|
||||
<f:RadioItem Text="其他原因" Value="其他原因" />
|
||||
</f:RadioButtonList>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextArea ID="txtReason" runat="server" Label="原因说明" EmptyText="请填写未关联使用集团主数据项目的原因情况说明(不超过100字)" LabelAlign="Right" LabelWidth="120px">
|
||||
</f:TextArea>
|
||||
<%--<f:TextArea ID="txtReason" runat="server" Label="原因说明" EmptyText="请填写原因说明" LabelAlign="Right" LabelWidth="120px" ShowRedStar="true">
|
||||
</f:TextArea>--%>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<%--<f:FormRow>
|
||||
<Items>
|
||||
<f:TextArea ID="txtSituation" runat="server" Label="其他情况" EmptyText="请填写其他情况说明" LabelAlign="Right" LabelWidth="120px" ShowRedStar="true">
|
||||
</f:TextArea>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextArea ID="txtRemark" runat="server" Label="备注" EmptyText="请填写备注" LabelAlign="Right" LabelWidth="120px" ShowRedStar="true">
|
||||
</f:TextArea>
|
||||
</Items>
|
||||
</f:FormRow>--%>
|
||||
<f:FormRow ID="Next">
|
||||
<Items>
|
||||
<f:RadioButtonList ID="cbNext" runat="server" Label="下一步" AutoPostBack="true" OnSelectedIndexChanged="cbNext_SelectedIndexChanged" LabelWidth="120px" >
|
||||
<f:RadioItem Text="已完成" Value="0" Selected="true" />
|
||||
<f:RadioItem Text="下一步审批人" Value="1" />
|
||||
</f:RadioButtonList>
|
||||
<f:Label runat="server" ID="lb"></f:Label>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow ID="HandleMan" Hidden="true">
|
||||
<Items>
|
||||
<f:DropDownBox runat="server" ID="drpHandleMan" EmptyText="请从下拉表格中选择" Label="审批人"
|
||||
MatchFieldWidth="false" EnableMultiSelect="false" LabelWidth="120px">
|
||||
<PopPanel>
|
||||
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" runat="server" DataIDField="UserId" DataTextField="UserName"
|
||||
DataKeyNames="UserId" AllowSorting="true" SortField="UserName" SortDirection="ASC" EnableColumnLines="true"
|
||||
Hidden="true" Width="800px" Height="520px" EnableMultiSelect="false" KeepCurrentSelection="true" PageSize="10000">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar2" Position="Top" runat="server">
|
||||
<Items>
|
||||
<f:TextBox runat="server" Label="查询" ID="txtUserName" EmptyText="输入查询条件" FocusOnPageLoad="true"
|
||||
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="250px" LabelWidth="80px">
|
||||
</f:TextBox>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
<Columns>
|
||||
<f:RowNumberField EnablePagingNumber="true" HeaderText="序号" Width="50px"
|
||||
HeaderTextAlign="Center" TextAlign="Center" />
|
||||
<f:RenderField Width="90px" ColumnID="UserCode" DataField="UserCode" SortField="UserCode"
|
||||
FieldType="String" HeaderText="编号" HeaderTextAlign="Center"
|
||||
TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="UserName" DataField="UserName"
|
||||
SortField="UserName" FieldType="String" HeaderText="姓名" HeaderTextAlign="Center"
|
||||
TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="120px" ColumnID="RoleName" DataField="RoleName" ExpandUnusedSpace="true"
|
||||
SortField="RoleName" FieldType="String" HeaderText="角色" HeaderTextAlign="Center"
|
||||
TextAlign="Left">
|
||||
</f:RenderField>
|
||||
</Columns>
|
||||
</f:Grid>
|
||||
</PopPanel>
|
||||
</f:DropDownBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow ID="Audit" Hidden="true">
|
||||
<Items>
|
||||
<f:RadioButtonList ID="rblHandleState" runat="server" Label="审核结果" LabelWidth="120px" >
|
||||
<f:RadioItem Text="通过" Value="1" />
|
||||
<f:RadioItem Text="不通过" Value="0" />
|
||||
</f:RadioButtonList>
|
||||
<f:Label runat="server" ID="Label1"></f:Label>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
</Rows>
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
|
||||
<Items>
|
||||
<f:HiddenField ID="hfGpsAreId" runat="server"></f:HiddenField>
|
||||
<f:ToolbarFill ID="ToolbarFill1" runat="server">
|
||||
</f:ToolbarFill>
|
||||
<f:Button ID="btnSave" OnClick="btnSave_Click" Icon="SystemSave" ValidateForms="SimpleForm1" runat="server" ToolTip="提交" Text="提交">
|
||||
</f:Button>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
</f:Form>
|
||||
|
||||
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,261 @@
|
||||
using BLL;
|
||||
using Model;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Linq;
|
||||
|
||||
namespace FineUIPro.Web.ProjectData
|
||||
{
|
||||
public partial class MasterProjectDataUsage : PageBase
|
||||
{
|
||||
#region 公共字段
|
||||
/// <summary>
|
||||
/// 主键
|
||||
/// </summary>
|
||||
public string UseId
|
||||
{
|
||||
get
|
||||
{
|
||||
return (string)ViewState["UseId"];
|
||||
}
|
||||
set
|
||||
{
|
||||
ViewState["UseId"] = value;
|
||||
}
|
||||
}
|
||||
///// <summary>
|
||||
///// 主数据项目Id
|
||||
///// </summary>
|
||||
//public string ProId
|
||||
//{
|
||||
// get
|
||||
// {
|
||||
// return (string)ViewState["ProId"];
|
||||
// }
|
||||
// set
|
||||
// {
|
||||
// ViewState["ProId"] = value;
|
||||
// }
|
||||
//}
|
||||
|
||||
#endregion
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
//this.ProId = Request.Params["ProId"];
|
||||
this.UseId = Request.Params["UseId"];
|
||||
BindGrid();
|
||||
if (!string.IsNullOrEmpty(UseId))
|
||||
{
|
||||
var usage = ProjectMasterDataUsageService.GetProjectMasterDataUsageById(UseId);
|
||||
//var usage = ProjectMasterDataUsageService.GetProjectMasterDataUsageByProId(ProId);
|
||||
this.txtPro_code.Text = usage.Pro_code;
|
||||
this.txtPro_name.Text = usage.Pro_name;
|
||||
this.txtProjectcode.Text = usage.Projectcode;
|
||||
this.txtProjectname.Text = usage.Projectname;
|
||||
this.rblIsRelate.SelectedValue = usage.Is_relate ? "1" : "0";
|
||||
//this.rblIsUse.SelectedValue = usage.Is_use ? "1" : "0";
|
||||
|
||||
this.rblReasonType.SelectedValue = usage.ReasonType;
|
||||
this.txtReason.Text = usage.Reason;
|
||||
//this.txtSituation.Text = usage.Situation;
|
||||
//this.txtReason.Text = usage.Reason;
|
||||
//this.txtRemark.Text = usage.Remark;
|
||||
|
||||
//this.rblIsUse.Readonly = true;
|
||||
//if (this.rblIsRelate.SelectedValue == "0")
|
||||
//{
|
||||
// this.txtReason.Required = true;
|
||||
// this.txtReason.ShowRedStar = true;
|
||||
//}
|
||||
//if (this.rblIsUse.SelectedValue == "1")
|
||||
//{
|
||||
// this.Next.Hidden = true;
|
||||
//}
|
||||
if (usage.Is_relate)
|
||||
{
|
||||
this.Next.Hidden = true;
|
||||
this.Toolbar1.Hidden = true;
|
||||
this.txtReason.Required = false;
|
||||
this.txtReason.ShowRedStar = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.Next.Hidden = false;
|
||||
this.txtReason.Required = true;
|
||||
this.txtReason.ShowRedStar = true;
|
||||
}
|
||||
|
||||
|
||||
string handleMan = this.drpHandleMan.Value;
|
||||
if (!string.IsNullOrWhiteSpace(usage.HandleMan))
|
||||
{
|
||||
//this.cbNext.SelectedValue = "1";
|
||||
this.drpHandleMan.Value = usage.HandleMan;
|
||||
this.drpHandleMan.Text = usage.HandleManName;
|
||||
|
||||
bool isAuditer = usage.HandleMan == this.CurrUser.UserId || this.CurrUser.UserId == Const.hfnbdId || this.CurrUser.UserId == Const.sysglyId;
|
||||
if (usage.HandleState == null)
|
||||
{
|
||||
if (isAuditer)
|
||||
{
|
||||
this.Audit.Hidden = false;
|
||||
this.rblHandleState.SelectedValue = "1";
|
||||
}
|
||||
else
|
||||
{
|
||||
this.Next.Hidden = true;
|
||||
this.Toolbar1.Hidden = true;
|
||||
}
|
||||
}
|
||||
if (usage.HandleState != null)
|
||||
{
|
||||
this.Toolbar1.Hidden = true;
|
||||
this.Next.Hidden = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#region 人员下拉框绑定数据
|
||||
/// <summary>
|
||||
/// 绑定数据
|
||||
/// </summary>
|
||||
private void BindGrid()
|
||||
{
|
||||
string unitId = CommonService.GetThisUnitId();
|
||||
string strSql = @"SELECT UserId,UserName,UserCode,role.RoleName"
|
||||
+ @" FROM Sys_User AS users LEFT JOIN Sys_Role AS role ON users.RoleId= role.RoleId"
|
||||
+ @" WHERE users.IsPost=1 AND role.IsAuditFlow=1 AND users.IsOffice =1 AND UnitId ='" + unitId + "'";
|
||||
List<SqlParameter> listStr = new List<SqlParameter>();
|
||||
if (!string.IsNullOrEmpty(this.txtUserName.Text.Trim()))
|
||||
{
|
||||
strSql += " AND (UserName LIKE @Name OR UserCode LIKE @Name OR role.RoleName LIKE @Name)";
|
||||
listStr.Add(new SqlParameter("@Name", "%" + this.txtUserName.Text.Trim() + "%"));
|
||||
}
|
||||
|
||||
SqlParameter[] parameter = listStr.ToArray();
|
||||
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
||||
Grid1.RecordCount = tb.Rows.Count;
|
||||
var table = this.GetPagedDataTable(Grid1, tb);
|
||||
Grid1.DataSource = table;
|
||||
Grid1.DataBind();
|
||||
}
|
||||
|
||||
#region 查询
|
||||
/// <summary>
|
||||
/// 下拉框查询
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void TextBox_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
this.drpHandleMan.Values = null;
|
||||
this.BindGrid();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// 是否使用触发事件
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void rblIsUse_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
//string isUse = this.rblIsUse.SelectedValue;
|
||||
//if (isUse == "0")
|
||||
//{
|
||||
// this.txtReason.Required = true;
|
||||
// this.txtReason.ShowRedStar = true;
|
||||
// this.Next.Hidden = false;
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// this.Next.Hidden = true;
|
||||
// this.txtReason.Required = false;
|
||||
// this.txtReason.ShowRedStar = false;
|
||||
//}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 下一步触发事件
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void cbNext_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (this.cbNext.SelectedValue == "1")
|
||||
{
|
||||
//this.Audit.Hidden = false;
|
||||
this.HandleMan.Hidden = false;
|
||||
this.drpHandleMan.Required = true;
|
||||
this.drpHandleMan.ShowRedStar = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
//this.Audit.Hidden = true;
|
||||
this.HandleMan.Hidden = true;
|
||||
this.drpHandleMan.Required = false;
|
||||
this.drpHandleMan.ShowRedStar = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected void btnSave_Click(object sender, EventArgs e)
|
||||
{
|
||||
//var model = ProjectMasterDataUsageService.GetProjectMasterDataUsageByProId(ProId);
|
||||
Project_MasterDataUsage usage = new Project_MasterDataUsage();
|
||||
//usage.Id = model.Id;
|
||||
usage.Id = this.UseId;
|
||||
//usage.Is_use = this.rblIsUse.SelectedValue == "1";
|
||||
usage.ReasonType = this.rblReasonType.SelectedValue;
|
||||
usage.Reason = this.txtReason.Text.Trim();
|
||||
//usage.Situation = this.txtSituation.Text.Trim();
|
||||
//usage.Reason = this.txtReason.Text.Trim();
|
||||
//usage.Remark = this.txtRemark.Text.Trim();
|
||||
|
||||
|
||||
//usage.HandleMan = this.drpHandleMan.Value;
|
||||
//usage.HandleManName = this.drpHandleMan.Text;
|
||||
|
||||
string handleMan = this.drpHandleMan.Value;
|
||||
string handleManName = this.drpHandleMan.Text;
|
||||
if (!string.IsNullOrWhiteSpace(handleMan))
|
||||
{//
|
||||
bool isAuditer = handleMan == this.CurrUser.UserId || this.CurrUser.UserId == Const.hfnbdId || this.CurrUser.UserId == Const.sysglyId;
|
||||
|
||||
usage.HandleMan = handleMan;
|
||||
usage.HandleManName = handleManName;
|
||||
if (isAuditer)
|
||||
{
|
||||
usage.HandleState = this.rblHandleState.SelectedValue;
|
||||
//usage.HandleMan = this.CurrUser.UserId;
|
||||
//usage.HandleManName = this.CurrUser.UserName;
|
||||
usage.HandleDate = DateTime.Now;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
usage.HandleState = this.rblHandleState.SelectedValue;
|
||||
usage.HandleDate = DateTime.Now;
|
||||
}
|
||||
//if (this.cbNext.SelectedValue == "0")
|
||||
//{
|
||||
//}
|
||||
ProjectMasterDataUsageService.UpdateProjectMasterDataUsage(usage);
|
||||
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
|
||||
}
|
||||
|
||||
protected void WindowAtt_Close(object sender, WindowCloseEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,242 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.ProjectData
|
||||
{
|
||||
|
||||
|
||||
public partial class MasterProjectDataUsage
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// SimpleForm1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Form SimpleForm1;
|
||||
|
||||
/// <summary>
|
||||
/// txtPro_code 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtPro_code;
|
||||
|
||||
/// <summary>
|
||||
/// txtPro_name 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtPro_name;
|
||||
|
||||
/// <summary>
|
||||
/// txtProjectcode 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtProjectcode;
|
||||
|
||||
/// <summary>
|
||||
/// txtProjectname 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtProjectname;
|
||||
|
||||
/// <summary>
|
||||
/// rblIsRelate 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.RadioButtonList rblIsRelate;
|
||||
|
||||
/// <summary>
|
||||
/// rblReasonType 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.RadioButtonList rblReasonType;
|
||||
|
||||
/// <summary>
|
||||
/// txtReason 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextArea txtReason;
|
||||
|
||||
/// <summary>
|
||||
/// Next 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.FormRow Next;
|
||||
|
||||
/// <summary>
|
||||
/// cbNext 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.RadioButtonList cbNext;
|
||||
|
||||
/// <summary>
|
||||
/// lb 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Label lb;
|
||||
|
||||
/// <summary>
|
||||
/// HandleMan 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.FormRow HandleMan;
|
||||
|
||||
/// <summary>
|
||||
/// drpHandleMan 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownBox drpHandleMan;
|
||||
|
||||
/// <summary>
|
||||
/// Grid1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Grid Grid1;
|
||||
|
||||
/// <summary>
|
||||
/// Toolbar2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Toolbar Toolbar2;
|
||||
|
||||
/// <summary>
|
||||
/// txtUserName 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtUserName;
|
||||
|
||||
/// <summary>
|
||||
/// Audit 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.FormRow Audit;
|
||||
|
||||
/// <summary>
|
||||
/// rblHandleState 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.RadioButtonList rblHandleState;
|
||||
|
||||
/// <summary>
|
||||
/// Label1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Label Label1;
|
||||
|
||||
/// <summary>
|
||||
/// Toolbar1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Toolbar Toolbar1;
|
||||
|
||||
/// <summary>
|
||||
/// hfGpsAreId 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.HiddenField hfGpsAreId;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarFill1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarFill ToolbarFill1;
|
||||
|
||||
/// <summary>
|
||||
/// btnSave 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnSave;
|
||||
}
|
||||
}
|
||||
@@ -18,6 +18,60 @@
|
||||
</f:TextBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:DropDownBox runat="server" ID="drpMasterBox1" Label="集团主数据" EmptyText="请从下拉表格中选择集团主数据项目" DataControlID="Grid1"
|
||||
EnableMultiSelect="false" MatchFieldWidth="false" ShowRedStar="true" Required="true" AutoPostBack="true" OnTextChanged="MasterData_Changed">
|
||||
<PopPanel>
|
||||
<f:Panel ID="Panel7" runat="server" BodyPadding="10px" Width="1280px" Height="520px" Hidden="true"
|
||||
ShowBorder="true" ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
|
||||
<Items>
|
||||
<f:Form ID="Form5" ShowBorder="False" ShowHeader="False" runat="server">
|
||||
<Rows>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TwinTriggerBox Width="200px" runat="server" EmptyText="按项目编号查找" ShowLabel="false" ID="ttbCodeSearch"
|
||||
ShowTrigger1="false" OnTrigger1Click="ttbCodeSearch_Trigger1Click" OnTrigger2Click="ttbCodeSearch_Trigger2Click"
|
||||
Trigger1Icon="Clear" Trigger2Icon="Search">
|
||||
</f:TwinTriggerBox>
|
||||
<f:TwinTriggerBox Width="400px" runat="server" EmptyText="按项目名称查找" ShowLabel="false" ID="ttbNameSearch"
|
||||
ShowTrigger1="false" OnTrigger1Click="ttbNameSearch_Trigger1Click" OnTrigger2Click="ttbNameSearch_Trigger2Click"
|
||||
Trigger1Icon="Clear" Trigger2Icon="Search">
|
||||
</f:TwinTriggerBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
</Rows>
|
||||
</f:Form>
|
||||
<f:Grid ID="Grid1" BoxFlex="1" DataKeyNames="Pro_id" DataIDField="Pro_id" DataTextField="Pro_name" EnableMultiSelect="false"
|
||||
PageSize="10000" ShowBorder="true" ShowHeader="false" AllowPaging="false" IsDatabasePaging="false" runat="server" EnableCheckBoxSelect="true"
|
||||
AllowSorting="false" SortField="Start_date" SortDirection="DESC" OnSort="Grid1_Sort">
|
||||
<Columns>
|
||||
<f:RowNumberField TextAlign="Center"/>
|
||||
<f:BoundField Width="120px" DataField="Pro_code" HeaderText="项目编号"/>
|
||||
<f:BoundField ExpandUnusedSpace="true" MinWidth="220px" DataField="Pro_name" HeaderText="项目名称"/>
|
||||
<f:BoundField ExpandUnusedSpace="true" MinWidth="220px" DataField="Pro_short_name" HeaderText="项目简称"/>
|
||||
<f:RenderField Width="110px" ColumnID="Start_date" DataField="Start_date" SortField="Start_date" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="开工日期" TextAlign="Center" HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="110px" ColumnID="End_date" DataField="End_date" SortField="End_date" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="完工日期" TextAlign="Center" HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:BoundField ExpandUnusedSpace="true" MinWidth="160px" DataField="Address" HeaderText="详细地址"/>
|
||||
<%--<f:BoundField ExpandUnusedSpace="true" MinWidth="110px" DataField="Pro_add_type" HeaderText="境内/境外" />--%>
|
||||
<f:TemplateField ColumnID="tfProaddtype" Width="110px" HeaderText="境内/境外" HeaderTextAlign="Center" TextAlign="Center"
|
||||
EnableLock="true" Locked="False">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblProaddtype" runat="server" Text='<%# ConvertProAddType(Eval("Pro_add_type")) %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
</Columns>
|
||||
</f:Grid>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
</PopPanel>
|
||||
</f:DropDownBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TextBox ID="txtProjectName" runat="server" Label="项目名称" Required="true" MaxLength="100"
|
||||
@@ -166,48 +220,6 @@
|
||||
<f:Label runat="server"></f:Label>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:DropDownBox runat="server" ID="drpMasterBox1" Label="主数据项目" EmptyText="请从下拉表格中选择项目" DataControlID="Grid1"
|
||||
EnableMultiSelect="false" MatchFieldWidth="false">
|
||||
<PopPanel>
|
||||
<f:Panel ID="Panel7" runat="server" BodyPadding="10px" Width="820px" Height="420px" Hidden="true"
|
||||
ShowBorder="true" ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
|
||||
<Items>
|
||||
<f:Form ID="Form5" ShowBorder="False" ShowHeader="False" runat="server">
|
||||
<Rows>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:TwinTriggerBox Width="200px" runat="server" EmptyText="按项目编号查找" ShowLabel="false" ID="ttbCodeSearch"
|
||||
ShowTrigger1="false" OnTrigger1Click="ttbCodeSearch_Trigger1Click" OnTrigger2Click="ttbCodeSearch_Trigger2Click"
|
||||
Trigger1Icon="Clear" Trigger2Icon="Search">
|
||||
</f:TwinTriggerBox>
|
||||
<f:TwinTriggerBox Width="400px" runat="server" EmptyText="按项目名称查找" ShowLabel="false" ID="ttbNameSearch"
|
||||
ShowTrigger1="false" OnTrigger1Click="ttbNameSearch_Trigger1Click" OnTrigger2Click="ttbNameSearch_Trigger2Click"
|
||||
Trigger1Icon="Clear" Trigger2Icon="Search">
|
||||
</f:TwinTriggerBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
</Rows>
|
||||
</f:Form>
|
||||
<f:Grid ID="Grid1" BoxFlex="1" DataKeyNames="SysId"
|
||||
DataIDField="SysId" DataTextField="PrjName" EnableMultiSelect="false"
|
||||
PageSize="1000" ShowBorder="true" ShowHeader="false"
|
||||
AllowPaging="false" IsDatabasePaging="false" runat="server" EnableCheckBoxSelect="true"
|
||||
AllowSorting="false" SortField="PrjName" SortDirection="ASC"
|
||||
OnSort="Grid1_Sort">
|
||||
<Columns>
|
||||
<f:RowNumberField TextAlign="Center" />
|
||||
<f:BoundField Width="200px" DataField="PrjCode" HeaderText="项目编号" />
|
||||
<f:BoundField ExpandUnusedSpace="true" MinWidth="400px" DataField="PrjName" HeaderText="项目名称" />
|
||||
</Columns>
|
||||
</f:Grid>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
</PopPanel>
|
||||
</f:DropDownBox>
|
||||
</Items>
|
||||
</f:FormRow>
|
||||
<f:FormRow>
|
||||
<Items>
|
||||
<f:DropDownList ID="drpSubjectUnit" runat="server" Label="总包单位"
|
||||
|
||||
@@ -6,6 +6,7 @@ using System.Text.RegularExpressions;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using Model.Customization;
|
||||
using AspNet = System.Web.UI.WebControls;
|
||||
|
||||
namespace FineUIPro.Web.ProjectData
|
||||
{
|
||||
@@ -210,20 +211,22 @@ namespace FineUIPro.Web.ProjectData
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 集团主数据项目下拉加载方法
|
||||
/// </summary>
|
||||
private void BindGrid()
|
||||
{
|
||||
var list = ProjectService.GetMasterProjectInfos();
|
||||
var list = ProjectService.GetMasterProjectDataInfos();
|
||||
string code = ttbCodeSearch.Text.Trim();
|
||||
string name = ttbNameSearch.Text.Trim();
|
||||
if (!string.IsNullOrWhiteSpace(code))
|
||||
{
|
||||
list = list.Where(x => x.PrjCode.Contains(code)).ToList();
|
||||
list = list.Where(x => x.Pro_code.Contains(code)).ToList();
|
||||
}
|
||||
if (!string.IsNullOrWhiteSpace(name))
|
||||
{
|
||||
list = list.Where(x => x.PrjName.Contains(name)).ToList();
|
||||
list = list.Where(x => x.Pro_name.Contains(name)).ToList();
|
||||
}
|
||||
|
||||
// 1.设置总项数(特别注意:数据库分页一定要设置总记录数RecordCount)
|
||||
Grid1.RecordCount = list.Count();
|
||||
// 2.获取当前分页数据
|
||||
@@ -234,6 +237,7 @@ namespace FineUIPro.Web.ProjectData
|
||||
Grid1.DataBind();
|
||||
}
|
||||
|
||||
|
||||
protected void Grid1_Sort(object sender, GridSortEventArgs e)
|
||||
{
|
||||
BindGrid();
|
||||
@@ -299,9 +303,25 @@ namespace FineUIPro.Web.ProjectData
|
||||
Alert.ShowInTop("坐标中不允许出现汉字,请输入正确的坐标!", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
string masterSysId = this.drpMasterBox1.Value;
|
||||
if (!string.IsNullOrWhiteSpace(masterSysId))
|
||||
{
|
||||
var relatePro = Funs.DB.Base_Project.FirstOrDefault(x => x.MasterSysId == masterSysId && (x.ProjectId != this.ProjectId || (this.ProjectId == null && x.ProjectId != null)));
|
||||
if (relatePro != null)
|
||||
{
|
||||
ShowNotify($"已存在关联此主数据的项目:({relatePro.ProjectCode}){relatePro.ProjectName}!", MessageBoxIcon.Warning);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ShowNotify($"请选择关联集团主数据项目!", MessageBoxIcon.Warning);
|
||||
return ;
|
||||
}
|
||||
|
||||
this.SaveData();
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 判断字符串中是否包含中文
|
||||
/// </summary>
|
||||
@@ -891,6 +911,26 @@ namespace FineUIPro.Web.ProjectData
|
||||
#endregion
|
||||
|
||||
protected void txtStartDate_Blur(object sender, EventArgs e)
|
||||
{
|
||||
ChangeDuration();
|
||||
//var sDate = Funs.GetNewDateTime(this.txtStartDate.Text);
|
||||
//var eDate = Funs.GetNewDateTime(this.txtEndDate.Text);
|
||||
//if (sDate.HasValue && eDate.HasValue && eDate.Value > sDate.Value)
|
||||
//{
|
||||
// int m1 = sDate.Value.Year * 12 + sDate.Value.Month;
|
||||
// int m2 = eDate.Value.Year * 12 + eDate.Value.Month;
|
||||
// int a = m2 - m1;
|
||||
|
||||
// TimeSpan ts1 = new TimeSpan(sDate.Value.Ticks);
|
||||
// TimeSpan ts2 = new TimeSpan(eDate.Value.AddMonths(0 - a).Ticks);
|
||||
// TimeSpan ts = ts1.Subtract(ts2).Duration();
|
||||
// this.txtDuration.Text = (Math.Round((ts.Days * 1.0 / 30), 1) + a).ToString();
|
||||
//}
|
||||
}
|
||||
/// <summary>
|
||||
/// 自动计算工期(月)
|
||||
/// </summary>
|
||||
private void ChangeDuration()
|
||||
{
|
||||
var sDate = Funs.GetNewDateTime(this.txtStartDate.Text);
|
||||
var eDate = Funs.GetNewDateTime(this.txtEndDate.Text);
|
||||
@@ -907,6 +947,7 @@ namespace FineUIPro.Web.ProjectData
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected void drpCountry_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
this.drpProvince.Items.Clear();
|
||||
@@ -990,5 +1031,85 @@ namespace FineUIPro.Web.ProjectData
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// 集团主数据境内外
|
||||
/// </summary>
|
||||
/// <param name="addType"></param>
|
||||
/// <returns></returns>
|
||||
protected string ConvertProAddType(object addType)
|
||||
{
|
||||
string result = string.Empty;
|
||||
string addtypeStr = addType.ToString();
|
||||
if (addType != null)
|
||||
{
|
||||
result = addtypeStr == "1" ? "境内" : addtypeStr == "2" ? "境外" : "";
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
#region 集团主数据选择触发事件
|
||||
/// <summary>
|
||||
/// 集团主数据选择触发事件
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void MasterData_Changed(object sender, EventArgs e)
|
||||
{
|
||||
string proName = this.drpMasterBox1.Text.Trim();
|
||||
string masterSysId = Grid1.SelectedRowID;
|
||||
if (!string.IsNullOrWhiteSpace(masterSysId))
|
||||
{
|
||||
var obj = Grid1.SelectedRow.Values;
|
||||
string num = obj[0].ToString();
|
||||
string code = obj[1].ToString();
|
||||
string name = obj[2].ToString();
|
||||
string shortname = obj[3].ToString();
|
||||
string startdate = obj[4].ToString();
|
||||
string enddate = obj[5].ToString();
|
||||
string address = obj[6].ToString();
|
||||
//string proaddtype = obj[7].ToString();
|
||||
string proaddtype = (Grid1.SelectedRow.FindControl("lblProaddtype") as AspNet.Label).Text;
|
||||
|
||||
var relatePro = Funs.DB.Base_Project.FirstOrDefault(x => x.MasterSysId == masterSysId && (x.ProjectId != this.ProjectId || (this.ProjectId == null && x.ProjectId != null)));
|
||||
if (relatePro != null)
|
||||
{
|
||||
ShowNotify($"已存在关联此主数据的项目:({relatePro.ProjectCode}){relatePro.ProjectName}!", MessageBoxIcon.Warning);
|
||||
}
|
||||
var existPro = Funs.DB.Base_Project.FirstOrDefault(x => (x.ProjectName == name || x.ProjectName == code) && (x.ProjectId != this.ProjectId || (this.ProjectId == null && x.ProjectId != null)));
|
||||
if (existPro != null)
|
||||
{
|
||||
ShowNotify($"已存在相同名称、编号的项目:({relatePro.ProjectCode}){relatePro.ProjectName}!", MessageBoxIcon.Warning);
|
||||
}
|
||||
|
||||
this.txtProjectName.Text = name;
|
||||
this.txtProjectCode.Text = code;
|
||||
if (!string.IsNullOrWhiteSpace(shortname))
|
||||
{
|
||||
this.txtShortName.Text = shortname;
|
||||
}
|
||||
if (!string.IsNullOrWhiteSpace(address))
|
||||
{
|
||||
this.txtProjectAddress.Text = address;
|
||||
}
|
||||
if (!string.IsNullOrWhiteSpace(startdate))
|
||||
{
|
||||
this.txtStartDate.Text = startdate;
|
||||
}
|
||||
if (!string.IsNullOrWhiteSpace(enddate))
|
||||
{
|
||||
this.txtEndDate.Text = enddate;
|
||||
ChangeDuration();
|
||||
}
|
||||
if (proaddtype == "境外")
|
||||
{
|
||||
this.ckbIsForeign.Checked = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
+371
-362
@@ -1,10 +1,10 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// </自动生成>
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.ProjectData
|
||||
@@ -15,479 +15,488 @@ namespace FineUIPro.Web.ProjectData
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// form1 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// PageManager1 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// SimpleForm1 控件。
|
||||
/// SimpleForm1 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Form SimpleForm1;
|
||||
|
||||
/// <summary>
|
||||
/// txtProjecyId 控件。
|
||||
/// txtProjecyId control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtProjecyId;
|
||||
|
||||
/// <summary>
|
||||
/// txtProjectName 控件。
|
||||
/// drpMasterBox1 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtProjectName;
|
||||
|
||||
/// <summary>
|
||||
/// drpProjectAttribute 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpProjectAttribute;
|
||||
|
||||
/// <summary>
|
||||
/// txtProjectCode 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtProjectCode;
|
||||
|
||||
/// <summary>
|
||||
/// txtShortName 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtShortName;
|
||||
|
||||
/// <summary>
|
||||
/// drpProjectType 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpProjectType;
|
||||
|
||||
/// <summary>
|
||||
/// drpProjectState 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpProjectState;
|
||||
|
||||
/// <summary>
|
||||
/// drpProjectState2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpProjectState2;
|
||||
|
||||
/// <summary>
|
||||
/// drpProjectNature 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpProjectNature;
|
||||
|
||||
/// <summary>
|
||||
/// txtStartDate 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtStartDate;
|
||||
|
||||
/// <summary>
|
||||
/// txtEndDate 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtEndDate;
|
||||
|
||||
/// <summary>
|
||||
/// txtContractNo 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtContractNo;
|
||||
|
||||
/// <summary>
|
||||
/// txtDuration 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.NumberBox txtDuration;
|
||||
|
||||
/// <summary>
|
||||
/// drpProjectManager 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpProjectManager;
|
||||
|
||||
/// <summary>
|
||||
/// drpConstructionManager 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpConstructionManager;
|
||||
|
||||
/// <summary>
|
||||
/// drpQAManager 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpQAManager;
|
||||
|
||||
/// <summary>
|
||||
/// drpHSSEManager 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpHSSEManager;
|
||||
|
||||
/// <summary>
|
||||
/// drpDriveManager 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpDriveManager;
|
||||
|
||||
/// <summary>
|
||||
/// txtProjectAddress 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtProjectAddress;
|
||||
|
||||
/// <summary>
|
||||
/// drpUnit 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpUnit;
|
||||
|
||||
/// <summary>
|
||||
/// ckbIsForeign 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.CheckBox ckbIsForeign;
|
||||
|
||||
/// <summary>
|
||||
/// txtWorkRange 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextArea txtWorkRange;
|
||||
|
||||
/// <summary>
|
||||
/// txtRemark 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextArea txtRemark;
|
||||
|
||||
/// <summary>
|
||||
/// txtProjectInsurance 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextArea txtProjectInsurance;
|
||||
|
||||
/// <summary>
|
||||
/// txtProjectMoney 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.NumberBox txtProjectMoney;
|
||||
|
||||
/// <summary>
|
||||
/// txtConstructionMoney 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.NumberBox txtConstructionMoney;
|
||||
|
||||
/// <summary>
|
||||
/// txtTelephone 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtTelephone;
|
||||
|
||||
/// <summary>
|
||||
/// drpCountry 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpCountry;
|
||||
|
||||
/// <summary>
|
||||
/// drpProvince 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpProvince;
|
||||
|
||||
/// <summary>
|
||||
/// txtCity 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtCity;
|
||||
|
||||
/// <summary>
|
||||
/// txtMapCoordinates 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtMapCoordinates;
|
||||
|
||||
/// <summary>
|
||||
/// bottomPanel 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ContentPanel bottomPanel;
|
||||
|
||||
/// <summary>
|
||||
/// txtEnglishRemark 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtEnglishRemark;
|
||||
|
||||
/// <summary>
|
||||
/// txtProgress 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.NumberBox txtProgress;
|
||||
|
||||
/// <summary>
|
||||
/// drpMasterBox1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownBox drpMasterBox1;
|
||||
|
||||
/// <summary>
|
||||
/// Panel7 控件。
|
||||
/// Panel7 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Panel Panel7;
|
||||
|
||||
/// <summary>
|
||||
/// Form5 控件。
|
||||
/// Form5 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Form Form5;
|
||||
|
||||
/// <summary>
|
||||
/// ttbCodeSearch 控件。
|
||||
/// ttbCodeSearch control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TwinTriggerBox ttbCodeSearch;
|
||||
|
||||
/// <summary>
|
||||
/// ttbNameSearch 控件。
|
||||
/// ttbNameSearch control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TwinTriggerBox ttbNameSearch;
|
||||
|
||||
/// <summary>
|
||||
/// Grid1 控件。
|
||||
/// Grid1 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Grid Grid1;
|
||||
|
||||
/// <summary>
|
||||
/// drpSubjectUnit 控件。
|
||||
/// lblProaddtype control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblProaddtype;
|
||||
|
||||
/// <summary>
|
||||
/// txtProjectName control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtProjectName;
|
||||
|
||||
/// <summary>
|
||||
/// drpProjectAttribute control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpProjectAttribute;
|
||||
|
||||
/// <summary>
|
||||
/// txtProjectCode control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtProjectCode;
|
||||
|
||||
/// <summary>
|
||||
/// txtShortName control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtShortName;
|
||||
|
||||
/// <summary>
|
||||
/// drpProjectType control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpProjectType;
|
||||
|
||||
/// <summary>
|
||||
/// drpProjectState control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpProjectState;
|
||||
|
||||
/// <summary>
|
||||
/// drpProjectState2 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpProjectState2;
|
||||
|
||||
/// <summary>
|
||||
/// drpProjectNature control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpProjectNature;
|
||||
|
||||
/// <summary>
|
||||
/// txtStartDate control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtStartDate;
|
||||
|
||||
/// <summary>
|
||||
/// txtEndDate control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DatePicker txtEndDate;
|
||||
|
||||
/// <summary>
|
||||
/// txtContractNo control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtContractNo;
|
||||
|
||||
/// <summary>
|
||||
/// txtDuration control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.NumberBox txtDuration;
|
||||
|
||||
/// <summary>
|
||||
/// drpProjectManager control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpProjectManager;
|
||||
|
||||
/// <summary>
|
||||
/// drpConstructionManager control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpConstructionManager;
|
||||
|
||||
/// <summary>
|
||||
/// drpQAManager control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpQAManager;
|
||||
|
||||
/// <summary>
|
||||
/// drpHSSEManager control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpHSSEManager;
|
||||
|
||||
/// <summary>
|
||||
/// drpDriveManager control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpDriveManager;
|
||||
|
||||
/// <summary>
|
||||
/// txtProjectAddress control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtProjectAddress;
|
||||
|
||||
/// <summary>
|
||||
/// drpUnit control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpUnit;
|
||||
|
||||
/// <summary>
|
||||
/// ckbIsForeign control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.CheckBox ckbIsForeign;
|
||||
|
||||
/// <summary>
|
||||
/// txtWorkRange control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextArea txtWorkRange;
|
||||
|
||||
/// <summary>
|
||||
/// txtRemark control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextArea txtRemark;
|
||||
|
||||
/// <summary>
|
||||
/// txtProjectInsurance control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextArea txtProjectInsurance;
|
||||
|
||||
/// <summary>
|
||||
/// txtProjectMoney control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.NumberBox txtProjectMoney;
|
||||
|
||||
/// <summary>
|
||||
/// txtConstructionMoney control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.NumberBox txtConstructionMoney;
|
||||
|
||||
/// <summary>
|
||||
/// txtTelephone control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtTelephone;
|
||||
|
||||
/// <summary>
|
||||
/// drpCountry control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpCountry;
|
||||
|
||||
/// <summary>
|
||||
/// drpProvince control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpProvince;
|
||||
|
||||
/// <summary>
|
||||
/// txtCity control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtCity;
|
||||
|
||||
/// <summary>
|
||||
/// txtMapCoordinates control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtMapCoordinates;
|
||||
|
||||
/// <summary>
|
||||
/// bottomPanel control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ContentPanel bottomPanel;
|
||||
|
||||
/// <summary>
|
||||
/// txtEnglishRemark control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtEnglishRemark;
|
||||
|
||||
/// <summary>
|
||||
/// txtProgress control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.NumberBox txtProgress;
|
||||
|
||||
/// <summary>
|
||||
/// drpSubjectUnit control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpSubjectUnit;
|
||||
|
||||
/// <summary>
|
||||
/// drpSubjectProject 控件。
|
||||
/// drpSubjectProject control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpSubjectProject;
|
||||
|
||||
/// <summary>
|
||||
/// Toolbar1 控件。
|
||||
/// Toolbar1 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Toolbar Toolbar1;
|
||||
|
||||
/// <summary>
|
||||
/// ckIsUpTotalMonth 控件。
|
||||
/// ckIsUpTotalMonth control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.CheckBox ckIsUpTotalMonth;
|
||||
|
||||
/// <summary>
|
||||
/// btnAttachUrl 控件。
|
||||
/// btnAttachUrl control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnAttachUrl;
|
||||
|
||||
/// <summary>
|
||||
/// btnAttachUrl2 控件。
|
||||
/// btnAttachUrl2 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnAttachUrl2;
|
||||
|
||||
/// <summary>
|
||||
/// btnSave 控件。
|
||||
/// btnSave control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnSave;
|
||||
|
||||
/// <summary>
|
||||
/// btnClose 控件。
|
||||
/// btnClose control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnClose;
|
||||
|
||||
/// <summary>
|
||||
/// hdCompileMan 控件。
|
||||
/// hdCompileMan control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.HiddenField hdCompileMan;
|
||||
|
||||
/// <summary>
|
||||
/// WindowAtt 控件。
|
||||
/// WindowAtt control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Window WindowAtt;
|
||||
}
|
||||
|
||||
@@ -1312,5 +1312,225 @@ namespace FineUIPro.Web
|
||||
|
||||
return ip;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 多表头导出方法
|
||||
/// </summary>
|
||||
/// <param name="grid"></param>
|
||||
/// <returns></returns>
|
||||
public string GetGridMultiHeaderTableHtml(Grid grid)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.Append("<meta http-equiv=\"content-type\" content=\"application/excel; charset=UTF-8\"/>");
|
||||
sb.Append("<table cellspacing=\"0\" rules=\"all\" border=\"1\" style=\"border-collapse:collapse;\">");
|
||||
//sb.Append("<tr>");
|
||||
//foreach (GridColumn column in grid.Columns)
|
||||
//{
|
||||
// if (column.ColumnID != "ckbIsSelected" && column.ColumnID != "Punish" && column.ColumnID != "Del")
|
||||
// {
|
||||
// sb.AppendFormat("<td>{0}</td>", column.HeaderText);
|
||||
// }
|
||||
//}
|
||||
//sb.Append("</tr>");
|
||||
MultiHeaderTable mht = new MultiHeaderTable();
|
||||
mht.ResolveMultiHeaderTable(grid.Columns);
|
||||
|
||||
foreach (List<object[]> rows in mht.MultiTable)
|
||||
{
|
||||
sb.Append("<tr>");
|
||||
foreach (object[] cell in rows)
|
||||
{
|
||||
int rowspan = Convert.ToInt32(cell[0]);
|
||||
int colspan = Convert.ToInt32(cell[1]);
|
||||
GridColumn column = cell[2] as GridColumn;
|
||||
if (column.Hidden == false)
|
||||
{
|
||||
sb.AppendFormat("<th{0}{1}{2}>{3}</th>",
|
||||
rowspan != 1 ? " rowspan=\"" + rowspan + "\"" : "",
|
||||
colspan != 1 ? " colspan=\"" + colspan + "\"" : "",
|
||||
colspan != 1 ? " style=\"text-align:center;\"" : "",
|
||||
column.HeaderText);
|
||||
}
|
||||
}
|
||||
sb.Append("</tr>");
|
||||
}
|
||||
foreach (GridRow row in grid.Rows)
|
||||
{
|
||||
sb.Append("<tr>");
|
||||
//if (row.Grid.gr.Hidden == false) {
|
||||
foreach (GridColumn column in mht.Columns)
|
||||
{
|
||||
if (column.ColumnID != "ckbIsSelected" && column.ColumnID != "Punish" && column.ColumnID != "Del")
|
||||
{
|
||||
string html = row.Values[column.ColumnIndex].ToString();
|
||||
if (column.ColumnID == "tfNumber")
|
||||
{
|
||||
html = (row.FindControl("lblNumber") as AspNet.Label).Text;
|
||||
}
|
||||
else if (column.ColumnID == "tfPageIndex")
|
||||
{
|
||||
html = (row.FindControl("lblPageIndex") as AspNet.Label).Text;
|
||||
}
|
||||
else if (column.ColumnID == "tfState")
|
||||
{
|
||||
html = (row.FindControl("lblState") as AspNet.Label).Text;
|
||||
}
|
||||
else if (column.ColumnID == "tfStatus")
|
||||
{
|
||||
html = (row.FindControl("lblStatus") as AspNet.Label).Text;
|
||||
}
|
||||
sb.AppendFormat("<td>{0}</td>", html);
|
||||
}
|
||||
}
|
||||
//}
|
||||
sb.Append("</tr>");
|
||||
}
|
||||
|
||||
sb.Append("</table>");
|
||||
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
|
||||
|
||||
#region 多表头处理
|
||||
|
||||
/// <summary>
|
||||
/// 处理多表头的类
|
||||
/// </summary>
|
||||
public class MultiHeaderTable
|
||||
{
|
||||
// 包含 rowspan,colspan 的多表头,方便生成 HTML 的 table 标签
|
||||
public List<List<object[]>> MultiTable = new List<List<object[]>>();
|
||||
// 最终渲染的列数组
|
||||
public List<GridColumn> Columns = new List<GridColumn>();
|
||||
|
||||
public void ResolveMultiHeaderTable(GridColumnCollection columns)
|
||||
{
|
||||
List<object[]> row = new List<object[]>();
|
||||
foreach (GridColumn column in columns)
|
||||
{
|
||||
object[] cell = new object[4];
|
||||
cell[0] = 1; // rowspan
|
||||
cell[1] = 1; // colspan
|
||||
cell[2] = column;
|
||||
cell[3] = null;
|
||||
|
||||
row.Add(cell);
|
||||
}
|
||||
|
||||
ResolveMultiTable(row, 0);
|
||||
ResolveColumns(row);
|
||||
}
|
||||
|
||||
private void ResolveColumns(List<object[]> row)
|
||||
{
|
||||
foreach (object[] cell in row)
|
||||
{
|
||||
GroupField groupField = cell[2] as GroupField;
|
||||
if (groupField != null && groupField.Columns.Count > 0)
|
||||
{
|
||||
List<object[]> subrow = new List<object[]>();
|
||||
foreach (GridColumn column in groupField.Columns)
|
||||
{
|
||||
subrow.Add(new object[]
|
||||
{
|
||||
1,
|
||||
1,
|
||||
column,
|
||||
groupField
|
||||
});
|
||||
}
|
||||
|
||||
ResolveColumns(subrow);
|
||||
}
|
||||
else
|
||||
{
|
||||
Columns.Add(cell[2] as GridColumn);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void ResolveMultiTable(List<object[]> row, int level)
|
||||
{
|
||||
List<object[]> nextrow = new List<object[]>();
|
||||
|
||||
foreach (object[] cell in row)
|
||||
{
|
||||
GroupField groupField = cell[2] as GroupField;
|
||||
if (groupField != null && groupField.Columns.Count > 0)
|
||||
{
|
||||
// 如果当前列包含子列,则更改当前列的 colspan,以及增加父列(向上递归)的colspan
|
||||
cell[1] = Convert.ToInt32(groupField.Columns.Count);
|
||||
PlusColspan(level - 1, cell[3] as GridColumn, groupField.Columns.Count - 1);
|
||||
|
||||
foreach (GridColumn column in groupField.Columns)
|
||||
{
|
||||
nextrow.Add(new object[]
|
||||
{
|
||||
1,
|
||||
1,
|
||||
column,
|
||||
groupField
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
MultiTable.Add(row);
|
||||
|
||||
// 如果当前下一行,则增加上一行(向上递归)中没有子列的列的 rowspan
|
||||
if (nextrow.Count > 0)
|
||||
{
|
||||
PlusRowspan(level);
|
||||
|
||||
ResolveMultiTable(nextrow, level + 1);
|
||||
}
|
||||
}
|
||||
|
||||
private void PlusRowspan(int level)
|
||||
{
|
||||
if (level < 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
foreach (object[] cells in MultiTable[level])
|
||||
{
|
||||
GroupField groupField = cells[2] as GroupField;
|
||||
if (groupField != null && groupField.Columns.Count > 0)
|
||||
{
|
||||
// ...
|
||||
}
|
||||
else
|
||||
{
|
||||
cells[0] = Convert.ToInt32(cells[0]) + 1;
|
||||
}
|
||||
}
|
||||
|
||||
PlusRowspan(level - 1);
|
||||
}
|
||||
|
||||
private void PlusColspan(int level, GridColumn parent, int plusCount)
|
||||
{
|
||||
if (level < 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
foreach (object[] cells in MultiTable[level])
|
||||
{
|
||||
GridColumn column = cells[2] as GridColumn;
|
||||
if (column == parent)
|
||||
{
|
||||
cells[1] = Convert.ToInt32(cells[1]) + plusCount;
|
||||
|
||||
PlusColspan(level - 1, cells[3] as GridColumn, plusCount);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user