公司级看板,月计划、周计划项目详情补充查询条件

This commit is contained in:
夏菊 2025-04-18 16:59:01 +08:00
parent f7d2f3b990
commit a4b291fecb
9 changed files with 197 additions and 21 deletions

View File

@ -53,10 +53,10 @@
<asp:Label ID="labNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.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="120px" 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"
<f:RenderField Width="450px" ColumnID="ProjectName" ExpandUnusedSpace="true" DataField="ProjectName" FieldType="String" HeaderText="项目名称" TextAlign="Left"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="RealNum" DataField="RealNum" FieldType="Float" HeaderText="项目进度(%)" TextAlign="Right"
@ -91,6 +91,9 @@
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:DatePicker runat="server" ID="txtMonths" DateFormatString="yyyy-MM" AutoPostBack="true" DisplayType="Month"
Label="月份" LabelWidth="50px" Width="150px" OnTextChanged="TextBox2_TextChanged">
</f:DatePicker>
<f:DropDownList ID="drpProject2" runat="server" Label="项目" Width="400px" LabelWidth="80px" LabelAlign="Right"
EnableEdit="true" OnSelectedIndexChanged="TextBox2_TextChanged" AutoPostBack="true">
</f:DropDownList>

View File

@ -25,6 +25,14 @@ namespace FineUIPro.Web.DataShow
BLL.ProjectService.InitProjectDropDownList(this.drpProject3, true);
BLL.UserService.InitSGBUser(this.drpDutyPerson3, true);
BindGrid1();
//统计月份信息
DateTime months = Convert.ToDateTime(DateTime.Now.Year.ToString() + "-" + DateTime.Now.Month.ToString() + "-01");
if (DateTime.Now.Day < 26)
{
months = Convert.ToDateTime(DateTime.Now.Year.ToString() + "-" + DateTime.Now.AddMonths(-1).Month.ToString() + "-01");
}
this.txtMonths.Text = months.ToString("yyyy-MM");
}
}
@ -68,6 +76,17 @@ left join (
Grid1.DataBind();
}
#region
/// <summary>
/// 月份选择事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void txtMonths_TextChanged(object sender, EventArgs e)
{
BindGrid2();
}
#endregion
/// <summary>
/// 绑定数据
/// </summary>
@ -90,12 +109,13 @@ left join (
{
projects = projects.Where(x => x.ProjectId == this.drpProject2.SelectedValue).OrderBy(x => x.ProjectName);
}
//统计月份信息
DateTime months = Convert.ToDateTime(DateTime.Now.Year.ToString() + "-" + DateTime.Now.Month.ToString() + "-01");
if (DateTime.Now.Day < 26)
{
months = Convert.ToDateTime(DateTime.Now.Year.ToString() + "-" + DateTime.Now.AddMonths(-1).Month.ToString() + "-01");
}
//////统计月份信息
//DateTime months = Convert.ToDateTime(DateTime.Now.Year.ToString() + "-" + DateTime.Now.Month.ToString() + "-01");
//if (DateTime.Now.Day < 26)
//{
// months = Convert.ToDateTime(DateTime.Now.Year.ToString() + "-" + DateTime.Now.AddMonths(-1).Month.ToString() + "-01");
//}
DateTime months = Convert.ToDateTime(this.txtMonths.Text.Trim() + "-01");
//2、获取当前项目指定月所有计划
var allMonthPlans = from x in db.JDGL_MonthPlan
where x.Months == months
@ -174,7 +194,7 @@ left join (
select x;
foreach (var item in projects)
{
var lastWeek = (from x in db.JDGL_WeekPlan where x.ProjectId == item.ProjectId && DateTime.Now > ((DateTime)x.EndDate).AddDays(1) orderby x.EndDate select x).FirstOrDefault();
var lastWeek = (from x in db.JDGL_WeekPlan where x.ProjectId == item.ProjectId && DateTime.Now > ((DateTime)x.EndDate).AddDays(1) orderby x.EndDate descending select x).FirstOrDefault();
double planNum = 0, completedNum = 0, rate = 0;
if (lastWeek != null)
{
@ -417,14 +437,15 @@ left join (
return;
}
//统计月份信息
DateTime months = Convert.ToDateTime(DateTime.Now.Year.ToString() + "-" + DateTime.Now.Month.ToString() + "-01");
if (DateTime.Now.Day < 26)
{
months = Convert.ToDateTime(DateTime.Now.Year.ToString() + "-" + DateTime.Now.AddMonths(-1).Month.ToString() + "-01");
}
////统计月份信息
//DateTime months = Convert.ToDateTime(DateTime.Now.Year.ToString() + "-" + DateTime.Now.Month.ToString() + "-01");
//if (DateTime.Now.Day < 26)
//{
// months = Convert.ToDateTime(DateTime.Now.Year.ToString() + "-" + DateTime.Now.AddMonths(-1).Month.ToString() + "-01");
//}
//string month = months.ToString("yyyy-MM-dd");
string projectId = Grid2.SelectedRowID;
string month = months.ToString("yyyy-MM-dd");
string month = this.txtMonths.Text.Trim() + "-01";
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("JDMonthDetail.aspx?projectId={0}&month={1}", projectId, month, "查看明细 - ")));
}

View File

@ -158,6 +158,15 @@ namespace FineUIPro.Web.DataShow
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// txtMonths 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtMonths;
/// <summary>
/// drpProject2 控件。
/// </summary>

View File

@ -29,6 +29,15 @@
SortDirection="ASC" EnableColumnLines="true"
AllowPaging="false" IsDatabasePaging="false" PageSize="1000"
AllowFilters="true" EnableTextSelection="True">
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:DatePicker runat="server" ID="txtMonths" DateFormatString="yyyy-MM" AutoPostBack="true" DisplayType="Month"
Label="月份" LabelWidth="50px" Width="150px" OnTextChanged="txtMonths_TextChanged">
</f:DatePicker>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfPageIndex" Width="55px" HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center"
EnableLock="true" Locked="False">

View File

@ -59,10 +59,23 @@ namespace FineUIPro.Web.DataShow
}
this.Month = months.ToString("yyyy-MM-dd");
}
this.txtMonths.Text = this.Month.Replace("-01", "");
BindGrid();
}
}
#region
/// <summary>
/// 月份选择事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void txtMonths_TextChanged(object sender, EventArgs e)
{
this.Month = string.Format("{0:yyyy-MM-dd}", Convert.ToDateTime(this.txtMonths.Text.Trim() + "-01"));
BindGrid();
}
#endregion
/// <summary>
/// 加载Grid

