This commit is contained in:
2025-12-08 09:24:37 +08:00
parent f7d3bb3e30
commit c750debcd2
58 changed files with 4308 additions and 341 deletions
@@ -27,8 +27,10 @@
<f:ToolbarFill ID="ToolbarFill1" runat="server"></f:ToolbarFill>
<f:Button ID="btnEdit" ToolTip="Edit" Text="Edit" Icon="Pencil" runat="server" OnClick="btnEdit_Click" Hidden="true">
</f:Button>
<f:Button ID="btnSendEmail" Icon="Email" runat="server" CssClass="marginr" Text="Send"
OnClick="btnSendEmail_Click" Hidden="true">
<f:Button ID="btnAddSafeS" Text="安全业绩加分值" runat="server" OnClick="btnAddSafeS_Click" Hidden="true">
</f:Button>
<f:Button ID="btnSendEmail" Icon="Email" runat="server" CssClass="marginr" Text="Send"
OnClick="btnSendEmail_Click" Hidden="true">
</f:Button>
<f:Button ID="btnExport" OnClick="btnExport_Click" runat="server" Text="Export" ToolTip="Export" Hidden="true"
Icon="DoorOut" EnableAjax="false" DisableControlBeforePostBack="false">
@@ -105,6 +107,10 @@
Target="Parent" EnableResize="true" runat="server" OnClose="Window1_Close" IsModal="true"
Width="1300px" Height="860px">
</f:Window>
<f:Window ID="Window2" Title="安全业绩加分值" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="true" runat="server" IsModal="true"
Width="1300px" Height="760px">
</f:Window>
</form>
<script type="text/javascript">
@@ -1,7 +1,12 @@
using BLL;
using NPOI.XSSF.UserModel;
using NPOI.SS.UserModel;
using BLL.Common;
using FineUIPro.Web.common;
using Model;
using Newtonsoft.Json;
using NPOI.SS.Formula.Functions;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using Org.BouncyCastle.Bcpg.OpenPgp;
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
@@ -9,10 +14,6 @@ using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
using Model;
using BLL.Common;
using FineUIPro.Web.common;
using Org.BouncyCastle.Bcpg.OpenPgp;
namespace FineUIPro.Web.Evaluation
{
@@ -185,7 +186,7 @@ namespace FineUIPro.Web.Evaluation
}
var buyer = from x in Funs.DB.Sys_User where x.UserName == fo.Buyer && x.Email != null && x.Email != "" select x;
var buyer = from x in Funs.DB.Sys_User where x.UserId == fo.BuyerId && x.Email != null && x.Email != "" select x;
if (buyer.Count() > 0)
{
userList.Add(buyer.First());
@@ -437,6 +438,41 @@ namespace FineUIPro.Web.Evaluation
// 左边列表
int s = 0;
int valiNum = 0; // 合同有效期内低于60分的次数
if ((eva.FC_Status == "Expired Soon" || eva.FC_Status == "Valid") && eva.Validate_Date.HasValue)
{
DateTime valiStratdate = eva.Validate_Date.Value;
DateTime valiStrat = DateTime.Parse(valiStratdate.Year + "-" + valiStratdate.Month + "-01");
DateTime valiEnd = DateTime.Parse(DateTime.Now.Year + "-" + DateTime.Now.Month + "-13");
if (eva.Expire_Date.HasValue)
{
if (eva.Expire_Date.Value <= DateTime.Now)
{
valiEnd = DateTime.Parse(eva.Expire_Date.Value.Year + "-" + eva.Expire_Date.Value.Month + "-13");
}
}
string sqlStr = @"select FO_NO,Total from FC_OverviewReport
where FO_NO= @FoNo AND CAST(ReportMonth+'-01' AS date)>=@StartTime
AND CAST(ReportMonth+'-01' AS date)<=@EndTime ";
List<SqlParameter> valiDateParam = new List<SqlParameter>();
valiDateParam.Add(new SqlParameter("@StartTime", valiStrat));
valiDateParam.Add(new SqlParameter("@EndTime", valiEnd));
valiDateParam.Add(new SqlParameter("@FoNo", eva.FO_NO));
SqlParameter[] valiDateParList = valiDateParam.ToArray();
var sesValiDataTable = SQLHelper.GetDataTableRunText(sqlStr, valiDateParList);
//var sesValiDataScore = JsonConvert.DeserializeObject<List<YearToDateModel>>(JsonConvert.SerializeObject(sesValiDataTable));
valiNum = sesValiDataTable.Select("Total<60.0").Count();//.Count(x => Funs.GetNewDecimal(x.SumScore) < (decimal)60.0);
}
// 安全业绩加分值
decimal? bonus = 0;
var sp=from x in Funs.DB.SafetyPerformance where x.ContractorId==eva.ContractorId orderby x.Years descending select x;
if (sp.Count() > 0)
{
bonus = sp.First().Bonus;
}
DateTime startDate = DateTime.Now.AddMonths(-23);
DateTime startTime = DateTime.Parse(startDate.Year + "-" + startDate.Month + "-01");
DateTime endTime = DateTime.Parse(DateTime.Now.Year + "-" + DateTime.Now.Month + "-13");
@@ -475,7 +511,6 @@ namespace FineUIPro.Web.Evaluation
SqlParameter[] yearToDateParList2 = yearToDateParam2.ToArray();
var sesDataTable2 = SQLHelper.GetDataTableRunProc("Sp_ContractorEvaluation", yearToDateParList2);
sesDataTable.Merge(sesDataTable2);//上一轮合同合并到续签合同中
}
}
@@ -561,7 +596,7 @@ namespace FineUIPro.Web.Evaluation
var sesDataTable = SQLHelper.GetDataTableRunProc("Sp_ContractorEvaluation", yearToDateParList);
var sesDataScore = JsonConvert.DeserializeObject<List<YearToDateModel>>(JsonConvert.SerializeObject(sesDataTable));
// 15行
if (reportModel.GetRow(14) == null) reportModel.CreateRow(14);
if (reportModel.GetRow(15) == null) reportModel.CreateRow(15);
@@ -575,7 +610,6 @@ namespace FineUIPro.Web.Evaluation
if (reportModel.GetRow(23) == null) reportModel.CreateRow(23);
if (reportModel.GetRow(24) == null) reportModel.CreateRow(24);
if (reportModel.GetRow(25) == null) reportModel.CreateRow(25);
for (int j = 0; j < 24; j++)
{
var curDate = DateTime.Parse("" + startDate.Year + "-" + startDate.Month + "-01").AddMonths(j);
@@ -690,6 +724,9 @@ namespace FineUIPro.Web.Evaluation
}
if (reportModel.GetRow(27).GetCell(2) == null) reportModel.GetRow(27).CreateCell(2);
reportModel.GetRow(27).GetCell(2).SetCellValue(eva.InterviewTimes.ToString());//约谈次数
if (reportModel.GetRow(27).GetCell(4) == null) reportModel.GetRow(27).CreateCell(4);
reportModel.GetRow(27).GetCell(4).SetCellValue(valiNum.ToString());//低于60分次数
if (reportModel.GetRow(27).GetCell(5) == null) reportModel.GetRow(27).CreateCell(5);
reportModel.GetRow(27).GetCell(5).SetCellValue(eva.ReviewOfFC);//原合同竞标/续签过程回顾
if (reportModel.GetRow(30).GetCell(2) == null) reportModel.GetRow(30).CreateCell(2);
@@ -727,17 +764,17 @@ namespace FineUIPro.Web.Evaluation
decimal? technicalBonusMalus = eva.TechnicalBonusMalus.HasValue ? Convert.ToDecimal(eva.TechnicalBonusMalus.Value.ToString("0.0")) : 0;
if (reportModel.GetRow(42).GetCell(3) == null) reportModel.GetRow(42).CreateCell(3);
reportModel.GetRow(42).GetCell(3).SetCellValue(technicalBonusMalus.ToString()+"%");//技术减值
//44行
decimal? safetyBonus = 0;
safetyBonus = Funs.GetNewDecimal(eva.SafetyBonus);
if (safetyBonus == null)
{
safetyBonus = 0;
}
//44行
//decimal? safetyBonus = 0;
//safetyBonus = Funs.GetNewDecimal(eva.SafetyBonus);
//if (safetyBonus == null)
//{
// safetyBonus = 0;
//}
if (reportModel.GetRow(43).GetCell(3) == null) reportModel.GetRow(43).CreateCell(3);
reportModel.GetRow(43).GetCell(3).SetCellValue(safetyBonus.HasValue ? safetyBonus.Value.ToString("0.0") + "%" : "0");//安全业绩加值
//45行
decimal? totalSocre = technicalBonusMalus + safetyBonus;
reportModel.GetRow(43).GetCell(3).SetCellValue(bonus.HasValue ? bonus.Value.ToString("0.0") + "%" : "0");//安全业绩加值
//45行
decimal? totalSocre = technicalBonusMalus + bonus;
if (reportModel.GetRow(44).GetCell(3) == null) reportModel.GetRow(44).CreateCell(3);
reportModel.GetRow(44).GetCell(3).SetCellValue(totalSocre.HasValue ? totalSocre.ToString() + "%" : "");//Total Score (Technical and Safety)
//48行
@@ -1066,6 +1103,11 @@ namespace FineUIPro.Web.Evaluation
btnEdit_Click(null, null);
}
protected void btnAddSafeS_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("SafetyPerformance.aspx", "编辑 - ")));
}
#region
/// <summary>
/// 实体
@@ -1095,6 +1137,11 @@ namespace FineUIPro.Web.Evaluation
{
this.btnSendEmail.Hidden = false;
}
// 增加安全业绩加分值
if (buttonList.Contains(BLL.Const.BtnAdd))
{
this.btnAddSafeS.Hidden = false;
}
}
}
#endregion
@@ -7,11 +7,13 @@
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.Evaluation {
public partial class ContractorEvaluation {
namespace FineUIPro.Web.Evaluation
{
public partial class ContractorEvaluation
{
/// <summary>
/// form1 控件。
/// </summary>
@@ -20,7 +22,7 @@ namespace FineUIPro.Web.Evaluation {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
@@ -29,7 +31,7 @@ namespace FineUIPro.Web.Evaluation {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
@@ -38,7 +40,7 @@ namespace FineUIPro.Web.Evaluation {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// Grid1 控件。
/// </summary>
@@ -47,7 +49,7 @@ namespace FineUIPro.Web.Evaluation {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar2 控件。
/// </summary>
@@ -56,7 +58,7 @@ namespace FineUIPro.Web.Evaluation {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// hdID 控件。
/// </summary>
@@ -65,7 +67,7 @@ namespace FineUIPro.Web.Evaluation {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hdID;
/// <summary>
/// txtFO_NO 控件。
/// </summary>
@@ -74,7 +76,7 @@ namespace FineUIPro.Web.Evaluation {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtFO_NO;
/// <summary>
/// btnSearch 控件。
/// </summary>
@@ -83,7 +85,7 @@ namespace FineUIPro.Web.Evaluation {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSearch;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
@@ -92,7 +94,7 @@ namespace FineUIPro.Web.Evaluation {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnEdit 控件。
/// </summary>
@@ -101,7 +103,16 @@ namespace FineUIPro.Web.Evaluation {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnEdit;
/// <summary>
/// btnAddSafeS 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnAddSafeS;
/// <summary>
/// btnSendEmail 控件。
/// </summary>
@@ -110,7 +121,7 @@ namespace FineUIPro.Web.Evaluation {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSendEmail;
/// <summary>
/// btnExport 控件。
/// </summary>
@@ -119,7 +130,7 @@ namespace FineUIPro.Web.Evaluation {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnExport;
/// <summary>
/// lblNumber 控件。
/// </summary>
@@ -128,7 +139,7 @@ namespace FineUIPro.Web.Evaluation {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblNumber;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
@@ -137,7 +148,7 @@ namespace FineUIPro.Web.Evaluation {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
/// <summary>
/// ToolbarText1 控件。
/// </summary>
@@ -146,7 +157,7 @@ namespace FineUIPro.Web.Evaluation {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary>
/// ddlPageSize 控件。
/// </summary>
@@ -155,7 +166,7 @@ namespace FineUIPro.Web.Evaluation {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
/// <summary>
/// Window1 控件。
/// </summary>
@@ -164,5 +175,14 @@ namespace FineUIPro.Web.Evaluation {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// Window2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window2;
}
}
@@ -3,7 +3,7 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>项目经理编辑器</title>
<title></title>
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
</head>
<body>
@@ -122,11 +122,11 @@
<Items>
<f:CheckBoxList ID="cbPriceLevel" runat="server" Label="Price Level 价格水平" LabelWidth="240px">
<Items>
<f:CheckItem Text="很高 Very high" Value="1" />
<f:CheckItem Text="较高 Higher" Value="2" />
<f:CheckItem Text="适宜 Moderate" Value="3" />
<f:CheckItem Text="较低 Lower" Value="4" />
<f:CheckItem Text="很低 Very low" Value="5" />
<f:CheckItem Text="Very high 适宜" Value="1" />
<f:CheckItem Text="Higher 较高" Value="2" />
<f:CheckItem Text="Moderate 适宜" Value="3" />
<f:CheckItem Text="Lower 较低" Value="4" />
<f:CheckItem Text="Very low 很低" Value="5" />
</Items>
<Listeners>
<f:Listener Event="change" Handler="onCheckBoxListChange" />
@@ -153,7 +153,7 @@
<f:Form ShowBorder="false" ShowHeader="false" AutoScroll="true" runat="server"
RedStarPosition="BeforeText" LabelAlign="Right">
<Rows>
<f:FormRow ColumnWidths="25% 25% 50%">
<f:FormRow ColumnWidths="25% 26% 7% 22% 20%">
<Items>
<%--<f:CheckBoxList ID="cbInquiry" runat="server" Label="Interview 约谈 " LabelWidth="240px">
<Items>
@@ -165,7 +165,10 @@
</Listeners>
</f:CheckBoxList>--%>
<f:Label ID="lblInterview" runat="server" Text="Interview 约谈 "></f:Label>
<f:NumberBox ID="numInquiryTime" runat="server" Label="次数Times" NoDecimal="true" NoNegative="true" Readonly="true"></f:NumberBox>
<f:NumberBox ID="numInquiryTime" runat="server" Label="Times 次数" NoDecimal="true" NoNegative="true" Readonly="true"></f:NumberBox>
<f:Label ID="Label4" runat="server" ></f:Label>
<f:Label ID="IM60" runat="server" Text="Monthly Eval. <60 月度评估低于60分 " ></f:Label>
<f:NumberBox ID="numIM60" runat="server" Label="Times 次数" NoDecimal="true" NoNegative="true" Readonly="true"></f:NumberBox>
</Items>
</f:FormRow>
</Rows>
@@ -182,7 +185,7 @@
</Listeners>
</f:CheckBoxList>--%>
<f:Label ID="Label1" runat="server" Text="NCR review NCR回顾"></f:Label>
<f:NumberBox ID="numNCRTime" runat="server" Label="次数Times" NoDecimal="true" NoNegative="true" Readonly="true"></f:NumberBox>
<f:NumberBox ID="numNCRTime" runat="server" Label="Times 次数" NoDecimal="true" NoNegative="true" Readonly="true"></f:NumberBox>
</Items>
</f:FormRow>
</Rows>
@@ -190,7 +193,7 @@
<f:FormRow ColumnWidths="25% 25% 50%">
<Items>
<f:Label ID="Label2" runat="server" Text="Work suspension for rectification 停工整改"></f:Label>
<f:NumberBox ID="numWorkRe" runat="server" Label="次数Times" NoDecimal="true" NoNegative="true" Readonly="true"></f:NumberBox>
<f:NumberBox ID="numWorkRe" runat="server" Label="Times 次数" NoDecimal="true" NoNegative="true" Readonly="true"></f:NumberBox>
</Items>
</f:FormRow>
</Rows>
@@ -265,7 +268,7 @@
<Rows>
<f:FormRow>
<Items>
<f:NumberBox ID="txtSafetyBonus" runat="server" Label="Bonus of Safety Performance</br>安全业绩加分值(%" LabelWidth="240px" NoNegative="true" NoDecimal="false" RegionPercent="1"></f:NumberBox>
<f:NumberBox ID="txtSafetyBonus" runat="server" Label="Bonus of Safety Performance</br>安全业绩加分值(%" LabelWidth="240px" NoNegative="true" NoDecimal="false" RegionPercent="1" Readonly="true"></f:NumberBox>
</Items>
</f:FormRow>
</Rows>
@@ -290,7 +293,7 @@
</f:CheckBoxList>
<f:TextBox ID="txtOtherDef" runat="server" Label="描述"></f:TextBox>--%>
<f:Label ID="lblOther" runat="server" Text="Others(e.g. major incident) 其他(如:重大事件)"></f:Label>
<f:NumberBox ID="numOthers" runat="server" Label="次数Times" NoDecimal="true" NoNegative="true"></f:NumberBox>
<f:NumberBox ID="numOthers" runat="server" Label="Times 次数" NoDecimal="true" NoNegative="true"></f:NumberBox>
</Items>
</f:FormRow>
</Rows>
@@ -173,10 +173,47 @@ namespace FineUIPro.Web.Evaluation
}
numOthers.Text = foview.First().OthersNum.ToString();
txtTechnicalBonus.Text = foview.First().TechnicalBonusMalus.ToString();
if (!string.IsNullOrEmpty(foview.First().SafetyBonus))
// 安全业绩加分值
decimal? bonus = 0;
var sp = from x in Funs.DB.SafetyPerformance where x.ContractorId == foview.First().ContractorId orderby x.Years descending select x;
if (sp.Count() > 0)
{
txtSafetyBonus.Text = Funs.GetNewDecimalOrZero(foview.First().SafetyBonus).ToString();
bonus = sp.First().Bonus;
}
txtSafetyBonus.Text = bonus.ToString();
//if (!string.IsNullOrEmpty(foview.First().SafetyBonus))
//{
// txtSafetyBonus.Text = Funs.GetNewDecimalOrZero(foview.First().SafetyBonus).ToString();
//}
int valiNum = 0; // 合同有效期内低于60分的次数
if ((foview.First().FC_Status == "Expired Soon" || foview.First().FC_Status == "Valid") && foview.First().Validate_Date.HasValue)
{
DateTime valiStratdate = foview.First().Validate_Date.Value;
DateTime valiStrat = DateTime.Parse(valiStratdate.Year + "-" + valiStratdate.Month + "-01");
DateTime valiEnd = DateTime.Parse(DateTime.Now.Year + "-" + DateTime.Now.Month + "-13");
if (foview.First().Expire_Date.HasValue)
{
if (foview.First().Expire_Date.Value <= DateTime.Now)
{
valiEnd = DateTime.Parse(foview.First().Expire_Date.Value.Year + "-" + foview.First().Expire_Date.Value.Month + "-13");
}
}
string sqlStr = @"select FO_NO,Total from FC_OverviewReport
where FO_NO= @FoNo AND CAST(ReportMonth+'-01' AS date)>=@StartTime
AND CAST(ReportMonth+'-01' AS date)<=@EndTime ";
List<SqlParameter> valiDateParam = new List<SqlParameter>();
valiDateParam.Add(new SqlParameter("@StartTime", valiStrat));
valiDateParam.Add(new SqlParameter("@EndTime", valiEnd));
valiDateParam.Add(new SqlParameter("@FoNo", foview.First().FO_NO));
SqlParameter[] valiDateParList = valiDateParam.ToArray();
var sesValiDataTable = SQLHelper.GetDataTableRunText(sqlStr, valiDateParList);
valiNum = sesValiDataTable.Select("Total<60.0").Count();//.Count(x => Funs.GetNewDecimal(x.SumScore) < (decimal)60.0);
}
numIM60.Text = valiNum.ToString();
}
else
{
@@ -184,6 +221,7 @@ namespace FineUIPro.Web.Evaluation
}
int s = 0;
DateTime startDate = DateTime.Now.AddMonths(-23);
DateTime startTime = DateTime.Parse(startDate.Year + "-" + startDate.Month + "-01");
DateTime endTime = DateTime.Parse(DateTime.Now.Year + "-" + DateTime.Now.Month + "-13");
@@ -206,7 +244,6 @@ namespace FineUIPro.Web.Evaluation
yearToDateParam.Add(new SqlParameter("@EndTime", endTime));
yearToDateParam.Add(new SqlParameter("@FoNo", foNo));
SqlParameter[] yearToDateParList = yearToDateParam.ToArray();
var sesDataTable = SQLHelper.GetDataTableRunProc("Sp_ContractorEvaluation", yearToDateParList);
//上一轮合同
@@ -220,7 +257,6 @@ namespace FineUIPro.Web.Evaluation
yearToDateParam2.Add(new SqlParameter("@EndTime", endTime));
yearToDateParam2.Add(new SqlParameter("@FoNo", fo.PreviousFO));
SqlParameter[] yearToDateParList2 = yearToDateParam2.ToArray();
var sesDataTable2 = SQLHelper.GetDataTableRunProc("Sp_ContractorEvaluation", yearToDateParList2);
sesDataTable.Merge(sesDataTable2);
@@ -303,10 +339,8 @@ namespace FineUIPro.Web.Evaluation
yearToDateParam.Add(new SqlParameter("@EndTime", endTime));
yearToDateParam.Add(new SqlParameter("@FoNo", foNo));
SqlParameter[] yearToDateParList = yearToDateParam.ToArray();
var sesDataTable = SQLHelper.GetDataTableRunProc("Sp_ContractorEvaluation", yearToDateParList);
var sesDataScore = JsonConvert.DeserializeObject<List<YearToDateModel>>(JsonConvert.SerializeObject(sesDataTable));
@@ -320,6 +320,33 @@ namespace FineUIPro.Web.Evaluation
/// </remarks>
protected global::FineUIPro.NumberBox numInquiryTime;
/// <summary>
/// Label4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label Label4;
/// <summary>
/// IM60 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label IM60;
/// <summary>
/// numIM60 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox numIM60;
/// <summary>
/// Label1 控件。
/// </summary>
@@ -170,7 +170,7 @@ namespace FineUIPro.Web.Evaluation
Funs.DB.FC_BigDepartEvaRate.DeleteAllOnSubmit(departEva);
Funs.DB.SubmitChanges();
#region
#region
percentIn[UserId] = (int)(100 / 6);
List<Model.FC_OverviewReport> ovList = new List<Model.FC_OverviewReport>();
@@ -443,7 +443,7 @@ namespace FineUIPro.Web.Evaluation
}
if (OverviewReport1.Rows[i]["TotalAvgScore3"] != null && OverviewReport1.Rows[i]["TotalAvgScore3"].ToString() != "")
{
ov.TotalAvgScore3 = Convert.ToDecimal(OverviewReport.Rows[i]["TotalAvgScore3"]);
ov.TotalAvgScore3 = Convert.ToDecimal(OverviewReport1.Rows[i]["TotalAvgScore3"]);
}
else
{
@@ -0,0 +1,198 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SafetyPerformance.aspx.cs" Inherits="FineUIPro.Web.Evaluation.SafetyPerformance" %>
<!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>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" Margin="2px" BodyPadding="0px" Title="安全业绩加分值"
ShowHeader="false" Layout="HBox">
<Items>
<f:Grid ID="Grid1" Title="安全业绩加分值" ShowHeader="false" EnableCollapse="true" PageSize="15"
ShowBorder="true" AllowPaging="true" IsDatabasePaging="true" runat="server" Width="910px"
EnableColumnLines="true" OnSort="Grid1_Sort" DataKeyNames="SafetyPerformanceId"
DataIDField="SafetyPerformanceId" OnPageIndexChange="Grid1_PageIndexChange"
AllowSorting="true" >
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server">
<Items>
<f:DatePicker ID="txtYears" runat="server" Label="Years" DateFormatString="yyyy" DisplayType="Year"
ShowTodayButton="false" OnTextChanged="txtYears_TextChanged"></f:DatePicker>
<f:ToolbarFill ID="ToolbarFill2" runat="server">
</f:ToolbarFill>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField EnablePagingNumber="true" HeaderText="序号" Width="50px" HeaderTextAlign="Center"
TextAlign="Center" />
<f:RenderField Width="80px" ColumnID="Years" DataField="Years" FieldType="String"
HeaderText="年度" HeaderTextAlign="Center" TextAlign="Left" SortField="Years">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="YearPrize" DataField="YearPrize" FieldType="String"
HeaderText="年度奖项" HeaderTextAlign="Center" TextAlign="Left" SortField="YearPrize">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="Bonus" DataField="Bonus" FieldType="String"
HeaderText="安全业绩加分值" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField MinWidth="450px" ColumnID="Contractor" DataField="Contractor" FieldType="String"
HeaderText="承包商" HeaderTextAlign="Center" TextAlign="Left" ExpandUnusedSpace="true">
</f:RenderField>
<f:RenderField Width="10px" ColumnID="ContractorId" DataField="ContractorId" FieldType="String"
Hidden="true">
</f:RenderField>
</Columns>
<Listeners>
<f:Listener Event="rowselect" Handler="onGridRowSelect" />
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
</Listeners>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
<f:ListItem Text="15" Value="15" />
<f:ListItem Text="20" Value="20" />
<f:ListItem Text="25" Value="25" />
</f:DropDownList>
</PageItems>
</f:Grid>
<f:SimpleForm ID="SimpleForm1" runat="server" ShowBorder="true" ShowHeader="false"
LabelWidth="100px" BodyPadding="5px" Width="360px">
<Items>
<f:HiddenField ID="hfFormID" runat="server">
</f:HiddenField>
</Items>
<Items>
<f:Form ID="FormT" runat="server" ShowBorder="false" ShowHeader="false" BodyPadding="5px">
<Rows>
<f:FormRow>
<Items>
<f:DatePicker ID="dateYear" runat="server" Label="Years" DisplayType="Year" Required="true" ShowRedStar="true"
DateFormatString="yyyy" ShowTodayButton="false" LabelAlign="Right" LabelWidth="100px"></f:DatePicker>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DropDownList ID="drpYearPrize" runat="server" Label="年度奖项" LabelAlign="Right" Required="true" ShowRedStar="true"
LabelWidth="100px" AutoPostBack="true" OnSelectedIndexChanged="drpYearPrize_OnSelectedIndexChanged">
<f:ListItem Text="-请选择-" Value="0" />
<f:ListItem Text="一等奖" Value="一等奖" />
<f:ListItem Text="二等奖" Value="二等奖" />
<f:ListItem Text="三等奖" Value="三等奖" />
</f:DropDownList>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:NumberBox Label="加分值" ID="numBonus" NoNegative="true" DecimalPrecision="1"
Required="true" ShowRedStar="true" runat="server" NumberSuffix="%" LabelAlign="Right" LabelWidth="100px"/>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DropDownList ID="drpContractor" runat="server" Label="Contractor" LabelAlign="Right"
Required="true" ShowRedStar="true" LabelWidth="100px" EnableEdit="true" >
</f:DropDownList>
</Items>
</f:FormRow>
</Rows>
</f:Form>
</Items>
<Items>
</Items>
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server">
<Items>
<f:Button ID="btnNew" Text="" Icon="Add" ToolTip="新增" EnablePostBack="false" runat="server">
<Listeners>
<f:Listener Event="click" Handler="onNewButtonClick" />
</Listeners>
</f:Button>
<f:Button ID="btnDelete" Text="" Enabled="false" ToolTip="删除" Icon="Delete" ConfirmText="确定删除当前数据?"
OnClick="btnDelete_Click" runat="server">
</f:Button>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" Text="提交数据" ValidateForms="SimpleForm1"
OnClick="btnSave_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</f:SimpleForm>
</Items>
</f:Panel>
<f:Menu ID="Menu1" runat="server">
<f:MenuButton ID="btnMenuEdit" OnClick="btnMenuEdit_Click" EnablePostBack="true"
runat="server" Text="编辑" Icon="TableEdit">
</f:MenuButton>
<f:MenuButton ID="btnMenuDelete" OnClick="btnMenuDelete_Click" EnablePostBack="true"
ConfirmText="删除选中行?" ConfirmTarget="Top" runat="server" Text="删除" Icon="Delete">
</f:MenuButton>
</f:Menu>
</form>
<script type="text/javascript">
var menuID = '<%= Menu1.ClientID %>';
// 返回false,来阻止浏览器右键菜单
function onRowContextMenu(event, rowId) {
F(menuID).show(); //showAt(event.pageX, event.pageY);
return false;
}
function reloadGrid() {
__doPostBack(null, 'reloadGrid');
}
var gridClientID = '<%= Grid1.ClientID %>';
var btnDeleteClientID = '<%= btnDelete.ClientID %>';
var btnSaveClientID = '<%= btnSave.ClientID %>';
var formClientID = '<%= SimpleForm1.ClientID %>';
var hfFormIDClientID = '<%= hfFormID.ClientID %>';
var dateYearClientID = '<%= dateYear.ClientID %>';
var drpYearPrizeClientID = '<%= drpYearPrize.ClientID %>';
var numBonusClientID = '<%= numBonus.ClientID %>';
var drpContractorClientID = '<%= drpContractor.ClientID %>';
function onGridRowSelect(event, rowId) {
var grid = F(gridClientID);
// 启用删除按钮
F(btnDeleteClientID).enable();
// 当前行数据
var rowValue = grid.getRowValue(rowId);
// 使用当前行数据填充表单字段
F(hfFormIDClientID).setValue(rowId);
F(dateYearClientID).setValue(rowValue['Years']);
F(drpYearPrizeClientID).setValue(rowValue['YearPrize']);
F(numBonusClientID).setValue(rowValue['Bonus']);
F(drpContractorClientID).setValue(rowValue['ContractorId']);
// 更新提交按钮文本
F(btnSaveClientID).setText('提交数据(编辑)');
}
function onNewButtonClick() {
// 重置表单字段
F(formClientID).reset();
// 清空表格选中行
F(gridClientID).clearSelections();
F(hfFormIDClientID).setValue("");
// 禁用删除按钮
F(btnDeleteClientID).disable();
// 更新提交按钮文本
F(btnSaveClientID).setText('提交数据(新增)');
}
</script>
</body>
</html>
@@ -0,0 +1,299 @@
using BLL;
using NPOI.SS.Formula.Functions;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.Evaluation
{
public partial class SafetyPerformance : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BLL.ContractorService.InitDropDownList(drpContractor, true); //承包商;
BindGrid();
}
}
#region
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
string strSql = @"select SafetyPerformanceId,Years,YearPrize,Bonus,sp.ContractorId,
(CASE WHEN contractor.Contractor IS NULL THEN ISNULL(contractor.ContractorCN,'')
ELSE (CASE WHEN contractor.ContractorCN IS NULL THEN ISNULL(contractor.Contractor,'')
ELSE (ISNULL(contractor.Contractor,'') + ISNULL(contractor.ContractorCN,'')) END) END)AS Contractor
from SafetyPerformance sp
left join Base_Contractor contractor on contractor.ContractorId=sp.ContractorId
WHERE 1=1";
List<SqlParameter> listStr = new List<SqlParameter>();
if (txtYears.Text != "")
{
strSql += " AND sp.Years = @Years";
listStr.Add(new SqlParameter("@Years", txtYears.Text.Trim()));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
// 2.获取当前分页数据
//var table = this.GetPagedDataTable(Grid1, tb1);
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#endregion
#region
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
BindGrid();
}
/// <summary>
/// 分页下拉选择
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
Grid1.SortDirection = e.SortDirection;
Grid1.SortField = e.SortField;
BindGrid();
}
#endregion
#region
/// <summary>
/// 删除
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnDelete_Click(object sender, EventArgs e)
{
Model.SafetyPerformance sp = Funs.DB.SafetyPerformance.FirstOrDefault(x => x.SafetyPerformanceId == hfFormID.Text);
if (sp != null)
{
Funs.DB.SafetyPerformance.DeleteOnSubmit(sp);
Funs.DB.SubmitChanges();
}
// 重新绑定表格,并模拟点击[新增按钮]
BindGrid();
PageContext.RegisterStartupScript("onNewButtonClick();");
}
/// <summary>
/// 右键删除事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuDelete_Click(object sender, EventArgs e)
{
btnDelete_Click(null, null);
}
#endregion
#region
/// <summary>
/// 右键编辑事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuEdit_Click(object sender, EventArgs e)
{
this.EditData();
}
/// <summary>
/// 编辑数据方法
/// </summary>
private void EditData()
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
string Id = Grid1.SelectedRowID;
var safeP = Funs.DB.SafetyPerformance.FirstOrDefault(e => e.SafetyPerformanceId == Id);
if (safeP != null)
{
this.dateYear.Text = safeP.Years;
this.drpYearPrize.Text = safeP.YearPrize;
if (safeP.Bonus.HasValue)
{
this.numBonus.Text = safeP.Bonus.ToString();
}
drpContractor.SelectedValue = safeP.ContractorId;
hfFormID.Text = Id;
this.btnDelete.Enabled = true;
}
}
#endregion
private int GetYearPriceNum(string years, string price, string safetyPerformanceId)
{
var safeList = from x in Funs.DB.SafetyPerformance
where x.Years == years && x.YearPrize == price
&& x.SafetyPerformanceId != safetyPerformanceId
select x;
return safeList.Count();
}
#region
/// <summary>
/// 保存按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
if (dateYear.Text == "")
{
Alert.ShowInTop("年度不能为空!", MessageBoxIcon.Warning);
return;
}
if (drpContractor.SelectedValue == "" || drpContractor.SelectedValue == Const._Null)
{
Alert.ShowInTop("请选择承包商!", MessageBoxIcon.Warning);
return;
}
if (drpYearPrize.SelectedValue == "0" )
{
Alert.ShowInTop("请选择安全年度奖项!", MessageBoxIcon.Warning);
return;
}
if (numBonus.Text == "")
{
Alert.ShowInTop("安全业绩加分值为空!", MessageBoxIcon.Warning);
return;
}
string strRowID = hfFormID.Text;
string strWarn = "";
int PriecNum = GetYearPriceNum(this.dateYear.Text.Trim(), drpYearPrize.SelectedValue, strRowID);
if (drpYearPrize.SelectedValue == "一等奖")
{
if (PriecNum >= 1)
{
strWarn = "年度一等奖数量只有一名,已录入!";
}
}
if (drpYearPrize.SelectedValue == "二等奖")
{
if (PriecNum >= 2)
{
strWarn = "年度二等奖数量只有二名,已录入!";
}
}
if (drpYearPrize.SelectedValue == "三等奖")
{
if (PriecNum >= 3)
{
strWarn = "年度三等奖数量只有三名,已录入!";
}
}
if (strWarn == "")
{
if (string.IsNullOrEmpty(strRowID))
{
Model.SafetyPerformance safeP = new Model.SafetyPerformance();
safeP.Years = this.dateYear.Text.Trim();
safeP.YearPrize = drpYearPrize.SelectedValue;
safeP.Bonus = Convert.ToDecimal(numBonus.Text);
safeP.ContractorId = drpContractor.SelectedValue;
strRowID = SQLHelper.GetNewID(typeof(Model.SafetyPerformance));
safeP.SafetyPerformanceId = strRowID;
Funs.DB.SafetyPerformance.InsertOnSubmit(safeP);
Funs.DB.SubmitChanges();
}
else
{
Model.SafetyPerformance update = Funs.DB.SafetyPerformance.FirstOrDefault(x => x.SafetyPerformanceId == strRowID);
if (update != null)
{
update.Years = this.dateYear.Text.Trim();
update.YearPrize = drpYearPrize.SelectedValue;
update.Bonus = Convert.ToDecimal(numBonus.Text);
update.ContractorId = drpContractor.SelectedValue;
Funs.DB.SubmitChanges();
}
}
}
else
{
Alert.ShowInTop(strWarn, MessageBoxIcon.Warning);
return;
}
// 重新绑定表格,并点击当前编辑或者新增的行
BindGrid();
ShowNotify("保存成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript("onNewButtonClick();");
}
#endregion
protected void drpYearPrize_OnSelectedIndexChanged(object sender, EventArgs e)
{
if (drpYearPrize.SelectedValue != "0")
{
if (drpYearPrize.SelectedValue == "一等奖")
{
numBonus.Text = "2";
}
if (drpYearPrize.SelectedValue == "二等奖")
{
numBonus.Text = "1.5";
}
if (drpYearPrize.SelectedValue == "三等奖")
{
numBonus.Text = "1";
}
}
}
#region
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void txtYears_TextChanged(object sender, EventArgs e)
{
this.BindGrid();
}
#endregion
}
}
@@ -0,0 +1,242 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.Evaluation
{
public partial class SafetyPerformance
{
/// <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>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// txtYears 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtYears;
/// <summary>
/// ToolbarFill2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill2;
/// <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>
/// SimpleForm1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.SimpleForm SimpleForm1;
/// <summary>
/// hfFormID 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hfFormID;
/// <summary>
/// FormT 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form FormT;
/// <summary>
/// dateYear 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker dateYear;
/// <summary>
/// drpYearPrize 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpYearPrize;
/// <summary>
/// numBonus 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox numBonus;
/// <summary>
/// drpContractor 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpContractor;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// btnNew 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnNew;
/// <summary>
/// btnDelete 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnDelete;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// Menu1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuEdit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuEdit;
/// <summary>
/// btnMenuDelete 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuDelete;
}
}