1、项目环境设置

2、大屏数据调优
This commit is contained in:
夏菊 2025-04-17 18:32:33 +08:00
parent ee8b8926a2
commit 255a37051e
15 changed files with 1077 additions and 59 deletions

View File

@ -1,4 +1,26 @@
--1¡¢ÏîÄ¿»·¾³ÉèÖÃ
IF NOT EXISTS (SELECT * FROM Sys_Menu WHERE MenuId = 'F2601FA2-2C70-44A2-A2B0-2E3A5458AE00')
BEGIN
--ÏîÄ¿»·¾³ÉèÖÃ
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES('F2601FA2-2C70-44A2-A2B0-2E3A5458AE00','ÏîÄ¿½ø¶ÈÉèÖÃ','/SysManage/Schedule.aspx',100,'0','Menu_ProjectSet',0,1,1)
END
GO
IF NOT EXISTS (SELECT * FROM Sys_ButtonToMenu WHERE MenuId = 'F2601FA2-2C70-44A2-A2B0-2E3A5458AE00')
BEGIN
--ÏîÄ¿»·¾³ÉèÖÃ
INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
VALUES('9FE81E00-A0B5-4CCF-8324-8E9D8F683468','F2601FA2-2C70-44A2-A2B0-2E3A5458AE00','Ôö¼Ó',1)
INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
VALUES('289CA335-8A27-45D6-A45C-576B20396534','F2601FA2-2C70-44A2-A2B0-2E3A5458AE00','ÐÞ¸Ä',2)
INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
VALUES('5DE2147A-C361-4931-AD0C-AE1866AFC9EB','F2601FA2-2C70-44A2-A2B0-2E3A5458AE00','ɾ³ý',3)
INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
VALUES('ADCFE25F-2F13-46A1-A367-70E942D0F1A2','F2601FA2-2C70-44A2-A2B0-2E3A5458AE00','±£´æ',4)
END
GO
/****** Object: Table [dbo].[Sys_Schedule] Script Date: 2025-4-17 16:33:59 ******/

View File

@ -855,6 +855,7 @@
<Compile Include="SYHSE\SYHSEData_MajorHazardService.cs" />
<Compile Include="SYHSE\SYHSEData_PromiseService.cs" />
<Compile Include="SYHSE\SYHSEData_RiskService.cs" />
<Compile Include="SysManage\ScheduleService.cs" />
<Compile Include="SysManage\ButtonPowerService.cs" />
<Compile Include="SysManage\ButtonToMenuService.cs" />
<Compile Include="SysManage\DepartService.cs" />

View File

@ -4402,6 +4402,10 @@ namespace BLL
/// 项目环境设置
/// </summary>
public const string CQMSSysSetMenuId = "9c62332c-d31f-4575-a323-49537bf335e8";
/// <summary>
/// 项目进度设置
/// </summary>
public const string SysSetScheduleMenuId = "F2601FA2-2C70-44A2-A2B0-2E3A5458AE00";
#endregion
#region WBS定制管理

View File

@ -0,0 +1,45 @@
using System.Linq;
namespace BLL
{
public class ScheduleService
{
public static Model.SUBQHSEDB db = Funs.DB;
/// <summary>
/// 添加
/// </summary>
/// <param name="model"></param>
public static void Add(Model.Sys_Schedule model)
{
using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
{
Model.Sys_Schedule newModel = new Model.Sys_Schedule();
newModel.ScheduleId = model.ScheduleId;
newModel.ScheduleName = model.ScheduleName;
newModel.ScheduleDate = model.ScheduleDate;
newModel.ProjectId = model.ProjectId;
newModel.SortId = model.SortId;
db.Sys_Schedule.InsertOnSubmit(newModel);
db.SubmitChanges();
}
}
/// <summary>
/// 修改
/// </summary>
/// <param name="model"></param>
public static void Update(Model.Sys_Schedule model)
{
using (var db = new Model.SUBQHSEDB(Funs.ConnString))
{
Model.Sys_Schedule newModel = db.Sys_Schedule.First(e => e.ScheduleId == model.ScheduleId);
newModel.ScheduleName = model.ScheduleName;
newModel.ScheduleDate = model.ScheduleDate;
newModel.ScheduleDate = model.ScheduleDate;
newModel.ProjectId = model.ProjectId;
db.SubmitChanges();
}
}
}
}

View File