View File

@ -50,6 +50,24 @@ namespace FineUIPro.Web.DataShow
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// txtMonths 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtMonths;
/// <summary>
/// lblPageIndex 控件。
/// </summary>

View File

@ -23,8 +23,19 @@
<f:PageManager ID="PageManager1" runat="server" AutoSizePanelID="Panel2" />
<f:Panel ID="Panel2" runat="server" ShowHeader="false" ShowBorder="false" ColumnWidth="100%" Margin="5px" BodyPadding="5px">
<Items>
<f:Grid ID="Grid1" IsFluid="true" CssClass="blockpanel" ShowBorder="true" ShowHeader="false" runat="server" EnableCollapse="false" PageSize="1000"
<f:Grid ID="Grid1" IsFluid="true" CssClass="blockpanel" ShowBorder="true" ShowHeader="false" runat="server" EnableCollapse="false" PageSize="1000"
DataKeyNames="WeekPlanId" DataIDField="WeekPlanId" EnableColumnLines="true" ForceFit="true" AllowCellEditing="true" ClicksToEdit="1" Height="560px">
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:DropDownList runat="server" ID="drpWeekNo" Label="周号" LabelAlign="Right" LabelWidth="80px" AutoPostBack="true" OnSelectedIndexChanged="drpWeekNo_SelectedIndexChanged"></f:DropDownList>
<f:DatePicker ID="txtStartDate" runat="server" Readonly="true" Label="开始日期" LabelAlign="Right">
</f:DatePicker>
<f:DatePicker ID="txtEndDate" runat="server" Readonly="true" Label="结束日期" LabelAlign="Right">
</f:DatePicker>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfPageIndex" Width="55px" HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center"
EnableLock="true" Locked="False">

View File

@ -46,16 +46,72 @@ namespace FineUIPro.Web.DataShow
{
this.ProjectId = Request.Params["projectId"];
}
Model.SGGLDB db = Funs.DB;
var lastWeek = (from x in db.JDGL_WeekPlan where x.ProjectId == this.ProjectId && DateTime.Now > ((DateTime)x.EndDate).AddDays(1) orderby x.EndDate select x).FirstOrDefault();
this.WeekNo = lastWeek.WeekNo;
var lastWeek = (from x in db.JDGL_WeekPlan where x.ProjectId == this.ProjectId && DateTime.Now > ((DateTime)x.EndDate).AddDays(1) orderby x.EndDate descending select x).FirstOrDefault();
this.WeekNo = lastWeek != null ? lastWeek.WeekNo : string.Empty;
this.InitDropDownList();
BindGrid();
}
}
/// <summary>
/// 初始化下拉框
/// </summary>
private void InitDropDownList()
{
WeekItemService.InitWeekItemDropDownList(this.drpWeekNo, this.ProjectId, false);
if (!string.IsNullOrWhiteSpace(this.WeekNo))
{
var item = WeekItemService.GetWeekItemByProjectIdAndWeekNo(this.ProjectId, int.Parse(this.WeekNo));
if (item != null)
{
this.drpWeekNo.SelectedValue = item.WeekNo.ToString();
this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", item.StartDate);
this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", item.EndDate);
}
}
else
{
//获取当前时间所在周号,存在默认选中当前时间点所在周,否则选择最后一个周
var item = WeekItemService.GetWeekItemByDateNow(this.ProjectId);
if (item != null)
{//存在默认选中当前时间点所在周
this.drpWeekNo.SelectedValue = item.WeekNo.ToString();
this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", item.StartDate);
this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", item.EndDate);
}
else
{
var items = WeekItemService.GetWeekItemList(this.ProjectId);
if (items.Any())
{//否则选择最后一个周
item = items.First();
this.drpWeekNo.SelectedValue = item.WeekNo.ToString();
this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", item.StartDate);
this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", item.EndDate);
}
}
}
}
/// <summary>
/// 周号选择触发事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void drpWeekNo_SelectedIndexChanged(object sender, EventArgs e)
{
string weekNo = this.drpWeekNo.SelectedValue;
this.WeekNo = weekNo;
var item = BLL.WeekItemService.GetWeekItemByProjectIdAndWeekNo(this.ProjectId, int.Parse(weekNo));
if (item != null)
{
this.drpWeekNo.SelectedValue = item.WeekNo.ToString();
this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", item.StartDate);
this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", item.EndDate);
}
BindGrid();
}
/// <summary>
/// 加载Grid

View File

@ -50,6 +50,42 @@ namespace FineUIPro.Web.DataShow
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// drpWeekNo 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpWeekNo;
/// <summary>
/// txtStartDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtStartDate;
/// <summary>
/// txtEndDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtEndDate;
/// <summary>
/// Label1 控件。
/// </summary>