20240122 生产人员培训

This commit is contained in:
2024-01-22 22:14:57 +08:00
parent 74e2a00958
commit 8a401a66ff
30 changed files with 5124 additions and 731 deletions
@@ -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
+2
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" />
+25 -2
View File
@@ -1,7 +1,5 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace BLL
{
@@ -3186,6 +3184,16 @@ namespace BLL
/// 开车方案编制计划模板文件原始虚拟路径
/// </summary>
public const string SchemePlanTemplateUrl = "File\\Excel\\TestRun\\开车方案编制计划.xlsx";
/// <summary>
/// 培训报告
/// </summary>
public const string TestRun_TrainRecordsUrl = "File\\Word\\TestRun\\生产人员培训执行情况报告.doc";
/// <summary>
/// 签到表
/// </summary>
public const string TestRun_SignUrl = "File\\Word\\TestRun\\项目培训签到表.doc";
#endregion
#region
@@ -5107,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>
+15
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>
{
@@ -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();
}
}
}
}
@@ -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();
}
}
}
}
File diff suppressed because it is too large Load Diff
+40
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>
@@ -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>
@@ -0,0 +1,226 @@
using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.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
}
}
@@ -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;
}
}
@@ -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>
@@ -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
}
}
@@ -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;
}
}
@@ -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>
@@ -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)
{
}
}
}
@@ -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;
}
}
@@ -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>
@@ -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
}
}
@@ -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;
}
}
@@ -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>
@@ -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
}
}
@@ -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;
}
}
+4
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>
+32 -8
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>
+1
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>
+1667 -710
View File
File diff suppressed because it is too large Load Diff