@ -1251,6 +1251,8 @@
<Content Include="res\ol\bd09.js" />
<Content Include="res\ol\ol.css" />
<Content Include="res\ol\ol.js" />
<Content Include="SysManage\Schedule.aspx" />
<Content Include="SysManage\ScheduleEdit.aspx" />
<Content Include="ThreeYearAction\ConstructionStandardization\BenchmarkWorkSite.aspx" />
<Content Include="ThreeYearAction\ConstructionStandardization\BenchmarkWorkSiteEdit.aspx" />
<Content Include="ThreeYearAction\ConstructionStandardization\BenchmarkWorkSiteView.aspx" />
@ -12264,6 +12266,20 @@
<Compile Include="ProjectData\LocationSelect.aspx.designer.cs">
<DependentUpon>LocationSelect.aspx</DependentUpon>
</Compile>
<Compile Include="SysManage\Schedule.aspx.cs">
<DependentUpon>Schedule.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="SysManage\Schedule.aspx.designer.cs">
<DependentUpon>Schedule.aspx</DependentUpon>
</Compile>
<Compile Include="SysManage\ScheduleEdit.aspx.cs">
<DependentUpon>ScheduleEdit.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="SysManage\ScheduleEdit.aspx.designer.cs">
<DependentUpon>ScheduleEdit.aspx</DependentUpon>
</Compile>
<Compile Include="ThreeYearAction\ConstructionStandardization\BenchmarkWorkSite.aspx.cs">
<DependentUpon>BenchmarkWorkSite.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>

View File

@ -0,0 +1,87 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Schedule.aspx.cs" Inherits="FineUIPro.Web.SysManage.Schedule" %>
<!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>
<style type="text/css">
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
</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:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="智慧进度" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="ScheduleId" EnableColumnLines="true"
ClicksToEdit="2" DataIDField="ScheduleId" AllowSorting="true" ForceFit="true"
AllowPaging="true" IsDatabasePaging="true"
Width="980px" EnableTextSelection="True">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server">
<Items>
<f:Button ID="btnNew" runat="server" ToolTip="新增" Icon="Add" Text="新增" OnClick="btnMenuAdd_Click"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
<f:Label runat="server" Text="进度每个项目最多添加6条数据日期必须填写。" CssStyle="color:red"></f:Label>
</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:RenderField Width="200px" ColumnID="ScheduleName" DataField="ScheduleName" FieldType="String" HeaderText="进度名称"
HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:BoundField Width="100px" DataField="ScheduleDate" DataFormatString="{0:yyyy-MM-dd}" HeaderText="日期" />
<f:RenderField Width="200px" ColumnID="ProjectName" DataField="ProjectName" FieldType="String" HeaderText="归属项目"
HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
</Listeners>
</f:Grid>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="新增" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="600px" Height="400px" OnClose="Window1_Close">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<f:MenuButton ID="btnMenuEdit" OnClick="btnMenuEdit_Click" Icon="TableEdit" EnablePostBack="true"
Hidden="true" runat="server" Text="编辑">
</f:MenuButton>
</f:Menu>
</form>
<script type="text/jscript">
var menuID = '<%= Menu1.ClientID %>';
// 返回false来阻止浏览器右键菜单
function onRowContextMenu(event, rowId) {
F(menuID).show(); //showAt(event.pageX, event.pageY);
return false;
}
function reloadGrid() {
__doPostBack(null, 'reloadGrid');
}
</script>
</body>
</html>

View File

@ -0,0 +1,139 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using BLL;
namespace FineUIPro.Web.SysManage
{
public partial class Schedule : PageBase
{
public string Projectid
{
get
{
return (string)ViewState["Projectid"];
}
set
{
ViewState["Projectid"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Projectid = CurrUser.LoginProjectId;
////权限按钮方法
this.GetButtonPower();
// 绑定表格
this.BindGrid();
}
}
#region
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower()
{
if (Request.Params["value"] == "0")
{
return;
}
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.SysSetScheduleMenuId);
if (buttonList.Count() > 0)
{
if (buttonList.Contains(BLL.Const.BtnAdd))
{
this.btnNew.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnModify))
{
this.btnMenuEdit.Hidden = false;
}
}
}
#endregion
#region
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
//查询user表里岗位项目角色是群安员的用户
string strSql = @"select ScheduleId,ScheduleName,ScheduleDate,S.ProjectId,J.ProjectName,SortId from Sys_Schedule S
left join Base_Project J on S.ProjectId= J.ProjectId
WHERE 1=1 ";
List<SqlParameter> listStr = new List<SqlParameter>();
strSql += " AND S.ProjectId=@ProjectId ";
listStr.Add(new SqlParameter("@ProjectId", CurrUser.LoginProjectId));
strSql += " order by SortId ";
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
//tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#endregion
/// <summary>
/// 关闭弹出窗
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
/// <summary>
/// 右键编辑事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuEdit_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(Projectid))
{
string id = Grid1.SelectedRowID;
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ScheduleEdit.aspx?ScheduleId={0}", id, "编辑 - ")));
}
else
{
Alert.ShowInTop("未获取到当前项目,请刷新页面或重新选择项目", MessageBoxIcon.Warning);
}
}
protected void btnMenuAdd_Click(object sender, EventArgs e)
{
//判断是否已经存在6个
if (!string.IsNullOrEmpty(Projectid))
{
var listSchedule = Funs.DB.Sys_Schedule.Where(x => x.ProjectId == Projectid).ToList();
if (listSchedule.Count >= 6)
{
Alert.ShowInTop("进度节点数据最多添加6条", MessageBoxIcon.Warning);
}
else
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ScheduleEdit.aspx", "添加 - ")));
}
}
else
{
Alert.ShowInTop("未获取到当前项目,请刷新页面或重新选择项目", MessageBoxIcon.Warning);
}
}
}
}

View File

