五环大屏;进度管理;等
This commit is contained in:
@@ -31,7 +31,7 @@
|
||||
<Items>
|
||||
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="各项目基本情况" EnableCollapse="true"
|
||||
runat="server" BoxFlex="1" DataKeyNames="ProjectId" DataIDField="ProjectId" AllowSorting="true" MarginRight="15px"
|
||||
SortField="ProjectName" SortDirection="ASC" OnSort="Grid1_Sort" EnableColumnLines="true" AllowPaging="true"
|
||||
SortField="ProjectCode" SortDirection="ASC" OnSort="Grid1_Sort" EnableColumnLines="true" AllowPaging="true"
|
||||
IsDatabasePaging="true" PageSize="20" OnPageIndexChange="Grid1_PageIndexChange" ForceFit="true"
|
||||
EnableTextSelection="True">
|
||||
<Toolbars>
|
||||
@@ -53,7 +53,7 @@
|
||||
<asp:Label ID="labNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
<f:RenderField Width="120px" ColumnID="ProjectCode" DataField="ProjectCode" FieldType="String" HeaderText="项目号" TextAlign="Left"
|
||||
<f:RenderField Width="100px" ColumnID="ProjectCode" DataField="ProjectCode" FieldType="String" HeaderText="项目号" TextAlign="Left"
|
||||
HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="450px" ColumnID="ProjectName" ExpandUnusedSpace="true" DataField="ProjectName" FieldType="String" HeaderText="项目名称" TextAlign="Left"
|
||||
@@ -83,9 +83,9 @@
|
||||
</f:Tab>
|
||||
<f:Tab ID="Tab2" Title="月度计划统计" BodyPadding="5px" Layout="VBox" IconFont="Bookmark" runat="server">
|
||||
<Items>
|
||||
<f:Grid ID="Grid2" ShowBorder="true" ShowHeader="false" Title="各项目基本情况" EnableCollapse="true"
|
||||
<f:Grid ID="Grid2" ShowBorder="true" ShowHeader="false" Title="月度计划统计" EnableCollapse="true"
|
||||
runat="server" BoxFlex="1" DataKeyNames="ProjectId" DataIDField="ProjectId" AllowSorting="true" MarginRight="15px"
|
||||
SortField="ProjectName" SortDirection="ASC" OnSort="Grid2_Sort" EnableColumnLines="true" AllowPaging="true"
|
||||
SortField="ProjectCode" SortDirection="ASC" OnSort="Grid2_Sort" EnableColumnLines="true" AllowPaging="true"
|
||||
IsDatabasePaging="true" PageSize="20" OnPageIndexChange="Grid2_PageIndexChange" ForceFit="true" EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid2_RowDoubleClick"
|
||||
EnableTextSelection="True">
|
||||
<Toolbars>
|
||||
@@ -110,10 +110,10 @@
|
||||
<f:TemplateField ColumnID="tfNumber" Width="55px" HeaderText="序号" HeaderTextAlign="Center"
|
||||
TextAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="Label1" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
|
||||
<asp:Label ID="Label1" runat="server" Text='<%# Grid2.PageIndex * Grid2.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
<f:RenderField Width="150px" ColumnID="ProjectCode" DataField="ProjectCode" FieldType="String" HeaderText="项目号" TextAlign="Left"
|
||||
<f:RenderField Width="100px" ColumnID="ProjectCode" DataField="ProjectCode" FieldType="String" HeaderText="项目号" TextAlign="Left"
|
||||
HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="350px" ColumnID="ProjectName" ExpandUnusedSpace="true" DataField="ProjectName" FieldType="String" HeaderText="项目名称" TextAlign="Left"
|
||||
@@ -160,9 +160,9 @@
|
||||
</f:Tab>
|
||||
<f:Tab ID="Tab3" Title="周度计划统计" BodyPadding="5px" Layout="Fit" IconFont="Bookmark" runat="server">
|
||||
<Items>
|
||||
<f:Grid ID="Grid3" ShowBorder="true" ShowHeader="false" Title="各项目基本情况" EnableCollapse="true"
|
||||
<f:Grid ID="Grid3" ShowBorder="true" ShowHeader="false" Title="周度计划统计" EnableCollapse="true"
|
||||
runat="server" BoxFlex="1" DataKeyNames="ProjectId" DataIDField="ProjectId" AllowSorting="true" MarginRight="15px"
|
||||
SortField="ProjectName" SortDirection="ASC" OnSort="Grid3_Sort" EnableColumnLines="true" AllowPaging="true"
|
||||
SortField="ProjectCode" SortDirection="ASC" OnSort="Grid3_Sort" EnableColumnLines="true" AllowPaging="true"
|
||||
IsDatabasePaging="true" PageSize="20" OnPageIndexChange="Grid3_PageIndexChange" ForceFit="true" EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid3_RowDoubleClick"
|
||||
EnableTextSelection="True">
|
||||
<Toolbars>
|
||||
@@ -184,10 +184,10 @@
|
||||
<f:TemplateField ColumnID="tfNumber" Width="55px" HeaderText="序号" HeaderTextAlign="Center"
|
||||
TextAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="Label2" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
|
||||
<asp:Label ID="Label2" runat="server" Text='<%# Grid3.PageIndex * Grid3.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
<f:RenderField Width="150px" ColumnID="ProjectCode" DataField="ProjectCode" FieldType="String" HeaderText="项目号" TextAlign="Left"
|
||||
<f:RenderField Width="100px" ColumnID="ProjectCode" DataField="ProjectCode" FieldType="String" HeaderText="项目号" TextAlign="Left"
|
||||
HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="350px" ColumnID="ProjectName" ExpandUnusedSpace="true" DataField="ProjectName" FieldType="String" HeaderText="项目名称" TextAlign="Left"
|
||||
@@ -232,6 +232,93 @@
|
||||
</f:Grid>
|
||||
</Items>
|
||||
</f:Tab>
|
||||
<f:Tab ID="Tab4" Title="实物工程量统计" BodyPadding="5px" Layout="Fit" IconFont="Bookmark" runat="server">
|
||||
<Items>
|
||||
<f:Grid ID="Grid4" ShowBorder="true" ShowHeader="false" Title="实物工程量统计" EnableCollapse="true"
|
||||
runat="server" BoxFlex="1" DataKeyNames="QuantityCompletionId" DataIDField="QuantityCompletionId" AllowSorting="true" MarginRight="15px"
|
||||
SortField="ProjectCode,Name" SortDirection="ASC" OnSort="Grid4_Sort" EnableColumnLines="true" AllowPaging="true"
|
||||
IsDatabasePaging="true" PageSize="20" OnPageIndexChange="Grid4_PageIndexChange" ForceFit="true"
|
||||
EnableTextSelection="True">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar4" Position="Top" runat="server" ToolbarAlign="Left">
|
||||
<Items>
|
||||
<f:DropDownList ID="drpProject4" runat="server" Label="项目" Width="400px" LabelWidth="80px" LabelAlign="Right"
|
||||
EnableEdit="true" OnSelectedIndexChanged="TextBox4_TextChanged" AutoPostBack="true">
|
||||
</f:DropDownList>
|
||||
<f:TextBox runat="server" ID="txtTypeName" Label="类型" LabelWidth="150px" LabelAlign="Right" AutoPostBack="true" OnTextChanged="TextBox4_TextChanged"></f:TextBox>
|
||||
<f:ToolbarFill runat="server"></f:ToolbarFill>
|
||||
<f:Button ID="Button3" EnablePostBack="false" ToolTip="关闭" Text="关闭" runat="server" Icon="SystemClose" OnClientClick="closeNow();">
|
||||
</f:Button>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
<Columns>
|
||||
<f:TemplateField ColumnID="tfNumber" Width="55px" HeaderText="序号" HeaderTextAlign="Center"
|
||||
TextAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="Label3" runat="server" Text='<%# Grid4.PageIndex * Grid4.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
<f:RenderField Width="100px" ColumnID="ProjectCode" DataField="ProjectCode" FieldType="String" HeaderText="项目号" TextAlign="Left"
|
||||
HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="350px" ColumnID="ProjectName" ExpandUnusedSpace="true" DataField="ProjectName" FieldType="String" HeaderText="项目名称" TextAlign="Left"
|
||||
HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="180px" ColumnID="Name" ExpandUnusedSpace="true" DataField="Name" FieldType="String" HeaderText="类型" TextAlign="Left"
|
||||
HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="80px" ColumnID="Unit" ExpandUnusedSpace="true" DataField="Unit" FieldType="String" HeaderText="单位" TextAlign="Left"
|
||||
HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="120px" ColumnID="DesignNum" ExpandUnusedSpace="true" DataField="DesignNum" FieldType="String" HeaderText="设计数量" TextAlign="Left"
|
||||
HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:GroupField HeaderText="本期完成情况" TextAlign="Center">
|
||||
<Columns>
|
||||
<f:RenderField Width="100px" ColumnID="PlanNum" DataField="PlanNum" FieldType="String" HeaderText="计划项" TextAlign="Right"
|
||||
HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="RealNum" DataField="RealNum" FieldType="String" HeaderText="实际完成" TextAlign="Right"
|
||||
HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="Rate" DataField="Rate" FieldType="String" HeaderText="完成率(%)" TextAlign="Right"
|
||||
HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="NextNum" DataField="NextNum" FieldType="String" HeaderText="下月计划" TextAlign="Right"
|
||||
HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
</Columns>
|
||||
</f:GroupField>
|
||||
<f:GroupField HeaderText="累计完成情况" TextAlign="Center">
|
||||
<Columns>
|
||||
<f:RenderField Width="100px" ColumnID="TotalPlanNum" DataField="TotalPlanNum" FieldType="String" HeaderText="计划项" TextAlign="Right"
|
||||
HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="TotalRealNum" DataField="TotalRealNum" FieldType="String" HeaderText="实际完成" TextAlign="Right"
|
||||
HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="100px" ColumnID="TotalRate" DataField="TotalRate" FieldType="String" HeaderText="完成率(%)" TextAlign="Right"
|
||||
HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
</Columns>
|
||||
</f:GroupField>
|
||||
<f:RenderField Width="120px" ColumnID="SumRate" ExpandUnusedSpace="true" DataField="SumRate" FieldType="String" HeaderText="完成率(%)" TextAlign="Left"
|
||||
HeaderTextAlign="Center">
|
||||
</f:RenderField>
|
||||
</Columns>
|
||||
<PageItems>
|
||||
<f:ToolbarSeparator ID="ToolbarSeparator4" runat="server">
|
||||
</f:ToolbarSeparator>
|
||||
<f:ToolbarText ID="ToolbarText4" runat="server" Text="每页记录数:">
|
||||
</f:ToolbarText>
|
||||
<f:DropDownList runat="server" ID="ddlPageSize4" Width="80px" AutoPostBack="true"
|
||||
OnSelectedIndexChanged="ddlPageSize4_SelectedIndexChanged">
|
||||
</f:DropDownList>
|
||||
</PageItems>
|
||||
</f:Grid>
|
||||
</Items>
|
||||
</f:Tab>
|
||||
<f:Tab ID="TabOnlineMenuSet" Title="个人完成情况统计" BodyPadding="5px" Layout="Fit" IconFont="Bookmark" runat="server" Hidden="True">
|
||||
<Items>
|
||||
</Items>
|
||||
|
||||
@@ -4,6 +4,7 @@ using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace FineUIPro.Web.DataShow
|
||||
{
|
||||
@@ -16,14 +17,17 @@ namespace FineUIPro.Web.DataShow
|
||||
Funs.DropDownPageSize(this.ddlPageSize);
|
||||
Funs.DropDownPageSize(this.ddlPageSize2);
|
||||
Funs.DropDownPageSize(this.ddlPageSize3);
|
||||
Funs.DropDownPageSize(this.ddlPageSize4);
|
||||
ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
|
||||
ddlPageSize2.SelectedValue = Grid2.PageSize.ToString();
|
||||
ddlPageSize3.SelectedValue = Grid3.PageSize.ToString();
|
||||
ddlPageSize4.SelectedValue = Grid4.PageSize.ToString();
|
||||
BLL.ProjectService.InitProjectDropDownList(this.drpProject, true);
|
||||
BLL.ProjectService.InitProjectDropDownList(this.drpProject2, true);
|
||||
BLL.UserService.InitSGBUser(this.drpDutyPerson2, true);
|
||||
BLL.ProjectService.InitProjectDropDownList(this.drpProject3, true);
|
||||
BLL.UserService.InitSGBUser(this.drpDutyPerson3, true);
|
||||
BLL.ProjectService.InitProjectDropDownList(this.drpProject4, true);
|
||||
BindGrid1();
|
||||
|
||||
//统计月份信息
|
||||
@@ -60,7 +64,7 @@ left join (
|
||||
where w.RealDate is not null and w.RealDate<=w.PlanDate
|
||||
GROUP BY w.ProjectId
|
||||
) AS MonthPlanOK ON MonthPlanOK.ProjectId=p.ProjectId
|
||||
where ProjectState =1 ";
|
||||
where isnull(p.ProjectState,1)=1 ";
|
||||
List<SqlParameter> listStr = new List<SqlParameter>();
|
||||
string cpara = string.Empty;
|
||||
if (this.drpProject.SelectedValue != Const._Null)
|
||||
@@ -104,11 +108,18 @@ left join (
|
||||
tb.Columns.Add(new DataColumn("TotalRate", typeof(decimal)));
|
||||
|
||||
Model.SGGLDB db = Funs.DB;
|
||||
var projects = from x in db.Base_Project where x.ProjectState == "1" orderby x.ProjectName select x;
|
||||
var projects = from x in db.Base_Project where x.ProjectState == Const.ProjectState_1 || x.ProjectState == null orderby x.ProjectName select x;
|
||||
if (this.drpProject2.SelectedValue != BLL.Const._Null)
|
||||
{
|
||||
projects = projects.Where(x => x.ProjectId == this.drpProject2.SelectedValue).OrderBy(x => x.ProjectName);
|
||||
}
|
||||
if (this.drpDutyPerson2.SelectedValue != BLL.Const._Null)
|
||||
{
|
||||
var lstProject = (from x in db.JDGL_WeekPlan
|
||||
where x.DutyPerson.Contains(this.drpDutyPerson2.SelectedValue)
|
||||
select x.ProjectId).ToList();
|
||||
projects = projects.Where(x => lstProject.Contains(x.ProjectId)).OrderBy(x => x.ProjectName);
|
||||
}
|
||||
//////统计月份信息
|
||||
//DateTime months = Convert.ToDateTime(DateTime.Now.Year.ToString() + "-" + DateTime.Now.Month.ToString() + "-01");
|
||||
//if (DateTime.Now.Day < 26)
|
||||
@@ -178,11 +189,18 @@ left join (
|
||||
tb.Columns.Add(new DataColumn("TotalRate", typeof(decimal)));
|
||||
|
||||
Model.SGGLDB db = Funs.DB;
|
||||
var projects = from x in db.Base_Project where x.ProjectState == "1" orderby x.ProjectName select x;
|
||||
var projects = from x in db.Base_Project where x.ProjectState == Const.ProjectState_1 || x.ProjectState == null orderby x.ProjectName select x;
|
||||
if (this.drpProject3.SelectedValue != BLL.Const._Null)
|
||||
{
|
||||
projects = projects.Where(x => x.ProjectId == this.drpProject3.SelectedValue).OrderBy(x => x.ProjectName);
|
||||
}
|
||||
if (this.drpDutyPerson3.SelectedValue != BLL.Const._Null)
|
||||
{
|
||||
var lstProject = (from x in db.JDGL_WeekPlan
|
||||
where x.DutyPerson.Contains(this.drpDutyPerson3.SelectedValue)
|
||||
select x.ProjectId).ToList();
|
||||
projects = projects.Where(x => lstProject.Contains(x.ProjectId)).OrderBy(x => x.ProjectName);
|
||||
}
|
||||
//统计月份信息
|
||||
DateTime months = Convert.ToDateTime(DateTime.Now.Year.ToString() + "-" + DateTime.Now.Month.ToString() + "-01");
|
||||
if (DateTime.Now.Day < 26)
|
||||
@@ -234,6 +252,51 @@ left join (
|
||||
Grid3.DataBind();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 绑定数据
|
||||
/// </summary>
|
||||
private void BindGrid4()
|
||||
{
|
||||
StringBuilder strSql = new StringBuilder();
|
||||
strSql.AppendLine($@"select pro.ProjectId,pro.ProjectCode,pro.ProjectName,qc.QuantityCompletionId,ql.Name,ql.Unit,ql.DesignNum,ql.SortIndex,qco.RealNum as RealNum,qco.NextNum as NextNum,
|
||||
CONVERT(NVARCHAR(10), ((CAST(CASE ISNULL(qco.PlanNum, 0) WHEN 0 THEN 0 ELSE 100 * ISNULL(qco.RealNum, 0) / (1.0 * qco.PlanNum) END AS DECIMAL(9, 2))))) AS Rate,
|
||||
CONVERT(FLOAT, (select sum(ISNULL(PlanNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month)) as TotalPlanNum,
|
||||
CONVERT(FLOAT, (select sum(ISNULL(RealNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month)) as TotalRealNum,
|
||||
CONVERT(NVARCHAR(10), ((CAST(CASE(select sum(ISNULL(PlanNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month) WHEN 0 THEN 0 ELSE 100 * (select sum(ISNULL(RealNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month) / (1.0 * (select sum(ISNULL(PlanNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month)) END AS DECIMAL(9, 2))))) AS TotalRate,
|
||||
CONVERT(NVARCHAR(10), ((CAST(CASE ISNULL(ql.DesignNum, 0) WHEN 0 THEN 0 ELSE 100 * (select sum(ISNULL(RealNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month) / (1.0 * ql.DesignNum) END AS DECIMAL(9, 2))))) AS SumRate,
|
||||
CONVERT(FLOAT, (select sum(ISNULL(PlanNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months < qc.Months)) as LastTotalPlanNum,
|
||||
CONVERT(FLOAT, (select sum(ISNULL(RealNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months < qc.Months)) as LastTotalRealNum ");
|
||||
strSql.AppendLine(@"from JDGL_QuantityList ql
|
||||
left join JDGL_QuantityCompletion qc on ql.QuantityListId=qc.QuantityListId
|
||||
left join Base_Project pro on pro.ProjectId=qc.ProjectId
|
||||
left join (select PlanNum,RealNum,NextNum,QuantityListId from JDGL_QuantityCompletion where Months=@month) qco on qco.QuantityListId=ql.QuantityListId ");
|
||||
strSql.AppendLine("where isnull(pro.ProjectState,1)=1 and qc.QuantityCompletionId=(select top 1 QuantityCompletionId from JDGL_QuantityCompletion q where q.QuantityListId=qc.QuantityListId and q.Months<=@month order by q.Months desc) ");
|
||||
List<SqlParameter> listStr = new List<SqlParameter>();
|
||||
string month = string.Format("{0:yyyy-MM-01}", DateTime.Now);
|
||||
if (DateTime.Now.Day < 26)
|
||||
{
|
||||
month = string.Format("{0:yyyy-MM-01}", DateTime.Now.AddMonths(-1));
|
||||
}
|
||||
listStr.Add(new SqlParameter("@month", month));
|
||||
if (this.drpProject4.SelectedValue != Const._Null)
|
||||
{
|
||||
strSql.AppendLine("and qc.ProjectId = @projectId ");
|
||||
listStr.Add(new SqlParameter("@projectId", this.drpProject4.SelectedValue));
|
||||
}
|
||||
if (!string.IsNullOrEmpty(this.txtTypeName.Text.Trim()))
|
||||
{
|
||||
strSql.AppendLine("and ql.Name like @typeName ");
|
||||
listStr.Add(new SqlParameter("@typeName", "%" + this.txtTypeName.Text.Trim() + "%"));
|
||||
}
|
||||
strSql.AppendLine("order by pro.ProjectCode,ql.Name ");
|
||||
SqlParameter[] parameter = listStr.ToArray();
|
||||
DataTable tb = SQLHelper.GetDataTableRunText(strSql.ToString(), parameter);
|
||||
Grid4.RecordCount = tb.Rows.Count;
|
||||
var table = this.GetPagedDataTable(Grid4, tb);
|
||||
Grid4.DataSource = table;
|
||||
Grid4.DataBind();
|
||||
}
|
||||
|
||||
#region 查询
|
||||
/// <summary>
|
||||
/// 查询
|
||||
@@ -365,6 +428,51 @@ left join (
|
||||
}
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// 查询
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void TextBox4_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
this.BindGrid4();
|
||||
}
|
||||
|
||||
#region 表排序、分页、关闭窗口
|
||||
/// <summary>
|
||||
/// 分页
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Grid4_PageIndexChange(object sender, GridPageEventArgs e)
|
||||
{
|
||||
BindGrid4();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 排序
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Grid4_Sort(object sender, GridSortEventArgs e)
|
||||
{
|
||||
BindGrid4();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 分页显示条数下拉框
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void ddlPageSize4_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
Grid4.PageSize = Convert.ToInt32(ddlPageSize4.SelectedValue);
|
||||
BindGrid4();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
protected void TabStrip1_TabIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (TabStrip1.ActiveTabIndex == 1)
|
||||
@@ -381,6 +489,13 @@ left join (
|
||||
BindGrid3();
|
||||
}
|
||||
}
|
||||
else if (TabStrip1.ActiveTabIndex == 3)
|
||||
{
|
||||
if (this.Grid4.Rows.Count == 0)
|
||||
{
|
||||
BindGrid4();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
+90
@@ -320,6 +320,96 @@ namespace FineUIPro.Web.DataShow
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList ddlPageSize3;
|
||||
|
||||
/// <summary>
|
||||
/// Tab4 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Tab Tab4;
|
||||
|
||||
/// <summary>
|
||||
/// Grid4 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Grid Grid4;
|
||||
|
||||
/// <summary>
|
||||
/// Toolbar4 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Toolbar Toolbar4;
|
||||
|
||||
/// <summary>
|
||||
/// drpProject4 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList drpProject4;
|
||||
|
||||
/// <summary>
|
||||
/// txtTypeName 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtTypeName;
|
||||
|
||||
/// <summary>
|
||||
/// Button3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button Button3;
|
||||
|
||||
/// <summary>
|
||||
/// Label3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label Label3;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarSeparator4 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator4;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarText4 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarText ToolbarText4;
|
||||
|
||||
/// <summary>
|
||||
/// ddlPageSize4 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList ddlPageSize4;
|
||||
|
||||
/// <summary>
|
||||
/// TabOnlineMenuSet 控件。
|
||||
/// </summary>
|
||||
|
||||
@@ -0,0 +1,569 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="JDStatistics.aspx.cs" Inherits="FineUIPro.Web.DataShow.JDStatistics" Async="true" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head id="Head1" runat="server">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<title>首页</title>
|
||||
<link href="../res/index/css/reset.css" rel="stylesheet" />
|
||||
<link href="../res/index/css/home.css" rel="stylesheet" />
|
||||
<link href="../res/index/css/swiper-3.4.2.min.css" rel="stylesheet" />
|
||||
<style type="text/css">
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.flexV {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.wrap {
|
||||
height: 100%;
|
||||
padding: 15px;
|
||||
/*background-color: #EEEED1;*/
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
|
||||
.iteml {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.itemb {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.bottom-wrap {
|
||||
padding: 0;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.bottom-wrap:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.bw-b-bottom {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.bw-b-bottom-up {
|
||||
border-radius: 0;
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.bw-item-content {
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.top {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.top .item {
|
||||
}
|
||||
|
||||
.bw-b {
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
.bw-b-bottom-up {
|
||||
}
|
||||
|
||||
.tab-wrap {
|
||||
left: auto;
|
||||
right: 15px;
|
||||
top: 5px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.tab .t-item {
|
||||
width: auto;
|
||||
padding: 5px 10px;
|
||||
color: #363636;
|
||||
}
|
||||
|
||||
.tit-item {
|
||||
padding: 0 10px;
|
||||
justify-content: space-between;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.tab-wrap .tab .t-item {
|
||||
color: #1C1C1C;
|
||||
}
|
||||
|
||||
.tip-item {
|
||||
margin-left: 10px;
|
||||
align-items: center;
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
.tip {
|
||||
width: 25px;
|
||||
height: 13px;
|
||||
background-color: #258F76;
|
||||
border-radius: 2px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.tip-next {
|
||||
background-color: #4F4F4F;
|
||||
}
|
||||
|
||||
.myTableClass {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
margin: 2px 1px;
|
||||
border-collapse: collapse; /* 设置表格边框合并 */
|
||||
border: 1px solid #BEBEBE;
|
||||
background: #ffffff;
|
||||
color: #8B8989; /* 设置表格文字颜色 */
|
||||
text-align: center; /* 设置表格文字居中 */
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.tab-title {
|
||||
height: 48px;
|
||||
color: #3CB371;
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.tab-header {
|
||||
height: 36px;
|
||||
color: #1C86EE;
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
td, th {
|
||||
border: 1px solid #BEBEBE;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="wrap flex flexV">
|
||||
<div class="bottom-wrap flex1">
|
||||
<div class="top flex">
|
||||
<div class="item flex2 iteml">
|
||||
<div class="bw-b-bottom">
|
||||
<div class="bw-b-bottom-up">
|
||||
<div class="bw-item-content">
|
||||
<div id='jdqk' style="width: 100%; height: 100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<%-- <div class="item flex2 iteml">
|
||||
<div class="bw-b-bottom">
|
||||
<div class="bw-b-bottom-up">
|
||||
<div class="tab-wrap">
|
||||
<div class="tab" data-value="2">
|
||||
<div class="t-item active">月度计划</div>
|
||||
<div class="spline"></div>
|
||||
<div class="t-item">周度计划</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bw-item-content">
|
||||
<div id='jdplan' style="width: 100%; height: 100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>--%>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom-wrap flex1">
|
||||
<div class="top flex">
|
||||
<div class="item flex1 iteml">
|
||||
<div class="bw-b-bottom">
|
||||
<div class="bw-b-bottom-up">
|
||||
<div class="tab-wrap">
|
||||
<div class="tab" data-value="2">
|
||||
<div class="t-item active">月度计划</div>
|
||||
<div class="spline"></div>
|
||||
<div class="t-item">周度计划</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bw-item-content">
|
||||
<div id='jdplan' style="width: 100%; height: 100%;"></div>
|
||||
</div>
|
||||
<%--<div class="bw-item-content">
|
||||
<div id='four' style="width: 100%; height: 100%;"></div>
|
||||
</div>--%>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
<script type="text/javascript" src="../res/index/js/jquery-3.4.1.min.js"></script>
|
||||
<script type="text/javascript" src="../res/index/js/swiper-3.4.2.jquery.min.js"></script>
|
||||
<script type="text/javascript" src="../res/index/js/echarts.min.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
// 进度情况
|
||||
createJDQK()
|
||||
function createJDQK() {
|
||||
let type = [<%=ProjectMc %>]
|
||||
// 计划月进度
|
||||
let value = [<%=ProjectJd%>]
|
||||
let value1 = [<%=ProjectJd%>]
|
||||
|
||||
let opt = {
|
||||
title: [{
|
||||
text: '进度情况',
|
||||
textStyle: {
|
||||
color: '#1C1C1C',
|
||||
fontSize: 16,
|
||||
fontWeight: 700
|
||||
},
|
||||
show: true
|
||||
}],
|
||||
grid: {
|
||||
top: 48,
|
||||
left: 48,
|
||||
right: 48,
|
||||
bottom: 48,
|
||||
},
|
||||
tooltip: {
|
||||
formatter: '{b}: {c}'
|
||||
},
|
||||
legend: {
|
||||
top: 30,
|
||||
data: [
|
||||
{
|
||||
name: "进度统计",
|
||||
textStyle: {
|
||||
color: '#2FC4AC'
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "进度百分比",
|
||||
textStyle: {
|
||||
color: '#E29C18'
|
||||
}
|
||||
},
|
||||
]
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
data: type,
|
||||
axisLine: {
|
||||
lineStyle: {
|
||||
color: '#84D7FE'
|
||||
}
|
||||
},
|
||||
axisLabel: {
|
||||
interval: 0,
|
||||
rotate: -10, // 如果数据较多时旋转标签以避免重叠
|
||||
margin: 8, // 设置标签与轴线之间的距离
|
||||
// align: 'center'
|
||||
},
|
||||
axisTick: {
|
||||
show: false
|
||||
}
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
axisLine: {
|
||||
lineStyle: {
|
||||
color: '#84D7FE'
|
||||
}
|
||||
},
|
||||
splitLine: {
|
||||
lineStyle: {
|
||||
color: '#2E87AC',
|
||||
type: 'dashed'
|
||||
}
|
||||
}
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '进度统计',
|
||||
data: value,
|
||||
type: 'bar',
|
||||
barWidth: 20,
|
||||
label: { //柱体上显示数值
|
||||
show: true,//开启显示
|
||||
position: "top",//在上方显示
|
||||
textStyle: {//数值样式
|
||||
fontSize: '14px',
|
||||
color: '#363636'
|
||||
},
|
||||
formatter: function (params) {
|
||||
// 当数值为0时返回空字符串,不显示标签
|
||||
return params.value === '0' ? '' : params.value;
|
||||
},
|
||||
},
|
||||
itemStyle: { normal: { color: 'rgba(255,0,0, 0.5)' } }
|
||||
},
|
||||
{
|
||||
name: '进度百分比',
|
||||
data: value1,
|
||||
type: 'line',
|
||||
symbol: 'none',
|
||||
itemStyle: {
|
||||
color: '#EDB627'
|
||||
},
|
||||
areaStyle: {
|
||||
normal: {
|
||||
color: new echarts.graphic.LinearGradient(
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
[
|
||||
{
|
||||
offset: 0,
|
||||
color: 'rgba(237, 182, 39, 1)' // 折线底下区域渐变色
|
||||
},
|
||||
{
|
||||
offset: 0.8,
|
||||
color: 'rgba(237, 182, 39, 0)' // 折线底下区域渐变色
|
||||
}
|
||||
],
|
||||
false
|
||||
)
|
||||
}
|
||||
}
|
||||
},
|
||||
]
|
||||
};
|
||||
var myEchart = echarts.init(document.getElementById('jdqk'));
|
||||
myEchart.setOption(opt);
|
||||
}
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
function categoryJDPlan(id, xArr, data, num) {
|
||||
// 基于准备好的dom,初始化echarts实例
|
||||
var myChart = echarts.init(document.getElementById(id))
|
||||
// 指定图表的配置项和数据
|
||||
var option = {
|
||||
title: {
|
||||
// left:'center',
|
||||
text: '项目进度计划',
|
||||
textStyle: {
|
||||
color: '#1C1C1C',
|
||||
fontSize: 16,
|
||||
fontWeight: 700
|
||||
},
|
||||
show: true
|
||||
},
|
||||
tooltip: {},
|
||||
legend: {
|
||||
//left: '80%',
|
||||
show: true,
|
||||
textStyle: {//图例文字的样式
|
||||
color: '#363636',
|
||||
fontSize: 12,
|
||||
}
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
data: xArr,
|
||||
axisLine: {
|
||||
lineStyle: {
|
||||
color: '#84D7FE'
|
||||
}
|
||||
},
|
||||
axisLabel: {
|
||||
interval: 0,
|
||||
rotate: -10, // 如果数据较多时旋转标签以避免重叠
|
||||
margin: 8, // 设置标签与轴线之间的距离
|
||||
// align: 'center'
|
||||
},
|
||||
axisTick: {
|
||||
show: false
|
||||
},
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
axisLine: {
|
||||
//show: false,
|
||||
lineStyle: {
|
||||
color: '#84D7FE'
|
||||
}
|
||||
},
|
||||
splitLine: {
|
||||
lineStyle: {
|
||||
color: '#2E87AC',
|
||||
type: 'dashed'
|
||||
}
|
||||
},
|
||||
},
|
||||
series: data,
|
||||
grid: {
|
||||
top: 48,
|
||||
left: 48,
|
||||
right: 48,
|
||||
bottom: 48,
|
||||
},
|
||||
}
|
||||
|
||||
// 使用刚指定的配置项和数据显示图表。
|
||||
myChart.setOption(option)
|
||||
}
|
||||
var jdplan =<%=MonthJD %>;
|
||||
var xArr = jdplan.categories
|
||||
var data = [
|
||||
{
|
||||
name: '未完成',
|
||||
type: 'bar',
|
||||
stack: '总量',
|
||||
barWidth: 30,
|
||||
data: jdplan.series[0].data,
|
||||
label: { //柱体上显示数值
|
||||
show: true,//开启显示
|
||||
position: ['35%', '50%'],//在上方显示
|
||||
textStyle: {//数值样式
|
||||
fontSize: '20px',
|
||||
color: '#363636'
|
||||
},
|
||||
formatter: function (params) {
|
||||
// 当数值为0时返回空字符串,不显示标签
|
||||
return params.value === 0 ? '' : params.value;
|
||||
},
|
||||
},
|
||||
itemStyle: { normal: { color: 'rgba(255,0,0, 0.5)' } }
|
||||
},
|
||||
{
|
||||
name: '已完成',
|
||||
type: 'bar',
|
||||
stack: '总量',
|
||||
barWidth: 30,
|
||||
data: jdplan.series[1].data,
|
||||
label: { //柱体上显示数值
|
||||
show: true,//开启显示
|
||||
position: ['35%', '50%'],//在上方显示
|
||||
textStyle: {//数值样式
|
||||
fontSize: '20px',
|
||||
color: '#363636'
|
||||
},
|
||||
formatter: function (params) {
|
||||
// 当数值为0时返回空字符串,不显示标签
|
||||
return params.value === 0 ? '' : params.value;
|
||||
},
|
||||
},
|
||||
itemStyle: { normal: { color: 'rgba(0,100,0,0.8)' } }
|
||||
}
|
||||
]
|
||||
categoryJDPlan('jdplan', xArr, data, jdplan.xFontNum)
|
||||
//categoryJDPlan('four', xArr, data, jdplan.xFontNum)
|
||||
</script>
|
||||
|
||||
<script>
|
||||
$(".tab .t-item").click(function () {
|
||||
var $this = $(this)
|
||||
var index = $this.index()
|
||||
if ($this.hasClass('active') && index == 0) {
|
||||
return
|
||||
}
|
||||
var $tab = $this.closest(".tab")
|
||||
var value = $tab.attr("data-value")
|
||||
$tab.find(".t-item").removeClass('active');
|
||||
$this.addClass('active')
|
||||
|
||||
var monthplan =<%=MonthJD %>;
|
||||
var weekplan =<%=WeekJD %>;
|
||||
var num = 5;
|
||||
|
||||
if (value == 2) {
|
||||
var xArr = monthplan.categories
|
||||
var data = [
|
||||
{
|
||||
name: '未完成',
|
||||
type: 'bar',
|
||||
stack: '总量',
|
||||
barWidth: 30,
|
||||
data: monthplan.series[0].data,
|
||||
label: { //柱体上显示数值
|
||||
show: true,//开启显示
|
||||
position: ['35%', '50%'],//在上方显示
|
||||
textStyle: {//数值样式
|
||||
fontSize: '20px',
|
||||
color: '#363636'
|
||||
},
|
||||
formatter: function (params) {
|
||||
// 当数值为0时返回空字符串,不显示标签
|
||||
return params.value === 0 ? '' : params.value;
|
||||
},
|
||||
},
|
||||
itemStyle: { normal: { color: 'rgba(255,0,0, 0.5)' } }
|
||||
},
|
||||
{
|
||||
name: '已完成',
|
||||
type: 'bar',
|
||||
stack: '总量',
|
||||
barWidth: 30,
|
||||
data: monthplan.series[1].data,
|
||||
label: { //柱体上显示数值
|
||||
show: true,//开启显示
|
||||
position: ['35%', '50%'],//在上方显示
|
||||
textStyle: {//数值样式
|
||||
fontSize: '20px',
|
||||
color: '#363636'
|
||||
},
|
||||
formatter: function (params) {
|
||||
// 当数值为0时返回空字符串,不显示标签
|
||||
return params.value === 0 ? '' : params.value;
|
||||
},
|
||||
},
|
||||
itemStyle: { normal: { color: 'rgba(0,100,0,0.8)' } }
|
||||
}
|
||||
]
|
||||
if (index == 2) {
|
||||
xArr = weekplan.categories
|
||||
var data = [
|
||||
{
|
||||
name: '未完成',
|
||||
type: 'bar',
|
||||
stack: '总量',
|
||||
barWidth: 30,
|
||||
data: weekplan.series[0].data,
|
||||
label: { //柱体上显示数值
|
||||
show: true,//开启显示
|
||||
position: ['35%', '50%'],//在上方显示
|
||||
textStyle: {//数值样式
|
||||
fontSize: '20px',
|
||||
color: '#363636'
|
||||
},
|
||||
formatter: function (params) {
|
||||
// 当数值为0时返回空字符串,不显示标签
|
||||
return params.value === 0 ? '' : params.value;
|
||||
},
|
||||
},
|
||||
itemStyle: { normal: { color: 'rgba(255,0,0, 0.5)' } }
|
||||
},
|
||||
{
|
||||
name: '已完成',
|
||||
type: 'bar',
|
||||
stack: '总量',
|
||||
barWidth: 30,
|
||||
data: weekplan.series[1].data,
|
||||
label: { //柱体上显示数值
|
||||
show: true,//开启显示
|
||||
position: ['35%', '50%'],//在上方显示
|
||||
textStyle: {//数值样式
|
||||
fontSize: '20px',
|
||||
color: '#363636'
|
||||
},
|
||||
formatter: function (params) {
|
||||
// 当数值为0时返回空字符串,不显示标签
|
||||
return params.value === 0 ? '' : params.value;
|
||||
},
|
||||
},
|
||||
itemStyle: { normal: { color: 'rgba(0,100,0,0.8)' } }
|
||||
}
|
||||
];
|
||||
}
|
||||
categoryJDPlan('jdplan', xArr, data, num);
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
</html>
|
||||
|
||||
@@ -0,0 +1,180 @@
|
||||
using BLL;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
//using FineUIPro.Web.DataShow;
|
||||
using Model;
|
||||
//using System.Runtime.Caching;
|
||||
using System.Threading.Tasks;
|
||||
//using System.Web;
|
||||
//using System.Web.UI;
|
||||
//using System.Web.UI.WebControls;
|
||||
//using Org.BouncyCastle.Ocsp;
|
||||
//using FineUIPro.Web.HJGL.FL;
|
||||
|
||||
namespace FineUIPro.Web.DataShow
|
||||
{
|
||||
public partial class JDStatistics : PageBase
|
||||
{
|
||||
List<Model.Base_Project> allProjects;
|
||||
#region 定义项
|
||||
/// <summary>
|
||||
/// 项目主键
|
||||
/// </summary>
|
||||
public string ProjectId
|
||||
{
|
||||
get
|
||||
{
|
||||
return (string)ViewState["ProjectId"];
|
||||
}
|
||||
set
|
||||
{
|
||||
ViewState["ProjectId"] = value;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
protected async void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
allProjects = ProjectService.GetAllProjectDropDownList();
|
||||
|
||||
this.ProjectId = string.Empty;
|
||||
if (this.CurrUser != null && !string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
|
||||
{
|
||||
this.ProjectId = this.CurrUser.LoginProjectId;
|
||||
}
|
||||
|
||||
|
||||
//GetJdAsync();
|
||||
|
||||
var projectJDQKTask = GetJdAsync();
|
||||
var otherTasks = new List<Task>
|
||||
{
|
||||
//GetJdAsync(),// 进度情况
|
||||
GetMonthJDAsync(),// 月进度
|
||||
GetWeekJDAsync(),// 周进度
|
||||
};
|
||||
|
||||
await Task.WhenAll(otherTasks.Concat(new[] { projectJDQKTask }));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#region 进度情况
|
||||
|
||||
//protected string ProjectAllJd;
|
||||
protected string ProjectJd;
|
||||
protected string ProjectMc;
|
||||
protected async Task GetJdAsync()
|
||||
{
|
||||
var list = allProjects;
|
||||
if (list.Any())
|
||||
{
|
||||
var progressCompletions = from x in Funs.DB.JDGL_ProgressCompletion select x;
|
||||
foreach (var item in list)
|
||||
{
|
||||
var pCs = progressCompletions.Where(x => x.ProjectId == item.ProjectId).ToList();
|
||||
|
||||
//ProjectAllJd += "'" + pCs.Sum(x => x.PlanNum ?? 0).ToString("0.##") + "',";
|
||||
ProjectJd += "'" + pCs.Sum(x => x.RealNum ?? 0).ToString("0.##") + "',";
|
||||
ProjectMc += "'" + item.ShortName + "',";
|
||||
}
|
||||
//ProjectAllJd = ProjectAllJd.TrimEnd(',');
|
||||
ProjectJd = ProjectJd.TrimEnd(',');
|
||||
ProjectMc = ProjectMc.TrimEnd(',');
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
#region 月进度
|
||||
|
||||
protected string MonthJD;
|
||||
/// <summary>
|
||||
/// 月进度
|
||||
/// </summary>
|
||||
protected async Task GetMonthJDAsync()
|
||||
{
|
||||
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
|
||||
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
||||
List<string> listCategories = new List<string>();
|
||||
businessColumn.title = "月进度完成情况";
|
||||
businessColumn.xFontNum = 8;
|
||||
var date = DateTime.Now.AddMonths(1);
|
||||
var allItems = from x in Funs.DB.JDGL_MonthPlan
|
||||
where x.Months < new DateTime(date.Year, date.Month, 1)
|
||||
select x;
|
||||
Model.SingleSerie s = new Model.SingleSerie();
|
||||
Model.SingleSerie s2 = new Model.SingleSerie();
|
||||
List<double> listdata = new List<double>();
|
||||
List<double> listdata2 = new List<double>();
|
||||
int okNum = 0;
|
||||
foreach (var pro in allProjects)
|
||||
{
|
||||
listCategories.Add(pro.ShortName);
|
||||
var proItems = allItems.Where(x => x.ProjectId == pro.ProjectId);
|
||||
okNum = proItems.Where(x => x.RealDate.HasValue).Count();
|
||||
listdata.Add(proItems.Count() - okNum);
|
||||
listdata2.Add(okNum);
|
||||
}
|
||||
s.data = listdata;
|
||||
s2.data = listdata2;
|
||||
series.Add(s);
|
||||
series.Add(s2);
|
||||
businessColumn.categories = listCategories;
|
||||
businessColumn.series = series;
|
||||
MonthJD = JsonConvert.SerializeObject(businessColumn);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region 周进度
|
||||
|
||||
protected string WeekJD;
|
||||
/// <summary>
|
||||
/// 周进度
|
||||
/// </summary>
|
||||
protected async Task GetWeekJDAsync()
|
||||
{
|
||||
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
|
||||
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
||||
List<string> listCategories = new List<string>();
|
||||
businessColumn.title = "周进度完成情况";
|
||||
businessColumn.xFontNum = 8;
|
||||
var date = DateTime.Now.AddMonths(1);
|
||||
var allItems = from x in Funs.DB.JDGL_WeekPlan
|
||||
where x.EndDate < new DateTime(date.Year, date.Month, 1)
|
||||
select x;
|
||||
Model.SingleSerie s = new Model.SingleSerie();
|
||||
Model.SingleSerie s2 = new Model.SingleSerie();
|
||||
List<double> listdata = new List<double>();
|
||||
List<double> listdata2 = new List<double>();
|
||||
int okNum = 0;
|
||||
foreach (var pro in allProjects)
|
||||
{
|
||||
listCategories.Add(pro.ShortName);
|
||||
var proItems = allItems.Where(x => x.ProjectId == pro.ProjectId);
|
||||
okNum = proItems.Where(x => x.IsOK.HasValue && x.IsOK == true).Count();
|
||||
listdata.Add(proItems.Count() - okNum);
|
||||
listdata2.Add(okNum);
|
||||
}
|
||||
s.data = listdata;
|
||||
s2.data = listdata2;
|
||||
series.Add(s);
|
||||
series.Add(s2);
|
||||
businessColumn.categories = listCategories;
|
||||
businessColumn.series = series;
|
||||
WeekJD = JsonConvert.SerializeObject(businessColumn);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.DataShow
|
||||
{
|
||||
|
||||
|
||||
public partial class JDStatistics
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Head1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlHead Head1;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user