提交代码

This commit is contained in:
高飞 2024-01-24 09:20:11 +08:00
commit 7bc713ccad
29 changed files with 4121 additions and 741 deletions

View File

@ -0,0 +1,164 @@
--
update Sys_Menu set IsUsed=0 where MenuId='EF77BB1F-543B-4BBC-BE8C-FACF2987A13C'--
update Sys_Menu set IsUsed=0 where MenuId='F8E83DBF-7171-4108-81A7-3DB8D10FBFDE'--
update Sys_Menu set IsUsed=0 where MenuId='600AB952-4DC0-4E6D-8C6F-B7B7B9FE589E'--
go
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES('C8AD8E40-0E96-4007-A02F-62DDB0B275D5','人员培训记录',null,'TestRun/PersonTrain/PersonTrainPlan.aspx',40,'4C973259-234C-4540-9F6A-161ED93BE79B','Menu_TestRun',0,1,1)
GO
insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
values('5524601D-945F-4661-BCF7-B09513B8C556','C8AD8E40-0E96-4007-A02F-62DDB0B275D5','增加',1)
insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
values('5933AE90-96B3-4495-9F51-E30E9883CA94','C8AD8E40-0E96-4007-A02F-62DDB0B275D5','修改',2)
insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
values('C6A17B4D-245F-44CB-8B2D-CE16FB43A3E6','C8AD8E40-0E96-4007-A02F-62DDB0B275D5','删除',3)
insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
values('78390E56-0AA1-4C0E-8A40-1B2A6F182899','C8AD8E40-0E96-4007-A02F-62DDB0B275D5','保存',4)
go
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES('586035BF-A2D4-4199-A503-0ACACBFA5A13','培训合同',null,'TestRun/PersonTrain/TrainContract.aspx',50,'4C973259-234C-4540-9F6A-161ED93BE79B','Menu_TestRun',0,1,1)
GO
insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
values('A63A963C-98C0-497A-96AD-AEEFFF7BBD3F','586035BF-A2D4-4199-A503-0ACACBFA5A13','增加',1)
insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
values('21CB68FB-C11E-4A55-BAE2-8606E75C4470','586035BF-A2D4-4199-A503-0ACACBFA5A13','修改',2)
insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
values('F7386C76-9593-47DC-9CCB-FBFD2D468C5E','586035BF-A2D4-4199-A503-0ACACBFA5A13','删除',3)
insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
values('3D322716-2C46-478E-B6D5-44213EEF8643','586035BF-A2D4-4199-A503-0ACACBFA5A13','保存',4)
go
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES('80FDE614-1A37-4C1F-B818-C179CA97D66C','培训记录及执行报告',null,'TestRun/PersonTrain/TrainRecords.aspx',60,'4C973259-234C-4540-9F6A-161ED93BE79B','Menu_TestRun',0,1,1)
GO
insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
values('E15106AE-2780-4B2B-8D90-A4D8FB77C3D1','80FDE614-1A37-4C1F-B818-C179CA97D66C','增加',1)
insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
values('9720ECCC-42D8-4B46-BEFF-06677B379150','80FDE614-1A37-4C1F-B818-C179CA97D66C','修改',2)
insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
values('56400A8A-2F8C-4DA2-B108-72CCD9FF7BB7','80FDE614-1A37-4C1F-B818-C179CA97D66C','删除',3)
insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
values('49723355-EF7F-4AE3-8A9B-0C1325FF3934','80FDE614-1A37-4C1F-B818-C179CA97D66C','保存',4)
go
CREATE TABLE [dbo].[TestRun_TrainRecords](
[TrainRecordsId] [nvarchar](50) NOT NULL,
[ProjectId] [nvarchar](50) NULL,
[TrainRecordsCode] [nvarchar](50) NULL,
[TrainRecordsName] [nvarchar](50) NULL,
[UploadDate] [datetime] NULL,
[CompileMan] [nvarchar](50) NULL,
[CompileDate] [datetime] NULL,
[Remark] [nvarchar](500) NULL,
[AttachUrl] [nvarchar](500) NULL,
CONSTRAINT [PK_TestRun_TrainRecords] PRIMARY KEY CLUSTERED
(
[TrainRecordsId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[TestRun_TrainRecords] WITH CHECK ADD CONSTRAINT [FK_TestRun_TrainRecords_Base_Project] FOREIGN KEY([ProjectId])
REFERENCES [dbo].[Base_Project] ([ProjectId])
GO
ALTER TABLE [dbo].[TestRun_TrainRecords] CHECK CONSTRAINT [FK_TestRun_TrainRecords_Base_Project]
GO
ALTER TABLE [dbo].[TestRun_TrainRecords] WITH CHECK ADD CONSTRAINT [FK_TestRun_TrainRecords_Sys_User] FOREIGN KEY([CompileMan])
REFERENCES [dbo].[Sys_User] ([UserId])
GO
ALTER TABLE [dbo].[TestRun_TrainRecords] CHECK CONSTRAINT [FK_TestRun_TrainRecords_Sys_User]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主键' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_TrainRecords', @level2type=N'COLUMN',@level2name=N'TrainRecordsId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'项目Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_TrainRecords', @level2type=N'COLUMN',@level2name=N'ProjectId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_TrainRecords', @level2type=N'COLUMN',@level2name=N'TrainRecordsCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_TrainRecords', @level2type=N'COLUMN',@level2name=N'TrainRecordsName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'上传时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_TrainRecords', @level2type=N'COLUMN',@level2name=N'UploadDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'编制人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_TrainRecords', @level2type=N'COLUMN',@level2name=N'CompileMan'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'编制日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_TrainRecords', @level2type=N'COLUMN',@level2name=N'CompileDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_TrainRecords', @level2type=N'COLUMN',@level2name=N'Remark'
GO
CREATE TABLE [dbo].[TestRun_PersonTrainPlan](
[PersonTrainPlanId] [nvarchar](50) NOT NULL,
[ProjectId] [nvarchar](50) NULL,
[TrainType] [nvarchar](50) NULL,
[Purpose] [nvarchar](50) NULL,
[TrainingContent] [nvarchar](200) NULL,
[TrainingAddress] [nvarchar](50) NULL,
[TrainingDate] [datetime] NULL,
[TrainingPersonNum] [nvarchar](100) NULL,
[TrainingHours] [decimal](18, 1) NULL,
[TrainingManager] [nvarchar](50) NULL,
[TrainingTeacher] [nvarchar](50) NULL,
[AssessmentMethod] [nvarchar](50) NULL,
CONSTRAINT [PK_TestRun_PersonTrainPlan] PRIMARY KEY CLUSTERED
(
[PersonTrainPlanId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[TestRun_PersonTrainPlan] WITH CHECK ADD CONSTRAINT [FK_TestRun_PersonTrainPlan_Base_Project] FOREIGN KEY([ProjectId])
REFERENCES [dbo].[Base_Project] ([ProjectId])
GO
ALTER TABLE [dbo].[TestRun_PersonTrainPlan] CHECK CONSTRAINT [FK_TestRun_PersonTrainPlan_Base_Project]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主键' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_PersonTrainPlan', @level2type=N'COLUMN',@level2name=N'PersonTrainPlanId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'项目id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_PersonTrainPlan', @level2type=N'COLUMN',@level2name=N'ProjectId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'培训类型1-办公室理论培训2-制造厂车间培训3-同类型装置操作培训4-合同装置现场培训)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_PersonTrainPlan', @level2type=N'COLUMN',@level2name=N'TrainType'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'培训目的' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_PersonTrainPlan', @level2type=N'COLUMN',@level2name=N'Purpose'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'培训内容' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_PersonTrainPlan', @level2type=N'COLUMN',@level2name=N'TrainingContent'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'培训地点' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_PersonTrainPlan', @level2type=N'COLUMN',@level2name=N'TrainingAddress'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'培训时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_PersonTrainPlan', @level2type=N'COLUMN',@level2name=N'TrainingDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'培训学时' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_PersonTrainPlan', @level2type=N'COLUMN',@level2name=N'TrainingHours'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'培训负责人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_PersonTrainPlan', @level2type=N'COLUMN',@level2name=N'TrainingManager'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'培训老师' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_PersonTrainPlan', @level2type=N'COLUMN',@level2name=N'TrainingTeacher'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'考核方式' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_PersonTrainPlan', @level2type=N'COLUMN',@level2name=N'AssessmentMethod'
GO

View File

@ -752,8 +752,10 @@
<Compile Include="TestRun\FeedingTestRunService.cs" />
<Compile Include="TestRun\Meeting\MeetingService.cs" />
<Compile Include="TestRun\PersonTrain\DriverPrepareTrainPlanService.cs" />
<Compile Include="TestRun\PersonTrain\PersonTrainPlanService.cs" />
<Compile Include="TestRun\PersonTrain\TrainContactService.cs" />
<Compile Include="TestRun\PersonTrain\TrainContentService.cs" />
<Compile Include="TestRun\PersonTrain\TrainRecordsService.cs" />
<Compile Include="TestRun\ProduceProperty\AnalySampService.cs" />
<Compile Include="TestRun\ProduceProperty\PropertyRunOthersCheckService.cs" />
<Compile Include="TestRun\ProduceProperty\PropertyRunPumpCheckService.cs" />

View File

@ -1,7 +1,5 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace BLL
{
@ -3186,10 +3184,16 @@ namespace BLL
/// 开车方案编制计划模板文件原始虚拟路径
/// </summary>
public const string SchemePlanTemplateUrl = "File\\Excel\\TestRun\\开车方案编制计划.xlsx";
/// <summary>
/// 开车责任分工表模板文件原始虚拟路径
/// 培训报告
/// </summary>
public const string DutyTemplateUrl = "File\\Excel\\TestRun\\开车责任分工表.xlsx";
public const string TestRun_TrainRecordsUrl = "File\\Word\\TestRun\\生产人员培训执行情况报告.doc";
/// <summary>
/// 签到表
/// </summary>
public const string TestRun_SignUrl = "File\\Word\\TestRun\\项目培训签到表.doc";
#endregion
#region
@ -5111,6 +5115,21 @@ namespace BLL
/// </summary>
public const string TrainContentMenuId = "600AB952-4DC0-4E6D-8C6F-B7B7B9FE589E";
/// <summary>
/// 人员培训记录
/// </summary>
public const string PersonTrainPlanMenuId = "C8AD8E40-0E96-4007-A02F-62DDB0B275D5";
/// <summary>
/// 培训合同
/// </summary>
public const string TrainContractMenuId = "586035BF-A2D4-4199-A503-0ACACBFA5A13";
/// <summary>
/// 培训记录及执行报告
/// </summary>
public const string TrainRecordsMenuId = "80FDE614-1A37-4C1F-B818-C179CA97D66C";
/// <summary>
/// 开车分包计划
/// </summary>

View File

@ -233,6 +233,21 @@
return list;
}
/// <summary>
/// 试车管理:培训类型
/// </summary>
/// <returns></returns>
public static ListItem[] drpTrainTypeList()
{
ListItem[] list = new ListItem[4];
list[0] = new ListItem("办公室理论培训", "1");
list[1] = new ListItem("制造厂车间培训", "2");
list[2] = new ListItem("同类型装置操作培训", "3");
list[3] = new ListItem("合同装置现场培训", "4");
return list;
}
// 定义允许上传的文件类型列表
public static List<string> allowExtensions = new List<string>
{

View File

@ -0,0 +1,87 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BLL
{
/// <summary>
/// 人员培训计划
/// </summary>
public class PersonTrainPlanService
{
/// <summary>
/// 根据主键获取人员培训计划
/// </summary>
/// <param name="personTrainPlanId"></param>
/// <returns></returns>
public static Model.TestRun_PersonTrainPlan GetPersonTrainPlanById(string personTrainPlanId)
{
return Funs.DB.TestRun_PersonTrainPlan.FirstOrDefault(e => e.PersonTrainPlanId == personTrainPlanId);
}
/// <summary>
/// 添加人员培训计划
/// </summary>
/// <param name="plan"></param>
public static void AddPersonTrainPlan(Model.TestRun_PersonTrainPlan plan)
{
Model.TestRun_PersonTrainPlan newPlan = new Model.TestRun_PersonTrainPlan
{
PersonTrainPlanId = plan.PersonTrainPlanId,
ProjectId = plan.ProjectId,
TrainType = plan.TrainType,
Purpose = plan.Purpose,
TrainingContent = plan.TrainingContent,
TrainingAddress = plan.TrainingAddress,
TrainingDate = plan.TrainingDate,
TrainingPersonNum = plan.TrainingPersonNum,
TrainingHours = plan.TrainingHours,
TrainingManager = plan.TrainingManager,
TrainingTeacher = plan.TrainingTeacher,
AssessmentMethod = plan.AssessmentMethod
};
Funs.DB.TestRun_PersonTrainPlan.InsertOnSubmit(newPlan);
Funs.DB.SubmitChanges();
}
/// <summary>
/// 修改人员培训计划
/// </summary>
/// <param name="plan"></param>
public static void UpdatePersonTrainPlan(Model.TestRun_PersonTrainPlan plan)
{
Model.TestRun_PersonTrainPlan newPlan = Funs.DB.TestRun_PersonTrainPlan.FirstOrDefault(e => e.PersonTrainPlanId == plan.PersonTrainPlanId);
if (newPlan != null)
{
newPlan.TrainType = plan.TrainType;
newPlan.Purpose = plan.Purpose;
newPlan.TrainingContent = plan.TrainingContent;
newPlan.TrainingAddress = plan.TrainingAddress;
newPlan.TrainingDate = plan.TrainingDate;
newPlan.TrainingPersonNum = plan.TrainingPersonNum;
newPlan.TrainingHours = plan.TrainingHours;
newPlan.TrainingManager = plan.TrainingManager;
newPlan.TrainingTeacher = plan.TrainingTeacher;
newPlan.AssessmentMethod = plan.AssessmentMethod;
Funs.DB.SubmitChanges();
}
}
/// <summary>
/// 根据主键删除人员培训计划
/// </summary>
/// <param name="personTrainPlanId"></param>
public static void DeletePersonTrainPlanById(string personTrainPlanId)
{
Model.TestRun_PersonTrainPlan newPlan = Funs.DB.TestRun_PersonTrainPlan.FirstOrDefault(e => e.PersonTrainPlanId == personTrainPlanId);
if (newPlan != null)
{
CommonService.DeleteAttachFileById(newPlan.PersonTrainPlanId);//删除附件
Funs.DB.TestRun_PersonTrainPlan.DeleteOnSubmit(newPlan);
Funs.DB.SubmitChanges();
}
}
}
}

View File

@ -0,0 +1,79 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BLL
{
/// <summary>
/// 培训记录及执行报告
/// </summary>
public class TrainRecordsService
{
/// <summary>
/// 根据主键获取培训记录及执行报告
/// </summary>
/// <param name="trainRecordsId"></param>
/// <returns></returns>
public static Model.TestRun_TrainRecords GetTrainRecordsById(string trainRecordsId)
{
return Funs.DB.TestRun_TrainRecords.FirstOrDefault(e => e.TrainRecordsId == trainRecordsId);
}
/// <summary>
/// 添加培训记录及执行报告
/// </summary>
/// <param name="trainRecords"></param>
public static void AddTrainRecords(Model.TestRun_TrainRecords trainRecords)
{
Model.TestRun_TrainRecords newTrainRecords = new Model.TestRun_TrainRecords
{
TrainRecordsId = trainRecords.TrainRecordsId,
ProjectId = trainRecords.ProjectId,
TrainRecordsCode = trainRecords.TrainRecordsCode,
TrainRecordsName = trainRecords.TrainRecordsName,
UploadDate = trainRecords.UploadDate,
CompileMan = trainRecords.CompileMan,
CompileDate = trainRecords.CompileDate,
Remark = trainRecords.Remark
};
Funs.DB.TestRun_TrainRecords.InsertOnSubmit(newTrainRecords);
Funs.DB.SubmitChanges();
}
/// <summary>
/// 修改培训记录及执行报告
/// </summary>
/// <param name="trainRecords"></param>
public static void UpdateTrainRecords(Model.TestRun_TrainRecords trainRecords)
{
Model.TestRun_TrainRecords newTrainRecords = Funs.DB.TestRun_TrainRecords.FirstOrDefault(e => e.TrainRecordsId == trainRecords.TrainRecordsId);
if (newTrainRecords != null)
{
newTrainRecords.TrainRecordsCode = trainRecords.TrainRecordsCode;
newTrainRecords.TrainRecordsName = trainRecords.TrainRecordsName;
newTrainRecords.UploadDate = trainRecords.UploadDate;
newTrainRecords.CompileMan = trainRecords.CompileMan;
newTrainRecords.CompileDate = trainRecords.CompileDate;
newTrainRecords.Remark = trainRecords.Remark;
Funs.DB.SubmitChanges();
}
}
/// <summary>
/// 根据主键删除培训记录及执行报告
/// </summary>
/// <param name="trainRecordId"></param>
public static void DeleteTrainRecordsById(string trainRecordId)
{
Model.TestRun_TrainRecords newTrainRecords = Funs.DB.TestRun_TrainRecords.FirstOrDefault(e => e.TrainRecordsId == trainRecordId);
if (newTrainRecords != null)
{
CommonService.DeleteAttachFileById(trainRecordId);//删除附件
Funs.DB.TestRun_TrainRecords.DeleteOnSubmit(newTrainRecords);
Funs.DB.SubmitChanges();
}
}
}
}

View File

@ -1,19 +0,0 @@
错误信息开始=====>
错误类型:NullReferenceException
错误信息:未将对象引用设置到对象的实例。
错误堆栈:
在 FineUIPro.Web.TestRun.DriverPrepare.SchemePlan.btnOut_Click(Object sender, EventArgs e) 位置 E:\工作\五环施工平台\SGGL_CWCEC\SGGL\FineUIPro.Web\TestRun\DriverPrepare\SchemePlan.aspx.cs:行号 230
在 FineUIPro.Button.OnClick(EventArgs e)
在 (Button , EventArgs )
在 FineUIPro.Button.RaisePostBackEvent(String eventArgument)
在 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
在 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
出错时间:01/17/2024 15:45:21
出错文件:http://localhost:8579/TestRun/DriverPrepare/SchemePlan.aspx
IP地址:::1
操作人员:JT
出错时间:01/17/2024 15:45:21

View File

@ -0,0 +1,160 @@
ĐĎࡱá>ţ˙ ţ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ý˙˙˙ţ˙˙˙ţ˙˙˙ţ˙˙˙
 !"#$%&'()*+,-./0123456@89:;<=>?ţ˙˙˙ABCţ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙Root Entry˙˙˙˙˙˙˙˙ ŔF°ĐWŻ<57>SummaryInformation(˙˙˙˙0DocumentSummaryInformation8˙˙˙˙˙˙˙˙˙˙˙˙ ŘWordDocument˙˙˙˙˙˙˙˙*fţ˙˙˙
ţ˙˙˙ţ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ţ˙
ŕ…źňůOh«‘+'łŮ0 €¨°Řäô , 8 D P\dltř°(u7bu§NşNXTůW­€Ő‹0€8hĆ~RusNormalWendy2@^±ÓöÚ@üŻ<>@ uyćŘd@=WPS Office_12.1.0.16250_F1E327BC-269C-435d-A152-05C5408002CAţ˙
ŐÍŐś.“—+,ů®DŐÍŐś.“—+,ů®ŘH€PXlt| ڰcwcecŁ 0t€|°KSOProductBuildVerICV°2052-12.1.0.16250$F0A3066D1E0A413A94DCFDDAC2C9DE89_12,0Table˙˙˙˙7wData
˙˙˙˙˙˙˙˙˙˙˙˙ţ˙˙˙WpsCustomData˙˙˙˙˙˙˙˙˙˙˙˙0˙˙˙˙˙˙˙˙˙˙˙˙ěĄÁ<> N KSKSĂ*fŁ˙˙˙˙˙˙¤**ö
8- ,Y Ä2
2u"$ş hd V
ą"BwŰšăűF° -NýV”NŻs ĺ] z gPlQřSNSp)Y6qlˇ€ýN gPlQřSy<>îv÷S20197/21126noŢ]NSp˛mS)Y6qlĄc6eŮzy<7A>îv ¨PPĺ] zŚTĄc6eŮzĺ] zEPC;`bSy<53>îv20197/21126-PCM-T-00xu§NşNXTůW­gbL<62>Ĺ`µQĄbJT,{ 1 u<>qQ 1 u<>ůW­öeô•f[öepeůW­0WąpůW­…Qą[ˇ%ĺwĆ ˇ%Íd\Oô~îO€bý€ ˇ%‰[hQĺwĆ ˇ%ľ‹YęNh<4E>ĺwĆ ˇ%vQÖNůW­ąe_ˇ%žRlQ¤[ůW­ ˇ%6R <20>SfŹô•ůW­ ˇ%{|<OĹ<4F>nÍd\OůW­ ˇ%T <54>n°s:WůW­ ˇ% vQÖNÂS RůW­şNpeůW­^b €b/gcü[^€8hąe_ˇ%fNb—€Ő‹ ˇ%€8hˇ%T{uy<>îvůW­Ť#ŤşNN;NůW­Ť#ŤşNf[`NŚTž[őŤ…Qą[˙ ĺ]Ź^ ˙ľ‹Y Tđy˙ ˙ľ‹YMO÷S˙ ľ‹Y„vÓ~„g ľ‹Y„v§c6RĘSĺ]\OźSt ľ‹Y„vÍd\O<>‰†<E280B0>ĘS_:gek¤š ľ‹YÍd\OĐŹL<C5B9>člaNy<4E> ľ‹YĐŹL<C5B9>„v8^Á‰î•<C3AE><E280A2>ĘSô~îOô~¤b î•<C3AE><E280A2>T{u ž[˝eĹ`µQ˙ ”NŻsĺ] z^Ä~Ç~ľ‹YS¶[ů[N;Nu§NşNXTŰŹL<C5B9>†NĺN
N1~6y<>„vf[`NŚTž[őŤ…Qą[ ˙ÖS—_†N<E280A0>Ź}YHeśg ˙ cĉš[Ś[b†NĺľYřvsQůW­ĺ]\O˙SěbůW­ŚT°s:Wž[Íd ˙0 HeśgÄ÷N˙ <1A>ÇŹůW­ ˙N;Nu§NşNXTúW,gŚcác†NĺľYúW,g:g„g0ĺ]\OźSt0O(uąeŐl0ĺNĘSŐfŹčlaNy<4E>0ĺe8^ĐŹL<C5B9>ô~¤búW,g<>‰Bl ˙ý€Yů[勾‹YŰŹL<C5B9>ck8^/T\P0Íd\O0 DöN˙ Á‰ůW­~{0Rh<52>0”NŻsăNh<4E>N;NăNh<4E>ĺe g  24:<RVXZ\^bdf¨ŞŔÂÔŘÚÜěâŘÎÄľ´°¬¨Ąˇś”<C59B>ŤŠ…}umea^ZWSPMOJOJOJo(OJOJo(OJOJo(OJQJo(aJOJQJo(aJOJQJo(aJCJOJo(EHOJRHZOJOJOJo(CJOJo(EHOJRHZOJo(OJOJo(OJo(OJo(OJQJ^Jo(aJ OJo(EHCJOJo(5<08>EHCJOJo(5<08>EHCJOJo(5<08>EHCJOJo(5<08>EH%CJOJo(5<08>EHmHsHnHtHUÜŢâäćţ  
    " $ & , . 0 8 : > F H J X Z l n | ~ <00> űřőňčŢÚ×ÓĎËČÄŔĽ¸µ±­Ş¦˘ź›—‹‡{wkg[WOJo(OJQJo(aJnHtHOJo(OJQJo(aJnHtHOJo(OJQJo(aJnHtHOJo(OJQJo(aJnHtHOJo(OJo(OJOJo(OJo(OJOJo(OJo(OJOJo(OJo(OJo(OJo(OJOJo(OJo(OJo(OJOJo(CJOJo(aJ5<08>CJOJo(aJ5<08>OJOJOJOJo(!<21> š ˘ ¤ ş Ľ č ę 



&
(
4
6
8
@
B
D
P
V
X
\
`
n
p
r
÷óďëçáŐĎĂ˝¸´°«§ŁźŽŠ„€tplhd_[WOJo(OJo(OJ@<40>ě˙OJo(OJo(OJo(OJo(OJQJo(aJnHtHOJo( OJo(@<40>ě˙OJo(OJo(OJo(OJ@<40>ě˙OJo(OJo(OJo(OJo(OJ@<40>ě˙OJo(OJo(OJ@<40>ě˙ OJo(@<40>ě˙OJQJo(aJnHtH OJo(@<40>ě˙OJQJo(aJnHtH OJo(@<40>ě˙OJo(OJo(OJo(OJo(OJo(nHtH
<00>
°
Ŕ
ö
    ( * > @ X Z n p Ś Ž <00> ś ¦ ¨ : < > @ B D F H J L P Z \ úôđîěęčäŕŢÚ×ÓĐĚÉĹÂľ»·łŻŁ<C5BB>ŚŠ<C59A>†„€~|zncOJmHsHnHtHOJo(mHsHnHtHo(o(o(o(o(o(o(o(o( CJo(@<40> CJo(@<40>CJmHsHnHtHCJo(mHsHnHtH@<40>o(OJo(OJo(OJOJo(OJOJo(OJOJo(OJOJo(OJOJo(o(>*o(>*o(o(>*o(>*CJ5<08>
CJo(5<08>OJ@<40>ě˙&\ ^ ö ř ú ü ţ 
  & ( * 2 4 6 > @ D F L N ôčÝŇÇ»°¤ ť™•‘Ť‰…‚{wsqno(o(OJo(OJo(OJo(OJOJOJo(OJo(OJo(OJo(OJo(OJo(OJOJo(OJo(mHsHnHtHOJmHsHnHtHOJo(mHsHnHtHOJmHsHnHtHOJmHsHnHtHOJmHsHnHtHOJo(mHsHnHtHOJmHsHnHtH4<TîŢÎÂŞ d@a$$$If d@a$$$If d@a$$$Ifd¸a$$„l˙^„l˙$Ifd¸a$$„l˙^„l˙$Ifa$$„ň˙^„ň˙„ä˙]„ä˙$IfTVXZ.% a$$$If a$$$IfŃ$$If:V ööTŠTÖÖ0˙˙˙˙˙˙4f4˙ö&Örä˙"ć
!  ˙˙˙˙ŕ ˙˙˙˙ ŕ ŕ ŕ  –ä˙Ö˙˙˙˙˙Ö˙˙˙˙˙˙˙˙Ö˙˙˙˙˙Ö˙˙˙˙˙˙˙˙˙Ő>ÄţZ\^`óęá a$$$If a$$$If d@a$$$If`bdf.% a$$$If a$$$IfŃ$$If:V ööTŠTÖÖ0˙˙˙˙˙˙4f4”&˙ö&Örä˙"ć
!&  ˙˙˙˙ ˙˙˙˙     –ä˙Ö˙˙˙˙˙Ö˙˙˙˙˙˙˙˙Ö˙˙˙˙˙Ö˙˙˙˙˙˙˙˙˙Ő>ÄţfŞÖóçŢ a$$$If d@a$$$If d@a$$$IfÖŘÚÜA8/ a$$$If a$$$Ifľ$$If:V ööTŠTÖÖ0˙˙˙˙˙˙4f4”’˙ö&Ö\ä˙"ć
&  ˙˙˙˙ ˙˙˙˙ ŕŕ –ä˙Ö˙˙˙˙Ö˙˙˙˙˙˙˙Ö˙˙˙˙Ö˙˙˙˙˙˙˙˙Ő>Äü ÜŢŕâóę,ľ$$If:V ööTŠTÖÖ0˙˙˙˙˙˙4f4”ˇýö&Ö\ä˙"ć
&  ˙˙˙˙ ˙˙˙˙    –ä˙Ö˙˙˙˙Ö˙˙˙˙˙˙˙Ö˙˙˙˙Ö˙˙˙˙˙˙˙˙Ő>Äü a$$$If d@a$$$Ifâäć  öíäŘĚ d@a$$$If d@a$$$If a$$$If a$$$If a$$$If  $ & .% a$$$If a$$$IfŃ$$If:V ööTŠTÖÖ0˙˙˙˙˙˙4f4”úýö&Örä˙"ć
!&   ˙˙˙˙ ˙˙˙˙     –ä˙Ö˙˙˙˙˙Ö˙˙˙˙˙˙˙˙Ö˙˙˙˙˙Ö˙˙˙˙˙˙˙˙˙Ő>Äţ& . 0 : < öíäŰ a$$$If a$$$If a$$$If a$$$If< > č$$If:V ööTŠTÖÖ0˙˙˙˙˙˙4f4”čö&Ö<>ä˙8ÄHĚ&€        –ä˙Ö˙˙˙˙˙˙Ö˙˙˙˙˙˙Ö˙˙˙˙˙˙Ö˙˙˙˙˙˙˙ŐTŚ
8ü > H <00> š ¤
öđ`WQ$If a$$$If<00>$$If:V ööTŠTÖÖ0˙˙˙˙˙˙4f4”čö&Ö0ä˙8&€  –ä˙Ö˙˙Ö˙˙Ö˙˙Ö˙˙˙ŐTČ$If a$$$If


(
6
8
B
of`ZTNH$If$If$If$If$If a$$$If<00>$$If:V ööTŠTÖÖ0˙˙˙˙˙˙4f4”čö&Ö0ä˙8&€  –ä˙Ö˙˙Ö˙˙Ö˙˙Ö˙˙˙ŐTČB
^
ů$If^
`
ě$$If:V ööTŠTÖÖ0˙˙˙˙˙˙4f4”čö&Ö<>ä˙8ć
ÄĚ&€  –ä˙Ö˙˙˙˙˙˙Ö˙˙˙˙˙˙Ö˙˙˙˙˙˙Ö˙˙˙˙˙˙˙ŐT®Ţ8ü `
p
r
öđęä$If$If$If a$$$If
<00>
  A82,$If$If d@$Ifľ$$If:V ööTŠTÖÖ0˙˙˙˙˙˙4f4”čö&Ö\ä˙8ÄĚ&€  –ä˙Ö˙˙˙˙Ö˙˙˙˙Ö˙˙˙˙Ö˙˙˙˙˙ŐTŚ
4 * @ Z p Ž <00> š ęŐŔ«<00>{$If
& Fdh„e^„e„›ţ`„›ţ$If
& Fdh„e^„e„›ţ`„›ţ$If
& Fdh„e^„e„›ţ`„›ţ$If
& Fdh„e^„e„›ţ`„›ţ$If
& Fdh„e^„e„›ţ`„›ţ$If
& Fdh„e^„e„›ţ`„›ţ$Ifš ś ¨ < > @ B D F qke_YS$If$If$If$If$Ifd@WDČ„ô`„ô$If$Ify$$If:V ööTŠTÖÖ0˙˙˙˙˙˙4f4
ö&Öä˙&  –ä˙Ö˙Ö˙Ö˙Ö˙˙Ő&F H J L N P ^ ř ú ü ůóíçnhb\V$If$If$If$Ify$$If:V ööTŠTÖÖ0˙˙˙˙˙˙4f4
ö&Öä˙&  –ä˙Ö˙Ö˙Ö˙Ö˙˙Ő&$If$If$If$If ü ţ    ůóítk\a$$WDČ„¤`„¤$If a$$$Ify$$If:V ööTŠTÖÖ0˙˙˙˙˙˙4f4”9ö&Öä˙&  –ä˙Ö˙Ö˙Ö˙Ö˙˙Ő&$If$If$If  ( * 4 6 @ B }tkbYP a$$$If a$$$If a$$$If a$$$If a$$$If a$$$Ify$$If:V ööTŠTÖÖ0˙˙˙˙˙˙4f4”üö&Öä˙&  –ä˙Ö˙Ö˙Ö˙Ö˙˙Ő&B D ě$$If:V ööTŠTÖÖ0˙˙˙˙˙˙4f4”µö&Ö<>ä˙,l<0E>(&€        –ä˙Ö˙˙˙˙˙˙Ö˙˙˙˙˙˙Ö˙˙˙˙˙˙Ö˙˙˙˙˙˙˙ŐH@$ö˘ŘD F H J L N úćäâÝdpţ Ć9r Ć9r &d˙dpţ7°‚. °ĆA!°Š#<23>S"°S$<24>7°°2P0pŘ:1<>Ě˙Ń FđéŰďJ™Ěţ#¨s?Šé˙˙Ř˙ŕJFIFHH˙ŰC 
  $.' ",#(7),01444'9=82<.342˙ŰC  2!!22222222222222222222222222222222222222222222222222˙Ŕř"˙Ä
˙ĵ}!1AQa"q2<>ˇ#B±ÁRŃđ$3br
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz<79>„…†‡<E280A0>‰Š“”•<E28093>™š˘Ł¤Ą¦§¨©Ş˛ł´µ¶·¸ąşÂĂÄĹĆÇČÉĘŇÓÔŐÖ×ŘŮÚáâăäĺćçčéęńňóôőö÷řůú˙Ä
˙ĵw!1AQaq"2<>Bˇ±Á #3RđbrŃ
$4á%ń&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz<7A>„…†‡<E280A0>‰Š“”•<E28093>™š˘Ł¤Ą¦§¨©Ş˛ł´µ¶·¸ąşÂĂÄĹĆÇČÉĘŇÓÔŐÖ×ŘŮÚâăäĺćçčéęňóôőö÷řůú˙Ú ?÷ú(˘€
(˘€
(˘€
(˘€
(˘€
(˘€
(˘€
(˘€
(˘€
(˘€
) s:ÇŹ|/ ä_ë6Ęá°R6óB8üh§˘Ľ†˙ö‚đÜ
âÎĆöâE8M±«{ ¸ý˘Ů<CB98>ű>€"8˙“oçđ€=öŠůŮhťWpݤY•Ď8 źý
´ ýŁ"án<<Í“Ë-ĆĐÓiţtď4W<%w"Ep/-ŚłĽ`˘ţ äţ»­#Ĺşű3T¶ąf„jř|zí8oŇ€6h¤íK@Q@Q@Żřĺg«ŮÚÚëú]íĚH€[Ü$r¸ůжŢ<C2B6>«d˙»^ÍY> Ńŕ×ôK˝.ăýUĚe #;OUl{á@˙Â_â/ú ßĂGü%ţ!˙ Ĺßýü5KVÓgŇ5k­
Ëo#FĂ9Á3ߥR  ŻřKĽC˙Ażűřh˙„»Ä?ô»˙ż†±h  ŻřKĽC˙Ażűřh˙„»Ä?ô»˙ż†±h ËÂż5˝#ÄÖ·…ĹÄ1Ę<ČťňOzt'ŻCĎjúîÚâ»h®-äC2 #u<2<32>ká*úoŕłá†Ň®dÍΞBˇcŃžź\ýQ@łE éK@Q@Q@Q@!ĄŞš…äuŚ÷·/˛"id=pŞ2hĆľ=řą­--<?g;$łfk/ERG^ůî×Ď®ď!ÜěY±ÔśÖżŠőéüIâ[ÝVsžL€9tz€8جj(˘Š(˘Š*H¦ÝŚťř5čţřŃâť
%y“P€q X<C2A0>ěAőĹw6ß´e«.'đüŠ@űËq×đŰýkçú(ŢŻhµ1şŮh;dÇÉ$łî\ű¨ţµ?ĂŻxâ? ćˇy$VźűăolLhÎxU8Áaß ź»_?˘ł¸Ebp˝}}đËÂĂÂŢ ´·ueşśyó†f ŽŘdzć€;1ÓĄŁő˘€šÝiÔPÎß|+ömJßÄvńü—8ŠŕŽÎńQŔ˙d׊WÚľ/Đ#ń7†/t™Ý4gĘcü2Tç®3×Ű"ľ0ĽµĘňkY”¤9FV <20>Üv h˘Š(˘Š+®řoâ‡đ§Ś­/YŮmd>UŔă<žťG¸ČŇAšűľ6 <0C><EFBFBD>SČ#ˇ%y·ÁŻ˙ÂCอ¦`n´â tÇČqۡ_ř˝z@é@ EPEPEP^7ńëĹŮÚ bâô‰eň#SÇćĂ9Ü÷ŻbnµÄę? |?­x†ăYŐ…Íěăl2K<32>â@v€GOZů šQ<C5A1>âv2­Ű_ř¦őíô BHßîȶěTţ WŘ:v‰Ąé
ĂOÓímsĂbU'ę@ć´E|‰Â/Ę®Ź ČČÜv˙:Ž…3·ŚČÚ,ě3Ň5.
(âK˙ ř<>K‡ÍżŃŻmŁěÓBP¦zÖLÉÄ<>Ę}Ĺ}ŕzÖ­ŕ˙kOí "Ňg“ďČlŤ˙\7ë@Q_Ex—ŕ™xmđÚJrD74dö‡*?kËu_„ľ2Ňť<C587>ŃçąLáZŘyĄ˝đąÇă@=ĐŻ<C490>|XŇ4káÝLČżyEłŃ迼_Şş™lÖĆÉ{¦ŮŹmż{ô"€#řCá1âoýôŮ6:)ěrp=A5őšýÚăĽŕK_i2ÚĹ7Ú'ť÷Ë9@¤ŕpç<>Ďç]<5D>é@ EPEP[ŠůŁăŻ…?˛üGło×ŕ—
8Y7~yÎ{kéšĺ>!xi|WŕëÝ9PµŔ_6ß×ĚPp9ă•ĎlĐĆÔS䍢•ŁaĘśt¦PEPEP{đ“Ĺ_đŤxÖßĎ<C39F>-ťßî&ÜŘU üG<  >ľµ_»_+pępŔäúëág‰Ç‰üi,˛nĽ¶Dů9$ŹşÜőČĆOsšîh¤)h˘Š(˘Škcz
ó/Ť0“Ă~K+‰ Ô/ślx<6C>ŁFŠA$0čs<C48D>î7WĎßđ°<aŹůőoü ń«ż|U˙ gŚ®®ăbm!ý͸ôAĐűgÇbMqÔŃ˙ÂÁńŹý Ú·ţżřŃ˙ Ć?ô3jßř˙ă\ĺŇÂŔńŹý ú·ţżřŇÂÁńŹý Ú·ţżř×9Etđ°|c˙C6­˙<00>oţ5oLń‡Ťő]NŢĆŰÄz´“O Ť]ľI'u®F˝ŕ…MćŻ?<3F>®#ýÍ ňŕ$pd#žzp:ýV€=÷Gł“NŃí-'ąęh˘TyĺrÍ#O&´iĄ-QEQEQEQEÖę(ĺoŤ>:Śúai¨<69>2źGţ1Ďż?B+Í+믊Ţ˙„źÁ7QC{»QçŔ©#ŞŹ\ŚńÜâľFe(ĺXa<58>Á ˘Š(˘Š(ŻMř)âżě®ź<<3C>m5,BŮč$çaüÎ>ŚkĚ©ńHĐȲ/U9÷zô§W-ŕ'Šüe©o >ß*äŇ(Î86=ë© Š( ąďY꺏…ďltS˝¸O([#ńÚMo·Q^ ⟏ž•âKŰ&ĘÂ{($ŘL®Y<C2AE>ŕś†Áň=±@ńřâĆ;ŚÖ„žI2sGü(˙Ď[?űůVżá˘|K˙@ť'ţř“˙‹Łţ'Äżô Ňď‰?řş«˙
ĹóÖĎţţQ˙
ĹóÖĎţţUŻřhź˙Đ'I˙ľ$˙âč˙†‰ń/ýtźűâOţ.€*˙Â<>ń_üőł˙ż”Â<7F>ń_üőł˙ż•kţ'Äżô Ňď‰?řşOřhŹ˙Đ'I˙ľ$˙âč©řâŻůíg˙+ß<áČĽ)á[=*0ľdkşf_ă<5F>ýăśsŽ€žŔWđÇâ‰<y©\}®ËN<C38B>O¶Ź.ń#ďf'ĺ,F8oĘ˝]zPŃEQEQEQEQEQEÓ_"üWđÔ~ńÍÜ6á¬řž%R>@ßĂ<C39F>Ó ÷ݧ<[â;o
řvďWşÁ.cڶ<Ç?uěp9í_jz˝Ö˝¬]ßßČd¸»rĚIČř@ĎaĐJ̢”ä
(˘€
(˘€=wŕO?˛üE.‰u!×ăä𲏻×<C2BB>žGą+_K/JřNĘîk č.ŕvIapčëÁRr=ëí ëńxźĂ6:Ľ@:eÔg
ă†Ű9Ƕ(vŠ)­Ö€8߉ž)˙„SÁ·wqHRîaäŰH!Ř‘îHíśWČ.ćG.Ç9<Wµ|d´ńWŠ<L¶š~<7E>©Ď§X®ČŢ;W+# 08ü=>Zóaŕů5oüđ rŠč˙á_řĂţ…ť[˙ü(˙…ăúuoüđ rŠč˙á_řĂţ…ť[˙ü(˙…ăúuoüđ <72>ôükˇ˙…ăúuoüđ¬ÝGGÔt9<­RĘâÎáÔ2E<e Sź· ¬>řvxO<4·.fu9 ÎőÇÝÚ8ëŚ×d+ÂľřćK”o
_ĚZHĂKdîz¨űŃŽyÇŢŰ˝«ÝGN)´QE0
(˘€
(˘€
(˘€
(˘€
ku§V/Š5¨ü;áťCV”¦-`gPçßřWńlĆ€>~řéâó«ř4+Iłg§gĚŘŮ1ëśżw<77>wW“T÷—sßßOys#I<ň4;brIüj
|<7C>*˛q†ţb™ZÚV‰«iú”ö¶ď$6P‰¦`¤…ůŹlňxôÉíY4QEQEWµüń_ٵŹ NÇeÎf¶ŕHĚ1ű#ÖĽRŻhúśú.Żk¨Ű>Ů­ĺYőäzw ąĄaxłÄö^ĐĺŐoAhŐ¬kŤÎOařdýYĐő}wCłŐ-H1\Ä$í=
çÔŹ­xÇ6ĄŻÇ Ŕçěö#2€xyO^ř8ÇuvđĐľ˙ uçć(˙†…đ˙ýŻ?1_6ŃH¤żáˇ|?˙@ëĎĚQ˙ á˙ú^~bľm˘€>’˙†…đ˙ýŻ?1Gü4/‡˙čyůŠů¶ŠúKţĂĺ‡üKŻ?1^ăOMâĎßjňä$˛b$?ÁáGä?<ŐMEľŐŇöK(_±Ű5ÄHQqçÓ5—L şF©s˘ęöş•ś….-¤! ô>ÝżűGĂÚŐ·<C590>´ =^Đţâę0ŕg%OF\ú<>řWÄ5ď߳߉ ÖÚ‡†ć,Z#ö¸2II
ĂŰť¤}M<14>Ą-QEQEQEQEăź´&·%—…¬4<C2AC>Żö„ĺä`p
FÚ~Ą”˙ŔkŘOZů“ăţ¦—ž:·łŽB~Çf‰"ç!]‰cřŕ­yEN“WÖě4Ř<34>]N<>©n€łĎç@Kü đ”öË`eÖ¤¸WP DŔŞ®GUŰĎü ×Ď2đüžńfˇĄ9,°Ęv3Ľ§•<z=ëěŰ;Xl¬áµ·Ťc·…qĆ:*€ăżĽ+öÝ&ŰÄP!2Úbń˙<É%OŕÄŹrĂŇ<C482>;QEŔ(˘Š(˘Šö_…#đ÷…µ‹çĎŮ"76aŹ Ä…Ř}‰*xčšň+űɵůďn]¤šy ŽÍÔs“ďP#8$d`ŇPEPEPEÓřĂ2xŻĆ:pV0o;)#lc9ř |ř/á1˘x,Ţ\Çţ“ŞbFV^C!GăsčE|ůă}řgĆz¦#†bbů·-ľdÉőÚE}ťikŤŞŞ0ě«çĎÚ'HëZN®źňó čAýwcđ ®·á–°Ú'ÄMäŮ$âŢMÍ<4D>¶O<C2B6>“ôÎ
ä©U¶ş¶3<EFBFBD>śPŢ+÷iŐť˘_ťWBÓő Ý´·(l~µŁ@Q@Q@Q@Q@âÝŘĽřź­$Xżď„Uţ•őńŻ|zIř<49>âq¨Î99ţ3@őv˙졿řźŁE8ܨď0ţ$Feý@®"˝#ŕgü• ?úá7ţ€hęµéTuM:ßVÓ®tűĄ-Äf7<03><>Ü{úŐxR¸ <0F><AŁĎ k÷ş]ČĖҲ€x#<ŕőŁšĚŻxř˙á<}—ĶюOt­Ç°Á>ÂĽ
(˘€
(˘€
(˘€
(˘€
(˘€
úSŕG…?˛ü;.·s.oŰly¬Jy÷nŁý<C581>kÁĽ%áůüOâ{<><€3ťŠ9fÁë€ Ç|bľĐłµ†ÂĘ Kt ±FźÝUů
°˝+Éżh+c/€­§X·47ČK˙uJ8?®ÚőŞóߍQ$ź µFvÁŤ˘dűÇĚQýhäÚ(˘€>żřMs%çĂ YG"&ŚsŮ”*ík…ř9˙$ŁC˙voýőÝPEPEPEPEP_JřÓâ5±µřŤŻĆŮÉ˝NO÷Žďë_e•ň—Ćë)­~&ŢÍ"mK¨b.Ľ€<C4BD>ľ•¨Ϋо HŃüSÓ@ĉ2śúylĄyínř3R]#Ćş5ü“b†î6•ÇdÜ7~™ µĹ<14>Ą-dxF<E280B9>Ä:î•qŹ.ę"<>ÎÖę­ŹbŻ5+ ´˝JćĆć3ĐHŃşžÄřWÝ­|ëńű­i«[řŽ>UŘň®a"Ś}Ŕŕ˛hĹ袊(˘Š(˘Š(˘Š(˘´´ă_×-4ËTÝ5Ä<35>AŔÉęqŰÔúPąüđ©¶Óî|Iq$ąýͶ{ ?3b@čkŰ—ĄgčúUľŁÚi¶Ůňm˘XÔśe±üGާ©÷­+Ëţ<Ü<>><g¬÷qF?V˙ŮkÔ+Ăh˝PǦčÚR0IJĽň.y@
ńć źh˘Ž¦€>ąř:řW˘RŮzŹújőÝ×?ŕ‹ěďh,˘Ţ§ T™5ĐPEPEPEPEP^űEčÄMŁëiś«ÚĘůůWr©ËţUďŐÄüUĐG<C490>~ęvę<76>§·OµCśđÉzw+¸~4ň *’¬8 äRQ@eü?×á#đ.•¨ł»ĚĐ<C49A>ćg ±‘>V'¤nük©Żžżg諒Ý(¸˙HµÎ\ 2ýH˙ŔkčA@ \çŤ<?‰ü)Ą0Ic&N1 ĺyě3ÁöÍttÖë@ ][Kgu-´čÉ,NUŐ†Ş*őŽžţČń:k6Ń<36>Í´p˛Ź˝ôÎCgą'ŇĽ˘€
(˘€
(˘€
(˘€
÷_€--׉®b'ú=®G;<3B>Ë7·˙húWŠiÖ3ęz•µŤ˛šy4PpI'Сđ߆ětsą-˘
[‘ąŹ,Ř=2Äśv  KEÖŻ”>4ë©­|EşŽ"+[E`;®KgčĚĂđŻ˘üuâxĽ#á+ÝUĘůČ-<>ůĺoş1śu s€kăY¦ây&•Ůä33d{“@Öź‡4ìř—LÓŠýŞć8ť °ţšĚŻYř ťCĆSęÎąM‡ĺ9˙–Ź•»żň ¦—F)iĄ-QEQEQEQE×ô§Q@üGđ±đŹŚď,
ÚH|ëSs<13>I8ĺsÜŠäëꏌ~ oř_íVîÔtŕŇĆ:zô#ŻLwŻ ŕ<>žô=Ťěúuý˝í«<C3AD>ç·eŤĆ>VS<56>ö?|Umă [jĐ(F|¤Ńź.AÔuúěE|a]źĂźĎŕ}tĚP˧Üá.á^¤ á—ýˇ“ŚńĎn´ö˘łô­RËYÓmďôű„¸µťwG*:~<<3C>Á­
ä>#xcţĎ^ińĆéťmÇ>bçŹÄesŰvkäŃu5b¦Ćă ăýYŻąh †±µ/ůńźţř4cj_óă?ýđkîj(áźěmKţ|g˙ľ ŘÚ—üřĎ˙|űšŠřgűź˙ď<>Gö6Ą˙>3˙߾梀>uřŕŮź\ź_ż<5F>ŁŽĚl€:şFŰ<E28098>ú•Ż˘WîŇŃ@5łž:ŇČMśxČMśx˙˙˙˙˙˙˙˙˙„h^„h<>ţ`„<>ţo(.„H^„H„\ţ`„\ţ)„ě^„ě„\ţ`„\ţ.<>^„<>„\ţ`„\ţ.„4^„4„\ţ`„\ţ)„Ř ^„Ř „\ţ`„\ţ.„| ^„| „\ţ`„\ţ.„ ^„ „\ţ`„\ţ)„Ä^„Ä„\ţ`„\ţ.ČMśx˙˙˙˙˙˙&66666666ŔĐŕđ 0@P`p<00>ŔĐŕđ6666 0@P`p<00>ŔĐŕđ 0@P`p<00>ŔĐŕđ 0@P`p<00>ŔĐŕđ 0@P`p<00>ŔĐŕđ 0@P`p<00>ŔĐŕđ 0@P`p<00>J@ń˙Jck‡e a$$1$ CJaJKHmH sH nHtH_H@@@h<><68> 1a$$$@&CJ<43>OJPJaJ<@ň<h<><68> 2a$$$@& CJOJaJ$A@ň˙ˇ$Řž¤µk=„W[SONi@ó˙łNnf<1A>h<EFBFBD><h(:V ll 0@ň0ck‡e)ŰŹWDČ„¤`„¤:C@:ck‡e‡e,g)ŰŹdpţ„ŕ^„ŕCJ.Z@.Ż~‡e,g OJQJaJ,L@,ĺeg CJOJaJ.™@2.ybčlFh‡e,gCJaJ< @B<u<><1A>a$$G$ Ć9r CJaJN@RNu<> w'a$$G$ Ć9r &d˙CJaJ )@˘a u<>x0J
Ü<00>
\ N 
TZ`fÖÜâ & < >
B
^
`
 š F ü  B D N  !"#§G<04>˙.ŕ[xŔ ˙@˙˙Times New Roman-<04>Ź([SO54<35> Ć~WSO[SOA4<41>
 ˙N[_GB2312˙N[?4<> ˙.ŕCxŔ ˙@˙˙Courier New˙˙(u7bu§NşNXTůW­€Ő‹0€8hĆ~RusWendy <08>¤ČQhń˛»gŔšÁ§0şŞd@!\(!),.:;?]}¨·ÇÉ    & 6"0000 0 0 00000˙˙˙ ˙ ˙˙˙˙˙=˙@˙\˙]˙^˙ŕ˙([{·  0
0 00000˙˙;˙[˙á˙ĺ˙ŠSßß˙ýP)đ˙?¨ŕS<C595>2,,,,&ĺ"/ăm h8âĚl,®L-b.u68ĄD4*EER%[VpţwzŕS<C595>±IŽP'<27>Ă]gśş&źÇ\ź)Aˇ`y¤}\©ü˛(Äí7ÇŚzĘA4ŃŘÓę×çíÉţ{
Ó8<EFBFBD>•d}P—s§H˙˙˙˙đ\đ  đ,Rđ$ŰďJ™Ěţ#¨s?Šé˙ń9Hđ
đđŔđ( đ
đđ<>˛
đ
Ł đVA<05>(8żÍ˙<> BZ ÷bŤ1ţVGr 27żđđ*
đ3 đż˙?§MŻľýT˙˙
commondata¨,ţ<eyJoZGlkIjoiOTU3M2M5MGU2YzlhNTU3MjI5ZWFkY2FkZDZhZDA5NDQifQ==˙@šńŻŚ_Ći'‡ô{<7B>ý§2íą•|<7C>ČĺG<9ýľó˙ŚŢ9˙„“ÄŮ62gLÓť•Y\4śncĐqĐuîsÍyŤrNO­ 8$ţµőÇÂŹ ·†|gÄF;ËŻô€s<E282AC>[!Bäv9ŻřGŕˇâß ®P6§•šp@!Î~XČ=Ž}<7D>ݬT(GJZ( Š( Š( Š( Š( Š( ·Q_0|ařvŢŐłĄŰŇ.ŹÎ±Ś,ä:)íéÓµ}CYÚ¶—e¬éÓŘ_ۭŬé˛HŘpG_Ŕ<5F>Č=Aé@Q]ŻÄO‡·ľŐŽÍĄĚÇěמ?şŢŚ?Z⨼řuń2˙Á7â)š[­^&¶-ťźí¦z0ü<30>ŕö#ę- _Ó|E§-ö—v—6íÁd<©Ŕ;Xv8#<23>_Öç†|[¬řGPzMŰDIdG””Ě˝űűŽŘ ¶(Ż)đ‡ĆÝ^HíµfUéŔýăf>ĎŰţŹ©ŻQŽD57Ś2¬§ ŽÄP´QEQEQI@ Mc\ĎŠ<qá˙Â_VżTid¶Źć•úă Ű8#'=ëŔĽyń—UńBËaĄ‡Ó´·VŤÔÉ:źď7aŹáŢ ć€;߉?-ôsq¤xzA>˘É.† púíőaëĐ~uóĽóËs;Ď<Ź$˛1gw9f'©&ŁÉ$“OZ(«ú6yŻjöÚeŚfK ăÜă°ę}­µ´×w1ŰŰÄňÍ#DŤIf$ŕ;šú§áĂ<7F><Ą ¸Ăk(<ö8>P8>XÁ#Žäu “Á޵đ‡‡-ô«P§Í4¸ÁBć?—ĺŠč… éK@Q@Q@Q@Q@Q@Q@Q@şĆc®é˛éúŤŞ\ZĘ
ĽoÓęcčG"ľ^ř‡đ»Qđ]Ä—vű®´gÝĎŐŁ˘Č={gˇöč>łŞ×vĐŢ[ÉoqK ŠUăuÜ®Áwô …(Ż <uđ).Ţ]CÂ…b”Ďc+á#=Ž{ŽzŽ•ázž“¨h׏g¨ŮÍk:őIP©ý{{Đ:ßĐĽmâO ‘ý•«\ÁÉ–ßOS°ä~•<>E{F“űDj<44>FWUŃ­Ż\+Á!„“ęxaůb»+/ÚÂwŐ¶Łjä|ى]TçÔ6Oĺ_2Ń@VÂńđ?ü˙ŕ3T?<úŕ˙v+|üx<C3BC>_-Q@Ajż´]'D¸+ňËu(ŹÝW9üĹyć»ń“Ć:Řd[ń§BŰwb g#¸|—çż8®Š|łI<­,˛3Čıf9$ži”R€IŔ=¸ «ÚFŤ¨kş„ve¤—72Śg˛}©<
í<đ‹]ńr­ÔŕéşiĆKI<49>QxÜ9äĽäWŃŢđfŕű&¶Ň-ŠÇ›+ťŇJG çŽhťřwđ»OđeŞ]]îő“Ë\c<>ŽÂg§zšôUé@Ą Š( Š( Š( Š( Š( Š( Š( Š( Š( ˛é^"´6š˝„pŕŕHą*Ů#<23>}ÁÍkŃ@â?ŮęŢfi|9©ů,N~Ď{Ę`“ŃÔd`t?Zňý[ጴg"}
ęT;í—Î\ ňvç;×Ř´PÁŇE$LVDd`pC b™_rßén¨ˇu >ÖíGA<+&9÷ą»ż…ž żróř~Ôç÷E˘î{!ńőőÇü)Ď?đ&oţ.•~ř7 ľ<1E>ýë‰Oč[ň8ÉéšÓÓ<7­ë$Ť3JĽ»
ÁXĂ 0R}Hö§ü3a±­t 67BJ8¶BĘ}rFk|PĚÚŔ/߲ľ­sm¦Ĺ
îI퀧oë^˝áź…đ»Ĺq »˝Źsvw<76>rBýĐAPA#Ö»Ę(Ş0)ÔQ@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@˙Ů

File diff suppressed because one or more lines are too long

View File

@ -1770,11 +1770,16 @@
<Content Include="TestRun\Meeting\SpecialMeetingEdit.aspx" />
<Content Include="TestRun\Meeting\WeekMeeting.aspx" />
<Content Include="TestRun\Meeting\WeekMeetingEdit.aspx" />
<Content Include="TestRun\PersonTrain\PersonTrainPlan.aspx" />
<Content Include="TestRun\PersonTrain\PersonTrainPlanEdit.aspx" />
<Content Include="TestRun\PersonTrain\TrainContact.aspx" />
<Content Include="TestRun\PersonTrain\TrainContactEdit.aspx" />
<Content Include="TestRun\PersonTrain\TrainContent.aspx" />
<Content Include="TestRun\PersonTrain\TrainContentEdit.aspx" />
<Content Include="TestRun\PersonTrain\TrainContract.aspx" />
<Content Include="TestRun\PersonTrain\TrainPlanEdit.aspx" />
<Content Include="TestRun\PersonTrain\TrainRecords.aspx" />
<Content Include="TestRun\PersonTrain\TrainRecordsEdit.aspx" />
<Content Include="TestRun\ProduceProperty\AnalySamp.aspx" />
<Content Include="TestRun\ProduceProperty\AnalySampEdit.aspx" />
<Content Include="TestRun\ProduceProperty\PropertyRunOthersCheck.aspx" />
@ -15890,6 +15895,20 @@
<Compile Include="TestRun\Meeting\WeekMeetingEdit.aspx.designer.cs">
<DependentUpon>WeekMeetingEdit.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\PersonTrain\PersonTrainPlan.aspx.cs">
<DependentUpon>PersonTrainPlan.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="TestRun\PersonTrain\PersonTrainPlan.aspx.designer.cs">
<DependentUpon>PersonTrainPlan.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\PersonTrain\PersonTrainPlanEdit.aspx.cs">
<DependentUpon>PersonTrainPlanEdit.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="TestRun\PersonTrain\PersonTrainPlanEdit.aspx.designer.cs">
<DependentUpon>PersonTrainPlanEdit.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\PersonTrain\TrainContact.aspx.cs">
<DependentUpon>TrainContact.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@ -15918,6 +15937,13 @@
<Compile Include="TestRun\PersonTrain\TrainContentEdit.aspx.designer.cs">
<DependentUpon>TrainContentEdit.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\PersonTrain\TrainContract.aspx.cs">
<DependentUpon>TrainContract.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="TestRun\PersonTrain\TrainContract.aspx.designer.cs">
<DependentUpon>TrainContract.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\PersonTrain\TrainPlan.aspx.cs">
<DependentUpon>TrainPlan.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@ -15932,6 +15958,20 @@
<Compile Include="TestRun\PersonTrain\TrainPlanEdit.aspx.designer.cs">
<DependentUpon>TrainPlanEdit.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\PersonTrain\TrainRecords.aspx.cs">
<DependentUpon>TrainRecords.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="TestRun\PersonTrain\TrainRecords.aspx.designer.cs">
<DependentUpon>TrainRecords.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\PersonTrain\TrainRecordsEdit.aspx.cs">
<DependentUpon>TrainRecordsEdit.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="TestRun\PersonTrain\TrainRecordsEdit.aspx.designer.cs">
<DependentUpon>TrainRecordsEdit.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\ProduceProperty\AnalySamp.aspx.cs">
<DependentUpon>AnalySamp.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>

View File

@ -0,0 +1,127 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="PersonTrainPlan.aspx.cs" Inherits="FineUIPro.Web.TestRun.PersonTrain.PersonTrainPlan" %>
<!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="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="PersonTrainPlanId" AllowCellEditing="true" EnableColumnLines="true"
ClicksToEdit="2" DataIDField="PersonTrainPlanId" AllowSorting="true" SortField="TrainingDate"
SortDirection="DESC" OnSort="Grid1_Sort"
AllowPaging="true" IsDatabasePaging="true" PageSize="15" OnPageIndexChange="Grid1_PageIndexChange"
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" EnableTextSelection="true" OnRowCommand="Grid1_RowCommand">
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:TextBox ID="txtTrainContent" runat="server" Label="培训内容" LabelAlign="Right">
</f:TextBox>
<f:Button ID="btnSearch" Icon="SystemSearch"
EnablePostBack="true" runat="server" OnClick="btnSearch_Click" ToolTip="搜索">
</f:Button>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnNew" Icon="Add" ToolTip="新增" EnablePostBack="false" runat="server" Hidden="true">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfPageIndex" Width="55px" HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center"
EnableLock="true" Locked="False">
<ItemTemplate>
<asp:Label ID="lblPageIndex" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField ColumnID="TrainType" DataField="TrainType" FieldType="String" HeaderText="培训类型" TextAlign="Center"
HeaderTextAlign="Center" Width="150px">
</f:RenderField>
<f:RenderField ColumnID="Purpose" DataField="Purpose" FieldType="String" HeaderText="培训目的"
HeaderTextAlign="Center" Width="150px">
</f:RenderField>
<f:RenderField ColumnID="TrainingContent" DataField="TrainingContent" FieldType="String" HeaderText="培训内容"
HeaderTextAlign="Center" Width="120px" ExpandUnusedSpace="true">
</f:RenderField>
<f:RenderField ColumnID="TrainingAddress" DataField="TrainingAddress" FieldType="String" HeaderText="培训地点"
HeaderTextAlign="Center" Width="120px">
</f:RenderField>
<f:RenderField ColumnID="TrainingDate" DataField="TrainingDate" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="培训时间"
HeaderTextAlign="Center" Width="100px">
</f:RenderField>
<f:RenderField ColumnID="TrainingPersonNum" DataField="TrainingPersonNum" FieldType="String" HeaderText="参训人员及人数"
HeaderTextAlign="Center" Width="120px">
</f:RenderField>
<f:RenderField ColumnID="TrainingHours" DataField="TrainingHours" FieldType="String" HeaderText="培训学时数"
HeaderTextAlign="Center" Width="100px">
</f:RenderField>
<f:RenderField ColumnID="TrainingManager" DataField="TrainingManager" FieldType="String" HeaderText="培训负责人"
HeaderTextAlign="Center" Width="100px">
</f:RenderField>
<f:RenderField ColumnID="TrainingTeacher" DataField="TrainingTeacher" FieldType="String" HeaderText="培训老师"
HeaderTextAlign="Center" Width="100px">
</f:RenderField>
<f:RenderField ColumnID="AssessmentMethod" DataField="AssessmentMethod" FieldType="String" HeaderText="考核方式"
HeaderTextAlign="Center" Width="100px">
</f:RenderField>
<f:LinkButtonField HeaderText="附件" ConfirmTarget="Top" Width="90" CommandName="AttachUrl" ColumnID="AttachUrl"
TextAlign="Center" ToolTip="附件查看" Icon="Find" />
</Columns>
<Listeners>
<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="10" Value="10" />
<f:ListItem Text="15" Value="15" />
<f:ListItem Text="20" Value="20" />
<f:ListItem Text="25" Value="25" />
<f:ListItem Text="所有行" Value="100000" />
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="人员培训记录" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" OnClose="Window1_Close"
Width="900px" Height="620px">
</f:Window>
<f:Window ID="WindowAtt" Title="弹出窗体" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="700px"
Height="500px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<Items>
<f:MenuButton ID="btnMenuModify" EnablePostBack="true" runat="server" Text="修改" Icon="Pencil" OnClick="btnMenuModify_Click" Hidden="true">
</f:MenuButton>
<f:MenuButton ID="btnMenuDel" EnablePostBack="true" runat="server" Icon="Delete" Text="删除" ConfirmText="确定删除当前数据?"
OnClick="btnMenuDel_Click" Hidden="true">
</f:MenuButton>
</Items>
</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');
}
</script>
</body>
</html>

View File

@ -0,0 +1,223 @@
using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
namespace FineUIPro.Web.TestRun.PersonTrain
{
public partial class PersonTrainPlan : PageBase
{
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GetButtonPower();
BindGrid();
btnNew.OnClientClick = Window1.GetShowReference("PersonTrainPlanEdit.aspx") + "return false;";
}
}
#endregion
#region
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
string strSql = @"SELECT personTrainPlan.PersonTrainPlanId,
personTrainPlan.ProjectId,
(CASE personTrainPlan.TrainType WHEN '1' THEN ''
WHEN '2' THEN ''
WHEN '3' THEN ''
WHEN '4' THEN '' END) AS TrainType,
personTrainPlan.Purpose,
personTrainPlan.TrainingContent,
personTrainPlan.TrainingAddress,
personTrainPlan.TrainingDate,
personTrainPlan.TrainingPersonNum,
personTrainPlan.TrainingHours,
personTrainPlan.TrainingManager,
personTrainPlan.TrainingTeacher,
personTrainPlan.AssessmentMethod
FROM TestRun_PersonTrainPlan AS personTrainPlan WHERE personTrainPlan.ProjectId=@projectId";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@projectId", this.CurrUser.LoginProjectId));
if (!string.IsNullOrEmpty(this.txtTrainContent.Text.Trim()))
{
strSql += " AND personTrainPlan.TrainingContent LIKE @trainContent";
listStr.Add(new SqlParameter("@trainContent", "%" + this.txtTrainContent.Text.Trim() + "%"));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#endregion
#region
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSearch_Click(object sender, EventArgs e)
{
BindGrid();
}
#endregion
#region
/// <summary>
/// 分页索引事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGrid();
}
/// <summary>
/// 分页下拉框事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
/// <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 Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
#endregion
#region
/// <summary>
/// 右键编辑
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuModify_Click(object sender, EventArgs e)
{
EditData();
}
/// <summary>
/// Grid行双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
EditData();
}
/// <summary>
/// 编辑
/// </summary>
private void EditData()
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning);
return;
}
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("PersonTrainPlanEdit.aspx?id={0}", Grid1.SelectedRowID, "编辑 - ")));
}
#endregion
#region
/// <summary>
/// 右键删除
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuDel_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length > 0)
{
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
var data = BLL.PersonTrainPlanService.GetPersonTrainPlanById(rowID);
if (data != null)
{
BLL.PersonTrainPlanService.DeletePersonTrainPlanById(rowID);
}
}
BindGrid();
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
}
}
#endregion
#region Grid行点击事件
protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
{
string id = Grid1.DataKeys[e.RowIndex][0].ToString();
if (e.CommandName == "AttachUrl")//附件
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=-1&toKeyId={0}&path=FileUpload/TestRun/PersonTrain/PersonTrainPlan&menuId={1}", id, BLL.Const.PersonTrainPlanMenuId)));
}
}
#endregion
#region
/// <summary>
/// 权限设置
/// </summary>
private void GetButtonPower()
{
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.PersonTrainPlanMenuId);
if (buttonList.Count() > 0)
{
if (buttonList.Contains(BLL.Const.BtnAdd))
{
this.btnNew.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnModify))
{
this.btnMenuModify.Hidden = false;
this.Grid1.EnableRowDoubleClickEvent = true;
}
if (buttonList.Contains(BLL.Const.BtnDelete))
{
this.btnMenuDel.Hidden = false;
}
}
}
#endregion
}
}

View File

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

View File

@ -0,0 +1,105 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="PersonTrainPlanEdit.aspx.cs" Inherits="FineUIPro.Web.TestRun.PersonTrain.PersonTrainPlanEdit" %>
<!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="SimpleForm1" runat="server" />
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
<Items>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<f:Button ID="btnSave" OnClick="btnSave_Click" Icon="SystemSave" runat="server" ToolTip="保存" ValidateForms="SimpleForm1">
</f:Button>
<f:HiddenField ID="hdAttachUrl" runat="server">
</f:HiddenField>
<f:HiddenField ID="hdId" runat="server"></f:HiddenField>
</Items>
</f:Toolbar>
</Toolbars>
<Rows>
<f:FormRow>
<Items>
<f:ContentPanel ID="ContentPanel2" ShowBorder="true"
BodyPadding="10px" EnableCollapse="true" ShowHeader="false" AutoScroll="true"
runat="server">
<f:Form ID="Form2" ShowBorder="false" ShowHeader="false" AutoScroll="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Rows>
<f:FormRow>
<Items>
<f:DropDownList ID="drpTrainType" runat="server" Label="培训类型" LabelAlign="Right" LabelWidth="120px" ShowRedStar="true" Required="true"></f:DropDownList>
<f:TextBox ID="txtPurpose" runat="server" Label="培训目的" LabelAlign="Right" LabelWidth="100px" MaxLength="50">
</f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextArea ID="txtTrainingContent" runat="server" Label="培训内容" LabelAlign="Right" LabelWidth="120px" MaxLength="200" Required="true" ShowRedStar="true">
</f:TextArea>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtTrainingAddress" runat="server" Label="培训地址" LabelAlign="Right" LabelWidth="120px" MaxLength="50" Required="true" ShowRedStar="true">
</f:TextBox>
<f:DatePicker ID="txtTrainingDate" runat="server" Label="培训时间" LabelAlign="Right" LabelWidth="100px" Required="true" ShowRedStar="true"></f:DatePicker>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtTrainingPersonNum" runat="server" Label="参训人员及人数" LabelAlign="Right" LabelWidth="120px" MaxLength="100">
</f:TextBox>
<f:NumberBox ID="txtTrainingHours" runat="server" Label="培训学时" LabelAlign="Right" NoNegative="true" LabelWidth="100px"></f:NumberBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtTrainingManager" runat="server" Label="培训负责人" LabelAlign="Right" LabelWidth="120px" MaxLength="50">
</f:TextBox>
<f:TextBox ID="txtTrainingTeacher" runat="server" Label="培训老师" LabelAlign="Right" LabelWidth="100px" MaxLength="50">
</f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtAssessmentMethod" runat="server" Label="考核方式" LabelAlign="Right" LabelWidth="120px" MaxLength="50">
</f:TextBox>
<f:Label ID="Label1" runat="server"></f:Label>
</Items>
</f:FormRow>
<f:FormRow runat="server">
<Items>
<f:Panel ID="Panel3" Width="300px" ShowHeader="false" ShowBorder="false" Layout="Column" CssClass="" runat="server">
<Items>
<f:Label ID="lblAttach" runat="server" Label="附件"
LabelWidth="100px">
</f:Label>
<f:Button ID="btnAttach" Icon="TableCell" EnablePostBack="true" Text="附件" runat="server" OnClick="btnAttach_Click">
</f:Button>
</Items>
</f:Panel>
</Items>
</f:FormRow>
</Rows>
</f:Form>
</f:ContentPanel>
</Items>
</f:FormRow>
</Rows>
</f:Form>
<f:Window ID="WindowAtt" Title="弹出窗体" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="700px"
Height="500px">
</f:Window>
</form>
</body>
</html>

View File

@ -0,0 +1,119 @@
using BLL;
using System;
namespace FineUIPro.Web.TestRun.PersonTrain
{
public partial class PersonTrainPlanEdit : PageBase
{
#region
/// <summary>
/// 页面加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
///培训类型
this.drpTrainType.DataTextField = "Text";
this.drpTrainType.DataValueField = "Value";
this.drpTrainType.DataSource=BLL.DropListService.drpTrainTypeList();
this.drpTrainType.DataBind();
string id = Request.Params["id"];
if (!string.IsNullOrEmpty(id))
{
Model.TestRun_PersonTrainPlan data = BLL.PersonTrainPlanService.GetPersonTrainPlanById(id);
if (data != null)
{
this.hdId.Text = id;
if (!string.IsNullOrEmpty(data.TrainType))
{
this.drpTrainType.SelectedValue = data.TrainType;
}
this.txtPurpose.Text = data.Purpose;
this.txtTrainingContent.Text = data.TrainingContent;
this.txtTrainingAddress.Text = data.TrainingAddress;
this.txtTrainingDate.Text = data.TrainingDate.HasValue ? string.Format("{0:yyyy-MM-dd}", data.TrainingDate) : "";
this.txtTrainingPersonNum.Text = data.TrainingPersonNum;
this.txtTrainingHours.Text = data.TrainingHours.HasValue ? data.TrainingHours.ToString() : "";
this.txtTrainingManager.Text = data.TrainingManager;
this.txtTrainingTeacher.Text = data.TrainingTeacher;
this.txtAssessmentMethod.Text = data.AssessmentMethod;
}
}
else
{
this.txtTrainingDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
}
}
}
#endregion
#region
/// <summary>
/// 附件上传
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAttach_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.hdId.Text)) //新增记录
{
this.hdId.Text = SQLHelper.GetNewID(typeof(Model.TestRun_PersonTrainPlan));
}
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/TestRun/PersonTrain/PersonTrainPlan&menuId={1}", this.hdId.Text, BLL.Const.PersonTrainPlanMenuId)));
}
#endregion
#region
/// <summary>
/// 保存按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.drpTrainType.SelectedValue)||this.drpTrainType.SelectedValue==BLL.Const._Null)
{
Alert.ShowInTop("请选择培训类型!", MessageBoxIcon.Warning);
return;
}
string id = Request.Params["id"];
Model.TestRun_PersonTrainPlan newData = new Model.TestRun_PersonTrainPlan();
newData.TrainType = this.drpTrainType.SelectedValue;
newData.Purpose = this.txtPurpose.Text.Trim();
newData.TrainingContent = this.txtTrainingContent.Text.Trim();
newData.TrainingAddress = this.txtTrainingAddress.Text.Trim();
newData.TrainingDate = Funs.GetNewDateTime(this.txtTrainingDate.Text.Trim());
newData.TrainingPersonNum = this.txtTrainingPersonNum.Text.Trim();
newData.TrainingHours = Funs.GetNewDecimal(this.txtTrainingHours.Text.Trim());
newData.TrainingManager = this.txtTrainingManager.Text.Trim();
newData.TrainingTeacher = this.txtTrainingTeacher.Text.Trim();
newData.AssessmentMethod = this.txtAssessmentMethod.Text.Trim();
newData.ProjectId = this.CurrUser.LoginProjectId;
if (!string.IsNullOrEmpty(id))
{
newData.PersonTrainPlanId = id;
BLL.PersonTrainPlanService.UpdatePersonTrainPlan(newData);
}
else
{
if (!string.IsNullOrEmpty(this.hdId.Text))
{
newData.PersonTrainPlanId = this.hdId.Text.Trim();
}
else
{
newData.PersonTrainPlanId = SQLHelper.GetNewID(typeof(Model.TestRun_PersonTrainPlan));
this.hdId.Text = newData.PersonTrainPlanId;
}
BLL.PersonTrainPlanService.AddPersonTrainPlan(newData);
}
ShowNotify("保存成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
#endregion
}
}

View File

@ -0,0 +1,240 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.TestRun.PersonTrain {
public partial class PersonTrainPlanEdit {
/// <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>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// hdAttachUrl 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hdAttachUrl;
/// <summary>
/// hdId 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hdId;
/// <summary>
/// ContentPanel2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel ContentPanel2;
/// <summary>
/// Form2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form Form2;
/// <summary>
/// drpTrainType 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpTrainType;
/// <summary>
/// txtPurpose 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtPurpose;
/// <summary>
/// txtTrainingContent 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtTrainingContent;
/// <summary>
/// txtTrainingAddress 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtTrainingAddress;
/// <summary>
/// txtTrainingDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtTrainingDate;
/// <summary>
/// txtTrainingPersonNum 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtTrainingPersonNum;
/// <summary>
/// txtTrainingHours 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox txtTrainingHours;
/// <summary>
/// txtTrainingManager 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtTrainingManager;
/// <summary>
/// txtTrainingTeacher 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtTrainingTeacher;
/// <summary>
/// txtAssessmentMethod 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtAssessmentMethod;
/// <summary>
/// Label1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label Label1;
/// <summary>
/// Panel3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel3;
/// <summary>
/// lblAttach 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblAttach;
/// <summary>
/// btnAttach 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnAttach;
/// <summary>
/// WindowAtt 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window WindowAtt;
}
}

View File

@ -0,0 +1,16 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TrainContract.aspx.cs" Inherits="FineUIPro.Web.TestRun.PersonTrain.TrainContract" %>
<!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">
<div>
</div>
</form>
</body>
</html>

View File

@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.TestRun.PersonTrain
{
public partial class TrainContract : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
}

View File

@ -0,0 +1,24 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.TestRun.PersonTrain {
public partial class TrainContract {
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
}
}

View File

@ -0,0 +1,113 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TrainRecords.aspx.cs" Inherits="FineUIPro.Web.TestRun.PersonTrain.TrainRecords" %>
<!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" OnCustomEvent="PageManager1_CustomEvent" />
<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="TrainRecordsId" AllowCellEditing="true" EnableColumnLines="true"
ClicksToEdit="2" DataIDField="TrainRecordsId" AllowSorting="true" SortField="UploadDate"
SortDirection="DESC" OnSort="Grid1_Sort"
AllowPaging="true" IsDatabasePaging="true" PageSize="15" OnPageIndexChange="Grid1_PageIndexChange"
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" EnableTextSelection="true" OnRowCommand="Grid1_RowCommand">
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<%-- <f:TextBox ID="txtTrainContent" runat="server" Label="培训内容" LabelAlign="Right">
</f:TextBox>
<f:Button ID="btnSearch" Icon="SystemSearch"
EnablePostBack="true" runat="server" OnClick="btnSearch_Click" ToolTip="搜索">
</f:Button>--%>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnDonwLoadTrainRecords" runat="server" Icon="DiskDownload" Text="下载培训报告" ToolTip="下载培训报告模板" EnableAjaxLoading="false" OnClick="btnDonwLoadTrainRecords_Click"></f:Button>
<f:Button ID="btnDownLoadSign" runat="server" Icon="DiskDownload" Text="下载签到表" ToolTip="下载签到表模板" EnableAjaxLoading="false" OnClick="btnDownLoadSign_Click"></f:Button>
<f:Button ID="btnNew" Icon="Add" ToolTip="新增" EnablePostBack="false" runat="server" Hidden="true">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfPageIndex" Width="55px" HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center"
EnableLock="true" Locked="False">
<ItemTemplate>
<asp:Label ID="lblPageIndex" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField ColumnID="TrainRecordsCode" DataField="TrainRecordsCode" FieldType="String" HeaderText="编号" TextAlign="Center"
HeaderTextAlign="Center" Width="200px">
</f:RenderField>
<f:RenderField ColumnID="TrainRecordsName" DataField="TrainRecordsName" FieldType="String" HeaderText="名称"
HeaderTextAlign="Center" Width="300px">
</f:RenderField>
<f:RenderField ColumnID="UploadDate" DataField="UploadDate" FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="上传时间"
HeaderTextAlign="Center" Width="120px">
</f:RenderField>
<f:RenderField ColumnID="Remark" DataField="Remark" FieldType="String" HeaderText="备注"
HeaderTextAlign="Center" Width="150px" ExpandUnusedSpace="true">
</f:RenderField>
<f:LinkButtonField HeaderText="培训报告" ConfirmTarget="Top" Width="120" CommandName="AttachUrl" ColumnID="AttachUrl"
TextAlign="Center" ToolTip="附件查看" Icon="Find" />
<f:LinkButtonField HeaderText="签到表" ConfirmTarget="Top" Width="120" CommandName="AttachUrl2" ColumnID="AttachUrl2"
TextAlign="Center" ToolTip="附件查看" Icon="Find" />
</Columns>
<Listeners>
<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="10" Value="10" />
<f:ListItem Text="15" Value="15" />
<f:ListItem Text="20" Value="20" />
<f:ListItem Text="25" Value="25" />
<f:ListItem Text="所有行" Value="100000" />
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="培训记录及执行报告" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" OnClose="Window1_Close"
Width="900px" Height="620px">
</f:Window>
<f:Window ID="WindowAtt" Title="弹出窗体" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="700px"
Height="500px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<Items>
<f:MenuButton ID="btnMenuModify" EnablePostBack="true" runat="server" Text="修改" Icon="Pencil" OnClick="btnMenuModify_Click" Hidden="true">
</f:MenuButton>
<f:MenuButton ID="btnMenuDel" EnablePostBack="true" runat="server" Icon="Delete" Text="删除" ConfirmText="确定删除当前数据?"
OnClick="btnMenuDel_Click" Hidden="true">
</f:MenuButton>
</Items>
</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');
}
</script>
</body>
</html>

View File

@ -0,0 +1,274 @@
using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
namespace FineUIPro.Web.TestRun.PersonTrain
{
public partial class TrainRecords : PageBase
{
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GetButtonPower();
BindGrid();
btnNew.OnClientClick = Window1.GetShowReference("TrainRecordsEdit.aspx") + "return false;";
}
}
#endregion
#region
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
string strSql = @"SELECT * FROM TestRun_TrainRecords WHERE ProjectId=@projectId";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@projectId", this.CurrUser.LoginProjectId));
//if (!string.IsNullOrEmpty(this.txtTrainContent.Text.Trim()))
//{
// strSql += " AND TrainContent LIKE @trainContent";
// listStr.Add(new SqlParameter("@trainContent", "%" + this.txtTrainContent.Text.Trim() + "%"));
//}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#endregion
#region
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSearch_Click(object sender, EventArgs e)
{
BindGrid();
}
#endregion
#region
/// <summary>
/// 分页索引事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGrid();
}
/// <summary>
/// 分页下拉框事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
/// <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 Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
#endregion
#region
/// <summary>
/// 右键编辑
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuModify_Click(object sender, EventArgs e)
{
EditData();
}
/// <summary>
/// Grid行双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
EditData();
}
/// <summary>
/// 编辑
/// </summary>
private void EditData()
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning);
return;
}
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("TrainRecordsEdit.aspx?id={0}", Grid1.SelectedRowID, "编辑 - ")));
}
#endregion
#region
/// <summary>
/// 右键删除
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuDel_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length > 0)
{
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
var data = BLL.TrainRecordsService.GetTrainRecordsById(rowID);
if (data != null)
{
BLL.TrainRecordsService.DeleteTrainRecordsById(rowID);
}
}
BindGrid();
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
}
}
#endregion
#region Grid行点击事件
protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
{
string id = Grid1.DataKeys[e.RowIndex][0].ToString();
if (e.CommandName == "AttachUrl")//培训报告
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=-1&toKeyId={0}&path=FileUpload/TestRun/PersonTrain/TrainRecords&menuId={1}&strParam=1", id, BLL.Const.TrainRecordsMenuId)));
}
else if (e.CommandName == "AttachUrl2")//签到表
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=-1&toKeyId={0}&path=FileUpload/TestRun/PersonTrain/TrainRecords&menuId={1}&strParam=2", id, BLL.Const.TrainRecordsMenuId)));
}
}
#endregion
#region
/// <summary>
/// 权限设置
/// </summary>
private void GetButtonPower()
{
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.TrainRecordsMenuId);
if (buttonList.Count() > 0)
{
if (buttonList.Contains(BLL.Const.BtnAdd))
{
this.btnNew.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnModify))
{
this.btnMenuModify.Hidden = false;
this.Grid1.EnableRowDoubleClickEvent = true;
}
if (buttonList.Contains(BLL.Const.BtnDelete))
{
this.btnMenuDel.Hidden = false;
}
}
}
#endregion
#region
/// <summary>
/// 下载培训报告
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnDonwLoadTrainRecords_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Confirm.GetShowReference("是否确认下载培训报告?", String.Empty, MessageBoxIcon.Question, PageManager1.GetCustomEventReference(false, "Confirm_OK"), PageManager1.GetCustomEventReference("Confirm_Cancel")));
}
/// <summary>
/// 下载签到表
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnDownLoadSign_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Confirm.GetShowReference("是否确认下载签到表?", String.Empty, MessageBoxIcon.Question, PageManager1.GetCustomEventReference(false, "Confirm_OK2"), PageManager1.GetCustomEventReference("Confirm_Cancel2")));
}
/// <summary>
/// 下载导入模板
/// </summary>
protected void PageManager1_CustomEvent(object sender, CustomEventArgs e)
{
if (e.EventArgument == "Confirm_OK")
{
string rootPath = Server.MapPath("~/");
string uploadfilepath = rootPath + Const.TestRun_TrainRecordsUrl;
string filePath = Const.TestRun_TrainRecordsUrl;
string fileName = Path.GetFileName(filePath);
FileInfo info = new FileInfo(uploadfilepath);
long fileSize = info.Length;
Response.ClearContent();
Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.ContentType = "excel/plain";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AddHeader("Content-Length", fileSize.ToString().Trim());
Response.TransmitFile(uploadfilepath, 0, fileSize);
Response.End();
}
else if (e.EventArgument == "Confirm_OK2")
{
string rootPath = Server.MapPath("~/");
string uploadfilepath = rootPath + Const.TestRun_SignUrl;
string filePath = Const.TestRun_SignUrl;
string fileName = Path.GetFileName(filePath);
FileInfo info = new FileInfo(uploadfilepath);
long fileSize = info.Length;
Response.ClearContent();
Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.ContentType = "excel/plain";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AddHeader("Content-Length", fileSize.ToString().Trim());
Response.TransmitFile(uploadfilepath, 0, fileSize);
Response.End();
}
}
#endregion
}
}

View File

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

View File

@ -0,0 +1,100 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TrainRecordsEdit.aspx.cs" Inherits="FineUIPro.Web.TestRun.PersonTrain.TrainRecordsEdit" %>
<!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="SimpleForm1" runat="server" />
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
<Items>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<f:Button ID="btnSave" OnClick="btnSave_Click" Icon="SystemSave" runat="server" ToolTip="保存" ValidateForms="SimpleForm1">
</f:Button>
<f:HiddenField ID="hdAttachUrl" runat="server">
</f:HiddenField>
<f:HiddenField ID="hdId" runat="server"></f:HiddenField>
</Items>
</f:Toolbar>
</Toolbars>
<Rows>
<f:FormRow>
<Items>
<f:ContentPanel ID="ContentPanel2" ShowBorder="true"
BodyPadding="10px" EnableCollapse="true" ShowHeader="false" AutoScroll="true"
runat="server">
<f:Form ID="Form2" ShowBorder="false" ShowHeader="false" AutoScroll="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Rows>
<f:FormRow>
<Items>
<f:TextBox ID="txtCode" runat="server" Label="编号" LabelAlign="Right" LabelWidth="100px" MaxLength="50" Required="true" ShowRedStar="true">
</f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtName" runat="server" Label="名称" LabelAlign="Right" LabelWidth="100px" Required="true" ShowRedStar="true" MaxLength="500">
</f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DatePicker ID="txtUploadDate" runat="server" Label="上传时间" LabelAlign="Right" LabelWidth="100px" ></f:DatePicker>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextArea ID="txtRemark" runat="server" Label="备注" LabelAlign="Right" LabelWidth="100px" MaxLength="500">
</f:TextArea>
</Items>
</f:FormRow>
<f:FormRow runat="server">
<Items>
<f:Panel ID="Panel3" Width="300px" ShowHeader="false" ShowBorder="false" Layout="Column" CssClass="" runat="server">
<Items>
<f:Label ID="lblAttach" runat="server" Label="培训报告"
LabelWidth="100px">
</f:Label>
<f:Button ID="btnAttach" Icon="TableCell" EnablePostBack="true" Text="附件" runat="server" OnClick="btnAttach_Click">
</f:Button>
</Items>
</f:Panel>
</Items>
</f:FormRow>
<f:FormRow runat="server">
<Items>
<f:Panel ID="Panel1" Width="300px" ShowHeader="false" ShowBorder="false" Layout="Column" CssClass="" runat="server">
<Items>
<f:Label ID="Label1" runat="server" Label="签到表"
LabelWidth="100px">
</f:Label>
<f:Button ID="btnSign" Icon="TableCell" EnablePostBack="true" Text="附件" runat="server" OnClick="btnSign_Click">
</f:Button>
</Items>
</f:Panel>
</Items>
</f:FormRow>
</Rows>
</f:Form>
</f:ContentPanel>
</Items>
</f:FormRow>
</Rows>
</f:Form>
<f:Window ID="WindowAtt" Title="弹出窗体" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="700px"
Height="500px">
</f:Window>
</form>
</body>
</html>

View File

@ -0,0 +1,109 @@
using BLL;
using System;
namespace FineUIPro.Web.TestRun.PersonTrain
{
public partial class TrainRecordsEdit : PageBase
{
#region
/// <summary>
/// 页面加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string id = Request.Params["id"];
if (!string.IsNullOrEmpty(id))
{
Model.TestRun_TrainRecords data = BLL.TrainRecordsService.GetTrainRecordsById(id);
if (data != null)
{
this.hdId.Text = id;
this.txtCode.Text = data.TrainRecordsCode;
this.txtName.Text = data.TrainRecordsName;
this.txtUploadDate.Text = data.UploadDate.HasValue ? string.Format("{0:yyyy-MM-dd}", data.UploadDate) : "";
this.txtRemark.Text = data.Remark;
}
}
else
{
this.txtUploadDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
}
}
}
#endregion
#region
/// <summary>
/// 附件上传
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAttach_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.hdId.Text)) //新增记录
{
this.hdId.Text = SQLHelper.GetNewID(typeof(Model.TestRun_TrainRecords));
}
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/TestRun/PersonTrain/TrainRecords&menuId={1}&strParam=1", this.hdId.Text, BLL.Const.TrainRecordsMenuId)));
}
/// <summary>
/// 上传签到表
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSign_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.hdId.Text)) //新增记录
{
this.hdId.Text = SQLHelper.GetNewID(typeof(Model.TestRun_TrainRecords));
}
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/TestRun/PersonTrain/TrainRecords&menuId={1}&strParam=2", this.hdId.Text, BLL.Const.TrainRecordsMenuId)));
}
#endregion
#region
/// <summary>
/// 保存按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
string id = Request.Params["id"];
Model.TestRun_TrainRecords newData = new Model.TestRun_TrainRecords();
newData.TrainRecordsCode = this.txtCode.Text.Trim();
newData.TrainRecordsName = this.txtName.Text.Trim();
newData.UploadDate = Funs.GetNewDateTime(this.txtUploadDate.Text.Trim());
newData.CompileMan = this.CurrUser.UserId;
newData.CompileDate = DateTime.Now;
newData.Remark = this.txtRemark.Text.Trim();
newData.ProjectId = this.CurrUser.LoginProjectId;
if (!string.IsNullOrEmpty(id))
{
newData.TrainRecordsId = id;
BLL.TrainRecordsService.UpdateTrainRecords(newData);
}
else
{
if (!string.IsNullOrEmpty(this.hdId.Text))
{
newData.TrainRecordsId = this.hdId.Text.Trim();
}
else
{
newData.TrainRecordsId = SQLHelper.GetNewID(typeof(Model.TestRun_TrainRecords));
this.hdId.Text = newData.TrainRecordsId;
}
BLL.TrainRecordsService.AddTrainRecords(newData);
}
ShowNotify("保存成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
#endregion
}
}

View File

@ -0,0 +1,204 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.TestRun.PersonTrain {
public partial class TrainRecordsEdit {
/// <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>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// hdAttachUrl 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hdAttachUrl;
/// <summary>
/// hdId 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hdId;
/// <summary>
/// ContentPanel2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel ContentPanel2;
/// <summary>
/// Form2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form Form2;
/// <summary>
/// txtCode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtCode;
/// <summary>
/// txtName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtName;
/// <summary>
/// txtUploadDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtUploadDate;
/// <summary>
/// txtRemark 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtRemark;
/// <summary>
/// Panel3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel3;
/// <summary>
/// lblAttach 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblAttach;
/// <summary>
/// btnAttach 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnAttach;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// Label1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label Label1;
/// <summary>
/// btnSign 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSign;
/// <summary>
/// WindowAtt 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window WindowAtt;
}
}

View File

@ -48,4 +48,8 @@
<TreeNode id="E632DCA0-5A68-49C4-90CE-793EFC693C4A" Text="资料管理" NavigateUrl=""><TreeNode id="151BFF86-5B2D-4852-A846-690EA4D4DB51" Text="标准规范" NavigateUrl="CQMS/DataBase/ConstructionStandardListProject.aspx"></TreeNode>
<TreeNode id="3A50A067-6FF2-43EF-BFF3-C04E7E66F8F9" Text="资料库" NavigateUrl="CQMS/DataBase/DataBaseProject.aspx"></TreeNode>
</TreeNode>
<TreeNode id="D1BB76A7-B273-4636-B414-49B93231780D" Text="施工绩效管理" NavigateUrl=""><TreeNode id="B96FEF05-CA28-4450-ACE6-9FA654CE7F6D" Text="施工绩效" NavigateUrl="CQMS/Performance/Performance.aspx"></TreeNode>
<TreeNode id="888962E7-EF4E-43C7-B835-BAE0249DCA3F" Text="施工绩效审批打分" NavigateUrl="CQMS/Performance/PerformanceAudit.aspx"></TreeNode>
<TreeNode id="753BED05-3B04-43F3-9D97-1534C581A49F" Text="施工绩效设置" NavigateUrl="CQMS/Performance/PerformanceConfig.aspx"></TreeNode>
</TreeNode>
</Tree>

View File

@ -9,9 +9,9 @@
<TreeNode id="2171DE2D-A3D7-4C2D-8708-7207D7FF3965" Text="开车责任分工表" NavigateUrl="TestRun/DriverPrepare/Duty.aspx"></TreeNode>
<TreeNode id="06D8BB82-F7D6-48B0-B7A5-A75AB2010237" Text="开车方案编制计划" NavigateUrl="TestRun/DriverPrepare/SchemePlan.aspx"></TreeNode>
</TreeNode>
<TreeNode id="4C973259-234C-4540-9F6A-161ED93BE79B" Text="生产人员培训" NavigateUrl=""><TreeNode id="EF77BB1F-543B-4BBC-BE8C-FACF2987A13C" Text="培训计划" NavigateUrl="TestRun/PersonTrain/TrainPlan.aspx"></TreeNode>
<TreeNode id="F8E83DBF-7171-4108-81A7-3DB8D10FBFDE" Text="培训联络" NavigateUrl="TestRun/PersonTrain/TrainContact.aspx"></TreeNode>
<TreeNode id="600AB952-4DC0-4E6D-8C6F-B7B7B9FE589E" Text="培训内容" NavigateUrl="TestRun/PersonTrain/TrainContent.aspx"></TreeNode>
<TreeNode id="4C973259-234C-4540-9F6A-161ED93BE79B" Text="生产人员培训" NavigateUrl=""><TreeNode id="C8AD8E40-0E96-4007-A02F-62DDB0B275D5" Text="人员培训记录" NavigateUrl="TestRun/PersonTrain/PersonTrainPlan.aspx"></TreeNode>
<TreeNode id="586035BF-A2D4-4199-A503-0ACACBFA5A13" Text="培训合同" NavigateUrl="TestRun/PersonTrain/TrainContract.aspx"></TreeNode>
<TreeNode id="80FDE614-1A37-4C1F-B818-C179CA97D66C" Text="培训记录及执行报告" NavigateUrl="TestRun/PersonTrain/TrainRecords.aspx"></TreeNode>
</TreeNode>
<TreeNode id="38C6DF26-38D8-4E02-A51D-8A1B91189675" Text="开车分包管理" NavigateUrl=""><TreeNode id="45738C6E-7C55-48EB-B938-901359828407" Text="开车分包计划" NavigateUrl="TestRun/DriverSub/DriverSubPlan.aspx"></TreeNode>
<TreeNode id="200C2B69-A16F-4A96-A900-3C46DDA2BA5C" Text="开车分包联络" NavigateUrl="TestRun/DriverSub/DriverSubContact.aspx"></TreeNode>
@ -37,11 +37,22 @@
<TreeNode id="AD6E08B6-5571-4FFB-BDBE-9E6811770BD6" Text="预试车管理" NavigateUrl=""><TreeNode id="5C07E135-C3AB-4CE4-97A2-C79970640272" Text="系统划分" NavigateUrl="TestRun/BeforeTestRun/DeviceRun.aspx"></TreeNode>
<TreeNode id="B4702BFB-8CEB-46AD-BDC0-751D146FE228" Text="工作包设置" NavigateUrl="TestRun/BeforeTestRun/SetWorkPackage.aspx"></TreeNode>
<TreeNode id="34719347-E5EE-4491-9E92-B1270C187C7F" Text="工作包裁剪" NavigateUrl="TestRun/BeforeTestRun/SubSysWorkPackage.aspx"></TreeNode>
<TreeNode id="F0E06491-B1DA-4510-ABCA-D09F4B24EE50" Text="子系统资产导入" NavigateUrl="TestRun/BeforeTestRun/SysPipingDeviceImport.aspx"></TreeNode>
<TreeNode id="F0E06491-B1DA-4510-ABCA-D09F4B24EE50" Text="管道和设备导入" NavigateUrl="TestRun/BeforeTestRun/SysPipingDeviceImport.aspx"></TreeNode>
<TreeNode id="3B60BB5F-A000-40FC-9C7F-D4AE28EB2EB3" Text="检查表模板" NavigateUrl="TestRun/BeforeTestRun/InspectTemplate.aspx"></TreeNode>
<TreeNode id="D9D90BA4-BF34-4045-977F-DCE9D507F40F" Text="生成工作包检查" NavigateUrl="TestRun/BeforeTestRun/SubInspectTerm.aspx"></TreeNode>
<TreeNode id="150A6D3D-CAA2-4246-947C-6730A18BCC83" Text="子系统工作包检查" NavigateUrl="TestRun/BeforeTestRun/SubWorkInspect.aspx"></TreeNode>
<TreeNode id="A5D6EBB7-E7C8-48EE-8DBD-735117D3C62D" Text="单机试车" NavigateUrl="TestRun/BeforeTestRun/BeforeTestRun.aspx?type=1"></TreeNode>
<TreeNode id="D9D90BA4-BF34-4045-977F-DCE9D507F40F" Text="生成工作包检查表" NavigateUrl="TestRun/BeforeTestRun/SubInspectTerm.aspx"></TreeNode>
<TreeNode id="150A6D3D-CAA2-4246-947C-6730A18BCC83" Text="检查表条件确认" NavigateUrl="TestRun/BeforeTestRun/SubWorkInspect.aspx"></TreeNode>
<TreeNode id="B6A6EA7D-EDAB-40C8-920D-A106731D0E08" Text="检查表尾项管理" NavigateUrl="TestRun/BeforeTestRun/InspectTailTermList.aspx"></TreeNode>
<TreeNode id="F7A324D0-2410-4B37-858C-10F0A3059C90" Text="检查项确认" NavigateUrl="TestRun/BeforeTestRun/TailTermHandleList.aspx"></TreeNode>
<TreeNode id="2254D22A-94EF-435F-9916-F07BD7082689" Text="检查表流转" NavigateUrl="TestRun/BeforeTestRun/InspectWanderAboutList.aspx"></TreeNode>
<TreeNode id="8542644D-BD9B-4188-9FDE-AE5D6D6D9A40" Text="检查项审核" NavigateUrl="TestRun/BeforeTestRun/TailTermApproveList.aspx"></TreeNode>
<TreeNode id="F184E0FC-96E3-48A5-9515-21EAD37053B3" Text="现场实施" NavigateUrl="TestRun/BeforeTestRun/SiteImplementationList.aspx"></TreeNode>
<TreeNode id="19865B64-E0AA-4D32-9712-05C14FE6288F" Text="试车记录上传" NavigateUrl="TestRun/BeforeTestRun/TestRunRecordUploadList.aspx"></TreeNode>
<TreeNode id="AF88737F-D665-4C81-99D5-A07A8910C1E0" Text="检查表流转全部通过" NavigateUrl="TestRun/BeforeTestRun/InspectWanderAboutAllPassList.aspx"></TreeNode>
<TreeNode id="FCC050F0-0F13-4CE5-BE33-623377562965" Text="三查四定尾项清单" NavigateUrl="TestRun/BeforeTestRun/SubThreeChecksFourDecisionList.aspx"></TreeNode>
<TreeNode id="4822760B-395B-4979-B547-EA0D715C8A2C" Text="三查四定提出人处理" NavigateUrl="TestRun/BeforeTestRun/FourDecisionProposerHandle.aspx"></TreeNode>
<TreeNode id="E673FC27-74F1-479C-8DE1-950183566725" Text="三查四定责任人销项" NavigateUrl="TestRun/BeforeTestRun/FourDecisionResponsibilityConfirm.aspx"></TreeNode>
<TreeNode id="7803218A-3E94-4715-814A-951CF2474E7C" Text="三查四定提出人确认" NavigateUrl="TestRun/BeforeTestRun/FourDecisionProposerConfirm.aspx"></TreeNode>
<TreeNode id="FAD7BF9B-B08A-473B-BEB9-CCAC3E5EA130" Text="三查四定确认" NavigateUrl="TestRun/BeforeTestRun/FourDecisionOtherConfirm.aspx"></TreeNode>
<TreeNode id="EC5E63A4-8398-406C-AC79-34851AD49DF2" Text="冲洗吹扫" NavigateUrl="TestRun/BeforeTestRun/BeforeTestRun.aspx?type=2"></TreeNode>
<TreeNode id="C8A9A464-D6F4-4140-82DB-4AFCA26EF2A1" Text="化学清洗" NavigateUrl="TestRun/BeforeTestRun/BeforeTestRun.aspx?type=3"></TreeNode>
<TreeNode id="2348A410-F3A4-450B-A9D1-9CBD942AAA86" Text="烘炉" NavigateUrl="TestRun/BeforeTestRun/BeforeTestRun.aspx?type=4"></TreeNode>
@ -49,8 +60,21 @@
<TreeNode id="CBF65CFF-6C5D-409C-A0B8-3C2283068ED4" Text="分子筛装填" NavigateUrl="TestRun/BeforeTestRun/BeforeTestRun.aspx?type=6"></TreeNode>
<TreeNode id="C76C79D5-ADD7-49AC-A577-820E7DAA2CFC" Text="电气调试" NavigateUrl="TestRun/BeforeTestRun/BeforeTestRun.aspx?type=7"></TreeNode>
<TreeNode id="04E072D1-5BD3-4F6C-9E81-1FE32A4851E9" Text="仪表调试" NavigateUrl="TestRun/BeforeTestRun/BeforeTestRun.aspx?type=8"></TreeNode>
<TreeNode id="A5D6EBB7-E7C8-48EE-8DBD-735117D3C62D" Text="单机试车" NavigateUrl="TestRun/BeforeTestRun/BeforeTestRun.aspx?type=1"></TreeNode>
</TreeNode>
<TreeNode id="0217CE50-3ABB-44F8-A38A-C9792C436639" Text="试车管理" NavigateUrl=""><TreeNode id="29F80818-17A5-4BC0-8C38-A17415B0AC83" Text="试车管理" NavigateUrl="TestRun/TestRun.aspx"></TreeNode>
<TreeNode id="0217CE50-3ABB-44F8-A38A-C9792C436639" Text="试车管理" NavigateUrl=""><TreeNode id="E3E38073-1DF4-4C02-AFC0-5C93EE7C23A8" Text="系统划分" NavigateUrl="TestRun/TestRunManage/DeviceRun.aspx"></TreeNode>
<TreeNode id="4B964B32-D5CC-48A2-8750-48BC4460C264" Text="工作包设置" NavigateUrl="TestRun/TestRunManage/SetWorkPackage.aspx"></TreeNode>
<TreeNode id="B6EE8E3B-77E2-416E-8985-3C78A2169B89" Text="工作包裁剪" NavigateUrl="TestRun/TestRunManage/SubSysWorkPackage.aspx"></TreeNode>
<TreeNode id="545AACE6-34BE-4BAA-A495-B73198F1BDE2" Text="检查表模板" NavigateUrl="TestRun/TestRunManage/InspectTemplate.aspx"></TreeNode>
<TreeNode id="086DBD12-5649-4330-807A-44ABB257495F" Text="联动试车管理" NavigateUrl="TestRun/TestRunManage/SubInspectTerm.aspx"></TreeNode>
<TreeNode id="4041089F-5CC2-4070-9556-7DAB83CF6292" Text="检查表尾项管理" NavigateUrl="TestRun/TestRunManage/InspectTailTermList.aspx"></TreeNode>
<TreeNode id="2232ED9A-EA3C-4CB5-A53C-D96D3F5E0527" Text="尾项处理" NavigateUrl="TestRun/TestRunManage/TailTermHandleList.aspx"></TreeNode>
<TreeNode id="9489BD6A-1A95-43BC-85C0-A65751C2C85E" Text="尾项审核" NavigateUrl="TestRun/TestRunManage/TailTermApproveList.aspx"></TreeNode>
<TreeNode id="26F8468D-4358-4E2A-895D-8720A6F1FA89" Text="检查表会签" NavigateUrl="TestRun/TestRunManage/InspectWanderAboutList.aspx"></TreeNode>
<TreeNode id="7081E94C-6A73-40A7-A72A-A13CDB7B5420" Text="检查表流转全部通过" NavigateUrl="TestRun/TestRunManage/InspectWanderAboutAllPassList.aspx"></TreeNode>
<TreeNode id="6ED76128-1E03-4B65-B474-BF84C536D027" Text="现场实施" NavigateUrl="TestRun/TestRunManage/SiteImplementationList.aspx"></TreeNode>
<TreeNode id="2A441F42-57EF-4480-911A-1E17815C1B6B" Text="试车记录上传" NavigateUrl="TestRun/TestRunManage/TestRunRecordUploadList.aspx"></TreeNode>
<TreeNode id="29F80818-17A5-4BC0-8C38-A17415B0AC83" Text="试车管理" NavigateUrl="TestRun/TestRun.aspx"></TreeNode>
</TreeNode>
<TreeNode id="81CE1758-5BBC-4709-AF4B-DDF6CB345571" Text="投料试车管理" NavigateUrl=""><TreeNode id="B62482DA-9A12-45AC-9427-D0CF8A78EE2C" Text="投料试车管理" NavigateUrl="TestRun/FeedingTestRun.aspx"></TreeNode>
</TreeNode>

View File

@ -82,4 +82,5 @@
<TreeNode id="S89E5EC2-F725-4656-9110-5AF83C18FB6C" Text="实业数据" NavigateUrl="ZHGL/DataSync/SYHSEData_Data.aspx"></TreeNode>
</TreeNode>
<TreeNode id="EA413D2A-8D29-4DE2-932D-8511BB7F6CB2" Text="各项目巡查汇总" NavigateUrl="ZHGL/InspectionSummary/InspectionSummary.aspx"></TreeNode>
<TreeNode id="F2133BD6-C786-407A-AD6F-3EEF613229A8" Text="施工管理绩效数据" NavigateUrl="ZHGL/Performance/PerformanceAllData.aspx"></TreeNode>
</Tree>

File diff suppressed because it is too large Load Diff