@ -0,0 +1,107 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.SysManage
{
public partial class Schedule
{
/// <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>
/// btnNew 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnNew;
/// <summary>
/// lblNumber 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblNumber;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// Menu1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuEdit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuEdit;
}
}

View File

@ -0,0 +1,76 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ScheduleEdit.aspx.cs" Inherits="FineUIPro.Web.SysManage.ScheduleEdit" %>
<!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>
<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="txtScheduleName" runat="server" Label="节点名称" ShowRedStar="true" Required="true" LabelAlign="Right"></f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DatePicker ID="txtScheduleDate" runat="server" Label="节点日期" DateFormatString="yyyy-MM-dd" ShowRedStar="true" Required="true" LabelAlign="Right"
EnableEdit="true">
</f:DatePicker>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtSortId" runat="server" Label="序号" Readonly="true" LabelAlign="Right"></f:TextBox>
</Items>
</f:FormRow>
</Rows>
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
<Items>
<f:TextBox ID="hdCheckControlCode" runat="server" Hidden="true"></f:TextBox>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<f:Button ID="btnSave" OnClick="btnSave_Click" Icon="SystemSave" runat="server" ValidateForms="SimpleForm1" ToolTip="保存" Text="保存">
</f:Button>
<f:TextBox ID="hdId" runat="server" Hidden="true">
</f:TextBox>
<f:TextBox ID="hdAttachUrl" runat="server" Hidden="true">
</f:TextBox>
</Items>
</f:Toolbar>
</Toolbars>
</f:Form>
</form>
</body>
</html>

View File

@ -0,0 +1,102 @@

using BLL;
using System;
using System.Data;
using System.Linq;
namespace FineUIPro.Web.SysManage
{
public partial class ScheduleEdit : PageBase
{
/// <summary>
/// 主键
/// </summary>
public string ScheduleId
{
get
{
return (string)ViewState["ScheduleId"];
}
set
{
ViewState["ScheduleId"] = value;
}
}
public string Projectid
{
get
{
return (string)ViewState["Projectid"];
}
set
{
ViewState["Projectid"] = value;
}
}
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ScheduleId = Request.Params["ScheduleId"];
Projectid = CurrUser.LoginProjectId;
if (!string.IsNullOrEmpty(ScheduleId))
{
if (!string.IsNullOrEmpty(Projectid))
{
Model.Sys_Schedule model = Funs.DB.Sys_Schedule.FirstOrDefault(x => x.ScheduleId == ScheduleId && x.ProjectId == Projectid);
txtScheduleName.Text = model.ScheduleName;
txtScheduleDate.Text = model.ScheduleDate.ToString();
txtSortId.Text = model.SortId.ToString();
}
}
else
{
Model.Sys_Schedule model = Funs.DB.Sys_Schedule.OrderByDescending(x => x.SortId).FirstOrDefault(x => x.ProjectId == Projectid);
if (model != null)
{
txtSortId.Text = (model.SortId + 1).ToString();
}
else
{
txtSortId.Text = "1";
}
}
}
}
/// <summary>
/// 保存事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
Model.Sys_Schedule model = new Model.Sys_Schedule();
model.ScheduleDate = Convert.ToDateTime(txtScheduleDate.Text);
model.ScheduleName = txtScheduleName.Text.Trim();
model.SortId = Convert.ToInt32(txtSortId.Text);
model.ProjectId = Projectid;
if (!string.IsNullOrEmpty(ScheduleId))
{
model.ScheduleId = ScheduleId;
ScheduleService.Update(model);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
else
{
model.ScheduleId = SQLHelper.GetNewID(typeof(Model.Sys_Schedule)); ;
ScheduleService.Add(model);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
}
}
}

View File

@ -0,0 +1,125 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.SysManage
{
public partial class ScheduleEdit
{
/// <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>
/// txtScheduleName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtScheduleName;
/// <summary>
/// txtScheduleDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtScheduleDate;
/// <summary>
/// txtSortId 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtSortId;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// hdCheckControlCode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox hdCheckControlCode;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// hdId 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox hdId;
/// <summary>
/// hdAttachUrl 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox hdAttachUrl;
}
}

View File

@ -122,7 +122,7 @@
<div :class="[checkIdx == 0?'selected':'']" @click="onChangeCheck(0)"><span>安全检查</span></div>
<div :class="[checkIdx == 1?'selected':'']" @click="onChangeCheck(1)"><span>质量检查</span></div>
</div>
<div class="block-main">
<div class="block-main" id="hsseCheck" >
<div class="early-box">
<div class="early-box-laber">问题</div>
<div class="early-box-value">{{form.hsseCheck.generalNum}}<span>项</span></div>
@ -140,6 +140,24 @@
<div class="early-box-value">{{form.hsseCheck.rectificationRate}}<span>%</span></div>
</div>
</div>
<div class="block-main" id="cqmsCheck" style="display: none;">
<div class="early-box">
<div class="early-box-laber">问题</div>
<div class="early-box-value">{{form.cqmsCheck.generalNum}}<span>项</span></div>
</div>
<div class="early-box">
<div class="early-box-laber">未完成</div>
<div class="early-box-value">{{form.cqmsCheck.notClosedNum}}<span>项</span></div>
</div>
<div class="early-box">
<div class="early-box-laber">整改闭环</div>
<div class="early-box-value">{{form.cqmsCheck.closedNum}}<span>项</span></div>
</div>
<div class="early-box">
<div class="early-box-laber">整改率</div>
<div class="early-box-value">{{form.cqmsCheck.rectificationRate}}<span>%</span></div>
</div>
</div>
</div>
<!-- 风险分级管控 -->
<div id="risk" class="block" style="height: 1.675rem;margin-top: 0.25rem;">
@ -412,7 +430,7 @@
<span>质量教育数据</span>
</div>
</div>
<div class="block-main">
<div class="block-main" id="hsseEduTrain">
<div class="educa-box">
<div class="box1">
<div class="box1-row">
@ -461,6 +479,14 @@
</div>
</div>
</div>
<div class="block-main" id="cqmsEduTrain" style="display: none;">
<div class="educa-box">
<div class="box1 a-box1">
<h6>质量教育-培训人数</h6>
<p><span>{{form.cqmsTrainPersonNum}}</span><span>人</span></p>
</div>
</div>
</div>
</div>
<!-- 报验记录 -->
<div id="byjl" class="block" style="height: 2.5375rem;margin-top: 0.25rem;">
@ -783,9 +809,25 @@
},
onChangeEducation(idx) {
this.educationIdx = idx;
if (this.educationIdx == 0) {
$("#hsseEduTrain").show();
$("#cqmsEduTrain").hide();
}
else {
$("#hsseEduTrain").hide();
$("#cqmsEduTrain").show();
}
},
onChangeCheck(idx) {
this.checkIdx = idx;
if (this.checkIdx == 0) {
$("#hsseCheck").show();
$("#cqmsCheck").hide();
}
else {
$("#hsseCheck").hide();
$("#cqmsCheck").show();
}
},
// 创建中国地图
createChinaMap(data) {

View File

@ -19,10 +19,10 @@
<body class="bg1">
<div id="app">
<div class="container" style="padding-top: .25rem" v-cloak>
<div class="container" style=" padding-top: .25rem" v-cloak>
<div class="side">
<!-- 组织机构人员 -->
<div class="block" style="height: 2.5375rem;">
<div class="block" style=" height: 2.5375rem;">
<div class="block-tit"><span>组织机构人员</span></div>
<div id="org1" class="block-main">
<div class="o-box">
@ -49,7 +49,7 @@
<div class="org-row1">
<i></i>
<div class="row1-inner">
<div class="row1-tit" style="width: auto;">安管人员与作业人员配比</div>
<div class="row1-tit" style=" width: auto;">安管人员与作业人员配比</div>
<h6>{{form.org.projectPersonRatio}}</h6>
</div>
</div>
@ -57,7 +57,8 @@
</div>
</div>
<!-- 预警警报 -->
<div id="Early" class="block" style="height: 2.1rem;margin-top: 0.25rem;">
<div id="Early" class="block" style=" height: 2.1rem;
margin-top: 0.25rem;">
<div class="block-tit"><span>预警警报</span></div>
<div class="block-main">
<div class="early-box">
@ -80,12 +81,13 @@
</div>
</div>
<!-- 安全/质量问题 -->
<div id="check" class="block" style="height: 2.1rem;margin-top: 0.25rem;">
<div id="check" class="block" style=" height: 2.1rem;
margin-top: 0.25rem;">
<div class="block-tit">
<div :class="[checkIdx == 0?'selected':'']" @click="onChangeCheck(0)"><span>安全检查</span></div>
<div :class="[checkIdx == 1?'selected':'']" @click="onChangeCheck(1)"><span>质量检查</span></div>
</div>
<div class="block-main">
<div class="block-main" id="hsseCheck">
<div class="early-box">
<div class="early-box-laber">问题</div>
<div class="early-box-value">{{form.hsseCheck.generalNum}}<span>项</span></div>
@ -103,9 +105,28 @@
<div class="early-box-value">{{form.hsseCheck.rectificationRate}}<span>%</span></div>
</div>
</div>
<div class="block-main" id="cqmsCheck" style="display: none;">
<div class="early-box">
<div class="early-box-laber">问题</div>
<div class="early-box-value">{{form.cqmsCheck.generalNum}}<span>项</span></div>
</div>
<div class="early-box">
<div class="early-box-laber">未完成</div>
<div class="early-box-value">{{form.cqmsCheck.notClosedNum}}<span>项</span></div>
</div>
<div class="early-box">
<div class="early-box-laber">整改闭环</div>
<div class="early-box-value">{{form.cqmsCheck.closedNum}}<span>项</span></div>
</div>
<div class="early-box">
<div class="early-box-laber">整改率</div>
<div class="early-box-value">{{form.cqmsCheck.rectificationRate}}<span>%</span></div>
</div>
</div>
</div>
<!-- 风险分级管控 -->
<div id="risk" class="block" style="height: 1.725rem;margin-top: 0.25rem;">
<div id="risk" class="block" style=" height: 1.725rem;
margin-top: 0.25rem;">
<div class="block-tit"><span>风险分级管控</span></div>
<div class="block-main">
<div class="box">
@ -139,12 +160,14 @@
</div>
</div>
<!-- 费用、机具及会议 -->
<div id="tools" class="block" style="height: 2.15rem;margin-top: 0.25rem;">
<div id="tools" class="block" style=" height: 2.15rem;
margin-top: 0.25rem;">
<div class="block-tit"><span>费用、机具及会议</span></div>
<div class="block-main">
<div class="t-box">
<div class="t-box-tit">
<i class="iconfont icon-l10" style="color: #FFBF46;font-size: 20px;"></i>
<i class="iconfont icon-l10" style=" color: #FFBF46;
font-size: 20px;"></i>
<p>安全费用</p>
</div>
<div class="r-row">
@ -158,7 +181,8 @@
</div>
<div class="t-box">
<div class="t-box-tit">
<i class="iconfont icon-l10" style="color: #00DEFF;font-size: 20px;"></i>
<i class="iconfont icon-l10" style=" color: #00DEFF;
font-size: 20px;"></i>
<p>施工机具设备</p>
</div>
<div class="r-row">
@ -172,7 +196,8 @@
</div>
<div class="t-box">
<div class="t-box-tit">
<i class="iconfont icon-l10" style="color: #00DEFF;font-size: 20px;"></i>
<i class="iconfont icon-l10" style=" color: #00DEFF;
font-size: 20px;"></i>
<p>会议</p>
</div>
<div class="r-row">
@ -187,9 +212,9 @@
</div>
</div>
</div>
<div class="center" style="grid-template-rows: 1fr 1.8875rem 1.425rem 1.85rem 2.725rem;">
<div class="center" style=" grid-template-rows: 1fr 1.8875rem 1.425rem 1.85rem 2.725rem;">
<div class="infoandvideo" style="height: 2.6rem;">
<div class="infoandvideo" style=" height: 2.6rem;">
<div class="info">
<img src="../res/indexv2/assets/image/index6/center-bg.jpeg" alt="">
<div class="info-box">
@ -216,12 +241,14 @@
</div>
</div>
<!-- 项目进度计划 -->
<div id="xmjd" class="block4" style="height: 1.8875rem;">
<div id="xmjd" class="block4" style=" height: 1.8875rem;">
<div class="block4-tit"><span>项目进度计划</span></div>
<div class="block4-main" style="width: 10rem; ">
<div style="overflow-x: scroll;height: 100%;">
<div class="block4-main" style=" width: 10rem;
">
<div style=" overflow-x: scroll;
height: 100%;">
<div class="xm-plan">
<div v-for="(item,idx) in xmjdData" ::key="idx" :class="['z-plan-item', item.isClosed?'closed':'undone']">
<div v-for="(item,idx) in form.xmjdData" ::key="idx" :class="['z-plan-item', item.isClosed?'closed':'undone']">
<div class="z-line" >
<div class="z-dot"><div class="z-dot-inner"></div></div>
</div>
@ -233,7 +260,7 @@
</div>
</div>
<!-- 危大工程管控数据 -->
<div id="wd" class="block4" style="height: 1.55rem;">
<div id="wd" class="block4" style=" height: 1.55rem;">
<div class="block4-tit"><span>危大工程管控数据</span></div>
<div class="block4-main">
<div class="wd">
@ -277,8 +304,11 @@
</div>
<!-- 应急管理数据 / 工程划分 -->
<div class="layout"
style="height: 1.85rem;display: grid;grid-template-columns: 5.5rem 4.25rem;gap: 0.25rem;">
<div id="yjgl" class="block5" style="height: 100%;">
style=" height: 1.85rem;
display: grid;
grid-template-columns: 5.5rem 4.25rem;
gap: 0.25rem;">
<div id="yjgl" class="block5" style=" height: 100%;">
<div class="block5-tit"><span>应急管理数据</span></div>
<div class="block5-main">
<div class="yjgl">
@ -305,7 +335,7 @@
</div>
</div>
</div>
<div id="gchf" class="block6" style="height: 100%;">
<div id="gchf" class="block6" style=" height: 100%;">
<div class="block6-tit"><span>工程划分</span></div>
<div class="block6-main">
<div class="gchf">
@ -329,7 +359,7 @@
</div>
</div>
<!-- 质量验收数据 -->
<div id="zhl" class="block4" style="height: 2.725rem;">
<div id="zhl" class="block4" style=" height: 2.725rem;">
<div class="block4-tit"><span>质量验收数据</span></div>
<div class="block4-main">
<div class="zhl">
@ -341,7 +371,10 @@
</div>
<div class="side">
<!-- 特种设备质保体系 / 图纸会审/设计交底 -->
<div class="layout" style="height: 1.7rem;display: grid;grid-template-columns: 1fr 1fr;gap: 0.25rem;">
<div class="layout" style=" height: 1.7rem;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 0.25rem;">
<div class="block1" id="tzsb">
<div class="block-tit1"><span>特种设备质保体系</span></div>
<div class="block1-main">
@ -368,7 +401,8 @@
</div>
</div>
<!-- 培训教育 -->
<div id="educat" class="block" style="height: 2.2rem;margin-top: 0.25rem;">
<div id="educat" class="block" style=" height: 2.2rem;
margin-top: 0.25rem;">
<div class="block-tit">
<div :class="[educationIdx == 0?'selected':'']" @click="onChangeEducation(0)"><span>安全教育</span>
</div>
@ -376,21 +410,21 @@
<span>质量教育数据</span>
</div>
</div>
<div class="block-main">
<div class="block-main" id="hsseEduTrain">
<div class="educa-box">
<div class="box1">
<div class="box1-row">
<div class="educa-row-inner" style="margin-right: 0.125rem;">
<div class="educa-row-inner" style=" margin-right: 0.125rem;">
<div class="educa-lab"><span>专项培训</span></div>
<div class="educa-val" style="text-align: right;"><span>{{form.hsseEduTrain.specialTrainNum}}</span><span>次</span>
<div class="educa-val" style=" text-align: right;"><span>{{form.hsseEduTrain.specialTrainNum}}</span><span>次</span>
</div>
</div>
<i></i>
</div>
<div class="box1-row">
<div class="educa-row-inner" style="margin-right: 0.125rem;">
<div class="educa-row-inner" style=" margin-right: 0.125rem;">
<div class="educa-lab"><span>特种作业培训</span></div>
<div class="educa-val" style="text-align: right;"><span>{{form.hsseEduTrain.specialOperationTrainNum}}</span><span>次</span>
<div class="educa-val" style=" text-align: right;"><span>{{form.hsseEduTrain.specialOperationTrainNum}}</span><span>次</span>
</div>
</div>
<i></i>
@ -400,21 +434,21 @@
<h6>安全工时</h6>
<p><span>{{form.hsseEduTrain.safeWorkingHour}}</span><span>h</span></p>
</div>
<div class="box1" style="align-items: flex-start;">
<div class="box1" style=" align-items: flex-start;">
<div class="box1-row">
<i></i>
<div class="educa-row-inner" style="margin-left: 0.125rem;">
<div class="educa-row-inner" style=" margin-left: 0.125rem;">
<div class="educa-lab"><span>三级安全教育培训</span></div>
<div class="educa-val" style="text-align: left;"><span>{{form.hsseEduTrain.safeTrainNum}}</span><span>次</span>
<div class="educa-val" style=" text-align: left;"><span>{{form.hsseEduTrain.safeTrainNum}}</span><span>次</span>
</div>
</div>
</div>
<div class="box1-row">
<i></i>
<div class="educa-row-inner" style="margin-left: 0.125rem;">
<div class="educa-row-inner" style=" margin-left: 0.125rem;">
<div class="educa-lab"><span>安全技术交底</span></div>
<div class="educa-val" style="text-align: left;"><span>{{form.designBriefing.safetyTechnicalBriefing}}</span><span>次</span>
<div class="educa-val" style=" text-align: left;"><span>{{form.designBriefing.safetyTechnicalBriefing}}</span><span>次</span>
</div>
</div>
@ -422,9 +456,18 @@
</div>
</div>
</div>
<div class="block-main" id="cqmsEduTrain" style="display: none;">
<div class="educa-box">
<div class="box1 a-box1">
<h6>质量教育-培训人数</h6>
<p><span>{{form.cqmsTrainPersonNum}}</span><span>人</span></p>
</div>
</div>
</div>
</div>
<!-- 报验记录 -->
<div id="byjl" class="block" style="height: 2.5375rem;margin-top: 0.25rem;">
<div id="byjl" class="block" style=" height: 2.5375rem;
margin-top: 0.25rem;">
<div class="block-tit"><span>报验记录</span></div>
<div class="block-main">
<div class="byjl">
@ -435,7 +478,10 @@
<div class="row">
<h6>合格率</h6>
<div class="bar">
<div :style="{width: form.inspectionRecord.equipmentRate+'%'}" class="bar-inner"></div>
<div :style="
{
width: form.inspectionRecord.equipmentRate+'%'
}" class="bar-inner"></div>
</div>
</div>
</div>
@ -446,7 +492,10 @@
<div class="row">
<h6>合格率</h6>
<div class="bar">
<div :style="{width: form.inspectionRecord.machineRate+'%'}" class="bar-inner"></div>
<div :style="
{
width: form.inspectionRecord.machineRate+'%'
}" class="bar-inner"></div>
</div>
</div>
</div>
@ -457,7 +506,10 @@
<div class="row">
<h6>合格率</h6>
<div class="bar">
<div :style="{width: form.inspectionRecord.personRate+'%'}" class="bar-inner"></div>
<div :style="
{
width: form.inspectionRecord.personRate+'%'
}" class="bar-inner"></div>
</div>
</div>
</div>
@ -467,7 +519,11 @@
</div>
<!-- 施工方案 / 高风险作业许可 -->
<div class="layout"
style="height: 2.1875rem;margin-top: 0.25rem;display: grid;grid-template-columns: 3.75rem 2.25rem;gap: 0.25rem;">
style=" height: 2.1875rem;
margin-top: 0.25rem;
display: grid;
grid-template-columns: 3.75rem 2.25rem;
gap: 0.25rem;">
<div class="block2" id="sgfa">
<div class="block2-tit"><span>施工方案</span></div>
<div class="block2-main">
@ -509,7 +565,8 @@
</div>
</div>
<!-- 计量器具数据 -->
<div id="jlqj" class="block" style="height: 1.975rem;margin-top: 0.25rem;">
<div id="jlqj" class="block" style=" height: 1.975rem;
margin-top: 0.25rem;">
<div class="block-tit"><span>计量器具数据</span></div>
<div class="block-main">
<div class="jlqj">
@ -555,14 +612,6 @@
// 当前激活的管理菜单索引
manage_idx: 1,
// 存储所有数据的主要对象
xmjdData: [
{ date: '2025-01-01', title: '项目启动', description: '项目正式开始', isClosed: true },
{ date: '2025-02-01', title: '需求分析', description: '完成需求分析阶段', isClosed: true },
{ date: '2025-03-01', title: '设计阶段', description: '完成系统设计', isClosed: true },
{ date: '2025-04-01', title: '开发阶段', description: '开始软件开发', isClosed: true },
{ date: '2025-05-01', title: '测试阶段', description: '进行系统测试', isClosed: false },
{ date: '2025-06-01', title: '部署阶段', description: '系统部署上线', isClosed: false }
],
form: {
org: {//组织机构人员
projectSum: 0, // 项目总人数
@ -616,6 +665,7 @@
projectEndDate: '2049-12-31',//项目到期时间
projectEndDays: 0,//合同倒计时
},
xmjdData: [],//项目进度计划
dangerousProject:
{//危大工程管控数据
approvalCompleted: 0,//审批完成
@ -701,6 +751,7 @@
if (response.d.success) {
// 更新数据成功
that.form = { ...response.d.data }; // 更新表单数据
console.log(that.form)
} else {
// 更新数据失败
alert("加载数据失败:" + response.d.msg);
@ -730,9 +781,25 @@
},
onChangeEducation(idx) {
this.educationIdx = idx;
if (this.educationIdx == 0) {
$("#hsseEduTrain").show();
$("#cqmsEduTrain").hide();
}
else {
$("#hsseEduTrain").hide();
$("#cqmsEduTrain").show();
}
},
onChangeCheck(idx) {
this.checkIdx = idx;
if (this.checkIdx == 0) {
$("#hsseCheck").show();
$("#cqmsCheck").hide();
}
else {
$("#hsseCheck").hide();
$("#cqmsCheck").show();
}
},
/**
*

View File

@ -7,6 +7,7 @@ using System.Linq;
using System.Web.UI.WebControls;
using System.Threading.Tasks;
using FineUIPro.Web.ProjectData;
using FineUIPro.Web.DataShow;
namespace FineUIPro.Web.common
{
@ -87,12 +88,12 @@ namespace FineUIPro.Web.common
var inspectionMachineList = (from x in db.Comprehensive_InspectionMachine where x.ProjectId == projectId select x).ToList();
//质量
var cqmsProjectData = (from x in Funs.DB.Project_CQMSData_CQMS
var cqmsProjectData = (from x in db.Project_CQMSData_CQMS
where x.ProjectId == projectId
select x).OrderByDescending(x => x.ReportDate).FirstOrDefault();
//质量培训人数
//var cqmsTrainPersonNum = cqmsProjectData.TrainPersonNum;
var cqmsTrainPersonNum = Funs.DB.Comprehensive_InspectionPerson.Where(x => x.IsTrain == true && x.ProjectId == projectId).Count();
var cqmsTrainPersonNum = db.Comprehensive_InspectionPerson.Where(x => x.IsTrain == true && x.ProjectId == projectId).Count();
//var getJointCheckDetail = from x in Funs.DB.Check_JointCheckDetail
// join y in Funs.DB.Check_JointCheck on x.JointCheckId equals y.JointCheckId
@ -142,6 +143,17 @@ namespace FineUIPro.Web.common
double inspectionPersonRate = inspectionPersonIsCheckOk > 0 ? Math.Round((100 * (double)(inspectionPersonIsCheckOk / inspectionPerson)), 2) : 0;
double inspectionMachineRate = inspectionMachineIsCheckOk > 0 ? Math.Round((100 * (double)(inspectionMachineIsCheckOk / inspectionMachine)), 2) : 0;
//项目进度计划
var scheduleList = (from x in db.Sys_Schedule
where x.ProjectId == projectId
orderby x.SortId
select new
{
date = x.ScheduleDate,
title = x.ScheduleName,
description = x.ScheduleName,
isClosed = DateTime.Now > x.ScheduleDate
}).ToList();
// 构造返回数据
var returnData = new
{
@ -203,9 +215,13 @@ namespace FineUIPro.Web.common
projectEndDate = string.Format("{0:yyyy-MM-dd}", project.EndDate),//项目到期时间
projectEndDays = endDays > 0 ? endDays : 0,//合同倒计时
},
//xmjdData = new {//项目进度计划【待汇总】
//},
xmjdData = scheduleList.Select(x => new
{//项目进度计划
x.isClosed,
date = ((DateTime)x.date).ToString("yyyy-MM-dd"),
x.title,
x.description
}),
dangerousProject = new
{//危大工程管控数据
approvalCompleted = hsseData.CompletedNum ?? 0,//审批完成

View File

@ -2594,6 +2594,9 @@ namespace Model
partial void InsertSys_RolePower(Sys_RolePower instance);
partial void UpdateSys_RolePower(Sys_RolePower instance);
partial void DeleteSys_RolePower(Sys_RolePower instance);
partial void InsertSys_Schedule(Sys_Schedule instance);
partial void UpdateSys_Schedule(Sys_Schedule instance);
partial void DeleteSys_Schedule(Sys_Schedule instance);
partial void InsertSys_Set(Sys_Set instance);
partial void UpdateSys_Set(Sys_Set instance);
partial void DeleteSys_Set(Sys_Set instance);
@ -9837,6 +9840,14 @@ namespace Model
}
}
public System.Data.Linq.Table<Sys_Schedule> Sys_Schedule
{
get
{
return this.GetTable<Sys_Schedule>();
}
}
public System.Data.Linq.Table<Sys_Set> Sys_Set
{
get
@ -363803,7 +363814,7 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PersonName", DbType="NVarChar(50)")]
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PersonName", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
public string PersonName
{
get
@ -403874,6 +403885,164 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Sys_Schedule")]
public partial class Sys_Schedule : INotifyPropertyChanging, INotifyPropertyChanged
{
private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
private string _ScheduleId;
private string _ScheduleName;
private System.Nullable<System.DateTime> _ScheduleDate;
private string _ProjectId;
private System.Nullable<int> _SortId;
#region
partial void OnLoaded();
partial void OnValidate(System.Data.Linq.ChangeAction action);
partial void OnCreated();
partial void OnScheduleIdChanging(string value);
partial void OnScheduleIdChanged();
partial void OnScheduleNameChanging(string value);
partial void OnScheduleNameChanged();
partial void OnScheduleDateChanging(System.Nullable<System.DateTime> value);
partial void OnScheduleDateChanged();
partial void OnProjectIdChanging(string value);
partial void OnProjectIdChanged();
partial void OnSortIdChanging(System.Nullable<int> value);
partial void OnSortIdChanged();
#endregion
public Sys_Schedule()
{
OnCreated();
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ScheduleId", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
public string ScheduleId
{
get
{
return this._ScheduleId;
}
set
{
if ((this._ScheduleId != value))
{
this.OnScheduleIdChanging(value);
this.SendPropertyChanging();
this._ScheduleId = value;
this.SendPropertyChanged("ScheduleId");
this.OnScheduleIdChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ScheduleName", DbType="NVarChar(50)")]
public string ScheduleName
{
get
{
return this._ScheduleName;
}
set
{
if ((this._ScheduleName != value))
{
this.OnScheduleNameChanging(value);
this.SendPropertyChanging();
this._ScheduleName = value;
this.SendPropertyChanged("ScheduleName");
this.OnScheduleNameChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ScheduleDate", DbType="DateTime")]
public System.Nullable<System.DateTime> ScheduleDate
{
get
{
return this._ScheduleDate;
}
set
{
if ((this._ScheduleDate != value))
{
this.OnScheduleDateChanging(value);
this.SendPropertyChanging();
this._ScheduleDate = value;
this.SendPropertyChanged("ScheduleDate");
this.OnScheduleDateChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50)")]
public string ProjectId
{
get
{
return this._ProjectId;
}
set
{
if ((this._ProjectId != value))
{
this.OnProjectIdChanging(value);
this.SendPropertyChanging();
this._ProjectId = value;
this.SendPropertyChanged("ProjectId");
this.OnProjectIdChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SortId", DbType="Int")]
public System.Nullable<int> SortId
{
get
{
return this._SortId;
}
set
{
if ((this._SortId != value))
{
this.OnSortIdChanging(value);
this.SendPropertyChanging();
this._SortId = value;
this.SendPropertyChanged("SortId");
this.OnSortIdChanged();
}
}
}
public event PropertyChangingEventHandler PropertyChanging;
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void SendPropertyChanging()
{
if ((this.PropertyChanging != null))
{
this.PropertyChanging(this, emptyChangingEventArgs);
}
}
protected virtual void SendPropertyChanged(String propertyName)
{
if ((this.PropertyChanged != null))
{
this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Sys_Set")]
public partial class Sys_Set : INotifyPropertyChanging, INotifyPropertyChanged
{
@ -482650,7 +482819,7 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PersonName", DbType="NVarChar(50)")]
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PersonName", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
public string PersonName
{
get
@ -486408,7 +486577,7 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PersonName", DbType="NVarChar(50)")]
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PersonName", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
public string PersonName
{
get
@ -494691,7 +494860,7 @@ namespace Model
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PersonName", DbType="NVarChar(50)")]
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PersonName", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
public string PersonName
{
get