提交代码

This commit is contained in:
高飞 2024-03-28 10:14:38 +08:00
parent 1791d28bde
commit 7a938af201
82 changed files with 13644 additions and 144 deletions

View File

@ -0,0 +1,395 @@
--cd C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools
--SqlMetal /views /server:WQ /database:SGGLDB_WH /code:C:\Model.cs /namespace:Model
delete Sys_Menu where MenuId='EE7E37CA-384F-41B3-BAEE-89CBD9954AB3'
delete Sys_Menu where MenuId='E9EF7C6D-7F0A-4FBA-8A79-474D4E61AF27'
delete Sys_Menu where MenuId='9ACDF513-BD63-48F5-BFA3-B9B1B7FA19E1'
delete Sys_Menu where MenuId='3D554109-D95F-4051-8A6C-5616A7A95C94'
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('EE7E37CA-384F-41B3-BAEE-89CBD9954AB3','预试车进度',null,'TestRun/Report/PreRunSchedule.aspx',1,'2BF9C16D-536F-4F89-AA59-49ED1A1A164C','Menu_TestRun',0,1,1)
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('E9EF7C6D-7F0A-4FBA-8A79-474D4E61AF27','三查四定进度',null,'TestRun/Report/FourDecisionSchedule.aspx',2,'2BF9C16D-536F-4F89-AA59-49ED1A1A164C','Menu_TestRun',0,1,1)
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('9ACDF513-BD63-48F5-BFA3-B9B1B7FA19E1','试车进度',null,'TestRun/Report/TestRunSchedule.aspx',3,'2BF9C16D-536F-4F89-AA59-49ED1A1A164C','Menu_TestRun',0,1,1)
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('3D554109-D95F-4051-8A6C-5616A7A95C94','首页进度设置',null,'TestRun/Report/ScheduleSetUp.aspx',4,'2BF9C16D-536F-4F89-AA59-49ED1A1A164C','Menu_TestRun',0,1,1)
go
--==//
if object_id(N'Run_ScheduleSetUp',N'U') is not null
drop table dbo.Run_ScheduleSetUp
CREATE TABLE dbo.Run_ScheduleSetUp(
ScheduleId varchar(50) NOT NULL,--
WorkPackId varchar(50) NULL,--
LevelName varchar(50) NULL,--
ProjectId varchar(50) NULL,--
States int null,--1:2:3:
AllNum int null,--
ProgressNum int NULL,--
CompleteNum int NULL,--
NotStartedNum int NULL,--
CompleteRate decimal(18,2) NULL,--
AddUser varchar(50) NULL,--
AddTime datetime NULL,--
Sort int NULL,--
CONSTRAINT PK_Run_ScheduleSetUp PRIMARY KEY CLUSTERED
(
ScheduleId 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
--cd C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools
--SqlMetal /views /server:WQ /database:SGGLDB_WH /code:C:\Model.cs /namespace:Model
delete Sys_Menu where MenuId='B148D864-DA22-43C5-8D52-F38C0D34C7D5'
delete Sys_Menu where MenuId='AB9AD56B-574E-41DC-8E89-5982A287C358'
delete Sys_Menu where MenuId='A11DDC01-8F1F-4D09-A85C-1C459741DDB3'
delete Sys_Menu where MenuId='AC20AFEE-6B0D-45D1-8BA5-80904DA4CFFE'
delete Sys_Menu where MenuId='7C1E0ED5-518D-4C5B-8910-A25859A9C7EB'
delete Sys_Menu where MenuId='0AC1D5B3-9E0B-4AC4-BB24-0A9F3953316C'
delete Sys_Menu where MenuId='81162C96-2E10-4936-A2AD-B221B7966C85'
delete Sys_Menu where MenuId='0BF6BC64-8F72-47EA-A5B9-60ACC14619AC'
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('B148D864-DA22-43C5-8D52-F38C0D34C7D5','检查表模板',null,'TestRun/Feeding/InspectTemplate.aspx',2,'81CE1758-5BBC-4709-AF4B-DDF6CB345571','Menu_TestRun',0,1,1)
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('AB9AD56B-574E-41DC-8E89-5982A287C358','投料试车管理',null,'TestRun/Feeding/SubInspectTerm.aspx',3,'81CE1758-5BBC-4709-AF4B-DDF6CB345571','Menu_TestRun',0,1,1)
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('A11DDC01-8F1F-4D09-A85C-1C459741DDB3','投料试车确认',null,'TestRun/Feeding/SubWorkInspect.aspx',4,'81CE1758-5BBC-4709-AF4B-DDF6CB345571','Menu_TestRun',0,1,1)
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('AC20AFEE-6B0D-45D1-8BA5-80904DA4CFFE','检查表尾项管理',null,'TestRun/Feeding/InspectTailTermList.aspx',5,'81CE1758-5BBC-4709-AF4B-DDF6CB345571','Menu_TestRun',0,1,1)
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('7C1E0ED5-518D-4C5B-8910-A25859A9C7EB','尾项处理',null,'TestRun/Feeding/TailTermHandleList.aspx',6,'81CE1758-5BBC-4709-AF4B-DDF6CB345571','Menu_TestRun',0,1,1)
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('0AC1D5B3-9E0B-4AC4-BB24-0A9F3953316C','尾项审核',null,'TestRun/Feeding/TailTermApproveList.aspx',7,'81CE1758-5BBC-4709-AF4B-DDF6CB345571','Menu_TestRun',0,1,1)
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('81162C96-2E10-4936-A2AD-B221B7966C85','检查表会签',null,'TestRun/Feeding/InspectWanderAboutList.aspx',8,'81CE1758-5BBC-4709-AF4B-DDF6CB345571','Menu_TestRun',0,1,1)
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('0BF6BC64-8F72-47EA-A5B9-60ACC14619AC','检查表流转全部通过',null,'TestRun/Feeding/InspectWanderAboutAllPassList.aspx',9,'81CE1758-5BBC-4709-AF4B-DDF6CB345571','Menu_TestRun',0,1,1)
--INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('0BF6BC64-8F72-47EA-A5B9-60ACC14619AC','投料试车申请',null,'TestRun/Feeding/FeedingRunApplication.aspx',10,'81CE1758-5BBC-4709-AF4B-DDF6CB345571','Menu_TestRun',0,1,1)
go
--==
if object_id(N'FeedingRun_WorkInspectTemplate',N'U') is not null
drop table dbo.FeedingRun_WorkInspectTemplate
CREATE TABLE dbo.FeedingRun_WorkInspectTemplate(
WorkInspectId varchar(50) NOT NULL,--
WorkInspectName varchar(500) NULL,--
Remark nvarchar(150) NULL,--
GroupName varchar(50) NULL,--
AddUser varchar(50) NULL,--
AddTime datetime NULL,--
Sort int NULL,--
CONSTRAINT PK_FeedingRun_WorkInspectTemplate PRIMARY KEY CLUSTERED
(
WorkInspectId 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
--==
delete FeedingRun_WorkInspectTemplate where WorkInspectId='B92C0CE3-F42E-48E9-90A4-8B949459B24E'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='9B01E80A-E6E8-405B-9D14-DB9A68907899'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='A4FA80D2-D39A-4FB6-A9CA-08116B0AEF36'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='3085EB15-1C91-4371-AC4F-459FE1557146'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='CE222946-EA4F-4DB2-A1E1-D98F7BF59DED'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='3EC36453-D235-49C1-ABD3-9A1BDC3ED24E'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='124F2849-CCCC-4589-BF5A-66EDF3CE8548'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='73AAEBD4-B65E-4BD0-9D45-FCD6018CC483'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='E3F13A3C-E3A4-46F8-A6A8-B56D93EEB5F1'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='A40B8BD5-2C39-4811-ABDA-EFE68548B60A'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='DAABBEC3-E010-4FCB-95CC-E633271C432A'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='0EE9EC41-E468-4E78-9358-0903FD24A2A8'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='BE2C3723-B68F-4B61-BD9F-C0662D08D969'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='077EFE01-8FD0-4596-B56D-34A3F177F14B'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='B94CBA06-9D3E-4C3C-BB43-AC9A5A09C253'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='2A32519C-5B9C-4788-AEAD-48551C183F0C'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='D19D7E82-033F-47F0-B7A2-1A33BC341F3D'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='C0B50D95-8487-401D-9C6B-6054B1F85A4C'
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('B92C0CE3-F42E-48E9-90A4-8B949459B24E','设备、管道安装完成,符合施工验收规范要求。','','设备、管道系统','',GETDATE(),1)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('9B01E80A-E6E8-405B-9D14-DB9A68907899','保温、保冷完成,符合施工验收规范要求。','','设备、管道系统','',GETDATE(),2)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('A4FA80D2-D39A-4FB6-A9CA-08116B0AEF36','“三查四定”的问题整改消缺完毕,无影响投用尾项。','','设备、管道系统','',GETDATE(),3)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('3085EB15-1C91-4371-AC4F-459FE1557146','设备、管道的耐压试验合格。','','设备、管道系统','',GETDATE(),4)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('CE222946-EA4F-4DB2-A1E1-D98F7BF59DED','设备、管道化学清洗合格。','','设备、管道系统','',GETDATE(),5)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('3EC36453-D235-49C1-ABD3-9A1BDC3ED24E','系统冲洗、吹扫合格。','','设备、管道系统','',GETDATE(),6)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('124F2849-CCCC-4589-BF5A-66EDF3CE8548','工业炉烘炉合格。','','设备、管道系统','',GETDATE(),7)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('73AAEBD4-B65E-4BD0-9D45-FCD6018CC483','工业炉煮炉合格。','','设备、管道系统','',GETDATE(),8)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('E3F13A3C-E3A4-46F8-A6A8-B56D93EEB5F1','填料、分子筛、催化剂装填合格。','','设备、管道系统','',GETDATE(),9)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('A40B8BD5-2C39-4811-ABDA-EFE68548B60A','安全阀、呼吸阀整定合格、处于完好投用状态。','','设备、管道系统','',GETDATE(),10)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('DAABBEC3-E010-4FCB-95CC-E633271C432A','爆破板安装正确、处于完好投用状态。','','设备、管道系统','',GETDATE(),11)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('0EE9EC41-E468-4E78-9358-0903FD24A2A8','8字盲板处于正确位置。','','设备、管道系统','',GETDATE(),12)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('BE2C3723-B68F-4B61-BD9F-C0662D08D969','支吊架安装符合要求。','','设备、管道系统','',GETDATE(),13)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('077EFE01-8FD0-4596-B56D-34A3F177F14B','弹簧支吊架调整合格、处于完好投用状态。','','设备、管道系统','',GETDATE(),14)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('B94CBA06-9D3E-4C3C-BB43-AC9A5A09C253','系统严密性试验合格(在操作压力下)。','','设备、管道系统','',GETDATE(),15)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('2A32519C-5B9C-4788-AEAD-48551C183F0C','机器单机试车合格。','','设备、管道系统','',GETDATE(),16)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('D19D7E82-033F-47F0-B7A2-1A33BC341F3D','循环水系统预膜合格,各项指标符合要求。','','设备、管道系统','',GETDATE(),17)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('C0B50D95-8487-401D-9C6B-6054B1F85A4C','系统联动试车已完成,暴露的问题已处理。','','设备、管道系统','',GETDATE(),18)
go
--==
delete FeedingRun_WorkInspectTemplate where WorkInspectId='1109473C-D1E4-4E9B-8A66-2A298AA86418'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='022A14CF-2496-4E34-9A81-3DDB8337AC84'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='B68A9BFE-F237-4C32-B99B-366717778F0B'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='5829644C-344D-45D7-9A9F-99F9C8B7F637'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='F9563CAD-D5E2-45A5-BF97-BDF2E97FED17'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='B84388E6-FEB5-4F42-AC1A-9260EB6C110F'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='E1242BD0-92D6-4AF2-98B8-FD8FE4690372'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='8A1A24D3-BEDE-47B3-88E4-7E7354AC6243'
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('1109473C-D1E4-4E9B-8A66-2A298AA86418','电气仪表安装,符合施工验收规范要求。','','电仪系统','',GETDATE(),19)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('022A14CF-2496-4E34-9A81-3DDB8337AC84','电气设备的继电调整和绝缘试验已合格。','','电仪系统','',GETDATE(),20)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('B68A9BFE-F237-4C32-B99B-366717778F0B','防雷防静电设施测试合格、可靠。','','电仪系统','',GETDATE(),21)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('5829644C-344D-45D7-9A9F-99F9C8B7F637','自控仪表调试合格,指示、控制、报警及联锁整定值及静态调试合格。','','电仪系统','',GETDATE(),22)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('F9563CAD-D5E2-45A5-BF97-BDF2E97FED17','集散系统的校线及接地电阻测试符合规定,硬件和软件系统经检查符合要求。','','电仪系统','',GETDATE(),23)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('B84388E6-FEB5-4F42-AC1A-9260EB6C110F','可编程逻辑控制器保护装置的软件检查测试合格,联锁及报警值准确、可靠。','','电仪系统','',GETDATE(),24)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('E1242BD0-92D6-4AF2-98B8-FD8FE4690372','系统联调合格、可靠。','','电仪系统','',GETDATE(),25)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('8A1A24D3-BEDE-47B3-88E4-7E7354AC6243','自动分析仪表调试合格,样气配制合格。','','电仪系统','',GETDATE(),26)
go
--==
delete FeedingRun_WorkInspectTemplate where WorkInspectId='11FAF5F3-F658-401A-B2DB-62CFF2D1FD69'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='DDB6A90E-699B-4C0D-BBDF-5538EFFE529F'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='AA10911E-24B5-4CD1-8F71-A018D20DF3CA'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='7F8D020F-3C26-4FD9-91CB-39234DBEB08B'
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('11FAF5F3-F658-401A-B2DB-62CFF2D1FD69','水、电、汽、仪表空气、工厂空气等可按设计值保证供应。','','公用系统','',GETDATE(),27)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('DDB6A90E-699B-4C0D-BBDF-5538EFFE529F','氮气可按设计值保证供应。','','公用系统','',GETDATE(),28)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('AA10911E-24B5-4CD1-8F71-A018D20DF3CA','原料、燃料及辅助原料、润滑油脂等备齐,质量符合设计要求,已运至指定地点。','','公用系统','',GETDATE(),29)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('7F8D020F-3C26-4FD9-91CB-39234DBEB08B','贮运系统具备使用条件,计量仪器标定合格。','','公用系统','',GETDATE(),30)
go
--==
delete FeedingRun_WorkInspectTemplate where WorkInspectId='70A152F1-6990-4689-86B9-CB1AB14CB989'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='4EB2C35C-A6D4-4936-987A-C244621BC69F'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='A423531C-2CDB-4314-A45B-6C28129EDC21'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='57E47D49-F0A1-4073-9CF5-B472F83045E7'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='B4FCB05F-5B31-405A-AFA2-87EBFDA79FBE'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='48DC92A0-9CEC-4613-BF43-21E7193C82EB'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='214C5DFD-A5AB-45F7-81E2-981848CDF110'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='466D5F4E-2AA4-4246-A8B9-D9B2335F7AB4'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='F00B0F0D-97DF-449B-94CC-C586CC2CBF91'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='A80AF744-AD43-494F-BDD2-6873A31AE71E'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='F85C5F64-78EB-42A8-9DD9-1EED976880DF'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='E189A48A-D91E-4D8E-AF71-3A731BEF2FC8'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='4A41BCC6-1EAE-4877-A70A-B59E52BD68E5'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='26D81F27-B1D1-4222-A020-615AE561C96B'
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('70A152F1-6990-4689-86B9-CB1AB14CB989','消防水系统调试合格,处于完好投用状态。','','消防、安全、环境保护系统','',GETDATE(),31)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('4EB2C35C-A6D4-4936-987A-C244621BC69F','泡沫、干粉、二氧化碳消防调试合格,处于完好投用状态。','','消防、安全、环境保护系统','',GETDATE(),32)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('A423531C-2CDB-4314-A45B-6C28129EDC21','可燃气体报警、有毒气体报警、火灾报警系统等调试合格,处于完好投用状态。','','消防、安全、环境保护系统','',GETDATE(),33)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('57E47D49-F0A1-4073-9CF5-B472F83045E7','HSE评估完毕并制定相应的安全措施和事故预案。','','消防、安全、环境保护系统','',GETDATE(),34)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('B4FCB05F-5B31-405A-AFA2-87EBFDA79FBE','动火制度、禁烟制度、车辆管理制度等安全监督管理制度已建立并公布。','','消防、安全、环境保护系统','',GETDATE(),35)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('48DC92A0-9CEC-4613-BF43-21E7193C82EB','道路通行标志、防辐射标志及其它警示标志齐全,试车区域已划定。','','消防、安全、环境保护系统','',GETDATE(),36)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('214C5DFD-A5AB-45F7-81E2-981848CDF110','岗位消防器材、护具已备齐,人人会用。','','消防、安全、环境保护系统','',GETDATE(),37)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('466D5F4E-2AA4-4246-A8B9-D9B2335F7AB4','消防、救护措施已落实,并进行过消防演习。','','消防、安全、环境保护系统','',GETDATE(),38)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('F00B0F0D-97DF-449B-94CC-C586CC2CBF91','现场急救站已建立并备有救护车等实行24 小时值班。','','消防、安全、环境保护系统','',GETDATE(),39)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('A80AF744-AD43-494F-BDD2-6873A31AE71E','系统隔离已完成,临时措施符合要求。','','消防、安全、环境保护系统','',GETDATE(),40)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('F85C5F64-78EB-42A8-9DD9-1EED976880DF','盲板管理已有专人负责,进行动态管理,设有台帐,现场挂牌。','','消防、安全、环境保护系统','',GETDATE(),41)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('E189A48A-D91E-4D8E-AF71-3A731BEF2FC8','现场保卫已落实(组织、人员、交通工具等)','','消防、安全、环境保护系统','',GETDATE(),42)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('4A41BCC6-1EAE-4877-A70A-B59E52BD68E5','厂区道路畅通,与生产无关杂物已清除。','','消防、安全、环境保护系统','',GETDATE(),43)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('26D81F27-B1D1-4222-A020-615AE561C96B','“三废处理”装置已具备投用条件。','','消防、安全、环境保护系统','',GETDATE(),44)
go
--==
delete FeedingRun_WorkInspectTemplate where WorkInspectId='7AFC8355-1216-4179-BCDE-8BD1E7001D58'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='955DD47A-DE0C-46B5-B92E-849688B51EF0'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='5EC53FA6-87D3-4D1A-8212-75D011D1DEFB'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='B2DEC6CE-B3CE-414E-BEED-9DC1CB263837'
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('7AFC8355-1216-4179-BCDE-8BD1E7001D58','中化室、分析室已建立正常分析化验制度,分析方法已确定。','','分析化验','',GETDATE(),45)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('955DD47A-DE0C-46B5-B92E-849688B51EF0','分析化验设施、试剂、标准溶液已备齐待用,满足要求。','','分析化验','',GETDATE(),46)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('5EC53FA6-87D3-4D1A-8212-75D011D1DEFB','采样点已确定,采样器具、采样责任已落实。','','分析化验','',GETDATE(),47)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('B2DEC6CE-B3CE-414E-BEED-9DC1CB263837','模拟采样、模拟分析已演练。','','分析化验','',GETDATE(),48)
go
--==
delete FeedingRun_WorkInspectTemplate where WorkInspectId='9DE2BBE1-E626-4BF6-92F9-A3AF50F8BFEF'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='2EC0EF93-1D55-46EB-9596-F891FD4A7937'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='72B4AF8C-9467-488C-A48D-0D66BD877F1B'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='07DBD283-DD4D-4009-B1CA-CE7514BDA749'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='60AEE8E8-FFEB-4DA6-AFE0-AC273926E47D'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='A326DEF3-8A7F-40A2-B162-156DB80A9B42'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='332E6B45-B972-4A8E-B22C-5213ADA2E4E7'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='A99B4DE2-6647-4AD5-8238-D7E2E6C5ACED'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='F29A52BF-3209-4180-BE6F-1F20508B6AF2'
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('9DE2BBE1-E626-4BF6-92F9-A3AF50F8BFEF','各级试车指挥组织已经建立,操作人员已配齐,已按要求上岗。','','组织、人员、通讯、方案、规定','',GETDATE(),49)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('2EC0EF93-1D55-46EB-9596-F891FD4A7937','试车调度系统已正常运行。','','组织、人员、通讯、方案、规定','',GETDATE(),50)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('72B4AF8C-9467-488C-A48D-0D66BD877F1B','装置人员已经过安全教育。','','组织、人员、通讯、方案、规定','',GETDATE(),51)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('07DBD283-DD4D-4009-B1CA-CE7514BDA749','指挥系统的通讯畅通。','','组织、人员、通讯、方案、规定','',GETDATE(),52)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('60AEE8E8-FFEB-4DA6-AFE0-AC273926E47D','岗位、直通电话已开通好用。','','组织、人员、通讯、方案、规定','',GETDATE(),53)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('A326DEF3-8A7F-40A2-B162-156DB80A9B42','调度、火警、急救电话可靠好用。','','组织、人员、通讯、方案、规定','',GETDATE(),54)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('332E6B45-B972-4A8E-B22C-5213ADA2E4E7','无线电话、报话机呼叫清晰。','','组织、人员、通讯、方案、规定','',GETDATE(),55)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('A99B4DE2-6647-4AD5-8238-D7E2E6C5ACED','试车方案、管理规定、安全规程、分析规程等技术资料已批准、颁发。','','组织、人员、通讯、方案、规定','',GETDATE(),56)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('F29A52BF-3209-4180-BE6F-1F20508B6AF2','岗位操作记录、试车专用表格等准备齐全。','','组织、人员、通讯、方案、规定','',GETDATE(),57)
go
--==
delete FeedingRun_WorkInspectTemplate where WorkInspectId='4BC591DA-1188-45FA-884C-AA49D71B9396'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='51F178FB-E61F-4853-B1A4-931345C09335'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='10396FC3-AB9B-4E40-99E1-61D3FD388C2B'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='2CBB0275-90FA-48E9-83DC-4862E8F8E382'
delete FeedingRun_WorkInspectTemplate where WorkInspectId='BAD731C2-2AC3-40E4-A3AA-69FFD13F8C0B'
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('4BC591DA-1188-45FA-884C-AA49D71B9396','保运队伍已组成,范围、责任已明确。','','保运、后勤保障','',GETDATE(),58)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('51F178FB-E61F-4853-B1A4-931345C09335','机、电、仪修人员已上岗。','','保运、后勤保障','',GETDATE(),59)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('10396FC3-AB9B-4E40-99E1-61D3FD388C2B','保运装备、工器具已落实。','','保运、后勤保障','',GETDATE(),60)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('2CBB0275-90FA-48E9-83DC-4862E8F8E382','各类备品、备件、专用工、器具等已备齐。','','保运、后勤保障','',GETDATE(),61)
INSERT INTO dbo.FeedingRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort)
VALUES('BAD731C2-2AC3-40E4-A3AA-69FFD13F8C0B','生活后勤服务已落实。','','保运、后勤保障','',GETDATE(),62)
go
--==
if object_id(N'FeedingRun_SubInspectTerm',N'U') is not null
drop table dbo.FeedingRun_SubInspectTerm
CREATE TABLE dbo.FeedingRun_SubInspectTerm(
SubInspectId varchar(50) NOT NULL,--
ProjectId varchar(50) NULL,--
InstallationId varchar(50) NULL,--
DriverCharge varchar(50) null,--
DrivingManager varchar(50) null,--
ProjectManager varchar(50) null,--
DriverChargeIsAllPass int NULL,--0/null: 1:
DrivingManagerIsAllPass int NULL,--0/null: 1:
ProjectManagerIsAllPass int NULL,--0/null: 1:
DriverChargeAllPassData datetime null,--
DrivingManagerAllPassData datetime null,--
ProjectManagerAllPassData datetime null,--
InspectionIsAllPass int NULL,--0/null: 1:
WanderIsComplete int null,--0:1:
WanderCompleteData datetime null,--
IsUnifyWanderAbout int null,--0:1:
UnifyWanderAboutData datetime null,--
UnifyWanderAboutOpinion varchar(max) null,--
InspectIsClose int null,--0:1:
InspectCloseData datetime null,--
InspectTime datetime NULL,--
AddUser varchar(50) NULL,--
AddTime datetime NULL,--
CONSTRAINT PK_FeedingRun_SubInspectTerm PRIMARY KEY CLUSTERED
(
SubInspectId 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
--==
if object_id(N'FeedingRun_SubInspectTermItem',N'U') is not null
drop table dbo.FeedingRun_SubInspectTermItem
CREATE TABLE dbo.FeedingRun_SubInspectTermItem(
TermItemId varchar(50) NOT NULL,--
ProjectId varchar(50) NULL,--
InstallationId varchar(50) NULL,--
SubInspectId varchar(50) NULL,--
GroupName varchar(50) NULL,--
WorkInspectId varchar(50) NOT NULL,--
WorkInspectName varchar(500) NULL,--
InspectedUser varchar(50) NULL,--
InspectionResults int NULL,--0: 1:
InspectionIllustrate varchar(200) NULL,--
DriverCharge varchar(50) null,--
DrivingManager varchar(50) null,--
ProjectManager varchar(50) null,--
DriverChargeIsPass int NULL,--0/null: 1:
DrivingManagerIsPass int NULL,--0/null: 1:
ProjectManagerIsPass int NULL,--0/null: 1:
DriverChargeRemark varchar(1000) NULL,--
DrivingManagerRemark varchar(1000) NULL,--
ProjectManagerRemark varchar(1000) NULL,--
Remark varchar(200) NULL,--
AddUser varchar(50) NULL,--
AddTime datetime NULL,--
Sort int NULL,--
CONSTRAINT PK_FeedingRun_SubInspectTermItem PRIMARY KEY CLUSTERED
(
TermItemId 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
--==
if object_id(N'FeedingRun_InspectTailTerm',N'U') is not null
drop table dbo.FeedingRun_InspectTailTerm
CREATE TABLE dbo.FeedingRun_InspectTailTerm(
TailTermId varchar(50) NOT NULL,--
ProjectId varchar(50) NULL,--
ProjectName varchar(50) NULL,--
TailTermCode varchar(50) NULL,--
ConstructionUnit varchar(50) NULL,--
SubInspectId varchar(50) NULL,--
TermItemId varchar(50) NULL,--
QuestionDesc varchar(max) NULL,--
RectifyOpinion varchar(max) NULL,--
RectifyTime datetime NULL,--
InspectUser varchar(50) NULL,--
HandleUser varchar(50) NULL,--
ApproveUser varchar(50) NULL,--
AdjustCompleteTime datetime NULL,--
ApproveState int NULL,--0:1:2:退3:退4:5:
AddUser varchar(50) NULL,--
AddTime datetime NULL,--
CONSTRAINT PK_FeedingRun_InspectTailTerm PRIMARY KEY CLUSTERED
(
TailTermId 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
--==/
if object_id(N'FeedingRun_InspectTermApproveRecords',N'U') is not null
drop table dbo.FeedingRun_InspectTermApproveRecords
CREATE TABLE dbo.FeedingRun_InspectTermApproveRecords(
InspectTermId varchar(50) NOT NULL,--
ProjectId varchar(50) NULL,--
TermItemId varchar(50) NULL,--
TailTermId varchar(50) NULL,--
ApproveOpinion varchar(max) NULL,--
ApproveTime datetime NULL,--
ApproveUser varchar(50) NULL,--
ApproveType int NULL,--0:1:
ApproveState int NULL,--0:退1:
AddUser varchar(50) NULL,--
AddTime datetime NULL,--
CONSTRAINT PK_FeedingRun_InspectTermApproveRecords PRIMARY KEY CLUSTERED
(
InspectTermId 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

View File

@ -0,0 +1,261 @@
错误信息开始=====>
错误类型:HttpCompileException
错误信息:e:\工作\五环施工平台\CNCEC_SUBQHSE_WUHUAN\SGGL\FineUIPro.Web\ZHGL\TestRunPerformance\TestRunMonthSummaryReport.aspx(24): error CS1061: “ASP.zhgl_testrunperformance_testrunmonthsummaryreport_aspx”不包含“TextBox_TextChanged”的定义并且找不到可接受类型为“ASP.zhgl_testrunperformance_testrunmonthsummaryreport_aspx”的第一个参数的扩展方法“TextBox_TextChanged”(是否缺少 using 指令或程序集引用?)
错误堆栈:
在 System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath)
在 System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
在 System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
在 System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound)
在 System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp)
在 System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath)
在 System.Web.UI.PageHandlerFactory.GetHandler(HttpContext context, String requestType, String virtualPath, String path)
在 System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
在 System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)
在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
出错时间:03/25/2024 09:28:04
出错文件:http://localhost:8579/ZHGL/TestRunPerformance/TestRunMonthSummaryReport.aspx
IP地址:::1
出错时间:03/25/2024 09:28:04
错误信息开始=====>
错误类型:HttpException
错误信息:文件“/ZHGL/TestRunPerformance/TestRunMonthSummaryReportEdit.aspx”不存在。
错误堆栈:
在 System.Web.UI.Util.CheckVirtualFileExists(VirtualPath virtualPath)
在 System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
在 System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
在 System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound)
在 System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp)
在 System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath)
在 System.Web.UI.PageHandlerFactory.GetHandler(HttpContext context, String requestType, String virtualPath, String path)
在 System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
在 System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)
在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
出错时间:03/25/2024 09:34:30
出错文件:http://localhost:8579/ZHGL/TestRunPerformance/TestRunMonthSummaryReportEdit.aspx
IP地址:::1
出错时间:03/25/2024 09:34:30
错误信息开始=====>
错误类型:ArgumentException
错误信息:提供的 URI 方案“http”无效应为“https”。
参数名: via
错误堆栈:
在 System.ServiceModel.Channels.TransportChannelFactory`1.ValidateScheme(Uri via)
在 System.ServiceModel.Channels.HttpChannelFactory`1.ValidateCreateChannelParameters(EndpointAddress remoteAddress, Uri via)
在 System.ServiceModel.Channels.HttpsChannelFactory`1.ValidateCreateChannelParameters(EndpointAddress remoteAddress, Uri via)
在 System.ServiceModel.Channels.HttpsChannelFactory`1.OnCreateChannelCore(EndpointAddress address, Uri via)
在 System.ServiceModel.Channels.HttpChannelFactory`1.OnCreateChannel(EndpointAddress remoteAddress, Uri via)
在 System.ServiceModel.Channels.ChannelFactoryBase`1.InternalCreateChannel(EndpointAddress address, Uri via)
在 System.ServiceModel.Channels.ChannelFactoryBase`1.CreateChannel(EndpointAddress address, Uri via)
在 System.ServiceModel.Channels.ServiceChannelFactory.ServiceChannelFactoryOverRequest.CreateInnerChannelBinder(EndpointAddress to, Uri via)
在 System.ServiceModel.Channels.ServiceChannelFactory.CreateServiceChannel(EndpointAddress address, Uri via)
在 System.ServiceModel.Channels.ServiceChannelFactory.CreateChannel(Type channelType, EndpointAddress address, Uri via)
在 System.ServiceModel.ChannelFactory`1.CreateChannel(EndpointAddress address, Uri via)
在 System.ServiceModel.ChannelFactory`1.CreateChannel()
在 System.ServiceModel.ClientBase`1.CreateChannel()
在 System.ServiceModel.ClientBase`1.CreateChannelInternal()
在 System.ServiceModel.ClientBase`1.get_Channel()
在 BLL.CNCECHSSEWebService.getSupervise_SubUnitReport() 位置 E:\工作\五环施工平台\CNCEC_SUBQHSE_WUHUAN\SGGL\BLL\WebService\CNCECHSSEWebService.cs:行号 2180
出错时间:03/25/2024 12:20:30
出错时间:03/25/2024 12:20:30
错误信息开始=====>
错误类型:ArgumentException
错误信息:提供的 URI 方案“http”无效应为“https”。
参数名: via
错误堆栈:
在 System.ServiceModel.Channels.TransportChannelFactory`1.ValidateScheme(Uri via)
在 System.ServiceModel.Channels.HttpChannelFactory`1.ValidateCreateChannelParameters(EndpointAddress remoteAddress, Uri via)
在 System.ServiceModel.Channels.HttpsChannelFactory`1.ValidateCreateChannelParameters(EndpointAddress remoteAddress, Uri via)
在 System.ServiceModel.Channels.HttpsChannelFactory`1.OnCreateChannelCore(EndpointAddress address, Uri via)
在 System.ServiceModel.Channels.HttpChannelFactory`1.OnCreateChannel(EndpointAddress remoteAddress, Uri via)
在 System.ServiceModel.Channels.ChannelFactoryBase`1.InternalCreateChannel(EndpointAddress address, Uri via)
在 System.ServiceModel.Channels.ChannelFactoryBase`1.CreateChannel(EndpointAddress address, Uri via)
在 System.ServiceModel.Channels.ServiceChannelFactory.ServiceChannelFactoryOverRequest.CreateInnerChannelBinder(EndpointAddress to, Uri via)
在 System.ServiceModel.Channels.ServiceChannelFactory.CreateServiceChannel(EndpointAddress address, Uri via)
在 System.ServiceModel.Channels.ServiceChannelFactory.CreateChannel(Type channelType, EndpointAddress address, Uri via)
在 System.ServiceModel.ChannelFactory`1.CreateChannel(EndpointAddress address, Uri via)
在 System.ServiceModel.ChannelFactory`1.CreateChannel()
在 System.ServiceModel.ClientBase`1.CreateChannel()
在 System.ServiceModel.ClientBase`1.CreateChannelInternal()
在 System.ServiceModel.ClientBase`1.get_Channel()
在 BLL.CNCECHSSEWebService.getCheck_CheckInfo_Table8Item() 位置 E:\工作\五环施工平台\CNCEC_SUBQHSE_WUHUAN\SGGL\BLL\WebService\CNCECHSSEWebService.cs:行号 2045
出错时间:03/25/2024 12:20:30
出错时间:03/25/2024 12:20:30
错误信息开始=====>
错误类型:ArgumentException
错误信息:提供的 URI 方案“http”无效应为“https”。
参数名: via
错误堆栈:
在 System.ServiceModel.Channels.TransportChannelFactory`1.ValidateScheme(Uri via)
在 System.ServiceModel.Channels.HttpChannelFactory`1.ValidateCreateChannelParameters(EndpointAddress remoteAddress, Uri via)
在 System.ServiceModel.Channels.HttpsChannelFactory`1.ValidateCreateChannelParameters(EndpointAddress remoteAddress, Uri via)
在 System.ServiceModel.Channels.HttpsChannelFactory`1.OnCreateChannelCore(EndpointAddress address, Uri via)
在 System.ServiceModel.Channels.HttpChannelFactory`1.OnCreateChannel(EndpointAddress remoteAddress, Uri via)
在 System.ServiceModel.Channels.ChannelFactoryBase`1.InternalCreateChannel(EndpointAddress address, Uri via)
在 System.ServiceModel.Channels.ChannelFactoryBase`1.CreateChannel(EndpointAddress address, Uri via)
在 System.ServiceModel.Channels.ServiceChannelFactory.ServiceChannelFactoryOverRequest.CreateInnerChannelBinder(EndpointAddress to, Uri via)
在 System.ServiceModel.Channels.ServiceChannelFactory.CreateServiceChannel(EndpointAddress address, Uri via)
在 System.ServiceModel.Channels.ServiceChannelFactory.CreateChannel(Type channelType, EndpointAddress address, Uri via)
在 System.ServiceModel.ChannelFactory`1.CreateChannel(EndpointAddress address, Uri via)
在 System.ServiceModel.ChannelFactory`1.CreateChannel()
在 System.ServiceModel.ClientBase`1.CreateChannel()
在 System.ServiceModel.ClientBase`1.CreateChannelInternal()
在 System.ServiceModel.ClientBase`1.get_Channel()
在 BLL.CNCECHSSEWebService.getCheck_CheckRectify() 位置 E:\工作\五环施工平台\CNCEC_SUBQHSE_WUHUAN\SGGL\BLL\WebService\CNCECHSSEWebService.cs:行号 1941
出错时间:03/25/2024 12:20:30
出错时间:03/25/2024 12:20:30
错误信息开始=====>
错误类型:ArgumentException
错误信息:提供的 URI 方案“http”无效应为“https”。
参数名: via
错误堆栈:
在 System.ServiceModel.Channels.TransportChannelFactory`1.ValidateScheme(Uri via)
在 System.ServiceModel.Channels.HttpChannelFactory`1.ValidateCreateChannelParameters(EndpointAddress remoteAddress, Uri via)
在 System.ServiceModel.Channels.HttpsChannelFactory`1.ValidateCreateChannelParameters(EndpointAddress remoteAddress, Uri via)
在 System.ServiceModel.Channels.HttpsChannelFactory`1.OnCreateChannelCore(EndpointAddress address, Uri via)
在 System.ServiceModel.Channels.HttpChannelFactory`1.OnCreateChannel(EndpointAddress remoteAddress, Uri via)
在 System.ServiceModel.Channels.ChannelFactoryBase`1.InternalCreateChannel(EndpointAddress address, Uri via)
在 System.ServiceModel.Channels.ChannelFactoryBase`1.CreateChannel(EndpointAddress address, Uri via)
在 System.ServiceModel.Channels.ServiceChannelFactory.ServiceChannelFactoryOverRequest.CreateInnerChannelBinder(EndpointAddress to, Uri via)
在 System.ServiceModel.Channels.ServiceChannelFactory.CreateServiceChannel(EndpointAddress address, Uri via)
在 System.ServiceModel.Channels.ServiceChannelFactory.CreateChannel(Type channelType, EndpointAddress address, Uri via)
在 System.ServiceModel.ChannelFactory`1.CreateChannel(EndpointAddress address, Uri via)
在 System.ServiceModel.ChannelFactory`1.CreateChannel()
在 System.ServiceModel.ClientBase`1.CreateChannel()
在 System.ServiceModel.ClientBase`1.CreateChannelInternal()
在 System.ServiceModel.ClientBase`1.get_Channel()
在 BLL.CNCECHSSEWebService.getInformation_UrgeReport() 位置 E:\工作\五环施工平台\CNCEC_SUBQHSE_WUHUAN\SGGL\BLL\WebService\CNCECHSSEWebService.cs:行号 1883
出错时间:03/25/2024 12:20:30
出错时间:03/25/2024 12:20:30
错误信息开始=====>
错误类型:ArgumentException
错误信息:提供的 URI 方案“http”无效应为“https”。
参数名: via
错误堆栈:
在 System.ServiceModel.Channels.TransportChannelFactory`1.ValidateScheme(Uri via)
在 System.ServiceModel.Channels.HttpChannelFactory`1.ValidateCreateChannelParameters(EndpointAddress remoteAddress, Uri via)
在 System.ServiceModel.Channels.HttpsChannelFactory`1.ValidateCreateChannelParameters(EndpointAddress remoteAddress, Uri via)
在 System.ServiceModel.Channels.HttpsChannelFactory`1.OnCreateChannelCore(EndpointAddress address, Uri via)
在 System.ServiceModel.Channels.HttpChannelFactory`1.OnCreateChannel(EndpointAddress remoteAddress, Uri via)
在 System.ServiceModel.Channels.ChannelFactoryBase`1.InternalCreateChannel(EndpointAddress address, Uri via)
在 System.ServiceModel.Channels.ChannelFactoryBase`1.CreateChannel(EndpointAddress address, Uri via)
在 System.ServiceModel.Channels.ServiceChannelFactory.ServiceChannelFactoryOverRequest.CreateInnerChannelBinder(EndpointAddress to, Uri via)
在 System.ServiceModel.Channels.ServiceChannelFactory.CreateServiceChannel(EndpointAddress address, Uri via)
在 System.ServiceModel.Channels.ServiceChannelFactory.CreateChannel(Type channelType, EndpointAddress address, Uri via)
在 System.ServiceModel.ChannelFactory`1.CreateChannel(EndpointAddress address, Uri via)
在 System.ServiceModel.ChannelFactory`1.CreateChannel()
在 System.ServiceModel.ClientBase`1.CreateChannel()
在 System.ServiceModel.ClientBase`1.CreateChannelInternal()
在 System.ServiceModel.ClientBase`1.get_Channel()
在 BLL.CNCECHSSEWebService.getSupervise_SubUnitReport() 位置 E:\工作\五环施工平台\CNCEC_SUBQHSE_WUHUAN\SGGL\BLL\WebService\CNCECHSSEWebService.cs:行号 2180
出错时间:03/25/2024 14:20:29
出错时间:03/25/2024 14:20:29
错误信息开始=====>
错误类型:ArgumentException
错误信息:提供的 URI 方案“http”无效应为“https”。
参数名: via
错误堆栈:
在 System.ServiceModel.Channels.TransportChannelFactory`1.ValidateScheme(Uri via)
在 System.ServiceModel.Channels.HttpChannelFactory`1.ValidateCreateChannelParameters(EndpointAddress remoteAddress, Uri via)
在 System.ServiceModel.Channels.HttpsChannelFactory`1.ValidateCreateChannelParameters(EndpointAddress remoteAddress, Uri via)
在 System.ServiceModel.Channels.HttpsChannelFactory`1.OnCreateChannelCore(EndpointAddress address, Uri via)
在 System.ServiceModel.Channels.HttpChannelFactory`1.OnCreateChannel(EndpointAddress remoteAddress, Uri via)
在 System.ServiceModel.Channels.ChannelFactoryBase`1.InternalCreateChannel(EndpointAddress address, Uri via)
在 System.ServiceModel.Channels.ChannelFactoryBase`1.CreateChannel(EndpointAddress address, Uri via)
在 System.ServiceModel.Channels.ServiceChannelFactory.ServiceChannelFactoryOverRequest.CreateInnerChannelBinder(EndpointAddress to, Uri via)
在 System.ServiceModel.Channels.ServiceChannelFactory.CreateServiceChannel(EndpointAddress address, Uri via)
在 System.ServiceModel.Channels.ServiceChannelFactory.CreateChannel(Type channelType, EndpointAddress address, Uri via)
在 System.ServiceModel.ChannelFactory`1.CreateChannel(EndpointAddress address, Uri via)
在 System.ServiceModel.ChannelFactory`1.CreateChannel()
在 System.ServiceModel.ClientBase`1.CreateChannel()
在 System.ServiceModel.ClientBase`1.CreateChannelInternal()
在 System.ServiceModel.ClientBase`1.get_Channel()
在 BLL.CNCECHSSEWebService.getCheck_CheckInfo_Table8Item() 位置 E:\工作\五环施工平台\CNCEC_SUBQHSE_WUHUAN\SGGL\BLL\WebService\CNCECHSSEWebService.cs:行号 2045
出错时间:03/25/2024 14:20:29
出错时间:03/25/2024 14:20:29
错误信息开始=====>
错误类型:ArgumentException
错误信息:提供的 URI 方案“http”无效应为“https”。
参数名: via
错误堆栈:
在 System.ServiceModel.Channels.TransportChannelFactory`1.ValidateScheme(Uri via)
在 System.ServiceModel.Channels.HttpChannelFactory`1.ValidateCreateChannelParameters(EndpointAddress remoteAddress, Uri via)
在 System.ServiceModel.Channels.HttpsChannelFactory`1.ValidateCreateChannelParameters(EndpointAddress remoteAddress, Uri via)
在 System.ServiceModel.Channels.HttpsChannelFactory`1.OnCreateChannelCore(EndpointAddress address, Uri via)
在 System.ServiceModel.Channels.HttpChannelFactory`1.OnCreateChannel(EndpointAddress remoteAddress, Uri via)
在 System.ServiceModel.Channels.ChannelFactoryBase`1.InternalCreateChannel(EndpointAddress address, Uri via)
在 System.ServiceModel.Channels.ChannelFactoryBase`1.CreateChannel(EndpointAddress address, Uri via)
在 System.ServiceModel.Channels.ServiceChannelFactory.ServiceChannelFactoryOverRequest.CreateInnerChannelBinder(EndpointAddress to, Uri via)
在 System.ServiceModel.Channels.ServiceChannelFactory.CreateServiceChannel(EndpointAddress address, Uri via)
在 System.ServiceModel.Channels.ServiceChannelFactory.CreateChannel(Type channelType, EndpointAddress address, Uri via)
在 System.ServiceModel.ChannelFactory`1.CreateChannel(EndpointAddress address, Uri via)
在 System.ServiceModel.ChannelFactory`1.CreateChannel()
在 System.ServiceModel.ClientBase`1.CreateChannel()
在 System.ServiceModel.ClientBase`1.CreateChannelInternal()
在 System.ServiceModel.ClientBase`1.get_Channel()
在 BLL.CNCECHSSEWebService.getCheck_CheckRectify() 位置 E:\工作\五环施工平台\CNCEC_SUBQHSE_WUHUAN\SGGL\BLL\WebService\CNCECHSSEWebService.cs:行号 1941
出错时间:03/25/2024 14:20:29
出错时间:03/25/2024 14:20:29
错误信息开始=====>
错误类型:ArgumentException
错误信息:提供的 URI 方案“http”无效应为“https”。
参数名: via
错误堆栈:
在 System.ServiceModel.Channels.TransportChannelFactory`1.ValidateScheme(Uri via)
在 System.ServiceModel.Channels.HttpChannelFactory`1.ValidateCreateChannelParameters(EndpointAddress remoteAddress, Uri via)
在 System.ServiceModel.Channels.HttpsChannelFactory`1.ValidateCreateChannelParameters(EndpointAddress remoteAddress, Uri via)
在 System.ServiceModel.Channels.HttpsChannelFactory`1.OnCreateChannelCore(EndpointAddress address, Uri via)
在 System.ServiceModel.Channels.HttpChannelFactory`1.OnCreateChannel(EndpointAddress remoteAddress, Uri via)
在 System.ServiceModel.Channels.ChannelFactoryBase`1.InternalCreateChannel(EndpointAddress address, Uri via)
在 System.ServiceModel.Channels.ChannelFactoryBase`1.CreateChannel(EndpointAddress address, Uri via)
在 System.ServiceModel.Channels.ServiceChannelFactory.ServiceChannelFactoryOverRequest.CreateInnerChannelBinder(EndpointAddress to, Uri via)
在 System.ServiceModel.Channels.ServiceChannelFactory.CreateServiceChannel(EndpointAddress address, Uri via)
在 System.ServiceModel.Channels.ServiceChannelFactory.CreateChannel(Type channelType, EndpointAddress address, Uri via)
在 System.ServiceModel.ChannelFactory`1.CreateChannel(EndpointAddress address, Uri via)
在 System.ServiceModel.ChannelFactory`1.CreateChannel()
在 System.ServiceModel.ClientBase`1.CreateChannel()
在 System.ServiceModel.ClientBase`1.CreateChannelInternal()
在 System.ServiceModel.ClientBase`1.get_Channel()
在 BLL.CNCECHSSEWebService.getInformation_UrgeReport() 位置 E:\工作\五环施工平台\CNCEC_SUBQHSE_WUHUAN\SGGL\BLL\WebService\CNCECHSSEWebService.cs:行号 1883
出错时间:03/25/2024 14:20:29
出错时间:03/25/2024 14:20:30
错误信息开始=====>
错误类型:HttpException
错误信息:找到多个具有相同 ID“ftpl_efe04d84-3138-4a9f-b1fc-16eb8af69df5_5”的控件。FindControl 要求控件具有唯一的 ID。
错误堆栈:
在 System.Web.UI.Control.FillNamedControlsTable(Control namingContainer, ControlCollection controls)
在 System.Web.UI.Control.FindControl(String id, Int32 pathOffset)
在 System.Web.UI.Control.FindControl(String id, Int32 pathOffset)
在 System.Web.UI.Control.FindControl(String id, Int32 pathOffset)
在 System.Web.UI.Page.FindControl(String id)
在 System.Web.UI.Page.ProcessPostData(NameValueCollection postData, Boolean fBeforeLoad)
在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
出错时间:03/26/2024 10:58:48
出错文件:http://localhost:8579/HSSE/InformationProject/CreateLawRegulationIdentify.aspx?LawRegulationIds=
IP地址:::1
操作人员:JT
出错时间:03/26/2024 10:58:48

View File

@ -1801,6 +1801,23 @@
<Content Include="TestRun\DriverSummary\MonthSummaryEdit.aspx" />
<Content Include="TestRun\FeedingTestRun.aspx" />
<Content Include="TestRun\FeedingTestRunEdit.aspx" />
<Content Include="TestRun\Feeding\FeedingRunApplication.aspx" />
<Content Include="TestRun\Feeding\InspectTailTermEdit.aspx" />
<Content Include="TestRun\Feeding\InspectTailTermList.aspx" />
<Content Include="TestRun\Feeding\InspectTemplate.aspx" />
<Content Include="TestRun\Feeding\InspectTemplateEdit.aspx" />
<Content Include="TestRun\Feeding\InspectWanderAboutAllPass.aspx" />
<Content Include="TestRun\Feeding\InspectWanderAboutAllPassList.aspx" />
<Content Include="TestRun\Feeding\InspectWanderAboutConfirm.aspx" />
<Content Include="TestRun\Feeding\InspectWanderAboutList.aspx" />
<Content Include="TestRun\Feeding\SelectTailTermList.aspx" />
<Content Include="TestRun\Feeding\SubInspectTerm.aspx" />
<Content Include="TestRun\Feeding\SubInspectTermEdit.aspx" />
<Content Include="TestRun\Feeding\SubWorkInspect.aspx" />
<Content Include="TestRun\Feeding\TailTermApprove.aspx" />
<Content Include="TestRun\Feeding\TailTermApproveList.aspx" />
<Content Include="TestRun\Feeding\TailTermHandle.aspx" />
<Content Include="TestRun\Feeding\TailTermHandleList.aspx" />
<Content Include="TestRun\Meeting\Feedback.aspx" />
<Content Include="TestRun\Meeting\ScheduleMeeting.aspx" />
<Content Include="TestRun\Meeting\ScheduleMeetingEdit.aspx" />
@ -2070,6 +2087,7 @@
<Content Include="ZHGL\Supervise\SuperviseCheckReportEdit.aspx" />
<Content Include="common\font\DIN-Medium.otf" />
<Content Include="ZHGL\TestRunPerformance\TestRunMonthSummaryReport.aspx" />
<Content Include="ZHGL\TestRunPerformance\TestRunMonthSummaryReportEdit.aspx" />
<Content Include="ZHGL\TestRunPerformance\TestRunPerformanceMonthReport.aspx" />
<Content Include="ZHGL\TestRunPerformance\TestRunPerformanceMonthReportEdit.aspx" />
<Content Include="ZHGL\TestRunPerformance\TestRunPerformanceStandard.aspx" />
@ -16194,6 +16212,125 @@
<Compile Include="TestRun\FeedingTestRunEdit.aspx.designer.cs">
<DependentUpon>FeedingTestRunEdit.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\Feeding\FeedingRunApplication.aspx.cs">
<DependentUpon>FeedingRunApplication.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="TestRun\Feeding\FeedingRunApplication.aspx.designer.cs">
<DependentUpon>FeedingRunApplication.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\Feeding\InspectTailTermEdit.aspx.cs">
<DependentUpon>InspectTailTermEdit.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="TestRun\Feeding\InspectTailTermEdit.aspx.designer.cs">
<DependentUpon>InspectTailTermEdit.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\Feeding\InspectTailTermList.aspx.cs">
<DependentUpon>InspectTailTermList.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="TestRun\Feeding\InspectTailTermList.aspx.designer.cs">
<DependentUpon>InspectTailTermList.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\Feeding\InspectTemplate.aspx.cs">
<DependentUpon>InspectTemplate.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="TestRun\Feeding\InspectTemplate.aspx.designer.cs">
<DependentUpon>InspectTemplate.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\Feeding\InspectTemplateEdit.aspx.cs">
<DependentUpon>InspectTemplateEdit.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="TestRun\Feeding\InspectTemplateEdit.aspx.designer.cs">
<DependentUpon>InspectTemplateEdit.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\Feeding\InspectWanderAboutAllPass.aspx.cs">
<DependentUpon>InspectWanderAboutAllPass.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="TestRun\Feeding\InspectWanderAboutAllPass.aspx.designer.cs">
<DependentUpon>InspectWanderAboutAllPass.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\Feeding\InspectWanderAboutAllPassList.aspx.cs">
<DependentUpon>InspectWanderAboutAllPassList.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="TestRun\Feeding\InspectWanderAboutAllPassList.aspx.designer.cs">
<DependentUpon>InspectWanderAboutAllPassList.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\Feeding\InspectWanderAboutConfirm.aspx.cs">
<DependentUpon>InspectWanderAboutConfirm.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="TestRun\Feeding\InspectWanderAboutConfirm.aspx.designer.cs">
<DependentUpon>InspectWanderAboutConfirm.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\Feeding\InspectWanderAboutList.aspx.cs">
<DependentUpon>InspectWanderAboutList.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="TestRun\Feeding\InspectWanderAboutList.aspx.designer.cs">
<DependentUpon>InspectWanderAboutList.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\Feeding\SelectTailTermList.aspx.cs">
<DependentUpon>SelectTailTermList.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="TestRun\Feeding\SelectTailTermList.aspx.designer.cs">
<DependentUpon>SelectTailTermList.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\Feeding\SubInspectTerm.aspx.cs">
<DependentUpon>SubInspectTerm.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="TestRun\Feeding\SubInspectTerm.aspx.designer.cs">
<DependentUpon>SubInspectTerm.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\Feeding\SubInspectTermEdit.aspx.cs">
<DependentUpon>SubInspectTermEdit.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="TestRun\Feeding\SubInspectTermEdit.aspx.designer.cs">
<DependentUpon>SubInspectTermEdit.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\Feeding\SubWorkInspect.aspx.cs">
<DependentUpon>SubWorkInspect.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="TestRun\Feeding\SubWorkInspect.aspx.designer.cs">
<DependentUpon>SubWorkInspect.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\Feeding\TailTermApprove.aspx.cs">
<DependentUpon>TailTermApprove.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="TestRun\Feeding\TailTermApprove.aspx.designer.cs">
<DependentUpon>TailTermApprove.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\Feeding\TailTermApproveList.aspx.cs">
<DependentUpon>TailTermApproveList.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="TestRun\Feeding\TailTermApproveList.aspx.designer.cs">
<DependentUpon>TailTermApproveList.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\Feeding\TailTermHandle.aspx.cs">
<DependentUpon>TailTermHandle.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="TestRun\Feeding\TailTermHandle.aspx.designer.cs">
<DependentUpon>TailTermHandle.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\Feeding\TailTermHandleList.aspx.cs">
<DependentUpon>TailTermHandleList.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="TestRun\Feeding\TailTermHandleList.aspx.designer.cs">
<DependentUpon>TailTermHandleList.aspx</DependentUpon>
</Compile>
<Compile Include="TestRun\Meeting\Feedback.aspx.cs">
<DependentUpon>Feedback.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@ -18077,6 +18214,13 @@
<Compile Include="ZHGL\TestRunPerformance\TestRunMonthSummaryReport.aspx.designer.cs">
<DependentUpon>TestRunMonthSummaryReport.aspx</DependentUpon>
</Compile>
<Compile Include="ZHGL\TestRunPerformance\TestRunMonthSummaryReportEdit.aspx.cs">
<DependentUpon>TestRunMonthSummaryReportEdit.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="ZHGL\TestRunPerformance\TestRunMonthSummaryReportEdit.aspx.designer.cs">
<DependentUpon>TestRunMonthSummaryReportEdit.aspx</DependentUpon>
</Compile>
<Compile Include="ZHGL\TestRunPerformance\TestRunPerformanceMonthReport.aspx.cs">
<DependentUpon>TestRunPerformanceMonthReport.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
<LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
<UseIISExpress>true</UseIISExpress>
<Use64BitIISExpress>false</Use64BitIISExpress>
<IISExpressSSLPort />

View File

@ -48,7 +48,7 @@
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" ToolTip="导出" Icon="FolderUp"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
<f:HiddenField runat="server" ID="hdLawRegulationId"></f:HiddenField>
<f:TextBox runat="server" ID="hdLawRegulationId" Hidden="true"></f:TextBox>
</Items>
</f:Toolbar>
</Toolbars>

View File

@ -109,7 +109,7 @@ namespace FineUIPro.Web.HSSE.InformationProject {
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hdLawRegulationId;
protected global::FineUIPro.TextBox hdLawRegulationId;
/// <summary>
/// labNumber 控件。

View File

@ -37,7 +37,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
rootNode.ToolTip = "";
rootNode.EnableClickEvent = true;
this.tvControlItem.Nodes.Add(rootNode);
var inspectTerms = Funs.DB.PreRun_SubInspectTerm.Where(x => (x.Subcontractor == this.CurrUser.UserId && x.InspectionIsAllPass == 1) || (x.Contractor == this.CurrUser.UserId && x.ContractorIsAllPass == 1) || (x.Supervision == this.CurrUser.UserId && x.SupervisionIsAllPass == 1) || (x.Owner == this.CurrUser.UserId && x.OwnerIsAllPass == 1)).ToList();
var inspectTerms = Funs.DB.PreRun_SubInspectTerm.Where(x => (x.Subcontractor == this.CurrUser.UserId && x.InspectionIsAllPass == 1) || (x.Contractor == this.CurrUser.UserId && x.InspectionIsAllPass == 1) || (x.Supervision == this.CurrUser.UserId && x.InspectionIsAllPass == 1) || (x.Owner == this.CurrUser.UserId && x.InspectionIsAllPass == 1)).ToList();
if (inspectTerms.Count == 0) return;
var subSystemIds = inspectTerms.ConvertAll(x => x.SubSystemId);
var workPackIds = inspectTerms.ConvertAll(x => x.WorkPackId);

View File

@ -169,6 +169,7 @@
var valid = true, modifiedData = grid1.getMergedData();
$.each(modifiedData, function (index, rowData) {
debugger;
if (rowData.status === 'deleted') {
return true; // continue
}

View File

@ -38,12 +38,12 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
rootNode.EnableClickEvent = true;
this.tvControlItem.Nodes.Add(rootNode);
var termIds = new List<string>();
var tailTerms = Funs.DB.PreRun_InspectTailTerm.Where(x => x.HandleUser == this.CurrUser.UserId).ToList();
var tailTerms = Funs.DB.PreRun_InspectTailTerm.Where(x => x.HandleUser == this.CurrUser.UserId && x.ProjectId == this.CurrUser.LoginProjectId).ToList();
if (tailTerms.Count > 0)
{
termIds = tailTerms.ConvertAll(x => x.TermItemId);
}
var userSubInspects = Funs.DB.PreRun_SubInspectTermItem.Where(x => termIds.Contains(x.TermItemId)).ToList();
var userSubInspects = Funs.DB.PreRun_SubInspectTermItem.Where(x => termIds.Contains(x.TermItemId) && x.ProjectId == this.CurrUser.LoginProjectId).ToList();
if (userSubInspects.Count == 0) return;
var subSystemIds = userSubInspects.ConvertAll(x => x.SubSystemId);
var workPackIds = userSubInspects.ConvertAll(x => x.WorkPackId);

View File

@ -0,0 +1,134 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FeedingRunApplication.aspx.cs" Inherits="FineUIPro.Web.TestRun.Feeding.FeedingRunApplication" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="../../Controls/My97DatePicker/WdatePicker.js" type="text/javascript"></script>
<title>投料试车申请</title>
<style type="text/css">
.labcenter {
text-align: center;
}
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
.LabelColor {
color: Red;
font-size: small;
}
.Green {
background-color: Green;
color: white;
}
.Yellow {
background-color: #FFFF93;
}
.Red {
background-color: red;
}
.LightGreen {
background-color: LightGreen
}
.f-grid-colheader-text {
white-space: normal;
word-break: break-all;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" ShowBorder="false" ShowHeader="false" Layout="Region">
<Items>
<f:Panel runat="server" ID="panelLeftRegion" RegionPosition="Left" RegionSplit="true"
EnableCollapse="true" Width="300px" Title="投料试车申请" ShowBorder="true" Layout="VBox"
ShowHeader="false" AutoScroll="true" BodyPadding="5px" IconFont="ArrowCircleLeft">
<Items>
<f:Tree ID="tvControlItem" ShowHeader="false" Title="工作包" OnNodeCommand="tvControlItem_NodeCommand"
runat="server" ShowBorder="false" EnableCollapse="true" EnableSingleClickExpand="true"
AutoLeafIdentification="true" EnableSingleExpand="false">
</f:Tree>
</Items>
</f:Panel>
<f:Grid ID="Grid1" ShowBorder="true" EnableAjax="false" ShowHeader="false" Title="投料试车申请" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="SubInspectId" AllowCellEditing="true"
ClicksToEdit="2" DataIDField="SubInspectId" AllowSorting="true" SortField="UnifyWanderAboutData"
SortDirection="DESC" OnSort="Grid1_Sort" EnableColumnLines="true" ForceFit="true"
AllowPaging="true" IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange"
EnableRowDoubleClickEvent="true" AllowFilters="true" OnRowDoubleClick="Grid1_RowDoubleClick" EnableTextSelection="True" EnableMultiSelect="false" EnableCheckBoxSelect="true">
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<%--<f:Button ID="btnExport" runat="server" Icon="ApplicationGo" Text="导出投料试车申请表" ToolTip="导出投料试车申请表" EnableAjax="false" OnClick="btnExport_Click"></f:Button>--%>
<f:Button ID="btnQuery" OnClick="btnQuery_Click" ToolTip="查询" Text="搜索" Icon="SystemSearch" EnablePostBack="true" runat="server"></f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField />
<f:RenderField ColumnID="ProjectCode" DataField="ProjectCode" HeaderText="项目号" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="ProjectName" DataField="ProjectName" HeaderText="项目名称" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="DriverChargeName" DataField="DriverChargeName" HeaderText="装置开车负责人" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="DrivingManagerName" DataField="DrivingManagerName" HeaderText="开车经理" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="ProjectManagerName" DataField="ProjectManagerName" HeaderText="项目经理" HeaderTextAlign="Center">
</f:RenderField>
<f:BoundField DataField="InspectCloseData" DataFormatString="{0:yyyy-MM-dd}" HeaderText="任务单关闭日期" />
</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>
<f:ToolbarFill runat="server">
</f:ToolbarFill>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
<f:Menu ID="Menu1" runat="server">
<Items>
<f:MenuButton ID="btnMenuExport" EnablePostBack="true" runat="server" Text="导出投料试车申请表" Icon="Pencil"
OnClick="btnMenuExport_Click">
</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;
}
</script>
</body>
</html>

View File

@ -0,0 +1,450 @@
using BLL;
using NPOI.SS.UserModel;
using NPOI.SS.Util;
using NPOI.XSSF.UserModel;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
namespace FineUIPro.Web.TestRun.Feeding
{
public partial class FeedingRunApplication : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
InitTreeMenu();
}
}
#region
/// <summary>
/// 加载树
/// </summary>
private void InitTreeMenu()
{
this.tvControlItem.Nodes.Clear();
TreeNode rootNode = new TreeNode();
rootNode.Text = "检查表";
rootNode.NodeID = "0";
rootNode.Expanded = true;
rootNode.ToolTip = "";
rootNode.EnableClickEvent = true;
this.tvControlItem.Nodes.Add(rootNode);
var inspectTerms = Funs.DB.FeedingRun_SubInspectTerm.Where(x => x.InspectIsClose == 1).ToList();
if (inspectTerms.Count == 0) return;
var subInstallationIds = inspectTerms.ConvertAll(x => x.InstallationId);
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId));
if (list.Count() > 0)
{
foreach (var item in list)
{
TreeNode rootOneNode = new TreeNode();
rootOneNode.NodeID = item.PreRunId;
rootOneNode.Text = item.PreRunName;
rootOneNode.ToolTip = item.PreRunName;
rootOneNode.CommandName = "";
rootOneNode.EnableClickEvent = true;
rootOneNode.EnableExpandEvent = false;
rootNode.Nodes.Add(rootOneNode);
rootOneNode.Expanded = true;
}
}
}
/// <summary>
/// 树点击
/// </summary>
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
{
BindGrid();
}
#endregion
#region
/// <summary>
/// 绑定数据
/// </summary>
public void BindGrid()
{
List<SqlParameter> listStr = new List<SqlParameter>();
string sqlStr = $"select a.SubInspectId,a.ProjectId,a.InstallationId,a.DriverCharge,c.UserName as DriverChargeName,a.DrivingManager,d.UserName as DrivingManagerName,a.ProjectManager,e.UserName as ProjectManagerName,a.WanderIsComplete,a.WanderCompleteData,a.IsUnifyWanderAbout,a.UnifyWanderAboutData,a.InspectIsClose,a.InspectCloseData,b.ProjectCode,b.ProjectName from FeedingRun_SubInspectTerm as a inner join Base_Project as b on a.ProjectId=b.ProjectId inner join Sys_User as c on c.UserId=a.DriverCharge inner join Sys_User as d on d.UserId=a.DrivingManager inner join Sys_User as e on e.UserId=a.ProjectManager where a.InspectIsClose=1 and a.ProjectId=@projectid ";
listStr.Add(new SqlParameter("@projectid", this.CurrUser.LoginProjectId));
if(!string.IsNullOrWhiteSpace(this.tvControlItem.SelectedNodeID))
{
sqlStr += $"and a.InstallationId=@InstallationId ";
listStr.Add(new SqlParameter("@InstallationId", this.tvControlItem.SelectedNodeID));
}
sqlStr += " order by a.InspectCloseData desc";
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(sqlStr, parameter);
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
/// <summary>
/// 分页
/// </summary>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
BindGrid();
}
/// <summary>
/// 分页下拉框
/// </summary>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
/// <summary>
/// 排序
/// </summary>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
BindGrid();
}
#endregion
#region
/// <summary>
/// 查询
/// </summary>
protected void btnQuery_Click(object sender, EventArgs e)
{
BindGrid();
}
/// <summary>
/// 导出投料试车申请表
/// </summary>
protected void btnExport_Click(object sender, EventArgs e)
{
//string rootPath = Server.MapPath("~/") + Const.ExcelUrl;
////导出文件
//string filePath = rootPath + DateTime.Now.ToString("yyyyMMddhhmmss") + "\\";
//if (!Directory.Exists(filePath))
//{
// Directory.CreateDirectory(filePath);
//}
//string ReportFileName = filePath + "投料试车申请.xlsx";
////获取工作包检查表
//var termData = from a in Funs.DB.FeedingRun_SubInspectTerm
// join b in Funs.DB.Base_Project on a.ProjectId equals b.ProjectId
// join zz in Funs.DB.PreRun_SysDevice on a.InstallationId equals zz.PreRunId//装置
// select new { a.SubInspectId, a.ProjectId, b.ProjectName, b.ShortName, b.ProjectCode, a.InstallationId, a.DriverCharge, a.DrivingManager, a.ProjectManager, a.InspectionIsAllPass, a.DriverChargeIsAllPass, a.DrivingManagerIsAllPass, a.ProjectManagerIsAllPass, a.InspectTime, a.AddUser, a.AddTime, zzName = zz.PreRunName };
//if (termData != null)
//{
// var termModel = termData.FirstOrDefault();
// //获取工作包检查项表
// var termItems = Funs.DB.FeedingRun_SubInspectTermItem.Where(x => x.SubInspectId == this.SubInspectId).OrderBy(x => x.Sort).ToList();
// int rowIndex = 0;
// XSSFWorkbook hssfworkbook = new XSSFWorkbook();
// XSSFSheet ws = (XSSFSheet)hssfworkbook.CreateSheet("投料试车申请");
// #region 列宽
// ws.SetColumnWidth(0, (7 * 256));
// ws.SetColumnWidth(1, (4 * 256));
// ws.SetColumnWidth(2, (4 * 256));
// ws.SetColumnWidth(3, (4 * 256));
// ws.SetColumnWidth(4, (10 * 256));
// ws.SetColumnWidth(5, (10 * 256));
// ws.SetColumnWidth(6, (10 * 256));
// ws.SetColumnWidth(7, (10 * 256));
// ws.SetColumnWidth(8, (3 * 256));
// ws.SetColumnWidth(9, (3 * 256));
// ws.SetColumnWidth(10, (3 * 256));
// ws.SetColumnWidth(11, (3 * 256));
// ws.SetColumnWidth(12, (3 * 256));
// ws.SetColumnWidth(13, (3 * 256));
// ws.SetColumnWidth(14, (3 * 256));
// ws.SetColumnWidth(15, (3 * 256));
// ws.SetColumnWidth(16, (3 * 256));
// ws.SetColumnWidth(17, (3 * 256));
// #endregion
// #region 样式
// //头部样式居中
// ICellStyle titleStyle = SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 14, true, true);
// //头部样式靠左
// ICellStyle leftTitleStyle = SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Left, 14, true, true);
// //公共样式
// ICellStyle style = SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 10.5, true);
// //公共样式靠左
// ICellStyle leftStyle = SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Left, 10.5, true);
// //公共样式靠左上对其
// ICellStyle leftTopStyle = SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, HorizontalAlignment.Left, 10.5, true);
// //公共样式加粗
// ICellStyle styleBold = SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 10.5, true, true);
// #endregion
// #region 头部
// ws = ExcelCreateRowTitle(ws, hssfworkbook, style, rowIndex, rowIndex + 5, 0, 17);
// //行1
// var region = new CellRangeAddress(rowIndex, rowIndex + 2, 0, 0);
// ws.AddMergedRegion(region);
// byte[] bytes = File.ReadAllBytes(Server.MapPath("~/") + "Images\\Template.png");
// int pictureIdx = hssfworkbook.AddPicture(bytes, PictureType.JPEG);
// IDrawing patriarch = ws.CreateDrawingPatriarch();
// IClientAnchor anchor = patriarch.CreateAnchor(0, 0, 0, 0, 0, rowIndex, 1, rowIndex + 2);
// IPicture pict = patriarch.CreatePicture(anchor, pictureIdx);
// //pict.Resize();
// region = new CellRangeAddress(rowIndex, rowIndex + 2, 1, 3);
// ws.AddMergedRegion(region);
// ws.GetRow(rowIndex).GetCell(1).SetCellValue("中国五环工程有限公司");
// ws.GetRow(rowIndex).GetCell(1).CellStyle =
// ws.GetRow(rowIndex).GetCell(2).CellStyle =
// ws.GetRow(rowIndex).GetCell(3).CellStyle = leftTitleStyle;
// region = new CellRangeAddress(rowIndex, rowIndex, 4, 7);
// ws.AddMergedRegion(region);
// ws.GetRow(rowIndex).GetCell(4).SetCellValue(termModel.ProjectName);
// ws.GetRow(rowIndex).GetCell(4).CellStyle = style;
// region = new CellRangeAddress(rowIndex, rowIndex, 8, 12);
// ws.AddMergedRegion(region);
// ws.GetRow(rowIndex).GetCell(8).SetCellValue("项目号");
// ws.GetRow(rowIndex).GetCell(8).CellStyle = style;
// region = new CellRangeAddress(rowIndex, rowIndex, 13, 17);
// ws.AddMergedRegion(region);
// ws.GetRow(rowIndex).GetCell(13).SetCellValue(termModel.ProjectCode);
// ws.GetRow(rowIndex).GetCell(13).CellStyle = style;
// region = new CellRangeAddress(rowIndex + 1, rowIndex + 1, 4, 7);
// ws.AddMergedRegion(region);
// ws.GetRow(rowIndex + 1).GetCell(4).SetCellValue($"{termModel.zzName}");
// ws.GetRow(rowIndex + 1).GetCell(4).CellStyle = style;
// region = new CellRangeAddress(rowIndex + 1, rowIndex + 1, 8, 12);
// ws.AddMergedRegion(region);
// ws.GetRow(rowIndex + 1).GetCell(8).SetCellValue("(文件号)");
// ws.GetRow(rowIndex + 1).GetCell(8).CellStyle = style;
// region = new CellRangeAddress(rowIndex + 1, rowIndex + 1, 13, 17);
// ws.AddMergedRegion(region);
// ws.GetRow(rowIndex + 1).GetCell(13).SetCellValue("");
// ws.GetRow(rowIndex + 1).GetCell(13).CellStyle = style;
// region = new CellRangeAddress(rowIndex + 2, rowIndex + 2, 4, 7);
// ws.AddMergedRegion(region);
// ws.GetRow(rowIndex + 2).GetCell(4).SetCellValue($"投料试车条件检查表");
// ws.GetRow(rowIndex + 2).GetCell(4).CellStyle = titleStyle;
// region = new CellRangeAddress(rowIndex + 2, rowIndex + 2, 8, 12);
// ws.AddMergedRegion(region);
// ws.GetRow(rowIndex + 2).GetCell(8).SetCellValue("第 1 页");
// ws.GetRow(rowIndex + 2).GetCell(8).CellStyle = style;
// region = new CellRangeAddress(rowIndex + 2, rowIndex + 2, 13, 17);
// ws.AddMergedRegion(region);
// ws.GetRow(rowIndex + 2).GetCell(13).SetCellValue("共 1 页");
// ws.GetRow(rowIndex + 2).GetCell(13).CellStyle = style;
// //行4,行5
// region = new CellRangeAddress(rowIndex + 3, rowIndex + 4, 0, 2);
// ws.AddMergedRegion(region);
// ws.GetRow(rowIndex + 3).GetCell(0).CellStyle = style;
// ws.GetRow(rowIndex + 3).GetCell(0).SetCellValue("");
// region = new CellRangeAddress(rowIndex + 3, rowIndex + 4, 3, 11);
// ws.AddMergedRegion(region);
// ws.GetRow(rowIndex + 3).GetCell(3).CellStyle = leftStyle;
// ws.GetRow(rowIndex + 3).GetCell(3).SetCellValue("");
// region = new CellRangeAddress(rowIndex + 3, rowIndex + 3, 12, 17);
// ws.AddMergedRegion(region);
// ws.GetRow(rowIndex + 3).GetCell(12).CellStyle = style;
// ws.GetRow(rowIndex + 3).GetCell(12).SetCellValue("检查日期");
// region = new CellRangeAddress(rowIndex + 4, rowIndex + 4, 12, 17);
// ws.AddMergedRegion(region);
// ws.GetRow(rowIndex + 4).GetCell(12).CellStyle = style;
// ws.GetRow(rowIndex + 4).GetCell(12).SetCellValue(DateTime.Now.ToString("yyyy年MM月dd日"));
// //行6
// ws.GetRow(rowIndex + 5).GetCell(0).CellStyle = styleBold;
// ws.GetRow(rowIndex + 5).GetCell(0).SetCellValue("序号");
// region = new CellRangeAddress(rowIndex + 5, rowIndex + 5, 1, 7);
// ws.AddMergedRegion(region);
// ws.GetRow(rowIndex + 5).GetCell(1).CellStyle = styleBold;
// ws.GetRow(rowIndex + 5).GetCell(1).SetCellValue("检查项目");
// region = new CellRangeAddress(rowIndex + 5, rowIndex + 5, 8, 12);
// ws.AddMergedRegion(region);
// ws.GetRow(rowIndex + 5).GetCell(8).CellStyle = styleBold;
// ws.GetRow(rowIndex + 5).GetCell(8).SetCellValue("结果");
// region = new CellRangeAddress(rowIndex + 5, rowIndex + 5, 13, 17);
// ws.AddMergedRegion(region);
// ws.GetRow(rowIndex + 5).GetCell(13).CellStyle = styleBold;
// ws.GetRow(rowIndex + 5).GetCell(13).SetCellValue("备注");
// #endregion
// #region 表格
// var start = rowIndex + 6;
// var end = rowIndex + 5 + termItems.Count;
// ws = ExcelCreateRowTitle(ws, hssfworkbook, style, start, end, 0, 17);
// //合并单元格
// for (int hb = start; hb <= end; hb++)
// {
// region = new CellRangeAddress(hb, hb, 1, 7);
// ws.AddMergedRegion(region);
// region = new CellRangeAddress(hb, hb, 8, 12);
// ws.AddMergedRegion(region);
// region = new CellRangeAddress(hb, hb, 13, 17);
// ws.AddMergedRegion(region);
// }
// //数据
// int num = 1;
// var dataIndex = 6;
// foreach (var item in termItems)
// {
// //序号
// ws.GetRow(dataIndex).GetCell(0).SetCellValue(num);
// //检查项目
// ws.GetRow(dataIndex).GetCell(1).SetCellValue(item.WorkInspectName);
// ws.GetRow(dataIndex).GetCell(1).CellStyle = leftStyle;
// //结果
// ws.GetRow(dataIndex).GetCell(8).SetCellValue("");
// //备注
// ws.GetRow(dataIndex).GetCell(13).SetCellValue("");
// dataIndex++;
// num++;
// }
// rowIndex = start + termItems.Count;
// #endregion
// #region 尾部
// ws = ExcelCreateRowTitle(ws, hssfworkbook, style, rowIndex, rowIndex, 0, 17, 100);
// //行1
// ws.GetRow(rowIndex).GetCell(0).SetCellValue("结论");
// region = new CellRangeAddress(rowIndex, rowIndex, 1, 17);
// ws.AddMergedRegion(region);
// ws.GetRow(rowIndex).GetCell(1).SetCellValue("是否同意进行(包括整改意见):");
// ws.GetRow(rowIndex).GetCell(1).CellStyle = leftTopStyle;
// //行2
// ws = ExcelCreateRowTitle(ws, hssfworkbook, style, rowIndex + 1, rowIndex + 1, 0, 17, 80);
// ws.GetRow(rowIndex + 1).GetCell(0).SetCellValue("检查人员");
// region = new CellRangeAddress(rowIndex + 1, rowIndex + 1, 1, 4);
// ws.AddMergedRegion(region);
// ws.GetRow(rowIndex + 1).GetCell(1).SetCellValue("施工单位:");
// ws.GetRow(rowIndex + 1).GetCell(1).CellStyle = leftTopStyle;
// region = new CellRangeAddress(rowIndex + 1, rowIndex + 1, 5, 6);
// ws.AddMergedRegion(region);
// ws.GetRow(rowIndex + 1).GetCell(5).SetCellValue("装置开车负责人:");
// ws.GetRow(rowIndex + 1).GetCell(5).CellStyle = leftTopStyle;
// region = new CellRangeAddress(rowIndex + 1, rowIndex + 1, 7, 11);
// ws.AddMergedRegion(region);
// ws.GetRow(rowIndex + 1).GetCell(7).SetCellValue("开车经理:");
// ws.GetRow(rowIndex + 1).GetCell(7).CellStyle = leftTopStyle;
// region = new CellRangeAddress(rowIndex + 1, rowIndex + 1, 12, 17);
// ws.AddMergedRegion(region);
// ws.GetRow(rowIndex + 1).GetCell(12).SetCellValue("项目经理:");
// ws.GetRow(rowIndex + 1).GetCell(12).CellStyle = leftTopStyle;
// #endregion
// ws.PrintSetup.Landscape = false;
// ws.PrintSetup.PaperSize = 9;
// ws.ForceFormulaRecalculation = true;
// using (FileStream filess = File.OpenWrite(ReportFileName))
// {
// hssfworkbook.Write(filess);
// }
// FileInfo filet = new FileInfo(ReportFileName);
// Response.Clear();
// Response.Charset = "GB2312";
// Response.ContentEncoding = System.Text.Encoding.UTF8;
// // 添加头信息,为"文件下载/另存为"对话框指定默认文件名
// Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode("投料试车申请.xlsx"));
// // 添加头信息,指定文件大小,让浏览器能够显示下载进度
// Response.AddHeader("Content-Length", filet.Length.ToString());
// // 指定返回的是一个不能被客户端读取的流,必须被下载
// Response.ContentType = "application/ms-excel";
// // 把文件流发送到客户端
// Response.WriteFile(filet.FullName);
// // 停止页面的执行
// Response.End();
//}
}
/// <summary>
/// 右击导出投料试车申请表
/// </summary>
protected void btnMenuExport_Click(object sender, EventArgs e)
{
btnExport_Click(null, null);
}
/// <summary>
/// 双击事件
/// </summary>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
btnExport_Click(null, null);
}
#endregion
#region
/// <summary>
/// 创建样式
/// </summary>
/// <returns></returns>
public static ICellStyle SetExcelStyle(XSSFWorkbook wb, BorderStyle Bottom, BorderStyle Left, BorderStyle Right, BorderStyle Top, VerticalAlignment VerAig, HorizontalAlignment HorAig, double FontSize, bool WrapText = true, bool Bold = false, string FontName = "宋体")
{
ICellStyle style = wb.CreateCellStyle();
style.BorderBottom = Bottom;
style.BorderLeft = Left;
style.BorderRight = Right;
style.BorderTop = Top;
style.VerticalAlignment = VerAig;
style.Alignment = HorAig;
IFont font = wb.CreateFont();
font.FontHeightInPoints = FontSize;
font.IsBold = Bold;
font.FontName = FontName;
style.SetFont(font);
style.WrapText = WrapText;
return style;
}
/// <summary>
/// 创建头部
/// </summary>
/// <returns></returns>
private XSSFSheet ExcelCreateRowTitle(XSSFSheet ws, XSSFWorkbook hssfworkbook, ICellStyle style, int sRows, int eRows, int cStart, int cEnd, float height = 21)
{
for (int i = sRows; i <= eRows; i++)
{
ws.CreateRow(i);
ws.GetRow(i).HeightInPoints = height;
for (int j = cStart; j <= cEnd; j++)
{
ws.GetRow(i).CreateCell(j);
ws.GetRow(i).CreateCell(j).CellStyle = style;
}
}
return ws;
}
#endregion
}
}

View File

@ -0,0 +1,134 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.TestRun.Feeding
{
public partial class FeedingRunApplication
{
/// <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>
/// panelLeftRegion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelLeftRegion;
/// <summary>
/// tvControlItem 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tree tvControlItem;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// btnQuery 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnQuery;
/// <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>
/// Menu1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuExport 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuExport;
}
}

View File

@ -0,0 +1,181 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InspectTailTermEdit.aspx.cs" Inherits="FineUIPro.Web.TestRun.Feeding.InspectTailTermEdit" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>质量巡检</title>
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.labcenter {
text-align: center;
}
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
.f-grid-row.red {
background-color: #FF7575;
background-image: none;
}
.fontred {
color: #FF7575;
background-image: none;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="SimpleForm1" runat="server" />
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Rows>
<f:FormRow>
<Items>
<f:ContentPanel ID="ContentPanel1" Title="巡检" ShowBorder="true"
BodyPadding="10px" EnableCollapse="true" ShowHeader="true" 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="txtProjectName" runat="server" Readonly="true" Label="项目名称" LabelAlign="Right" MaxLength="50">
</f:TextBox>
<f:TextBox ID="txtTailTermCode" runat="server" Required="true" ShowRedStar="true" Label="巡检编号" LabelAlign="Right"
MaxLength="50">
</f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DropDownList ID="ddlConstructionUnit" ShowRedStar="true" runat="server" Required="true" Label="施工单位" LabelAlign="Right" EmptyText="--请选择--">
</f:DropDownList>
<f:DropDownList ID="ddlTermItemId" ShowRedStar="true" runat="server" Required="true" Label="检查项" LabelAlign="Right" AutoPostBack="true" OnSelectedIndexChanged="ddlTermItemId_SelectedIndexChanged" EmptyText="--请选择--">
</f:DropDownList>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextArea ID="txtQuestionDesc" ShowRedStar="true" Required="true" runat="server" Label="问题描述" MaxLength="3000">
</f:TextArea>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextArea ID="txtRectifyOpinion" runat="server" Label="整改意见" MaxLength="3000">
</f:TextArea>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Label ID="lblInspectUser" Label="提出人" Text="" runat="server" LabelAlign="Right" LabelWidth="150px"></f:Label>
<f:Label ID="lblRectifyTime" Label="提出时间" Text="" runat="server" LabelAlign="Right" LabelWidth="150px"></f:Label>
<f:HiddenField ID="hidInspectUserId" runat="server"></f:HiddenField>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DropDownList ID="ddlHandleUser" runat="server" Label="处理人" Required="true" LabelAlign="Right" EnableEdit="true">
</f:DropDownList>
<f:DropDownList ID="ddlApproveUser" runat="server" Label="审核人" Required="true" LabelAlign="Right" EnableEdit="true">
</f:DropDownList>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DatePicker runat="server" Required="true" EnableEdit="false" Label="要求整改完成时间" LabelWidth="150px" EmptyText="请选择日期"
ID="txtAdjustCompleteTime" ShowRedStar="true">
</f:DatePicker>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Panel ID="Panel1" ShowHeader="false" ShowBorder="false" Layout="Column" runat="server">
<Items>
<f:Label runat="server" Text="问题图片上传:" CssStyle="padding-left:25px" Width="150px" CssClass="marginr" ShowLabel="false"></f:Label>
<f:Button ID="imgBtnQuestionFile" Text="问题图片上传" ToolTip="问题图片上传" Icon="TableCell" runat="server"
OnClick="imgBtnQuestionFile_Click">
</f:Button>
</Items>
</f:Panel>
</Items>
</f:FormRow>
</Rows>
</f:Form>
</f:ContentPanel>
</Items>
</f:FormRow>
<f:FormRow ID="plApprove2">
<Items>
<f:ContentPanel Title="巡检处理列表" ShowBorder="true"
BodyPadding="10px" EnableCollapse="true" ShowHeader="true" AutoScroll="true"
runat="server">
<f:Grid ID="gvHandle" IsFluid="true" CssClass="blockpanel" ShowBorder="true" ShowHeader="false" runat="server" EnableCollapse="false"
DataKeyNames="InspectTermId" EnableColumnLines="true" ForceFit="true">
<Columns>
<f:RowNumberField />
<f:RenderField ColumnID="ConstructionUnitName" Width="300px" DataField="ConstructionUnitName" HeaderText="施工单位" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="ApproveStateName" Width="100px" DataField="ApproveStateName" HeaderText="处理状态" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="ApproveTime" Width="150px" DataField="ApproveTime" HeaderText="处理时间" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="ApproveOpinion" DataField="ApproveOpinion" HeaderText="处理意见" HeaderTextAlign="Center">
</f:RenderField>
</Columns>
</f:Grid>
</f:ContentPanel>
</Items>
</f:FormRow>
<f:FormRow ID="plApprove3">
<Items>
<f:ContentPanel Title="巡检审批列表" ShowBorder="true"
BodyPadding="10px" EnableCollapse="true" ShowHeader="true" AutoScroll="true"
runat="server">
<f:Grid ID="gvApprove" IsFluid="true" CssClass="blockpanel" ShowBorder="true" ShowHeader="false" runat="server" EnableCollapse="false"
DataKeyNames="InspectTermId" EnableColumnLines="true" ForceFit="true">
<Columns>
<f:RowNumberField />
<f:RenderField ColumnID="ConstructionUnitName" Width="300px" DataField="ConstructionUnitName" HeaderText="施工单位" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="ApproveStateName" Width="100px" DataField="ApproveStateName" HeaderText="审核状态" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="ApproveTime" Width="150px" DataField="ApproveTime" HeaderText="审核时间" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="ApproveOpinion" DataField="ApproveOpinion" HeaderText="审核意见" HeaderTextAlign="Center">
</f:RenderField>
</Columns>
</f:Grid>
</f:ContentPanel>
</Items>
</f:FormRow>
</Rows>
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
<Items>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" Text="保存" ToolTip="保存" ValidateForms="SimpleForm1" OnClick="btnSave_Click">
</f:Button>
<f:Button ID="btnSubmit" Icon="SystemSaveNew" runat="server" Text="保存并提交处理" ToolTip="保存并提交处理" ValidateForms="SimpleForm1" OnClick="btnSubmit_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</f:Form>
<f:Window ID="WindowAtt" Title="弹出窗体" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" OnClose="WindowAtt_Close" runat="server" IsModal="true" Width="700px"
Height="500px">
</f:Window>
</form>
<script>
function onGridDataLoad(event) {
this.mergeColumns(['CheckItemType']);
}
</script>
</body>
</html>

View File

@ -0,0 +1,393 @@
using BLL;
using Model;
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.Feeding
{
public partial class InspectTailTermEdit : PageBase
{
/// <summary>
/// 检查表尾项主键
/// </summary>
public string TailTermId
{
get { return (string)ViewState["TailTermId"]; }
set { ViewState["TailTermId"] = value; }
}
/// <summary>
/// 检查项主键
/// </summary>
public string TermItemId
{
get { return (string)ViewState["TermItemId"]; }
set { ViewState["TermItemId"] = value; }
}
/// <summary>
/// 是否查看
/// </summary>
public bool IsView
{
get { return (bool)ViewState["IsView"]; }
set { ViewState["IsView"] = value; }
}
/// <summary>
/// 问题图片是否可编辑
/// </summary>
public int QuestionEditImg
{
get { return (int)ViewState["QuestionEditImg"]; }
set { ViewState["QuestionEditImg"] = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.TailTermId = Request["TailTermId"];
this.TermItemId = Request["TermItemId"];
//是否查看
this.IsView = string.IsNullOrWhiteSpace(Request["IsView"]) ? false : bool.Parse(Request["IsView"]);
//数据绑定
PageInit();
//处理和审批意见绑定
gvRecordBrid();
//判断是否查看
if (IsView)
{
btnSave.Hidden = true;
btnSubmit.Hidden = true;
QuestionEditImg = -1;
txtTailTermCode.Enabled = false;
ddlConstructionUnit.Enabled = false;
ddlTermItemId.Enabled = false;
txtQuestionDesc.Enabled = false;
txtRectifyOpinion.Enabled = false;
ddlApproveUser.Enabled = false;
ddlHandleUser.Enabled = false;
}
}
}
/// <summary>
/// 默认绑定
/// </summary>
public void PageInit()
{
QuestionEditImg = 0;
//施工单位
UnitService.InitUnitByProjectIdUnitTypeDropDownList(ddlConstructionUnit, this.CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2, false);
//检查人绑定
var userList = from user in Funs.DB.Sys_User
join projectrole in Funs.DB.Project_ProjectUser on user.UserId equals projectrole.UserId
where projectrole.ProjectId == this.CurrUser.LoginProjectId
select user;
var userids = new List<string>() { Const.sysglyId, Const.hfnbdId, Const.sedinId };
var addUserList = Funs.DB.Sys_User.Where(x => userids.Contains(x.UserId));
var users = userList.ToList();
if (addUserList.Count() > 0)
{
users.AddRange(addUserList);
}
//检查人和审核人
if (users.Count() > 0)
{
//处理人
ddlHandleUser.DataTextField = "UserName";
ddlHandleUser.DataValueField = "UserId";
ddlHandleUser.DataSource = users;
ddlHandleUser.DataBind();
ddlHandleUser.SelectedValue = this.CurrUser.UserId;
//审核人
ddlApproveUser.DataTextField = "UserName";
ddlApproveUser.DataValueField = "UserId";
ddlApproveUser.DataSource = users;
ddlApproveUser.DataBind();
ddlApproveUser.SelectedValue = this.CurrUser.UserId;
}
var model = Funs.DB.FeedingRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == this.TailTermId);
if (model != null)
{
//项目名称
txtProjectName.Text = model.ProjectName;
//巡检编号
txtTailTermCode.Text = model.TailTermCode;
//施工单位
ddlConstructionUnit.SelectedValue = model.ConstructionUnit;
//提出人
var inspectModel = users.FirstOrDefault(x => x.UserId == model.InspectUser);
if (inspectModel != null)
{
lblInspectUser.Text = inspectModel.UserName;
hidInspectUserId.Text = inspectModel.UserId;
}
//绑定检查项
var list = Funs.DB.FeedingRun_SubInspectTermItem.Where(x => x.InspectionResults == 0 && x.InspectedUser == this.CurrUser.UserId).ToList();
if (list.Count() > 0)
{
ddlTermItemId.DataTextField = "WorkInspectName";
ddlTermItemId.DataValueField = "TermItemId";
ddlTermItemId.DataSource = list;
ddlTermItemId.DataBind();
}
//检查项
ddlTermItemId.SelectedValue = model.TermItemId;
//问题描述
txtQuestionDesc.Text = model.QuestionDesc;
//整改意见
txtRectifyOpinion.Text = model.RectifyOpinion;
//提出时间
lblRectifyTime.Text = model.RectifyTime != null ? model.RectifyTime.Value.ToString("yyyy-MM-dd") : string.Empty;
//处理人
ddlHandleUser.SelectedValue = model.HandleUser;
//审核人
ddlApproveUser.SelectedValue = model.ApproveUser;
//整改完成日期
txtAdjustCompleteTime.Text = model.AdjustCompleteTime != null ? model.AdjustCompleteTime.Value.ToString("yyyy-MM-dd") : string.Empty;
if (model.ApproveState > 1)
{
QuestionEditImg = -1;
}
}
else
{
this.TailTermId = Guid.NewGuid().ToString();
var projectModel = Funs.DB.Base_Project.FirstOrDefault(e => e.ProjectId == this.CurrUser.LoginProjectId);
if (projectModel != null)
{
txtProjectName.Text = projectModel.ProjectName;
string code = projectModel.ProjectCode + "-06-CM03-XJ-";
txtTailTermCode.Text = SQLHelper.RunProcNewId("SpGetNewCode5", "dbo.FeedingRun_InspectTailTerm", "TailTermCode", code);
}
if (!string.IsNullOrWhiteSpace(this.TermItemId))
{
var itemTerm = Funs.DB.FeedingRun_SubInspectTermItem.FirstOrDefault(x => x.InspectedUser == this.CurrUser.UserId && x.TermItemId == this.TermItemId);
if (itemTerm != null)
{
var list = Funs.DB.FeedingRun_SubInspectTermItem.Where(x => x.InspectedUser == this.CurrUser.UserId && (x.InspectionResults == 0 || x.TermItemId == this.TermItemId));
ddlTermItemId.Items.Clear();
if (list.Count() > 0)
{
ddlTermItemId.DataTextField = "WorkInspectName";
ddlTermItemId.DataValueField = "TermItemId";
ddlTermItemId.DataSource = list;
ddlTermItemId.DataBind();
}
else
{
ddlTermItemId.Items.Insert(0, new ListItem("==无数据==", ""));
}
//检查项
ddlTermItemId.SelectedValue = itemTerm.TermItemId;
//提出人
var inspectModel = users.FirstOrDefault(x => x.UserId == itemTerm.InspectedUser);
if (inspectModel != null)
{
lblInspectUser.Text = inspectModel.UserName;
hidInspectUserId.Text = inspectModel.UserId;
}
//提出时间
lblRectifyTime.Text = DateTime.Now.ToString("yyyy-MM-dd");
}
}
}
}
/// <summary>
/// 处理和审批意见绑定
/// </summary>
public void gvRecordBrid()
{
string strSql = @"select a.InspectTermId,a.ApproveOpinion,a.ApproveTime,a.ApproveType,a.ApproveState,(case a.ApproveType when 0 then (case a.ApproveState when 0 then '处理退回' when 1 then '处理通过' else '' end) else (case a.ApproveState when 0 then '审批退回' when 1 then '审批通过' else '' end) end) as ApproveStateName,b.ConstructionUnit,d.UnitName as ConstructionUnitName,a.AddUser,a.AddTime from FeedingRun_InspectTermApproveRecords as a inner join FeedingRun_InspectTailTerm as b on a.TailTermId=b.TailTermId inner join FeedingRun_SubInspectTermItem as c on c.TermItemId=a.TermItemId inner join Base_Unit as d on d.UnitId=b.ConstructionUnit where 1=1 and a.ProjectId=@ProjectId and a.TailTermId=@TailTermId ";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
listStr.Add(new SqlParameter("@TailTermId", this.TailTermId));
strSql += " order by a.AddTime asc";
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
//处理意见
var handleTb = tb.AsEnumerable().Where(row => row.Field<int>("ApproveType") == 0);
gvHandle.DataSource = handleTb;
gvHandle.DataBind();
//审批意见
var approveTb = tb.AsEnumerable().Where(row => row.Field<int>("ApproveType") == 1);
gvApprove.DataSource = approveTb;
gvApprove.DataBind();
}
#region
/// <summary>
/// 保存
/// </summary>
protected void btnSave_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(ddlConstructionUnit.SelectedValue))
{
ShowNotify("请选择施工单位!", MessageBoxIcon.Warning);
return;
}
if (string.IsNullOrWhiteSpace(ddlTermItemId.SelectedValue))
{
ShowNotify("请选择检查项!", MessageBoxIcon.Warning);
return;
}
if (string.IsNullOrWhiteSpace(ddlHandleUser.SelectedValue))
{
ShowNotify("请选择处理人!", MessageBoxIcon.Warning);
return;
}
if (string.IsNullOrWhiteSpace(ddlApproveUser.SelectedValue))
{
ShowNotify("请选择审核人!", MessageBoxIcon.Warning);
return;
}
var isAdd = false;
var model = Funs.DB.FeedingRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == this.TailTermId);
if (model == null)
{
isAdd = true;
model = new FeedingRun_InspectTailTerm();
model.TailTermId = this.TailTermId;
model.ProjectId = this.CurrUser.LoginProjectId;
}
model.ProjectName = txtProjectName.Text;
model.TailTermCode = txtTailTermCode.Text;
model.ConstructionUnit = ddlConstructionUnit.SelectedValue;
model.TermItemId = ddlTermItemId.SelectedValue;
model.QuestionDesc = txtQuestionDesc.Text.Trim();
model.RectifyOpinion = txtRectifyOpinion.Text.Trim();
model.RectifyTime = DateTime.Parse(lblRectifyTime.Text);
model.InspectUser = hidInspectUserId.Text;
model.HandleUser = ddlHandleUser.SelectedValue;
model.ApproveUser = ddlApproveUser.SelectedValue;
model.AdjustCompleteTime = DateTime.Parse(txtAdjustCompleteTime.Text);
model.ApproveState = 0;
model.AddUser = this.CurrUser.LoginProjectId;
model.AddTime = DateTime.Now;
if (isAdd)
{
Funs.DB.FeedingRun_InspectTailTerm.InsertOnSubmit(model);
}
//判断尾项是否保存
var itemModel = Funs.DB.FeedingRun_SubInspectTermItem.FirstOrDefault(x => x.TermItemId == this.TermItemId && x.InspectedUser == this.CurrUser.UserId);
if (itemModel != null) itemModel.InspectionResults = 0;
Funs.DB.SubmitChanges();
ShowNotify("操作成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
/// <summary>
/// 保存并提交
/// </summary>
protected void btnSubmit_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(ddlConstructionUnit.SelectedValue))
{
ShowNotify("请选择施工单位!", MessageBoxIcon.Warning);
return;
}
if (string.IsNullOrWhiteSpace(ddlTermItemId.SelectedValue))
{
ShowNotify("请选择检查项!", MessageBoxIcon.Warning);
return;
}
if (string.IsNullOrWhiteSpace(ddlHandleUser.SelectedValue))
{
ShowNotify("请选择处理人!", MessageBoxIcon.Warning);
return;
}
if (string.IsNullOrWhiteSpace(ddlApproveUser.SelectedValue))
{
ShowNotify("请选择审核人!", MessageBoxIcon.Warning);
return;
}
var isAdd = false;
var model = Funs.DB.FeedingRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == this.TailTermId);
if (model == null)
{
isAdd = true;
model = new FeedingRun_InspectTailTerm();
model.TailTermId = this.TailTermId;
model.ProjectId = this.CurrUser.LoginProjectId;
}
model.ProjectName = txtProjectName.Text;
model.TailTermCode = txtTailTermCode.Text;
model.ConstructionUnit = ddlConstructionUnit.SelectedValue;
model.TermItemId = ddlTermItemId.SelectedValue;
model.QuestionDesc = txtQuestionDesc.Text.Trim();
model.RectifyOpinion = txtRectifyOpinion.Text.Trim();
model.RectifyTime = DateTime.Parse(lblRectifyTime.Text);
model.InspectUser = hidInspectUserId.Text;
model.HandleUser = ddlHandleUser.SelectedValue;
model.ApproveUser = ddlApproveUser.SelectedValue;
model.AdjustCompleteTime = DateTime.Parse(txtAdjustCompleteTime.Text);
model.ApproveState = 1;
model.AddUser = this.CurrUser.LoginProjectId;
model.AddTime = DateTime.Now;
if (isAdd)
{
Funs.DB.FeedingRun_InspectTailTerm.InsertOnSubmit(model);
}
//判断尾项是否保存
var itemModel = Funs.DB.FeedingRun_SubInspectTermItem.FirstOrDefault(x => x.TermItemId == this.TermItemId && x.InspectedUser == this.CurrUser.UserId);
if (itemModel != null) itemModel.InspectionResults = 0;
Funs.DB.SubmitChanges();
ShowNotify("操作成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
/// <summary>
/// 问题图片
/// </summary>
protected void imgBtnQuestionFile_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/CheckControl&menuId={2}", QuestionEditImg, this.TailTermId + "q", Const.InspectTailTerm)));
}
#endregion
#region
/// <summary>
/// 检查项
/// </summary>
protected void ddlTermItemId_SelectedIndexChanged(object sender, EventArgs e)
{
var itemUserTerm = Funs.DB.FeedingRun_SubInspectTermItem.FirstOrDefault(x => x.TermItemId == ddlTermItemId.SelectedValue);
if (itemUserTerm != null)
{
//提出人
var inspectModel = Funs.DB.Sys_User.FirstOrDefault(x => x.UserId == itemUserTerm.InspectedUser);
if (inspectModel != null)
{
lblInspectUser.Text = inspectModel.UserName;
hidInspectUserId.Text = inspectModel.UserId;
}
//提出时间
lblRectifyTime.Text = DateTime.Now.ToString("yyyy-MM-dd");
}
}
/// <summary>
/// 关闭
/// </summary>
protected void WindowAtt_Close(object sender, WindowCloseEventArgs e)
{
}
#endregion
}
}

View File

@ -0,0 +1,269 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.TestRun.Feeding
{
public partial class InspectTailTermEdit
{
/// <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>
/// ContentPanel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel ContentPanel1;
/// <summary>
/// Form2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form Form2;
/// <summary>
/// txtProjectName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtProjectName;
/// <summary>
/// txtTailTermCode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtTailTermCode;
/// <summary>
/// ddlConstructionUnit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlConstructionUnit;
/// <summary>
/// ddlTermItemId 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlTermItemId;
/// <summary>
/// txtQuestionDesc 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtQuestionDesc;
/// <summary>
/// txtRectifyOpinion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtRectifyOpinion;
/// <summary>
/// lblInspectUser 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblInspectUser;
/// <summary>
/// lblRectifyTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblRectifyTime;
/// <summary>
/// hidInspectUserId 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hidInspectUserId;
/// <summary>
/// ddlHandleUser 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlHandleUser;
/// <summary>
/// ddlApproveUser 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlApproveUser;
/// <summary>
/// txtAdjustCompleteTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtAdjustCompleteTime;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// imgBtnQuestionFile 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button imgBtnQuestionFile;
/// <summary>
/// plApprove2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.FormRow plApprove2;
/// <summary>
/// gvHandle 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid gvHandle;
/// <summary>
/// plApprove3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.FormRow plApprove3;
/// <summary>
/// gvApprove 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid gvApprove;
/// <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>
/// btnSubmit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSubmit;
/// <summary>
/// WindowAtt 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window WindowAtt;
}
}

View File

@ -0,0 +1,189 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InspectTailTermList.aspx.cs" Inherits="FineUIPro.Web.TestRun.Feeding.InspectTailTermList" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="../../Controls/My97DatePicker/WdatePicker.js" type="text/javascript"></script>
<title>检查表尾项管理</title>
<style type="text/css">
.labcenter {
text-align: center;
}
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
.LabelColor {
color: Red;
font-size: small;
}
.Green {
background-color: Green;
color: white;
}
.Yellow {
background-color: #FFFF93;
}
.Red {
background-color: red;
}
.LightGreen {
background-color: LightGreen
}
.f-grid-colheader-text {
white-space: normal;
word-break: break-all;
}
.f-grid-cell[data-color=color1] {
background-color: #56ff00;
color: #fff;
}
.f-grid-cell[data-color=color2] {
background-color: #e1db21;
color: #fff;
}
.f-grid-cell[data-color=color3] {
background-color: #e23129;
color: #fff;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" ShowBorder="false" ShowHeader="false" Layout="Region">
<Items>
<f:Panel runat="server" ID="panelLeftRegion" RegionPosition="Left" RegionSplit="true"
EnableCollapse="true" Width="300px" Title="检查表尾项管理" ShowBorder="true" Layout="VBox"
ShowHeader="false" AutoScroll="true" BodyPadding="5px" IconFont="ArrowCircleLeft">
<Items>
<f:Tree ID="tvControlItem" ShowHeader="false" Title="工作包" OnNodeCommand="tvControlItem_NodeCommand"
runat="server" ShowBorder="false" EnableCollapse="true" EnableSingleClickExpand="true"
AutoLeafIdentification="true" EnableSingleExpand="false">
</f:Tree>
</Items>
</f:Panel>
<f:Grid ID="Grid1" ShowBorder="true" EnableAjax="false" ShowHeader="false" Title="检查表尾项管理" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="TailTermId,ApproveState" AllowCellEditing="true"
ClicksToEdit="2" DataIDField="TailTermId" AllowSorting="true" SortField="AddTime"
SortDirection="DESC" OnSort="Grid1_Sort" EnableColumnLines="true" ForceFit="true"
AllowPaging="true" IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange"
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" AllowFilters="true" EnableTextSelection="True" EnableMultiSelect="false" EnableCheckBoxSelect="true" OnRowDataBound="Grid1_RowDataBound">
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:DropDownList ID="ddlApproveState" runat="server" Label="审核状态" LabelAlign="Right" EnableEdit="true">
<f:ListItem Text="全部" Value="" />
<f:ListItem Text="待提交处理" Value="0" />
<f:ListItem Text="待处理" Value="1" />
<f:ListItem Text="处理退回" Value="2" />
<f:ListItem Text="审核退回" Value="3" />
<f:ListItem Text="待审核" Value="4" />
<f:ListItem Text="审核通过" Value="5" />
</f:DropDownList>
<f:DatePicker runat="server" DateFormatString="yyyy-MM-dd" Label="开始日期" ID="txtStartTime" LabelAlign="right">
</f:DatePicker>
<f:DatePicker runat="server" DateFormatString="yyyy-MM-dd" Label="结束日期" ID="txtEndTime" LabelAlign="right">
</f:DatePicker>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnQuery" OnClick="btnQuery_Click" ToolTip="查询" Icon="SystemSearch" EnablePostBack="true" runat="server"></f:Button>
<f:Button ID="btnNew" Text="新增" ToolTip="新增" Icon="Add" runat="server" OnClick="btnNew_Click"></f:Button>
<f:Button ID="btnModify" Text="修改" ToolTip="修改" Icon="Pencil" runat="server" OnClick="btnModify_Click"></f:Button>
<f:Button ID="btnSubmitReview" Text="提交处理" ToolTip="提交处理" runat="server" OnClick="btnSubmitReview_Click"></f:Button>
<f:Button ID="btnwithdraw" Text="撤回提交处理" ToolTip="撤回提交处理" runat="server" OnClick="btnwithdraw_Click"></f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField />
<f:RenderField ColumnID="TailTermCode" DataField="TailTermCode" SortField="TailTermCode" HeaderText="巡检编号" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="UnitName" DataField="UnitName" HeaderText="单位名称" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="InspectUserName" DataField="InspectUserName" HeaderText="检查人" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="WorkInspectName" DataField="WorkInspectName" Width="400px" HeaderText="检查项" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="RectifyOpinion" DataField="RectifyOpinion" HeaderText="整改意见" HeaderTextAlign="Center">
</f:RenderField>
<f:BoundField DataField="RectifyTime" DataFormatString="{0:yyyy-MM-dd}" HeaderText="整改时间" />
<f:RenderField ColumnID="InspectUserName" DataField="InspectUserName" HeaderText="检查人" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="ApproveStateName" DataField="ApproveStateName" HeaderText="流程状态" HeaderTextAlign="Center">
</f:RenderField>
<f:BoundField DataField="AdjustCompleteTime" DataFormatString="{0:yyyy-MM-dd}" HeaderText="要求整改日期" />
<f:RenderField ColumnID="ApproveUserName" DataField="HandleUserName" HeaderText="处理人" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="ApproveUserName" DataField="ApproveUserName" HeaderText="审核人" HeaderTextAlign="Center">
</f:RenderField>
<f:TemplateField ColumnID="AdjustDiffDay" HeaderText="整改是否逾期" HeaderTextAlign="Center" TextAlign="Center"
EnableLock="true" Locked="False">
<ItemTemplate>
<asp:Label ID="lblIsOverdue" runat="server" Text='<%# IsOverdue(Eval("AdjustDiffDay"),Eval("ApproveState")) %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
</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>
<f:ToolbarFill runat="server">
</f:ToolbarFill>
</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="1300px" Height="660px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<Items>
<f:MenuButton ID="btnMenuModify" EnablePostBack="true" runat="server" Text="修改" Icon="Pencil"
OnClick="btnMenuModify_Click">
</f:MenuButton>
<f:MenuButton ID="btnMenuView" EnablePostBack="true" runat="server" Text="查看" Icon="ApplicationViewIcons"
OnClick="btnMenuView_Click">
</f:MenuButton>
<f:MenuButton ID="btnMenuDel" EnablePostBack="true" runat="server" Icon="Delete" Text="删除" ConfirmText="确定删除当前数据?"
OnClick="btnMenuDel_Click">
</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;
}
</script>
</body>
</html>

View File

@ -0,0 +1,365 @@
using BLL;
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.TestRun.Feeding
{
public partial class InspectTailTermList : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
InitTreeMenu();
}
}
#region
/// <summary>
/// 加载树
/// </summary>
private void InitTreeMenu()
{
this.tvControlItem.Nodes.Clear();
TreeNode rootNode = new TreeNode();
rootNode.Text = "检查表";
rootNode.NodeID = "0";
rootNode.Expanded = true;
rootNode.ToolTip = "";
rootNode.EnableClickEvent = true;
this.tvControlItem.Nodes.Add(rootNode);
var userSubInspects = Funs.DB.FeedingRun_SubInspectTermItem.Where(x => x.InspectedUser == this.CurrUser.UserId && x.InspectionResults == 0).ToList();
if (userSubInspects.Count == 0) return;
var subInstallationIds = userSubInspects.ConvertAll(x => x.InstallationId);
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId));
if (list.Count() > 0)
{
foreach (var item in list)
{
TreeNode rootOneNode = new TreeNode();
rootOneNode.NodeID = item.PreRunId;
rootOneNode.Text = item.PreRunName;
rootOneNode.ToolTip = item.PreRunName;
rootOneNode.CommandName = "";
rootOneNode.EnableClickEvent = true;
rootOneNode.EnableExpandEvent = false;
rootNode.Nodes.Add(rootOneNode);
rootOneNode.Expanded = true;
}
}
}
/// <summary>
/// 点击TreeView
/// </summary>
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 数据绑定
/// </summary>
public void BindGrid()
{
string strSql = @"select a.TailTermId,a.ProjectId,d.ProjectCode,d.ProjectName,a.TailTermCode,a.ConstructionUnit,b.UnitName,a.SubInspectId,a.TermItemId,c.WorkInspectName,a.QuestionDesc,a.RectifyTime,a.RectifyOpinion,a.InspectUser,e.UserName as InspectUserName,a.ApproveUser,f.UserName as ApproveUserName,a.HandleUser,g.UserName as HandleUserName,a.ApproveState,(case a.ApproveState when 0 then '待提交处理' when 1 then '待处理' when 2 then '处理退回' when 3 then '审核退回' when 4 then '待审核' when 5 then '审核通过' else '' end) as ApproveStateName,a.AddTime,a.AdjustCompleteTime,DATEDIFF(DAY, GETDATE(),a.AdjustCompleteTime) as AdjustDiffDay from FeedingRun_InspectTailTerm as a inner join Base_Unit as b on a.ConstructionUnit=b.UnitId inner join FeedingRun_SubInspectTermItem as c on c.TermItemId=a.TermItemId inner join Base_Project as d on d.ProjectId=a.ProjectId inner join Sys_User as e on e.UserId=a.InspectUser inner join Sys_User as f on f.UserId=a.ApproveUser inner join Sys_User as g on g.UserId=a.HandleUser where 1=1 and a.ProjectId=@projectid and a.InspectUser=@InspectUser";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@projectid", this.CurrUser.LoginProjectId));
listStr.Add(new SqlParameter("@InspectUser", this.CurrUser.UserId));
if (!string.IsNullOrWhiteSpace(this.tvControlItem.SelectedNodeID))
{
strSql += " and c.InstallationId=@InstallationId";
listStr.Add(new SqlParameter("@InstallationId", this.tvControlItem.SelectedNodeID));
}
//审核状态
if (!string.IsNullOrWhiteSpace(ddlApproveState.SelectedValue))
{
strSql += " and a.ApproveState=@ApproveState";
listStr.Add(new SqlParameter("@ApproveState", ddlApproveState.SelectedValue));
}
//开始时间
if (!string.IsNullOrWhiteSpace(txtStartTime.Text))
{
strSql += $" and a.RectifyTime>='{DateTime.Parse(txtStartTime.Text.Trim()).ToString("yyyy-MM-dd")} 00:00:00'";
}
//结束时间
if (!string.IsNullOrWhiteSpace(txtEndTime.Text))
{
strSql += $" and a.RectifyTime<='{DateTime.Parse(txtStartTime.Text.Trim()).ToString("yyyy-MM-dd")} 23:59:59'";
}
strSql += " order by a.AddTime asc";
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();
}
/// <summary>
/// 分页
/// </summary>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
BindGrid();
}
/// <summary>
/// 双击事件
/// </summary>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
btnMenuModify_Click(null, null);
}
/// <summary>
/// 分页下拉框
/// </summary>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
/// <summary>
/// 排序
/// </summary>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
BindGrid();
}
/// <summary>
/// 行数据处理事件
/// </summary>
protected void Grid1_RowDataBound(object sender, GridRowEventArgs e)
{
DataRowView row = e.DataItem as DataRowView;
// 入学年份
int diffDay = Convert.ToInt32(row["AdjustDiffDay"]);
TemplateField AdjustDiffDay = Grid1.FindColumn("AdjustDiffDay") as TemplateField;
int approveState = int.Parse(Grid1.DataKeys[e.RowIndex][1].ToString());
if (approveState != 5)
{
if (diffDay > 0)
{
e.CellAttributes[AdjustDiffDay.ColumnIndex]["data-color"] = "color1";
}
else if (diffDay == 0)
{
e.CellAttributes[AdjustDiffDay.ColumnIndex]["data-color"] = "color2";
}
else if (diffDay < 0)
{
e.CellAttributes[AdjustDiffDay.ColumnIndex]["data-color"] = "color3";
}
}
}
#endregion
#region
/// <summary>
/// 修改
/// </summary>
protected void btnMenuModify_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
var passLs = new List<int>() { 0, 2 };
var model = Funs.DB.FeedingRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == Grid1.SelectedRowID);
if (model != null)
{
if (!passLs.Contains(model.ApproveState.Value))
{
Alert.ShowInTop("只可编辑“待提交处理”和“处理退回”的记录!", MessageBoxIcon.Warning);
return;
}
}
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("InspectTailTermEdit.aspx?TailTermId={0}", Grid1.SelectedRowID, "编辑 - ")));
}
/// <summary>
/// 编辑
/// </summary>
protected void btnModify_Click(object sender, EventArgs e)
{
btnMenuModify_Click(null, null);
}
/// <summary>
/// 新增
/// </summary>
protected void btnNew_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("InspectTailTermEdit.aspx?TailTermId=", "新增 - ")));
}
/// <summary>
/// 查看
/// </summary>
protected void btnMenuView_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("InspectTailTermEdit.aspx?IsView=true&TailTermId={0}", Grid1.SelectedRowID, "查看 - ")));
}
/// <summary>
/// 删除
/// </summary>
protected void btnMenuDel_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
var model = Funs.DB.FeedingRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == Grid1.SelectedRowID);
if (model != null)
{
if (model.ApproveState != 0)
{
Alert.ShowInTop("只可删除待提交的记录!", MessageBoxIcon.Warning);
return;
}
Funs.DB.FeedingRun_InspectTailTerm.DeleteOnSubmit(model);
Funs.DB.SubmitChanges();
BindGrid();
Alert.ShowInTop("删除成功!", MessageBoxIcon.Success);
}
}
/// <summary>
/// 查询
/// </summary>
protected void btnQuery_Click(object sender, EventArgs e)
{
BindGrid();
}
/// <summary>
/// 弹框关闭
/// </summary>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
/// <summary>
/// 提交处理
/// </summary>
protected void btnSubmitReview_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
var passLs = new List<int>() { 0, 2 };
var model = Funs.DB.FeedingRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == Grid1.SelectedRowID);
if (model != null)
{
//0:待提交处理1:待处理2:处理退回3:审核退回4:待审核5:审核通过
if (!passLs.Contains(model.ApproveState.Value))
{
Alert.ShowInTop("只可提交“待提交处理”和“处理退回”的记录!", MessageBoxIcon.Warning);
return;
}
model.ApproveState = 1;
Funs.DB.SubmitChanges();
BindGrid();
Alert.ShowInTop("提交成功!", MessageBoxIcon.Success);
}
}
/// <summary>
/// 撤回提交
/// </summary>
protected void btnwithdraw_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
var model = Funs.DB.FeedingRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == Grid1.SelectedRowID);
if (model != null)
{
//0:待提交处理1:待处理2:处理退回3:审核退回4:待审核5:审核通过
if (model.ApproveState != 1)
{
Alert.ShowInTop("只可撤回“待处理”的记录!", MessageBoxIcon.Warning);
return;
}
model.ApproveState = 0;
Funs.DB.SubmitChanges();
BindGrid();
Alert.ShowInTop("撤回成功!", MessageBoxIcon.Success);
}
}
#endregion
#region
/// <summary>
/// 是否逾期返回
/// </summary>
/// <returns></returns>
public string IsOverdue(object diffDayVal, object approveStateVal)
{
var result = string.Empty;
var diffDay = 0;
var approveState = 0;
if (diffDayVal != null) diffDay = int.Parse(diffDayVal.ToString());
if (approveStateVal != null) approveStateVal = int.Parse(approveStateVal.ToString());
if (approveState != 5)
{
if (diffDay > 0)
{
result = "未逾期";
}
else if (diffDay == 0)
{
result = "即将逾期";
}
else if (diffDay < 0)
{
result = "已逾期";
}
}
else
{
result = "整改完毕";
}
return result;
}
#endregion
}
}

View File

@ -0,0 +1,233 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.TestRun.Feeding
{
public partial class InspectTailTermList
{
/// <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>
/// panelLeftRegion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelLeftRegion;
/// <summary>
/// tvControlItem 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tree tvControlItem;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// ddlApproveState 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlApproveState;
/// <summary>
/// txtStartTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtStartTime;
/// <summary>
/// txtEndTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtEndTime;
/// <summary>
/// btnQuery 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnQuery;
/// <summary>
/// btnNew 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnNew;
/// <summary>
/// btnModify 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnModify;
/// <summary>
/// btnSubmitReview 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSubmitReview;
/// <summary>
/// btnwithdraw 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnwithdraw;
/// <summary>
/// lblIsOverdue 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblIsOverdue;
/// <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>
/// Menu1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuModify 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuModify;
/// <summary>
/// btnMenuView 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuView;
/// <summary>
/// btnMenuDel 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuDel;
}
}

View File

@ -0,0 +1,66 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InspectTemplate.aspx.cs" Inherits="FineUIPro.Web.TestRun.Feeding.InspectTemplate" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>工作包模板管理</title>
<style>
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" ShowBorder="false" ShowHeader="false" Layout="Region">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="true" EnableCollapse="true" runat="server" DataIDField="WorkInspectId" DataKeyNames="WorkInspectId" AllowSorting="true" SortField="Sort" SortDirection="ASC" EnableColumnLines="true" EnableMultiSelect="false" OnRowCommand="Grid1_RowCommand" EnableRowGroup="true" DataRowGroupField="GroupName">
<Toolbars>
<f:Toolbar ID="Toolbar1" runat="server">
<Items>
<f:TextBox runat="server" Label="名称" LabelAlign="Right" ID="txtsWorkInspectName"></f:TextBox>
<f:Button ID="btnSearch" Icon="SystemSearch" Text="搜索" ToolTip="搜索" EnablePostBack="true" runat="server" OnClick="btnSearch_Click"></f:Button>
<f:ToolbarFill ID="ToolbarFill" runat="server"></f:ToolbarFill>
<f:Button ID="btnAdd" ToolTip="新增" Text="新增" Icon="Add" runat="server" OnClick="btnAdd_Click"></f:Button>
<f:Button ID="btnEdit" ToolTip="编辑" Text="编辑" Icon="ApplicationEdit" runat="server" OnClick="btnEdit_Click"></f:Button>
<f:TextBox runat="server" ID="hidSelectedNodeID" Hidden="true"></f:TextBox>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField EnablePagingNumber="true" Width="100px" HeaderTextAlign="Center" TextAlign="Center" />
<f:RenderField HeaderText="检查事项名称" ColumnID="WorkInspectName" DataField="WorkInspectName" FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="500px">
</f:RenderField>
<f:RenderField HeaderText="分组" ColumnID="GroupName" DataField="GroupName" HeaderTextAlign="Center" Width="200px" TextAlign="Center">
</f:RenderField>
<f:RenderField HeaderText="备注" ColumnID="Remark" DataField="Remark" SortField="Remark" FieldType="String" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:LinkButtonField Width="100px" ConfirmText="是否确认删除当前选中数据?" ConfirmTarget="Top"
CommandName="Delete" Icon="Delete" />
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
</Listeners>
</f:Grid>
</Items>
</f:Panel>
<f:Window ID="Window1" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="true" runat="server" IsModal="true" OnClose="Window1_Close" CloseAction="HidePostBack"
Width="800px" Height="600px">
</f:Window>
</form>
<script type="text/javascript">
// 返回false来阻止浏览器右键菜单
function onRowContextMenu(event, rowId) {
return false;
}
function reloadGrid() {
__doPostBack(null, 'reloadGrid');
}
</script>
</body>
</html>

View File

@ -0,0 +1,113 @@
using BLL;
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.Feeding
{
public partial class InspectTemplate : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.BindGrid();//加载树
}
}
#region
/// <summary>
/// 绑定数据
/// </summary>
public void BindGrid()
{
if (!string.IsNullOrWhiteSpace(txtsWorkInspectName.Text))
{
var list = Funs.DB.FeedingRun_WorkInspectTemplate.Where(x => x.WorkInspectName.Contains(txtsWorkInspectName.Text)).OrderBy(x => x.Sort);
Grid1.DataSource = list;
}
else
{
var list = Funs.DB.FeedingRun_WorkInspectTemplate.OrderBy(x => x.Sort);
Grid1.DataSource = list;
}
Grid1.DataBind();
}
/// <summary>
/// 搜索
/// </summary>
protected void btnSearch_Click(object sender, EventArgs e)
{
BindGrid();
}
/// <summary>
/// 行按钮事件
/// </summary>
protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
{
if (e.CommandName == "Delete")
{
string rowID = e.RowID;
var model = Funs.DB.FeedingRun_WorkInspectTemplate.FirstOrDefault(p => p.WorkInspectId == rowID);
if (model != null)
{
Funs.DB.FeedingRun_WorkInspectTemplate.DeleteOnSubmit(model);
Funs.DB.SubmitChanges();
BindGrid();
ShowNotify("删除成功!");
}
else
{
ShowNotify("删除错误!");
}
}
}
#endregion
/// <summary>
/// 新增
/// </summary>
protected void btnAdd_Click(object sender, EventArgs e)
{
this.hidSelectedNodeID.Text = string.Empty;
PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hidSelectedNodeID.ClientID)
+ Window1.GetShowReference($"InspectTemplateEdit.aspx?WorkInspectId=", "新增"));
}
/// <summary>
/// 编辑
/// </summary>
protected void btnEdit_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
ShowNotify("请选择一条数据!", MessageBoxIcon.Warning);
return;
}
var rowIndex = Grid1.SelectedRowIndex;
var rowId = Grid1.DataKeys[rowIndex][0].ToString();
this.hidSelectedNodeID.Text = string.Empty;
PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hidSelectedNodeID.ClientID)
+ Window1.GetShowReference($"InspectTemplateEdit.aspx?WorkInspectId={rowId}", "编辑"));
}
/// <summary>
/// 新增/编辑关闭
/// </summary>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
if (!string.IsNullOrWhiteSpace(hidSelectedNodeID.Text))
{
BindGrid();
}
}
}
}

View File

@ -0,0 +1,125 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.TestRun.Feeding
{
public partial class InspectTemplate
{
/// <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>
/// txtsWorkInspectName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtsWorkInspectName;
/// <summary>
/// btnSearch 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSearch;
/// <summary>
/// ToolbarFill 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill;
/// <summary>
/// btnAdd 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnAdd;
/// <summary>
/// btnEdit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnEdit;
/// <summary>
/// hidSelectedNodeID 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox hidSelectedNodeID;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
}
}

View File

@ -0,0 +1,71 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InspectTemplateEdit.aspx.cs" Inherits="FineUIPro.Web.TestRun.Feeding.InspectTemplateEdit" %>
<!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" Icon="SystemSave" runat="server" ToolTip="保存" ValidateForms="SimpleForm1" OnClick="btnSave_Click">
</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 ColumnWidth="100">
<Items>
<f:TextArea ID="txtWorkInspectName" runat="server" Label="检查事项名称" LabelAlign="Right" Required="true" LabelWidth="150px" MaxLength="200">
</f:TextArea>
</Items>
</f:FormRow>
<f:FormRow ColumnWidth="50,50">
<Items>
<f:TextBox ID="txtRemark" runat="server" Label="备注" LabelAlign="Right" Required="true" LabelWidth="150px" MaxLength="200"></f:TextBox>
<f:NumberBox ID="txtSort" runat="server" NoDecimal="true" Label="排序" LabelAlign="Right" Required="true" LabelWidth="150px"></f:NumberBox>
</Items>
</f:FormRow>
<f:FormRow runat="server">
<Items>
<f:DropDownList ID="ddlGroup" runat="server" Required="true" Label="分组类型" LabelAlign="Right" EmptyText="--请选择--">
<f:ListItem Text="设备、管道系统" Value="设备、管道系统" />
<f:ListItem Text="电仪系统" Value="电仪系统" />
<f:ListItem Text="公用系统" Value="公用系统" />
<f:ListItem Text="消防、安全、环境保护系统" Value="消防、安全、环境保护系统" />
<f:ListItem Text="分析化验" Value="分析化验" />
<f:ListItem Text="组织、人员、通讯、方案、规定" Value="组织、人员、通讯、方案、规定" />
<f:ListItem Text="保运、后勤保障" Value="保运、后勤保障" />
</f:DropDownList>
</Items>
</f:FormRow>
</Rows>
</f:Form>
</f:ContentPanel>
</Items>
</f:FormRow>
</Rows>
</f:Form>
</form>
</body>
</html>

View File

@ -0,0 +1,84 @@
using BLL;
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.Feeding
{
public partial class InspectTemplateEdit : PageBase
{
/// <summary>
/// 主键
/// </summary>
public string WorkInspectId
{
get { return (string)ViewState["WorkInspectId"]; }
set { ViewState["WorkInspectId"] = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.WorkInspectId = Request.Params["WorkInspectId"];
PageInit();
}
}
/// <summary>
/// 默认绑定
/// </summary>
public void PageInit()
{
if (!string.IsNullOrWhiteSpace(this.WorkInspectId))
{
var model = Funs.DB.FeedingRun_WorkInspectTemplate.FirstOrDefault(x => x.WorkInspectId == this.WorkInspectId);
if (model != null)
{
txtWorkInspectName.Text = model.WorkInspectName;
txtRemark.Text = model.Remark;
ddlGroup.SelectedValue = model.GroupName;
txtSort.Text = model.Sort != null ? model.Sort.ToString() : Funs.DB.FeedingRun_WorkInspectTemplate.Count().ToString();
}
}
else
{
txtSort.Text = (Funs.DB.FeedingRun_WorkInspectTemplate.Count() + 1).ToString();
}
}
/// <summary>
/// 保存
/// </summary>
protected void btnSave_Click(object sender, EventArgs e)
{
try
{
var model = Funs.DB.FeedingRun_WorkInspectTemplate.FirstOrDefault(x => x.WorkInspectId == this.WorkInspectId);
if (model == null) model = new Model.FeedingRun_WorkInspectTemplate();
model.WorkInspectName = txtWorkInspectName.Text;
model.GroupName = ddlGroup.SelectedValue;
model.Remark = txtRemark.Text;
model.Sort = int.Parse(txtSort.Text);
if (string.IsNullOrWhiteSpace(this.WorkInspectId))
{
model.WorkInspectId = Guid.NewGuid().ToString();
this.WorkInspectId = model.WorkInspectId;
model.AddUser = this.CurrUser.UserId;
model.AddTime = DateTime.Now;
Funs.DB.FeedingRun_WorkInspectTemplate.InsertOnSubmit(model);
}
Funs.DB.SubmitChanges();
ShowNotify("保存成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(this.WorkInspectId) + ActiveWindow.GetHidePostBackReference());
}
catch (Exception ex)
{
ShowNotify(ex.Message, MessageBoxIcon.Error);
}
}
}
}

View File

@ -0,0 +1,143 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.TestRun.Feeding
{
public partial class InspectTemplateEdit
{
/// <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>
/// txtWorkInspectName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtWorkInspectName;
/// <summary>
/// txtRemark 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtRemark;
/// <summary>
/// txtSort 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox txtSort;
/// <summary>
/// ddlGroup 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlGroup;
}
}

View File

@ -0,0 +1,119 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InspectWanderAboutAllPass.aspx.cs" Inherits="FineUIPro.Web.TestRun.Feeding.InspectWanderAboutAllPass" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>全部通过</title>
<style>
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
.mycheckbox .f-field-checkbox-switch .f-field-checkbox-switch-text {
min-width: 40px;
}
.f-grid-tpl .ispass input {
margin: 3px;
}
.f-grid-tpl .ispass label {
margin-left: 3px;
margin-right: 10px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Left">
<Rows>
<f:FormRow>
<Items>
<f:ContentPanel ID="ContentPanel1" Title="全部通过" ShowBorder="true"
BodyPadding="10px" EnableCollapse="true" ShowHeader="true" 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:Label ID="lblProjectName" runat="server" Label="项目名称" LabelAlign="Right"></f:Label>
<f:Label ID="lblProjectCode" runat="server" Label="项目号" LabelAlign="Right"></f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Label ID="lblDriverChargeName" runat="server" Label="装置开车负责人" LabelAlign="Right"></f:Label>
<f:Label ID="lblDrivingManagerName" runat="server" Label="开车经理" LabelAlign="Right"></f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Label ID="lblProjectManagerName" runat="server" Label="项目经理" LabelAlign="Right"></f:Label>
<f:Label ID="lblWorkPackName" runat="server" Label="工作包名称" LabelAlign="Right"></f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextArea ID="txtUnifyWanderAboutOpinion" ShowRedStar="true" Required="true" runat="server" Label="备注" MaxLength="3000"></f:TextArea>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:ContentPanel Title="是否统一流转" ShowBorder="true" BodyPadding="10px" EnableCollapse="true" ShowHeader="true" AutoScroll="true" runat="server">
<f:RadioButtonList ID="rblIsUnifyWanderAbout" Label="是否统一流转" LabelWidth="180px" LabelAlign="Right" ColumnNumber="2" runat="server" AutoColumnWidth="true">
<f:RadioItem Text="通过" Value="1" Selected="true" />
<f:RadioItem Text="未通过" Value="0" />
</f:RadioButtonList>
<f:Panel ID="Panel3" Width="500px" ShowHeader="false" ShowBorder="false" Layout="Column" CssClass="" runat="server">
<Items>
<f:Label ID="lblAttach" runat="server" Label="上传附件" LabelWidth="180px" LabelAlign="Right">
</f:Label>
<f:Button ID="btnAttach" Icon="TableCell" EnablePostBack="true" Text="附件" runat="server" OnClick="btnAttach_Click">
</f:Button>
</Items>
</f:Panel>
</f:ContentPanel>
</Items>
</f:FormRow>
</Rows>
</f:Form>
</f:ContentPanel>
</Items>
</f:FormRow>
</Rows>
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
<Items>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<f:Button ID="btnConfirm" Icon="SystemSaveNew" runat="server" Text="确认" ToolTip="确认" ValidateForms="SimpleForm1" OnClick="btnConfirm_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</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>
<script type="text/javascript">
// 返回false来阻止浏览器右键菜单
function onRowContextMenu(event, rowId) {
return false;
}
function reloadGrid() {
__doPostBack(null, 'reloadGrid');
}
</script>
</body>
</html>

View File

@ -0,0 +1,156 @@
using BLL;
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.Feeding
{
public partial class InspectWanderAboutAllPass : PageBase
{
/// <summary>
/// 检查表主键
/// </summary>
public string SubInspectId
{
get { return (string)ViewState["SubInspectId"]; }
set { ViewState["SubInspectId"] = value; }
}
/// <summary>
/// 统一处理附件
/// </summary>
public int UnifyImg
{
get { return (int)ViewState["UnifyImg"]; }
set { ViewState["UnifyImg"] = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.UnifyImg = 0;
this.SubInspectId = Request["SubInspectId"];
PageInit();
}
}
/// <summary>
/// 绑定数据
/// </summary>
public void PageInit()
{
var data = from term in Funs.DB.FeedingRun_SubInspectTerm
join pro in Funs.DB.Base_Project on term.ProjectId equals pro.ProjectId
join ua in Funs.DB.Sys_User on term.DriverCharge equals ua.UserId
join ub in Funs.DB.Sys_User on term.DrivingManager equals ub.UserId
join uc in Funs.DB.Sys_User on term.ProjectManager equals uc.UserId
where term.SubInspectId == this.SubInspectId
select new
{
term.SubInspectId,
term.ProjectId,
pro.ProjectName,
pro.ProjectCode,
term.AddUser,
term.AddTime,
DriverChargeName = ua.UserName,
DrivingManagerName = ub.UserName,
ProjectManagerName = uc.UserName,
term.IsUnifyWanderAbout,
term.UnifyWanderAboutData,
term.UnifyWanderAboutOpinion
};
if (data.Count() > 0)
{
var model = data.FirstOrDefault();
//项目名称
lblProjectName.Text = model.ProjectName;
//项目号
lblProjectCode.Text = model.ProjectCode;
//装置开车负责人
lblDriverChargeName.Text = model.DriverChargeName;
//开车经理
lblDrivingManagerName.Text = model.DrivingManagerName;
//项目经理
lblProjectManagerName.Text = model.ProjectManagerName;
//是否统一流转
rblIsUnifyWanderAbout.SelectedValue = model.IsUnifyWanderAbout != null ? model.IsUnifyWanderAbout.ToString() : "1";
//审核意见
txtUnifyWanderAboutOpinion.Text = model.UnifyWanderAboutOpinion;
}
}
/// <summary>
/// 确认
/// </summary>
protected void btnConfirm_Click(object sender, EventArgs e)
{
try
{
if (Funs.DB.AttachFile.Count(x => x.ToKeyId == this.SubInspectId + "_unify" && x.AttachUrl != null && x.AttachUrl != "") == 0)
{
ShowNotify("请上传附件!", MessageBoxIcon.Warning);
return;
}
var term = Funs.DB.FeedingRun_SubInspectTerm.FirstOrDefault(x => x.SubInspectId == this.SubInspectId);
if (term != null)
{
var isPass = int.Parse(rblIsUnifyWanderAbout.SelectedValue);
term.IsUnifyWanderAbout = isPass;
term.UnifyWanderAboutData = DateTime.Now;
term.UnifyWanderAboutOpinion = txtUnifyWanderAboutOpinion.Text;
term.DriverChargeIsAllPass = isPass;
term.DrivingManagerIsAllPass = isPass;
term.ProjectManagerIsAllPass = isPass;
term.WanderIsComplete = isPass;
term.InspectIsClose = isPass;
if (isPass == 1)
{
term.DriverChargeAllPassData = DateTime.Now;
term.DrivingManagerAllPassData = DateTime.Now;
term.ProjectManagerAllPassData = DateTime.Now;
term.WanderCompleteData = DateTime.Now;
term.InspectCloseData = DateTime.Now;
}
else
{
term.DriverChargeAllPassData = null;
term.DrivingManagerAllPassData = null;
term.ProjectManagerAllPassData = null;
term.WanderCompleteData = null;
term.InspectCloseData = null;
}
var termIetms = Funs.DB.FeedingRun_SubInspectTermItem.Where(x => x.SubInspectId == this.SubInspectId).ToList();
if (termIetms.Count > 0)
{
foreach (var item in termIetms)
{
item.DriverChargeIsPass = isPass;
item.DrivingManagerIsPass = isPass;
item.ProjectManagerIsPass = isPass;
Funs.DB.SubmitChanges();
}
}
ShowNotify("确认成功!", MessageBoxIcon.Success);
}
}
catch (Exception ex)
{
ShowNotify(ex.Message, MessageBoxIcon.Error);
}
}
/// <summary>
/// 附件上传
/// </summary>
protected void btnAttach_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/CheckControl&menuId={2}", UnifyImg, this.SubInspectId + "_unify", Const.TestRunMenuId)));
}
}
}

View File

@ -0,0 +1,197 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.TestRun.Feeding
{
public partial class InspectWanderAboutAllPass
{
/// <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>
/// ContentPanel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel ContentPanel1;
/// <summary>
/// Form2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form Form2;
/// <summary>
/// lblProjectName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblProjectName;
/// <summary>
/// lblProjectCode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblProjectCode;
/// <summary>
/// lblDriverChargeName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblDriverChargeName;
/// <summary>
/// lblDrivingManagerName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblDrivingManagerName;
/// <summary>
/// lblProjectManagerName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblProjectManagerName;
/// <summary>
/// lblWorkPackName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblWorkPackName;
/// <summary>
/// txtUnifyWanderAboutOpinion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtUnifyWanderAboutOpinion;
/// <summary>
/// rblIsUnifyWanderAbout 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButtonList rblIsUnifyWanderAbout;
/// <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>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnConfirm 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnConfirm;
/// <summary>
/// WindowAtt 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window WindowAtt;
}
}

View File

@ -0,0 +1,137 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InspectWanderAboutAllPassList.aspx.cs" Inherits="FineUIPro.Web.TestRun.Feeding.InspectWanderAboutAllPassList" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="../../Controls/My97DatePicker/WdatePicker.js" type="text/javascript"></script>
<title>检查表流转全部通过</title>
<style type="text/css">
.labcenter {
text-align: center;
}
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
.LabelColor {
color: Red;
font-size: small;
}
.Green {
background-color: Green;
color: white;
}
.Yellow {
background-color: #FFFF93;
}
.Red {
background-color: red;
}
.LightGreen {
background-color: LightGreen
}
.f-grid-colheader-text {
white-space: normal;
word-break: break-all;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" ShowBorder="false" ShowHeader="false" Layout="Region">
<Items>
<f:Panel runat="server" ID="panelLeftRegion" RegionPosition="Left" RegionSplit="true"
EnableCollapse="true" Width="300px" Title="检查表流转全部通过" ShowBorder="true" Layout="VBox"
ShowHeader="false" AutoScroll="true" BodyPadding="5px" IconFont="ArrowCircleLeft">
<Items>
<f:Tree ID="tvControlItem" ShowHeader="false" Title="工作包" OnNodeCommand="tvControlItem_NodeCommand"
runat="server" ShowBorder="false" EnableCollapse="true" EnableSingleClickExpand="true"
AutoLeafIdentification="true" EnableSingleExpand="false">
</f:Tree>
</Items>
</f:Panel>
<f:Grid ID="Grid1" ShowBorder="true" EnableAjax="false" ShowHeader="false" Title="检查表流转全部通过" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="SubInspectId" AllowCellEditing="true"
ClicksToEdit="2" DataIDField="SubInspectId" AllowSorting="true" SortField="AddTime"
SortDirection="DESC" OnSort="Grid1_Sort" EnableColumnLines="true" ForceFit="true"
AllowPaging="true" IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange"
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" AllowFilters="true" EnableTextSelection="True">
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnQuery" OnClick="btnQuery_Click" ToolTip="查询" Text="搜索" Icon="SystemSearch" EnablePostBack="true" runat="server"></f:Button>
<f:Button ID="btnAllPass" ToolTip="检查全部通过" Icon="Accept" Text="检查全部通过" runat="server" OnClick="btnAllPass_Click"></f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField />
<f:RenderField ColumnID="ProjectName" DataField="ProjectName" Width="300px" HeaderText="项目名称" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="DriverChargeName" DataField="DriverChargeName" Width="100px" HeaderText="装置开车负责人" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="DrivingManagerName" DataField="DrivingManagerName" Width="100px" HeaderText="开车经理" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="ProjectManagerName" DataField="ProjectManagerName" Width="100px" HeaderText="项目经理" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="IsUnifyWanderAboutName" DataField="IsUnifyWanderAboutName" Width="100px" HeaderText="是否全部通过" HeaderTextAlign="Center">
</f:RenderField>
</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>
<f:ToolbarFill runat="server">
</f:ToolbarFill>
</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" CloseAction="HidePostBack" OnClose="Window1_Close" AutoScroll="true"
Width="1300px" Height="660px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<Items>
<f:MenuButton ID="btnMenuAllPass" EnablePostBack="true" runat="server" Text="检查全部通过" Icon="Pencil"
OnClick="btnMenuAllPass_Click">
</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;
}
</script>
</body>
</html>

View File

@ -0,0 +1,173 @@
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.Feeding
{
public partial class InspectWanderAboutAllPassList : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
InitTreeMenu();
}
}
#region
/// <summary>
/// 加载树
/// </summary>
private void InitTreeMenu()
{
this.tvControlItem.Nodes.Clear();
TreeNode rootNode = new TreeNode();
rootNode.Text = "检查表";
rootNode.NodeID = "0";
rootNode.Expanded = true;
rootNode.ToolTip = "";
rootNode.EnableClickEvent = true;
this.tvControlItem.Nodes.Add(rootNode);
var inspectTerms = Funs.DB.FeedingRun_SubInspectTerm.Where(x => x.InspectionIsAllPass == 1).ToList();
if (inspectTerms.Count == 0) return;
var subInstallationIds = inspectTerms.ConvertAll(x => x.InstallationId);
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId));
if (list.Count() > 0)
{
foreach (var item in list)
{
TreeNode rootOneNode = new TreeNode();
rootOneNode.NodeID = item.PreRunId;
rootOneNode.Text = item.PreRunName;
rootOneNode.ToolTip = item.PreRunName;
rootOneNode.CommandName = "";
rootOneNode.EnableClickEvent = true;
rootOneNode.EnableExpandEvent = false;
rootNode.Nodes.Add(rootOneNode);
rootOneNode.Expanded = true;
}
}
}
/// <summary>
/// 树点击
/// </summary>
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
{
BindGrid();
}
#endregion
#region
/// <summary>
/// 绑定数据
/// </summary>
public void BindGrid()
{
string sqlStr = $"select a.SubInspectId,a.ProjectId,b.ProjectName,b.ProjectCode,a.AddUser,a.AddTime,c.UserName as DriverChargeName,d.UserName as DrivingManagerName,e.UserName as ProjectManagerName,IsUnifyWanderAbout,(case IsUnifyWanderAbout when 1 then '是' else '否' end) as IsUnifyWanderAboutName from FeedingRun_SubInspectTerm as a inner join Base_Project as b on a.ProjectId=b.ProjectId inner join Sys_User as c on c.UserId=a.DriverCharge inner join Sys_User as d on d.UserId=a.DrivingManager inner join Sys_User as e on e.UserId = a.ProjectManager where 1 = 1 and a.InspectionIsAllPass = 1 and a.ProjectId='{this.CurrUser.LoginProjectId}' ";
if (!string.IsNullOrWhiteSpace(this.tvControlItem.SelectedNodeID))
{
sqlStr += $"and a.InstallationId='{this.tvControlItem.SelectedNodeID}'";
}
List<SqlParameter> listStr = new List<SqlParameter>();
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(sqlStr);
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
/// <summary>
/// 分页
/// </summary>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
BindGrid();
}
/// <summary>
/// 双击事件
/// </summary>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
btnMenuAllPass_Click(null, null);
}
/// <summary>
/// 分页下拉框
/// </summary>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
/// <summary>
/// 排序
/// </summary>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
BindGrid();
}
#endregion
#region
/// <summary>
/// 查询
/// </summary>
protected void btnQuery_Click(object sender, EventArgs e)
{
BindGrid();
}
/// <summary>
/// 检查全部通过
/// </summary>
protected void btnAllPass_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请选择记录!", MessageBoxIcon.Warning);
return;
}
if (Grid1.SelectedRowIndexArray.Length > 1)
{
Alert.ShowInTop("只可选择一条记录!", MessageBoxIcon.Warning);
return;
}
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("InspectWanderAboutAllPass.aspx?SubInspectId={0}", Grid1.DataKeys[Grid1.SelectedRowIndex][0].ToString(), "检查全部通过 - ")));
}
/// <summary>
/// 右击检查全部通过
/// </summary>
protected void btnMenuAllPass_Click(object sender, EventArgs e)
{
btnAllPass_Click(null, null);
}
/// <summary>
/// 关闭
/// </summary>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
#endregion
}
}

View File

@ -0,0 +1,152 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.TestRun.Feeding
{
public partial class InspectWanderAboutAllPassList
{
/// <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>
/// panelLeftRegion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelLeftRegion;
/// <summary>
/// tvControlItem 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tree tvControlItem;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// btnQuery 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnQuery;
/// <summary>
/// btnAllPass 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnAllPass;
/// <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>
/// Menu1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuAllPass 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuAllPass;
}
}

View File

@ -0,0 +1,137 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InspectWanderAboutConfirm.aspx.cs" Inherits="FineUIPro.Web.TestRun.Feeding.InspectWanderAboutConfirm" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>签字确认</title>
<style>
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
.mycheckbox .f-field-checkbox-switch .f-field-checkbox-switch-text {
min-width: 40px;
}
.f-grid-tpl .ispass input {
margin: 3px;
}
.f-grid-tpl .ispass label {
margin-left: 3px;
margin-right: 10px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Left">
<Rows>
<f:FormRow ID="plApprove2">
<Items>
<f:ContentPanel ID="titleName" Title="检查项列表" ShowBorder="true"
BodyPadding="10px" EnableCollapse="true" ShowHeader="true" AutoScroll="true"
runat="server">
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" EnableCollapse="true" runat="server" DataIDField="TermItemId" DataKeyNames="TermItemId,InspectedUser,InspectionResults,SubInspectId,IsPass" AllowSorting="true" SortField="Sort" SortDirection="ASC" EnableColumnLines="true" AllowCellEditing="true" EnableMultiSelect="false" AllowFilters="true" OnSort="Grid1_Sort" EnableTextSelection="True" OnRowDataBound="Grid1_RowDataBound" ClicksToEdit="1">
<Toolbars>
<f:Toolbar ID="Toolbar1" runat="server">
<Items>
<f:ToolbarFill ID="ToolbarFill" runat="server"></f:ToolbarFill>
<f:Button ID="btnExport" runat="server" Icon="ApplicationGo" Text="导出" ToolTip="导出" EnableAjax="false" OnClick="btnExport_Click"></f:Button>
<f:Button ID="btnSave" Text="保存" ToolTip="保存" Icon="FilmSave" runat="server" OnClick="btnSave_Click"></f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField EnablePagingNumber="true" Width="50px" HeaderTextAlign="Center" TextAlign="Center" />
<f:RenderField HeaderText="检查人名称" ColumnID="InspectedUserName" DataField="InspectedUserName" Width="200px"></f:RenderField>
<f:RenderField HeaderText="检查事项" ColumnID="WorkInspectName" DataField="WorkInspectName" SortField="WorkInspectName" Width="400px"></f:RenderField>
<f:RenderField HeaderText="检查说明" ColumnID="InspectionIllustrate" DataField="InspectionIllustrate" Width="200px"></f:RenderField>
<f:TemplateField Width="200px" HeaderText="签字确认" ColumnID="IsPass">
<ItemTemplate>
<asp:RadioButtonList runat="server" RepeatLayout="Flow" CssClass="ispass" RepeatDirection="Horizontal" ID="rblIsPass" AutoPostBack="true" OnSelectedIndexChanged="rblIsPass_SelectedIndexChanged">
<asp:ListItem Text="通过" Value="1" Selected="True"></asp:ListItem>
<asp:ListItem Text="未通过" Value="0"></asp:ListItem>
</asp:RadioButtonList>
</ItemTemplate>
</f:TemplateField>
<f:RenderField HeaderText="备注" ColumnID="Remark" DataField="Remark" SortField="Remark"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="300px">
<Editor>
<f:TextBox runat="server" ID="txtRemark"></f:TextBox>
</Editor>
</f:RenderField>
</Columns>
</f:Grid>
</f:ContentPanel>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:ContentPanel ID="ContentPanel1" Title="检查项确认" ShowBorder="true"
BodyPadding="10px" EnableCollapse="true" ShowHeader="true" 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:RadioButtonList ID="rblIsAllPass" Label="是否同意进行预试车活动" LabelWidth="180px" LabelAlign="Right" ColumnNumber="2" runat="server" AutoColumnWidth="true" AutoPostBack="true" OnSelectedIndexChanged="rblIsAllPass_SelectedIndexChanged">
<f:RadioItem Text="通过" Value="1" Selected="true" />
<f:RadioItem Text="未通过" Value="0" />
</f:RadioButtonList>
<f:Panel ID="Panel3" Width="500px" ShowHeader="false" ShowBorder="false" Layout="Column" CssClass="" runat="server">
<Items>
<f:Label ID="lblAttach" runat="server" Label="上传附件" LabelWidth="180px" LabelAlign="Right">
</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>
<Items>
<f:Label ID="lblIsUnifyWanderAbout" runat="server" Label="是否统一流转通过" LabelWidth="160px" LabelAlign="Right"></f:Label>
<f:Label ID="lblUnifyWanderAboutData" runat="server" Label="统一流转通过时间" LabelWidth="160px" LabelAlign="Right"></f:Label>
</Items>
</f:FormRow>
<f:FormRow ID="unifyfile">
<Items>
<f:Panel ID="Panel2" ShowHeader="false" ShowBorder="false" Layout="Column" runat="server">
<Items>
<f:Label runat="server" Text="统一流转通过附件:" CssStyle="padding-left:25px" Width="160px" CssClass="marginr" ShowLabel="false"></f:Label>
<f:Button ID="btnUnifyUpload" Text="查看" ToolTip="查看" Icon="TableCell" runat="server"
OnClick="btnUnifyUpload_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>
<script type="text/javascript">
// 返回false来阻止浏览器右键菜单
function onRowContextMenu(event, rowId) {
return false;
}
function reloadGrid() {
__doPostBack(null, 'reloadGrid');
}
</script>
</body>
</html>

View File

@ -0,0 +1,651 @@
using BLL;
using Newtonsoft.Json.Linq;
using NPOI.SS.UserModel;
using NPOI.SS.Util;
using NPOI.XSSF.UserModel;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
namespace FineUIPro.Web.TestRun.Feeding
{
public partial class InspectWanderAboutConfirm : PageBase
{
/// <summary>
/// 检查表主键
/// </summary>
public string SubInspectId
{
get { return (string)ViewState["SubInspectId"]; }
set { ViewState["SubInspectId"] = value; }
}
/// <summary>
/// 类型
/// </summary>
public int ConfirmType
{
get { return (int)ViewState["ConfirmType"]; }
set { ViewState["ConfirmType"] = value; }
}
/// <summary>
/// 类型名称
/// </summary>
public string ConfirmTypeName
{
get { return (string)ViewState["ConfirmTypeName"]; }
set { ViewState["ConfirmTypeName"] = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.SubInspectId = Request.Params["SubInspectId"];
this.ConfirmType = int.Parse(Request.Params["ConfirmType"]);
if (this.ConfirmType == 1)
{
this.ConfirmTypeName = "装置开车负责人";
}
if (this.ConfirmType == 2)
{
this.ConfirmTypeName = "开车经理";
}
if (this.ConfirmType == 3)
{
this.ConfirmTypeName = "项目经理";
}
this.BindGrid();
}
}
#region
/// <summary>
/// 绑定数据
/// </summary>
public void BindGrid(int isPass = -1)
{
var term = Funs.DB.FeedingRun_SubInspectTerm.FirstOrDefault(x => x.SubInspectId == this.SubInspectId);
if (term != null)
{
lblIsUnifyWanderAbout.Text = term.IsUnifyWanderAbout == 1 ? "是" : "否";
lblUnifyWanderAboutData.Text = term.UnifyWanderAboutData != null ? term.UnifyWanderAboutData.Value.ToString("yyyy-MM-dd") : string.Empty;
unifyfile.Hidden = term.IsUnifyWanderAbout == 1 ? false : true;
}
var data = new List<ConfirmIsPass>();
var queryData = from a in Funs.DB.FeedingRun_SubInspectTermItem
join b in Funs.DB.Sys_User on a.InspectedUser equals b.UserId
where a.SubInspectId == this.SubInspectId
select new { a, b };
if (queryData.Count() > 0)
{
var list = queryData.ToList();
foreach (var item in list)
{
var model = new ConfirmIsPass();
model.TermItemId = item.a.TermItemId;
model.SubInspectId = item.a.SubInspectId;
model.WorkInspectName = item.a.WorkInspectName;
model.ConfirmType = this.ConfirmType;
model.ConfirmTypeName = this.ConfirmTypeName;
model.InspectedUser = item.a.InspectedUser;
model.InspectedUserName = item.b.UserName;
model.InspectionResults = item.a.InspectionResults.Value;
//1=装置开车负责人=开车经理=项目经理
if (this.ConfirmType == 1)
{
model.IsPass = isPass != -1 ? isPass : item.a.DriverChargeIsPass;
model.Remark = item.a.DriverChargeRemark;
}
if (this.ConfirmType == 2)
{
model.IsPass = isPass != -1 ? isPass : item.a.DrivingManagerIsPass;
model.Remark = item.a.DrivingManagerRemark;
}
if (this.ConfirmType == 3)
{
model.IsPass = isPass != -1 ? isPass : item.a.ProjectManagerIsPass;
model.Remark = item.a.ProjectManagerRemark;
}
data.Add(model);
}
}
Grid1.DataSource = data;
Grid1.DataBind();
titleName.Title = this.ConfirmType == 1 ? "装置开车负责人确认签字" : this.ConfirmType == 2 ? "开车经理确认签字" : this.ConfirmType == 3 ? "项目经理确认签字" : "";
}
/// <summary>
/// 排序
/// </summary>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
Grid1.SortDirection = e.SortDirection;
Grid1.SortField = e.SortField;
BindGrid();
}
#endregion
#region
/// <summary>
/// 保存
/// </summary>
protected void btnSave_Click(object sender, EventArgs e)
{
try
{
JArray mergedData = Grid1.GetMergedData();
foreach (JObject mergedRow in mergedData)
{
string status = mergedRow.Value<string>("status");
JObject values = mergedRow.Value<JObject>("values");
int i = mergedRow.Value<int>("index");
GridRow row = Grid1.Rows[i];
System.Web.UI.WebControls.RadioButtonList rblIsPass = (System.Web.UI.WebControls.RadioButtonList)row.FindControl("rblIsPass");
var termItemId = this.Grid1.Rows[i].DataKeys[0].ToString();
var inspectedUser = this.Grid1.Rows[i].DataKeys[1].ToString();
var model = Funs.DB.FeedingRun_SubInspectTermItem.FirstOrDefault(x => x.TermItemId == termItemId && x.InspectedUser == inspectedUser);
if (model != null)
{
if (!string.IsNullOrWhiteSpace(rblIsPass.SelectedValue))
{
//1=装置开车负责人=开车经理=项目经理
if (this.ConfirmType == 1)
{
model.DriverChargeIsPass = int.Parse(rblIsPass.SelectedValue);
model.DriverChargeRemark = values.Value<string>("Remark");
}
else if (this.ConfirmType == 2)
{
model.DrivingManagerIsPass = int.Parse(rblIsPass.SelectedValue);
model.DrivingManagerRemark = values.Value<string>("Remark");
}
else if (this.ConfirmType == 3)
{
model.ProjectManagerIsPass = int.Parse(rblIsPass.SelectedValue);
model.ProjectManagerRemark = values.Value<string>("Remark");
}
}
Funs.DB.SubmitChanges();
}
}
var subInspectId = this.Grid1.Rows[0].DataKeys[3].ToString();
var subModel = Funs.DB.FeedingRun_SubInspectTerm.FirstOrDefault(x => x.SubInspectId == subInspectId);
if (subModel != null)
{
//1=装置开车负责人=开车经理=项目经理
if (this.ConfirmType == 1)
{
if (Funs.DB.FeedingRun_SubInspectTermItem.Count(x => x.SubInspectId == subInspectId && x.DriverChargeIsPass.GetValueOrDefault() != 1) == 0)
{
subModel.DriverChargeIsAllPass = 1;
subModel.DriverChargeAllPassData = DateTime.Now;
}
else
{
subModel.DriverChargeIsAllPass = 0;
subModel.DriverChargeAllPassData = null;
}
}
else if (this.ConfirmType == 2)
{
if (Funs.DB.FeedingRun_SubInspectTermItem.Count(x => x.SubInspectId == subInspectId && x.DrivingManagerIsPass.GetValueOrDefault() != 1) == 0)
{
subModel.DrivingManagerIsAllPass = 1;
subModel.DrivingManagerAllPassData = DateTime.Now;
}
else
{
subModel.DrivingManagerIsAllPass = 0;
subModel.DrivingManagerAllPassData = null;
}
}
else if (this.ConfirmType == 3)
{
if (Funs.DB.FeedingRun_SubInspectTermItem.Count(x => x.SubInspectId == subInspectId && x.ProjectManagerIsPass.GetValueOrDefault() != 1) == 0)
{
subModel.ProjectManagerIsAllPass = 1;
subModel.ProjectManagerAllPassData = DateTime.Now;
}
else
{
subModel.ProjectManagerIsAllPass = 0;
subModel.ProjectManagerAllPassData = null;
}
}
//判断是否全部通过
if (subModel.DriverChargeIsAllPass == 1 && subModel.DrivingManagerIsAllPass == 1 && subModel.ProjectManagerIsAllPass == 1)
{
subModel.InspectIsClose = 1;
subModel.InspectCloseData = DateTime.Now;
subModel.WanderIsComplete = 1;
subModel.WanderCompleteData = DateTime.Now;
}
else
{
subModel.InspectIsClose = 0;
subModel.InspectCloseData = null;
subModel.WanderIsComplete = 0;
subModel.WanderCompleteData = null;
}
}
Funs.DB.SubmitChanges();
BindGrid();
ShowNotify("保存成功!");
}
catch (Exception ex)
{
ShowNotify(ex.Message, MessageBoxIcon.Error);
}
}
/// <summary>
/// 导出
/// </summary>
protected void btnExport_Click(object sender, EventArgs e)
{
string rootPath = Server.MapPath("~/") + Const.ExcelUrl;
//导出文件
string filePath = rootPath + DateTime.Now.ToString("yyyyMMddhhmmss") + "\\";
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);
}
string ReportFileName = filePath + this.ConfirmTypeName + "确认签字.xlsx";
//获取工作包检查表
var termData = from a in Funs.DB.FeedingRun_SubInspectTerm
join b in Funs.DB.Base_Project on a.ProjectId equals b.ProjectId
join zz in Funs.DB.PreRun_SysDevice on a.InstallationId equals zz.PreRunId//装置
select new { a.SubInspectId, a.ProjectId, b.ProjectName, b.ShortName, b.ProjectCode, a.InstallationId, a.DriverCharge, a.DrivingManager, a.ProjectManager, a.InspectionIsAllPass, a.DriverChargeIsAllPass, a.DrivingManagerIsAllPass, a.ProjectManagerIsAllPass, a.InspectTime, a.AddUser, a.AddTime, zzName = zz.PreRunName };
if (termData != null)
{
var termModel = termData.FirstOrDefault();
//获取工作包检查项表
var termItems = Funs.DB.FeedingRun_SubInspectTermItem.Where(x => x.SubInspectId == this.SubInspectId).OrderBy(x => x.Sort).ToList();
int rowIndex = 0;
XSSFWorkbook hssfworkbook = new XSSFWorkbook();
XSSFSheet ws = (XSSFSheet)hssfworkbook.CreateSheet(this.ConfirmTypeName + "确认签字");
#region
ws.SetColumnWidth(0, (7 * 256));
ws.SetColumnWidth(1, (4 * 256));
ws.SetColumnWidth(2, (4 * 256));
ws.SetColumnWidth(3, (4 * 256));
ws.SetColumnWidth(4, (10 * 256));
ws.SetColumnWidth(5, (10 * 256));
ws.SetColumnWidth(6, (10 * 256));
ws.SetColumnWidth(7, (10 * 256));
ws.SetColumnWidth(8, (3 * 256));
ws.SetColumnWidth(9, (3 * 256));
ws.SetColumnWidth(10, (3 * 256));
ws.SetColumnWidth(11, (3 * 256));
ws.SetColumnWidth(12, (3 * 256));
ws.SetColumnWidth(13, (3 * 256));
ws.SetColumnWidth(14, (3 * 256));
ws.SetColumnWidth(15, (3 * 256));
ws.SetColumnWidth(16, (3 * 256));
ws.SetColumnWidth(17, (3 * 256));
#endregion
#region
//头部样式居中
ICellStyle titleStyle = SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 14, true, true);
//头部样式靠左
ICellStyle leftTitleStyle = SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Left, 14, true, true);
//公共样式
ICellStyle style = SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 10.5, true);
//公共样式靠左
ICellStyle leftStyle = SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Left, 10.5, true);
//公共样式靠左上对其
ICellStyle leftTopStyle = SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, HorizontalAlignment.Left, 10.5, true);
//公共样式加粗
ICellStyle styleBold = SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 10.5, true, true);
#endregion
#region
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, rowIndex, rowIndex + 5, 0, 17);
//行1
var region = new CellRangeAddress(rowIndex, rowIndex + 2, 0, 0);
ws.AddMergedRegion(region);
byte[] bytes = File.ReadAllBytes(Server.MapPath("~/") + "Images\\Template.png");
int pictureIdx = hssfworkbook.AddPicture(bytes, PictureType.JPEG);
IDrawing patriarch = ws.CreateDrawingPatriarch();
IClientAnchor anchor = patriarch.CreateAnchor(0, 0, 0, 0, 0, rowIndex, 1, rowIndex + 2);
IPicture pict = patriarch.CreatePicture(anchor, pictureIdx);
//pict.Resize();
region = new CellRangeAddress(rowIndex, rowIndex + 2, 1, 3);
ws.AddMergedRegion(region);
ws.GetRow(rowIndex).GetCell(1).SetCellValue("中国五环工程有限公司");
ws.GetRow(rowIndex).GetCell(1).CellStyle =
ws.GetRow(rowIndex).GetCell(2).CellStyle =
ws.GetRow(rowIndex).GetCell(3).CellStyle = leftTitleStyle;
region = new CellRangeAddress(rowIndex, rowIndex, 4, 7);
ws.AddMergedRegion(region);
ws.GetRow(rowIndex).GetCell(4).SetCellValue(termModel.ProjectName);
ws.GetRow(rowIndex).GetCell(4).CellStyle = style;
region = new CellRangeAddress(rowIndex, rowIndex, 8, 12);
ws.AddMergedRegion(region);
ws.GetRow(rowIndex).GetCell(8).SetCellValue("项目号");
ws.GetRow(rowIndex).GetCell(8).CellStyle = style;
region = new CellRangeAddress(rowIndex, rowIndex, 13, 17);
ws.AddMergedRegion(region);
ws.GetRow(rowIndex).GetCell(13).SetCellValue(termModel.ProjectCode);
ws.GetRow(rowIndex).GetCell(13).CellStyle = style;
region = new CellRangeAddress(rowIndex + 1, rowIndex + 1, 4, 7);
ws.AddMergedRegion(region);
ws.GetRow(rowIndex + 1).GetCell(4).SetCellValue($"{termModel.zzName}");
ws.GetRow(rowIndex + 1).GetCell(4).CellStyle = style;
region = new CellRangeAddress(rowIndex + 1, rowIndex + 1, 8, 12);
ws.AddMergedRegion(region);
ws.GetRow(rowIndex + 1).GetCell(8).SetCellValue("(文件号)");
ws.GetRow(rowIndex + 1).GetCell(8).CellStyle = style;
region = new CellRangeAddress(rowIndex + 1, rowIndex + 1, 13, 17);
ws.AddMergedRegion(region);
ws.GetRow(rowIndex + 1).GetCell(13).SetCellValue("");
ws.GetRow(rowIndex + 1).GetCell(13).CellStyle = style;
region = new CellRangeAddress(rowIndex + 2, rowIndex + 2, 4, 7);
ws.AddMergedRegion(region);
ws.GetRow(rowIndex + 2).GetCell(4).SetCellValue($"投料试车条件检查表");
ws.GetRow(rowIndex + 2).GetCell(4).CellStyle = titleStyle;
region = new CellRangeAddress(rowIndex + 2, rowIndex + 2, 8, 12);
ws.AddMergedRegion(region);
ws.GetRow(rowIndex + 2).GetCell(8).SetCellValue("第 1 页");
ws.GetRow(rowIndex + 2).GetCell(8).CellStyle = style;
region = new CellRangeAddress(rowIndex + 2, rowIndex + 2, 13, 17);
ws.AddMergedRegion(region);
ws.GetRow(rowIndex + 2).GetCell(13).SetCellValue("共 1 页");
ws.GetRow(rowIndex + 2).GetCell(13).CellStyle = style;
//行4,行5
region = new CellRangeAddress(rowIndex + 3, rowIndex + 4, 0, 2);
ws.AddMergedRegion(region);
ws.GetRow(rowIndex + 3).GetCell(0).CellStyle = style;
ws.GetRow(rowIndex + 3).GetCell(0).SetCellValue("");
region = new CellRangeAddress(rowIndex + 3, rowIndex + 4, 3, 11);
ws.AddMergedRegion(region);
ws.GetRow(rowIndex + 3).GetCell(3).CellStyle = leftStyle;
ws.GetRow(rowIndex + 3).GetCell(3).SetCellValue("");
region = new CellRangeAddress(rowIndex + 3, rowIndex + 3, 12, 17);
ws.AddMergedRegion(region);
ws.GetRow(rowIndex + 3).GetCell(12).CellStyle = style;
ws.GetRow(rowIndex + 3).GetCell(12).SetCellValue("检查日期");
region = new CellRangeAddress(rowIndex + 4, rowIndex + 4, 12, 17);
ws.AddMergedRegion(region);
ws.GetRow(rowIndex + 4).GetCell(12).CellStyle = style;
ws.GetRow(rowIndex + 4).GetCell(12).SetCellValue(DateTime.Now.ToString("yyyy年MM月dd日"));
//行6
ws.GetRow(rowIndex + 5).GetCell(0).CellStyle = styleBold;
ws.GetRow(rowIndex + 5).GetCell(0).SetCellValue("序号");
region = new CellRangeAddress(rowIndex + 5, rowIndex + 5, 1, 7);
ws.AddMergedRegion(region);
ws.GetRow(rowIndex + 5).GetCell(1).CellStyle = styleBold;
ws.GetRow(rowIndex + 5).GetCell(1).SetCellValue("检查项目");
region = new CellRangeAddress(rowIndex + 5, rowIndex + 5, 8, 12);
ws.AddMergedRegion(region);
ws.GetRow(rowIndex + 5).GetCell(8).CellStyle = styleBold;
ws.GetRow(rowIndex + 5).GetCell(8).SetCellValue("结果");
region = new CellRangeAddress(rowIndex + 5, rowIndex + 5, 13, 17);
ws.AddMergedRegion(region);
ws.GetRow(rowIndex + 5).GetCell(13).CellStyle = styleBold;
ws.GetRow(rowIndex + 5).GetCell(13).SetCellValue("备注");
#endregion
#region
var start = rowIndex + 6;
var end = rowIndex + 5 + termItems.Count;
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, start, end, 0, 17);
//合并单元格
for (int hb = start; hb <= end; hb++)
{
region = new CellRangeAddress(hb, hb, 1, 7);
ws.AddMergedRegion(region);
region = new CellRangeAddress(hb, hb, 8, 12);
ws.AddMergedRegion(region);
region = new CellRangeAddress(hb, hb, 13, 17);
ws.AddMergedRegion(region);
}
//数据
int num = 1;
var dataIndex = 6;
foreach (var item in termItems)
{
//序号
ws.GetRow(dataIndex).GetCell(0).SetCellValue(num);
//检查项目
ws.GetRow(dataIndex).GetCell(1).SetCellValue(item.WorkInspectName);
ws.GetRow(dataIndex).GetCell(1).CellStyle = leftStyle;
//结果
ws.GetRow(dataIndex).GetCell(8).SetCellValue("");
//备注
ws.GetRow(dataIndex).GetCell(13).SetCellValue("");
dataIndex++;
num++;
}
rowIndex = start + termItems.Count;
#endregion
#region
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, rowIndex, rowIndex, 0, 17, 100);
//行1
ws.GetRow(rowIndex).GetCell(0).SetCellValue("结论");
region = new CellRangeAddress(rowIndex, rowIndex, 1, 17);
ws.AddMergedRegion(region);
ws.GetRow(rowIndex).GetCell(1).SetCellValue("是否同意进行(包括整改意见):");
ws.GetRow(rowIndex).GetCell(1).CellStyle = leftTopStyle;
//行2
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, rowIndex + 1, rowIndex + 1, 0, 17, 80);
ws.GetRow(rowIndex + 1).GetCell(0).SetCellValue("检查人员");
region = new CellRangeAddress(rowIndex + 1, rowIndex + 1, 1, 4);
ws.AddMergedRegion(region);
ws.GetRow(rowIndex + 1).GetCell(1).SetCellValue("施工单位:");
ws.GetRow(rowIndex + 1).GetCell(1).CellStyle = leftTopStyle;
region = new CellRangeAddress(rowIndex + 1, rowIndex + 1, 5, 6);
ws.AddMergedRegion(region);
ws.GetRow(rowIndex + 1).GetCell(5).SetCellValue("装置开车负责人:");
ws.GetRow(rowIndex + 1).GetCell(5).CellStyle = leftTopStyle;
region = new CellRangeAddress(rowIndex + 1, rowIndex + 1, 7, 11);
ws.AddMergedRegion(region);
ws.GetRow(rowIndex + 1).GetCell(7).SetCellValue("开车经理:");
ws.GetRow(rowIndex + 1).GetCell(7).CellStyle = leftTopStyle;
region = new CellRangeAddress(rowIndex + 1, rowIndex + 1, 12, 17);
ws.AddMergedRegion(region);
ws.GetRow(rowIndex + 1).GetCell(12).SetCellValue("项目经理:");
ws.GetRow(rowIndex + 1).GetCell(12).CellStyle = leftTopStyle;
#endregion
ws.PrintSetup.Landscape = false;
ws.PrintSetup.PaperSize = 9;
ws.ForceFormulaRecalculation = true;
using (FileStream filess = File.OpenWrite(ReportFileName))
{
hssfworkbook.Write(filess);
}
FileInfo filet = new FileInfo(ReportFileName);
Response.Clear();
Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.UTF8;
// 添加头信息,为"文件下载/另存为"对话框指定默认文件名
Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(this.ConfirmTypeName + "确认签字.xlsx"));
// 添加头信息,指定文件大小,让浏览器能够显示下载进度
Response.AddHeader("Content-Length", filet.Length.ToString());
// 指定返回的是一个不能被客户端读取的流,必须被下载
Response.ContentType = "application/ms-excel";
// 把文件流发送到客户端
Response.WriteFile(filet.FullName);
// 停止页面的执行
Response.End();
}
}
/// <summary>
/// 行加载事件
/// </summary>
protected void Grid1_RowDataBound(object sender, GridRowEventArgs e)
{
System.Web.UI.WebControls.RadioButtonList rblIsPass = (System.Web.UI.WebControls.RadioButtonList)Grid1.Rows[e.RowIndex].FindControl("rblIsPass");
int isPass = 1;
if (Grid1.DataKeys[e.RowIndex][4] != null) isPass = int.Parse(Grid1.DataKeys[e.RowIndex][4].ToString());
rblIsPass.SelectedValue = isPass.ToString();
if (rblIsPass.SelectedValue != "1")
{
rblIsAllPass.SelectedValue = "0";
}
}
/// <summary>
/// 实体绑定
/// </summary>
public class ConfirmIsPass
{
/// <summary>
/// 检查项主键
/// </summary>
public string TermItemId { get; set; }
/// <summary>
/// 检查表主键
/// </summary>
public string SubInspectId { get; set; }
/// <summary>
/// 检查人
/// </summary>
public string InspectedUser { get; set; }
/// <summary>
/// 检查人名称
/// </summary>
public string InspectedUserName { get; set; }
/// <summary>
/// 检查结果
/// </summary>
public int InspectionResults { get; set; }
/// <summary>
/// 名称
/// </summary>
public string WorkInspectName { get; set; }
/// <summary>
/// 确认类型1=装置开车负责人2=开车经理3=项目经理
/// </summary>
public int ConfirmType { get; set; }
/// <summary>
/// 确认类型名称
/// </summary>
public string ConfirmTypeName { get; set; }
/// <summary>
/// 是否通过
/// </summary>
public int? IsPass { get; set; }
/// <summary>
/// 备注
/// </summary>
public string Remark { get; set; }
}
/// <summary>
/// 检查项确认事件
/// </summary>
protected void rblIsPass_SelectedIndexChanged(object sender, EventArgs e)
{
for (int i = 0; i < Grid1.Rows.Count; i++)
{
System.Web.UI.WebControls.RadioButtonList rblIsPass = (System.Web.UI.WebControls.RadioButtonList)Grid1.Rows[i].FindControl("rblIsPass");
if (rblIsPass.SelectedValue != "1")
{
rblIsAllPass.SelectedValue = "0";
}
}
}
/// <summary>
/// 是否同意进行预试车活动事件
/// </summary>
protected void rblIsAllPass_SelectedIndexChanged(object sender, EventArgs e)
{
BindGrid(int.Parse(rblIsAllPass.SelectedValue));
}
/// <summary>
/// 附件上传
/// </summary>
protected void btnAttach_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/CheckControl&menuId={1}", $"{this.SubInspectId}_{this.ConfirmType}", Const.TestRunMenuId)));
}
/// <summary>
/// 统一流转通过附件查看
/// </summary>
protected void btnUnifyUpload_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=-1&toKeyId={0}&path=FileUpload/CheckControl&menuId={1}", this.SubInspectId + "_unify", Const.TestRunMenuId)));
}
#endregion
#region
/// <summary>
/// 创建样式
/// </summary>
/// <returns></returns>
public static ICellStyle SetExcelStyle(XSSFWorkbook wb, BorderStyle Bottom, BorderStyle Left, BorderStyle Right, BorderStyle Top, VerticalAlignment VerAig, HorizontalAlignment HorAig, double FontSize, bool WrapText = true, bool Bold = false, string FontName = "宋体")
{
ICellStyle style = wb.CreateCellStyle();
style.BorderBottom = Bottom;
style.BorderLeft = Left;
style.BorderRight = Right;
style.BorderTop = Top;
style.VerticalAlignment = VerAig;
style.Alignment = HorAig;
IFont font = wb.CreateFont();
font.FontHeightInPoints = FontSize;
font.IsBold = Bold;
font.FontName = FontName;
style.SetFont(font);
style.WrapText = WrapText;
return style;
}
/// <summary>
/// 创建头部
/// </summary>
/// <returns></returns>
private XSSFSheet ExcelCreateRowTitle(XSSFSheet ws, XSSFWorkbook hssfworkbook, ICellStyle style, int sRows, int eRows, int cStart, int cEnd, float height = 21)
{
for (int i = sRows; i <= eRows; i++)
{
ws.CreateRow(i);
ws.GetRow(i).HeightInPoints = height;
for (int j = cStart; j <= cEnd; j++)
{
ws.GetRow(i).CreateCell(j);
ws.GetRow(i).CreateCell(j).CellStyle = style;
}
}
return ws;
}
#endregion
}
}

View File

@ -0,0 +1,233 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.TestRun.Feeding
{
public partial class InspectWanderAboutConfirm
{
/// <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>
/// plApprove2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.FormRow plApprove2;
/// <summary>
/// titleName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel titleName;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// ToolbarFill 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill;
/// <summary>
/// btnExport 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnExport;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// rblIsPass 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.RadioButtonList rblIsPass;
/// <summary>
/// txtRemark 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtRemark;
/// <summary>
/// ContentPanel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel ContentPanel1;
/// <summary>
/// Form2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form Form2;
/// <summary>
/// rblIsAllPass 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButtonList rblIsAllPass;
/// <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>
/// lblIsUnifyWanderAbout 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblIsUnifyWanderAbout;
/// <summary>
/// lblUnifyWanderAboutData 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblUnifyWanderAboutData;
/// <summary>
/// unifyfile 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.FormRow unifyfile;
/// <summary>
/// Panel2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel2;
/// <summary>
/// btnUnifyUpload 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnUnifyUpload;
/// <summary>
/// WindowAtt 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window WindowAtt;
}
}

View File

@ -0,0 +1,139 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InspectWanderAboutList.aspx.cs" Inherits="FineUIPro.Web.TestRun.Feeding.InspectWanderAboutList" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="../../Controls/My97DatePicker/WdatePicker.js" type="text/javascript"></script>
<title>检查表流转</title>
<style type="text/css">
.labcenter {
text-align: center;
}
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
.LabelColor {
color: Red;
font-size: small;
}
.Green {
background-color: Green;
color: white;
}
.Yellow {
background-color: #FFFF93;
}
.Red {
background-color: red;
}
.LightGreen {
background-color: LightGreen
}
.f-grid-colheader-text {
white-space: normal;
word-break: break-all;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" ShowBorder="false" ShowHeader="false" Layout="Region">
<Items>
<f:Panel runat="server" ID="panelLeftRegion" RegionPosition="Left" RegionSplit="true"
EnableCollapse="true" Width="300px" Title="检查表流转" ShowBorder="true" Layout="VBox"
ShowHeader="false" AutoScroll="true" BodyPadding="5px" IconFont="ArrowCircleLeft">
<Items>
<f:Tree ID="tvControlItem" ShowHeader="false" Title="工作包" OnNodeCommand="tvControlItem_NodeCommand"
runat="server" ShowBorder="false" EnableCollapse="true" EnableSingleClickExpand="true"
AutoLeafIdentification="true" EnableSingleExpand="false">
</f:Tree>
</Items>
</f:Panel>
<f:Grid ID="Grid1" ShowBorder="true" EnableAjax="false" ShowHeader="false" Title="检查表流转" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="Id,SubInspectId,ConfirmType" AllowCellEditing="true"
ClicksToEdit="2" DataIDField="Id" AllowSorting="true" SortField="AddTime"
SortDirection="DESC" OnSort="Grid1_Sort" EnableColumnLines="true" ForceFit="true"
AllowPaging="true" IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange"
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" AllowFilters="true" EnableTextSelection="True" EnableMultiSelect="false" EnableCheckBoxSelect="true">
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnQuery" OnClick="btnQuery_Click" ToolTip="查询" Text="搜索" Icon="SystemSearch" EnablePostBack="true" runat="server"></f:Button>
<f:Button ID="btnConfirmation" ToolTip="检查确认" Icon="Accept" Text="确认签字" runat="server" OnClick="btnConfirmation_Click"></f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField />
<f:RenderField ColumnID="ProjectName" DataField="ProjectName" Width="300px" HeaderText="项目名称" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="ConfirmName" DataField="ConfirmName" HeaderText="确认人类型" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="WaitConfirmNum" DataField="WaitConfirmNum" Width="100px" HeaderText="检查项待确认数" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="PassConfirmNum" DataField="PassConfirmNum" Width="110px" HeaderText="检查项确认通过数" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="FailConfirmNum" DataField="FailConfirmNum" Width="110px" HeaderText="检查项确认未通过数" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="IsUnifyWanderAboutName" DataField="IsUnifyWanderAboutName" Width="110px" HeaderText="是否统一流转" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
</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>
<f:ToolbarFill runat="server">
</f:ToolbarFill>
</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" CloseAction="HidePostBack" OnClose="Window1_Close" AutoScroll="true"
Width="1300px" Height="660px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<Items>
<f:MenuButton ID="btnMenuConfirmation" EnablePostBack="true" runat="server" Text="检查确认" Icon="Pencil"
OnClick="btnMenuConfirmation_Click">
</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;
}
</script>
</body>
</html>

View File

@ -0,0 +1,192 @@
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.Feeding
{
public partial class InspectWanderAboutList : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
InitTreeMenu();
}
}
#region
/// <summary>
/// 加载树
/// </summary>
private void InitTreeMenu()
{
this.tvControlItem.Nodes.Clear();
TreeNode rootNode = new TreeNode();
rootNode.Text = "检查表";
rootNode.NodeID = "0";
rootNode.Expanded = true;
rootNode.ToolTip = "";
rootNode.EnableClickEvent = true;
this.tvControlItem.Nodes.Add(rootNode);
var inspectTerms = Funs.DB.FeedingRun_SubInspectTerm.Where(x => (x.DriverCharge == this.CurrUser.UserId && x.InspectionIsAllPass == 1) || (x.DrivingManager == this.CurrUser.UserId && x.InspectionIsAllPass == 1) || (x.ProjectManager == this.CurrUser.UserId && x.InspectionIsAllPass == 1)).ToList();
if (inspectTerms.Count == 0) return;
var subInstallationIds = inspectTerms.ConvertAll(x => x.InstallationId);
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId));
if (list.Count() > 0)
{
var ids = list.Select(x => x.ProcessesId).ToList();
ids.AddRange(list.Select(x => x.PreRunId).ToList());
ids = ids.Distinct().ToList();
var syslist = Funs.DB.PreRun_SysDevice.Where(x => ids.Contains(x.PreRunId)).ToList();
if (syslist.Count > 0)
{
foreach (var item in list)
{
TreeNode rootOneNode = new TreeNode();
rootOneNode.NodeID = item.PreRunId;
rootOneNode.Text = item.PreRunName;
rootOneNode.ToolTip = item.PreRunName;
rootOneNode.CommandName = "";
rootOneNode.EnableClickEvent = true;
rootOneNode.EnableExpandEvent = false;
rootNode.Nodes.Add(rootOneNode);
rootOneNode.Expanded = true;
}
}
}
}
/// <summary>
/// 树点击
/// </summary>
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
{
BindGrid();
}
#endregion
#region
/// <summary>
/// 绑定数据
/// </summary>
public void BindGrid()
{
//装置开车负责人
string driverChargeStr = $"select NEWID() as Id,a.SubInspectId,a.ProjectId,b.ProjectName,b.ProjectCode,a.DriverCharge,a.DrivingManager,a.ProjectManager,1 as ConfirmType,'装置开车负责人' as ConfirmName,(select count (1) from FeedingRun_SubInspectTermItem as t where t.SubInspectId=a.SubInspectId and t.DriverChargeIsPass is null) as WaitConfirmNum,(select count (1) from FeedingRun_SubInspectTermItem as t where t.SubInspectId=a.SubInspectId and t.DriverChargeIsPass=1) as PassConfirmNum,(select count (1) from FeedingRun_SubInspectTermItem as t where t.SubInspectId=a.SubInspectId and t.DriverChargeIsPass=0) as FailConfirmNum,a.AddUser,a.AddTime,a.IsUnifyWanderAbout,(case IsUnifyWanderAbout when 1 then '是' else '否' end) as IsUnifyWanderAboutName,a.InstallationId from FeedingRun_SubInspectTerm as a inner join Base_Project as b on a.ProjectId=b.ProjectId where 1=1 and a.InspectionIsAllPass=1 and a.ProjectId='{this.CurrUser.LoginProjectId}' and a.DriverCharge='{this.CurrUser.UserId}' ";
//开车经理
string drivingManagerStr = $"select NEWID() as Id,a.SubInspectId,a.ProjectId,b.ProjectName,b.ProjectCode,a.DriverCharge,a.DrivingManager,a.ProjectManager,2 as ConfirmType,'开车经理' as ConfirmName,(select count(1) from FeedingRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.DrivingManagerIsPass is null) as WaitConfirmNum,(select count(1) from FeedingRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.DrivingManagerIsPass = 1) as PassConfirmNum,(select count(1) from FeedingRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.DrivingManagerIsPass = 0) as FailConfirmNum,a.AddUser,a.AddTime,a.IsUnifyWanderAbout,(case IsUnifyWanderAbout when 1 then '是' else '否' end) as IsUnifyWanderAboutName,a.InstallationId from FeedingRun_SubInspectTerm as a inner join Base_Project as b on a.ProjectId = b.ProjectId where 1 = 1 and a.InspectionIsAllPass = 1 and a.ProjectId = '{this.CurrUser.LoginProjectId}' and a.DrivingManager = '{this.CurrUser.UserId}' ";
//项目经理
string projectManagerStr = $"select NEWID() as Id,a.SubInspectId,a.ProjectId,b.ProjectName,b.ProjectCode,a.DriverCharge,a.DrivingManager,a.ProjectManager,3 as ConfirmType,'项目经理' as ConfirmName,(select count(1) from FeedingRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.ProjectManagerIsPass is null) as WaitConfirmNum,(select count(1) from FeedingRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.ProjectManagerIsPass = 1) as PassConfirmNum,(select count(1) from FeedingRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.ProjectManagerIsPass = 0) as FailConfirmNum,a.AddUser,a.AddTime,a.IsUnifyWanderAbout,(case IsUnifyWanderAbout when 1 then '是' else '否' end) as IsUnifyWanderAboutName,a.InstallationId from FeedingRun_SubInspectTerm as a inner join Base_Project as b on a.ProjectId = b.ProjectId where 1 = 1 and a.InspectionIsAllPass = 1 and a.InspectionIsAllPass = 1 and a.InspectionIsAllPass = 1 and a.ProjectId = '{this.CurrUser.LoginProjectId}' and a.ProjectManager = '{this.CurrUser.UserId}' ";
if (!string.IsNullOrWhiteSpace(this.tvControlItem.SelectedNodeID))
{
var systemId = this.tvControlItem.SelectedNodeID.Split('|').Last();
driverChargeStr += $"and a.InstallationId='{systemId}'";
drivingManagerStr += $"and a.InstallationId='{systemId}'";
projectManagerStr += $"and a.InstallationId='{systemId}'";
}
var allSql = $"select * from ({driverChargeStr} union all {drivingManagerStr} union all {projectManagerStr}) as t order by t.ConfirmType asc";
List<SqlParameter> listStr = new List<SqlParameter>();
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(allSql);
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
/// <summary>
/// 分页
/// </summary>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
BindGrid();
}
/// <summary>
/// 双击事件
/// </summary>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
btnMenuConfirmation_Click(null, null);
}
/// <summary>
/// 分页下拉框
/// </summary>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
/// <summary>
/// 排序
/// </summary>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
BindGrid();
}
#endregion
#region
/// <summary>
/// 查询
/// </summary>
protected void btnQuery_Click(object sender, EventArgs e)
{
BindGrid();
}
/// <summary>
/// 检查确认
/// </summary>
protected void btnConfirmation_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请选择记录!", MessageBoxIcon.Warning);
return;
}
if (Grid1.SelectedRowIndexArray.Length > 1)
{
Alert.ShowInTop("只可选择一条记录!", MessageBoxIcon.Warning);
return;
}
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("InspectWanderAboutConfirm.aspx?SubInspectId={0}&ConfirmType={1}", Grid1.DataKeys[Grid1.SelectedRowIndex][1].ToString(), Grid1.DataKeys[Grid1.SelectedRowIndex][2].ToString(), "编辑 - ")));
}
/// <summary>
/// 右击检查确认
/// </summary>
protected void btnMenuConfirmation_Click(object sender, EventArgs e)
{
btnConfirmation_Click(null, null);
}
/// <summary>
/// 关闭
/// </summary>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
#endregion
}
}

View File

@ -0,0 +1,152 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.TestRun.Feeding
{
public partial class InspectWanderAboutList
{
/// <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>
/// panelLeftRegion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelLeftRegion;
/// <summary>
/// tvControlItem 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tree tvControlItem;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// btnQuery 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnQuery;
/// <summary>
/// btnConfirmation 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnConfirmation;
/// <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>
/// Menu1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuConfirmation 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuConfirmation;
}
}

View File

@ -0,0 +1,44 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SelectTailTermList.aspx.cs" Inherits="FineUIPro.Web.TestRun.Feeding.SelectTailTermList" %>
<!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" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="TailTermId" DataIDField="TailTermId" ForceFit="true"
AllowSorting="true" SortField="AddTime" SortDirection="DESC" OnSort="Grid1_Sort" EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick"
EnableColumnLines="true" AllowPaging="true" PageSize="1000">
<Toolbars>
<f:Toolbar ID="Toolbar3" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnSave" Icon="Accept" runat="server" OnClick="btnSave_Click" Text="确认" ToolTip="确认">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField EnablePagingNumber="true" Width="100px" HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center" />
<f:RenderField Width="250px" ColumnID="TailTermCode" DataField="TailTermCode"
FieldType="String" HeaderText="巡检编号" TextAlign="Left" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="250px" ColumnID="ConstructionUnit" DataField="ConstructionUnit" SortField="ConstructionUnit"
FieldType="String" HeaderText="施工单位" TextAlign="Left" HeaderTextAlign="Center">
</f:RenderField>
<f:BoundField DataField="AdjustCompleteTime" DataFormatString="{0:yyyy-MM-dd}" HeaderText="整改完成时间" />
</Columns>
</f:Grid>
</Items>
</f:Panel>
</form>
</body>
</html>

View File

@ -0,0 +1,89 @@
using BLL;
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.Feeding
{
public partial class SelectTailTermList : PageBase
{
/// <summary>
/// 检查项主键
/// </summary>
public string TermItemId
{
get { return (string)ViewState["TermItemId"]; }
set { ViewState["TermItemId"] = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.TermItemId = Request["TermItemId"];
DataBrid();
}
}
/// <summary>
/// 数据绑定
/// </summary>
public void DataBrid()
{
var list = from a in Funs.DB.FeedingRun_InspectTailTerm
join b in Funs.DB.Base_Unit on a.ConstructionUnit equals b.UnitId
where a.TermItemId == this.TermItemId && a.ApproveState == 0
orderby a.AddTime
select new
{
a.TailTermId,
a.AddTime,
a.TailTermCode,
ConstructionUnit = b.UnitName,
a.AdjustCompleteTime
};
Grid1.RecordCount = list.Count();
Grid1.DataSource = list;
Grid1.DataBind();
}
/// <summary>
/// 排序
/// </summary>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
Grid1.SortDirection = e.SortDirection;
Grid1.SortField = e.SortField;
DataBrid();
}
#region
/// <summary>
/// 确认
/// </summary>
protected void btnSave_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(Grid1.SelectedRowID) + ActiveWindow.GetHidePostBackReference());
}
#endregion
/// <summary>
/// 表格双击事件
/// </summary>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(Grid1.SelectedRowID) + ActiveWindow.GetHidePostBackReference());
}
}
}

View File

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

View File

@ -0,0 +1,158 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SubInspectTerm.aspx.cs" Inherits="FineUIPro.Web.TestRun.Feeding.SubInspectTerm" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>投料试车管理</title>
<style>
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
.f-grid-cell[data-color=color] {
display: none;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" ShowBorder="false" ShowHeader="false" Layout="Region">
<Items>
<f:Panel runat="server" ID="panelLeftRegion" RegionPosition="Left" RegionSplit="true"
EnableCollapse="true" Width="260px" Title="投料试车管理" ShowBorder="true" Layout="VBox"
ShowHeader="false" AutoScroll="true" BodyPadding="5px" IconFont="ArrowCircleLeft">
<Items>
<f:Tree ID="tvControlItem" ShowHeader="false" Title="工作包" OnNodeCommand="tvControlItem_NodeCommand"
runat="server" ShowBorder="false" EnableCollapse="true" EnableSingleClickExpand="true"
AutoLeafIdentification="true" EnableSingleExpand="false">
</f:Tree>
</Items>
</f:Panel>
<f:Grid ID="Grid1" IsFluid="true" ShowBorder="true" ShowHeader="true" Title="投料试车管理" runat="server" EnableCollapse="true" SortField="Sort" SortDirection="ASC" DataKeyNames="TermItemId,WorkInspectId,SubInspectId,GroupName,Level,ParentId,WorkInspectName,GroupSort,InspectionResults,InspectionIllustrate" EnableTree="true" TreeColumn="GroupName" DataIDField="TermItemId" AllowPaging="false" DataParentIDField="ParentId" AllowCellEditing="true" ClicksToEdit="1" OnRowCommand="Grid1_RowCommand" ExpandAllTreeNodes="true" TreeCheckBox="false" TreeCascadeCheck="false" OnRowDataBound="Grid1_RowDataBound">
<Toolbars>
<f:Toolbar ID="Toolbar1" runat="server">
<Items>
<f:ToolbarFill ID="ToolbarFill" runat="server"></f:ToolbarFill>
<f:Button ID="btnAdd" ToolTip="新增" Text="新增" Icon="Add" runat="server" OnClick="btnAdd_Click"></f:Button>
<f:Button ID="btnModify" Text="修改" ToolTip="修改" Icon="Pencil" runat="server" OnClick="btnModify_Click"></f:Button>
<f:Button ID="btnSave" Text="保存" ToolTip="保存" Icon="FilmSave" runat="server" OnClientClick="if(!isValid()){return false;}" OnClick="btnSave_Click"></f:Button>
<f:TextBox runat="server" ID="hidRequestNodeID" Hidden="true"></f:TextBox>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField />
<f:RenderField HeaderText="分组名称" ColumnID="GroupName" DataField="GroupName" HeaderTextAlign="Center" TextAlign="Left" Width="260px">
</f:RenderField>
<f:RenderField HeaderText="检查事项" ColumnID="WorkInspectName" DataField="WorkInspectName" HeaderTextAlign="Center" TextAlign="Left" Width="400px">
<Editor>
<f:TextBox runat="server" ID="txtWorkInspectName"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField ExpandUnusedSpace="true" MinWidth="100px" ColumnID="InspectedUser" DataField="InspectedUser"
HeaderText="检查人" RendererFunction="renderInspectedUser">
<Editor>
<f:DropDownList ID="ddlInspectedUser" Required="true" EnableEdit="false" ForceSelection="false" runat="server">
</f:DropDownList>
</Editor>
</f:RenderField>
<f:RenderField ExpandUnusedSpace="true" MinWidth="100px" ColumnID="InspectionResults" DataField="InspectionResults" HtmlEncode="false" HeaderText="检查结果">
</f:RenderField>
<f:RenderField ExpandUnusedSpace="true" MinWidth="150px" ColumnID="InspectionIllustrate" DataField="InspectionIllustrate" HtmlEncode="false" HeaderText="说明">
</f:RenderField>
<f:LinkButtonField Width="50px" ConfirmText="是否确认删除当前选中节点和节点下的所有数据?" ConfirmTarget="Top"
CommandName="Delete" Icon="Delete" />
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
</Listeners>
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Bottom" runat="server">
<Items>
<f:ToolbarFill ID="ToolbarFill1" runat="server"></f:ToolbarFill>
<f:DropDownList ID="ddlDriverCharge" Required="true" Label="装置开车负责人" LabelAlign="Right" AutoSelectFirstItem="false" LabelWidth="120px" runat="server">
</f:DropDownList>
<f:DropDownList ID="ddlDrivingManager" Required="true" Label="开车经理" LabelAlign="Right" AutoSelectFirstItem="false" LabelWidth="120px" runat="server">
</f:DropDownList>
<f:DropDownList ID="ddlProjectManager" Required="true" Label="项目经理" LabelAlign="Right" AutoSelectFirstItem="false" LabelWidth="120px" runat="server">
</f:DropDownList>
</Items>
</f:Toolbar>
</Toolbars>
</f:Grid>
</Items>
</f:Panel>
<f:Window ID="Window1" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="true" runat="server" IsModal="true" OnClose="Window1_Close" CloseAction="HidePostBack"
Width="800px" Height="600px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<Items>
<f:MenuButton ID="btnMenuModify" EnablePostBack="true" runat="server" Text="修改" Icon="Pencil"
OnClick="btnMenuModify_Click">
</f:MenuButton>
<f:MenuButton ID="btnMenuParentAdd" EnablePostBack="true" runat="server" Text="新增" Icon="Add"
OnClick="btnMenuParentAdd_Click">
</f:MenuButton>
</Items>
</f:Menu>
</form>
<script src="../../res/js/grid.js"></script>
<script type="text/javascript">
var menuID = '<%= Menu1.ClientID %>';
// 返回false来阻止浏览器右键菜单
function onRowContextMenu(event, rowId) {
return false;
}
function reloadGrid() {
__doPostBack(null, 'reloadGrid');
}
//检查人
var ddlInspectedUser = '<%= ddlInspectedUser.ClientID %>';
function renderInspectedUser(value) {
if (value == -1) {
return '';
} else {
return F(ddlInspectedUser).getTextByValue(value);
}
}
//验证
function isValid() {
var grid1 = F('<%= Grid1.ClientID %>');
var valid = true, modifiedData = grid1.getMergedData();
$.each(modifiedData, function (index, rowData) {
if (rowData.status === 'deleted') {
return true; // continue
}
if (rowData.parentId == '') {
return true;
}
var name = rowData.values['InspectedUser'];
if (typeof (name) != 'undefined' && $.trim(name) == '') {
F.alert({
message: '检查人不能为空!',
ok: function () {
grid1.startEdit(rowData.id, 'InspectedUser');
}
});
valid = false;
return false;
}
});
return valid;
}
</script>
</body>
</html>

View File

@ -0,0 +1,633 @@
using BLL;
using Model;
using Newtonsoft.Json.Linq;
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.Feeding
{
public partial class SubInspectTerm : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.InitTreeMenu();//加载树
PageInit();
}
}
#region
/// <summary>
/// 加载树
/// </summary>
private void InitTreeMenu()
{
this.tvControlItem.Nodes.Clear();
TreeNode rootNode = new TreeNode();
rootNode.Text = "检查表";
rootNode.NodeID = "0";
rootNode.Expanded = true;
rootNode.ToolTip = "";
rootNode.EnableClickEvent = true;
this.tvControlItem.Nodes.Add(rootNode);
var list = Funs.DB.PreRun_SysDevice.Where(a => a.ProjectId == this.CurrUser.LoginProjectId && a.PreRunLevel == 1);
if (list.Count() > 0)
{
foreach (var item in list)
{
TreeNode rootOneNode = new TreeNode();
rootOneNode.NodeID = item.PreRunId;
rootOneNode.Text = item.PreRunName;
rootOneNode.ToolTip = item.PreRunName;
rootOneNode.CommandName = "";
rootOneNode.EnableClickEvent = true;
rootOneNode.EnableExpandEvent = false;
rootNode.Nodes.Add(rootOneNode);
rootOneNode.Expanded = true;
}
}
}
/// <summary>
/// 点击TreeView
/// </summary>
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 绑定下拉框
/// </summary>
public void PageInit()
{
//检查人绑定
var userList = from user in Funs.DB.Sys_User
join projectrole in Funs.DB.Project_ProjectUser on user.UserId equals projectrole.UserId
where projectrole.ProjectId == this.CurrUser.LoginProjectId
select user;
var userids = new List<string>() { Const.sysglyId, Const.hfnbdId, Const.sedinId };
var addUserList = Funs.DB.Sys_User.Where(x => userids.Contains(x.UserId));
var users = userList.ToList();
if (addUserList.Count() > 0)
{
users.AddRange(addUserList);
}
if (users.Count() > 0)
{
ddlDriverCharge.DataTextField = "UserName";
ddlDriverCharge.DataValueField = "UserId";
ddlDriverCharge.DataSource = users;
ddlDriverCharge.DataBind();
ddlDrivingManager.DataTextField = "UserName";
ddlDrivingManager.DataValueField = "UserId";
ddlDrivingManager.DataSource = users;
ddlDrivingManager.DataBind();
ddlProjectManager.DataTextField = "UserName";
ddlProjectManager.DataValueField = "UserId";
ddlProjectManager.DataSource = users;
ddlProjectManager.DataBind();
}
}
/// <summary>
/// 绑定数据
/// </summary>
public void BindGrid(List<FeedingRun_SubInspectTermItemData> ulist = null)
{
var result = new List<FeedingRun_SubInspectTermItemData>();
if (ulist != null)
{
#region
var groups = ulist.GroupBy(x => x.GroupName);
int gnum = 1;
foreach (var itemGroup in groups)
{
//添加一级节点
var firstModel = new FeedingRun_SubInspectTermItemData();
firstModel.TermItemId = itemGroup.Key;
firstModel.GroupName = itemGroup.Key;
firstModel.Sort = gnum;
firstModel.GroupSort = gnum;
firstModel.Level = 1;
result.Add(firstModel);
gnum++;
//获取此分组的检查项
var groupTermItems = ulist.Where(x => x.GroupName == itemGroup.Key);
foreach (var itemTerm in groupTermItems)
{
var model = new FeedingRun_SubInspectTermItemData();
model.TermItemId = itemTerm.TermItemId;
model.ParentId = itemGroup.Key;
model.ProjectId = this.CurrUser.LoginProjectId;
model.WorkInspectId = itemTerm.WorkInspectId;
model.WorkInspectName = itemTerm.WorkInspectName;
model.InspectedUser = itemTerm.InspectedUser;
model.InspectedUser = itemTerm.InspectedUser;
model.InspectionIllustrate = itemTerm.InspectionIllustrate;
model.GroupName = itemTerm.GroupName;
model.Sort = itemTerm.Sort;
model.GroupSort = itemTerm.GroupSort;
model.Level = 2;
result.Add(model);
}
}
#endregion
}
else
{
var list = Funs.DB.FeedingRun_SubInspectTermItem.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.InstallationId == this.tvControlItem.SelectedNodeID).OrderBy(x => x.Sort);
if (list.Count() > 0)
{
var groups = list.GroupBy(x => new { x.GroupName });
int firstnum = 1;
foreach (var itemGroup in groups)
{
//添加一级节点
var firstModel = new FeedingRun_SubInspectTermItemData();
firstModel.TermItemId = itemGroup.Key.GroupName;
firstModel.GroupName = itemGroup.Key.GroupName;
firstModel.Sort = firstnum;
firstModel.GroupSort = firstnum;
firstModel.Level = 1;
result.Add(firstModel);
firstnum++;
//获取此分组的检查项
var groupTermItems = list.Where(x => x.GroupName == itemGroup.Key.GroupName);
foreach (var itemTerm in groupTermItems)
{
var model = new FeedingRun_SubInspectTermItemData();
model.TermItemId = itemTerm.TermItemId;
model.ParentId = itemGroup.Key.GroupName;
model.ProjectId = itemTerm.ProjectId;
model.WorkInspectId = itemTerm.WorkInspectId;
model.WorkInspectName = itemTerm.WorkInspectName;
model.InspectedUser = itemTerm.InspectedUser;
model.InspectedUser = itemTerm.InspectedUser;
model.GroupName = itemTerm.GroupName;
model.Sort = itemTerm.Sort.Value;
model.GroupSort = itemTerm.Sort.Value;
model.InspectionIllustrate = itemTerm.InspectionIllustrate;
model.Level = 2;
result.Add(model);
}
}
var itemModel = list.FirstOrDefault();
ddlDriverCharge.SelectedValue = itemModel.DriverCharge;
ddlDrivingManager.SelectedValue = itemModel.DrivingManager;
ddlProjectManager.SelectedValue = itemModel.ProjectManager;
}
else
{
ddlDriverCharge.SelectedValue = "";
ddlDrivingManager.SelectedValue = "";
ddlProjectManager.SelectedValue = "";
var defaultDatas = Funs.DB.FeedingRun_WorkInspectTemplate.OrderBy(x => x.Sort);
if (defaultDatas.Count() > 0)
{
var groups = defaultDatas.GroupBy(x => x.GroupName);
int firstnum = 1;
foreach (var itemGroup in groups)
{
//添加一级节点
var firstModel = new FeedingRun_SubInspectTermItemData();
firstModel.TermItemId = itemGroup.Key;
firstModel.GroupName = itemGroup.Key;
firstModel.Sort = firstnum;
firstModel.GroupSort = firstnum;
firstModel.Level = 1;
result.Add(firstModel);
firstnum++;
//获取此分组的检查项
var groupTermItems = defaultDatas.Where(x => x.GroupName == itemGroup.Key);
foreach (var itemTerm in groupTermItems)
{
var model = new FeedingRun_SubInspectTermItemData();
model.TermItemId = Guid.NewGuid().ToString();
model.ParentId = itemGroup.Key;
model.ProjectId = this.CurrUser.LoginProjectId;
model.WorkInspectId = itemTerm.WorkInspectId;
model.WorkInspectName = itemTerm.WorkInspectName;
model.GroupName = itemTerm.GroupName;
model.Sort = itemTerm.Sort.Value;
model.GroupSort = itemTerm.Sort.Value;
model.Level = 2;
result.Add(model);
}
}
}
}
}
Grid1.DataSource = result;
Grid1.DataBind();
//检查人绑定
var userList = from user in Funs.DB.Sys_User join projectrole in Funs.DB.Project_ProjectUser on user.UserId equals projectrole.UserId where projectrole.ProjectId == this.CurrUser.LoginProjectId select user;
var userids = new List<string>() { Const.sysglyId, Const.hfnbdId, Const.sedinId };
var addUserList = Funs.DB.Sys_User.Where(x => userids.Contains(x.UserId));
var data = userList.ToList();
if (addUserList.Count() > 0)
{
data.AddRange(addUserList);
}
DropDownList ddlInspectedUser = Grid1.FindColumn("InspectedUser").FindControl("ddlInspectedUser") as DropDownList;
ddlInspectedUser.DataTextField = "UserName";
ddlInspectedUser.DataValueField = "UserId";
ddlInspectedUser.DataSource = data;
ddlInspectedUser.DataBind();
}
/// <summary>
/// 行按钮事件
/// </summary>
protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
{
if (e.CommandName == "Delete")
{
string rowID = e.RowID;
var level = int.Parse(this.Grid1.Rows[e.RowIndex].DataKeys[4].ToString());
if (level == 1)
{
var groupName = this.Grid1.Rows[e.RowIndex].DataKeys[3].ToString();
var deletelist = Funs.DB.FeedingRun_SubInspectTermItem.Where(p => p.GroupName == groupName && p.InstallationId == this.tvControlItem.SelectedNodeID);
if (deletelist.Count() > 0)
{
Funs.DB.FeedingRun_SubInspectTermItem.DeleteAllOnSubmit(deletelist);
Funs.DB.SubmitChanges();
BindGrid();
ShowNotify("删除成功!");
}
else
{
var list = gvList();
list.RemoveAll(x => x.GroupName == groupName);
Grid1.DataSource = list;
Grid1.DataBind();
ShowNotify("删除成功!");
}
}
else
{
var model = Funs.DB.FeedingRun_SubInspectTermItem.FirstOrDefault(p => p.TermItemId == rowID);
if (model != null)
{
if (model.InspectionResults != null)
{
ShowNotify("已存在检查结果,无法删除!", MessageBoxIcon.Warning);
return;
}
Funs.DB.FeedingRun_SubInspectTermItem.DeleteOnSubmit(model);
Funs.DB.SubmitChanges();
BindGrid();
ShowNotify("删除成功!");
}
else
{
var list = gvList();
list.RemoveAll(x => x.TermItemId == rowID);
Grid1.DataSource = list;
Grid1.DataBind();
ShowNotify("删除成功!");
}
}
}
}
#endregion
/// <summary>
/// 保存
/// </summary>
protected void btnSave_Click(object sender, EventArgs e)
{
try
{
if (string.IsNullOrWhiteSpace(ddlDriverCharge.SelectedValue))
{
ShowNotify("请选择装置开车负责人!", MessageBoxIcon.Warning);
return;
}
if (string.IsNullOrWhiteSpace(ddlDrivingManager.SelectedValue))
{
ShowNotify("请选择开车经理!", MessageBoxIcon.Warning);
return;
}
if (string.IsNullOrWhiteSpace(ddlProjectManager.SelectedValue))
{
ShowNotify("请选择项目经理!", MessageBoxIcon.Warning);
return;
}
List<FeedingRun_SubInspectTerm> subTrems = new List<FeedingRun_SubInspectTerm>();
List<FeedingRun_SubInspectTermItem> subTremItems = new List<FeedingRun_SubInspectTermItem>();
var subTrem = Funs.DB.FeedingRun_SubInspectTerm.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId && x.InstallationId == this.tvControlItem.SelectedNodeID);
var termItems = Funs.DB.FeedingRun_SubInspectTermItem.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.InstallationId == this.tvControlItem.SelectedNodeID).ToList();
if (termItems.Count > 0 && termItems.Count(x => x.InspectionResults == null) == 0)
{
ShowNotify("所有检查项已存在检查结果,无法保存!", MessageBoxIcon.Warning);
return;
}
int itemnum = 1;
JArray mergedData = Grid1.GetMergedData();
foreach (JObject mergedRow in mergedData)
{
string status = mergedRow.Value<string>("status");
JObject values = mergedRow.Value<JObject>("values");
int i = mergedRow.Value<int>("index");
var termItemId = this.Grid1.Rows[i].DataKeys[0].ToString();
var workInspectId = IsNullStr(this.Grid1.Rows[i].DataKeys[1]);
var groupName = IsNullStr(this.Grid1.Rows[i].DataKeys[3]);
var level = IsNullStr(this.Grid1.Rows[i].DataKeys[4]);
if (level == "1") continue;
//获取系统信息
var list = new List<FeedingRun_SubInspectTermItem>();
//检查表
if (subTrem == null)
{
subTrem = new FeedingRun_SubInspectTerm();
subTrem.SubInspectId = Guid.NewGuid().ToString();
subTrem.ProjectId = this.CurrUser.LoginProjectId;
subTrem.DriverCharge = ddlDriverCharge.SelectedValue;
subTrem.DrivingManager = ddlDrivingManager.SelectedValue;
subTrem.ProjectManager = ddlProjectManager.SelectedValue;
subTrem.InstallationId = this.tvControlItem.SelectedNodeID;
subTrem.AddUser = this.CurrUser.UserId;
subTrem.AddTime = DateTime.Now;
subTrems.Add(subTrem);
}
else
{
subTrem.DriverCharge = ddlDriverCharge.SelectedValue;
subTrem.DrivingManager = ddlDrivingManager.SelectedValue;
subTrem.ProjectManager = ddlProjectManager.SelectedValue;
Funs.DB.SubmitChanges();
}
//检查项表
var model = Funs.DB.FeedingRun_SubInspectTermItem.FirstOrDefault(x => x.TermItemId == termItemId);
if (model == null)
{
model = new FeedingRun_SubInspectTermItem();
model.TermItemId = termItemId;
model.SubInspectId = subTrem.SubInspectId;
model.ProjectId = this.CurrUser.LoginProjectId;
model.WorkInspectId = workInspectId;
model.WorkInspectName = values.Value<string>("WorkInspectName");
model.InspectedUser = values.Value<string>("InspectedUser");
model.GroupName = groupName;
model.DriverCharge = ddlDriverCharge.SelectedValue;
model.DrivingManager = ddlDrivingManager.SelectedValue;
model.ProjectManager = ddlProjectManager.SelectedValue;
model.InstallationId = this.tvControlItem.SelectedNodeID;
model.AddUser = this.CurrUser.UserId;
model.AddTime = DateTime.Now;
model.Sort = itemnum;
subTremItems.Add(model);
itemnum++;
}
else
{
model.GroupName = groupName;
model.InspectedUser = IsNullStr(values.Value<string>("InspectedUser"));
model.WorkInspectName = values.Value<string>("WorkInspectName");
Funs.DB.SubmitChanges();
}
}
if (subTrems != null) Funs.DB.FeedingRun_SubInspectTerm.InsertAllOnSubmit(subTrems);
if (subTremItems.Count > 0) Funs.DB.FeedingRun_SubInspectTermItem.InsertAllOnSubmit(subTremItems);
Funs.DB.SubmitChanges();
if (Funs.DB.FeedingRun_SubInspectTermItem.Count(x => x.SubInspectId == subTrem.SubInspectId && x.InspectionResults.GetValueOrDefault() != 1) == 0)
{
subTrem.InspectionIsAllPass = 1;
}
else
{
subTrem.InspectionIsAllPass = 0;
}
Funs.DB.SubmitChanges();
ShowNotify("保存成功!");
}
catch (Exception ex)
{
ShowNotify(ex.Message, MessageBoxIcon.Error);
}
}
/// <summary>
/// 新增
/// </summary>
protected void btnAdd_Click(object sender, EventArgs e)
{
this.hidRequestNodeID.Text = string.Empty;
PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hidRequestNodeID.ClientID) + Window1.GetShowReference($"SubInspectTermEdit.aspx?TermItemId=&WorkInspectId=&InstallationId=" + this.tvControlItem.SelectedNodeID + "", "新增"));
}
/// <summary>
/// 修改
/// </summary>
protected void btnModify_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请选择记录!", MessageBoxIcon.Warning);
return;
}
if (Grid1.SelectedRowIndexArray.Length > 1)
{
Alert.ShowInTop("只可选择一条记录!", MessageBoxIcon.Warning);
return;
}
var level = int.Parse(this.Grid1.Rows[Grid1.SelectedRowIndex].DataKeys[4].ToString());
if (level == 1)
{
Alert.ShowInTop("一级节点无法修改!", MessageBoxIcon.Warning);
return;
}
var workInspectId = IsNullStr(this.Grid1.Rows[Grid1.SelectedRowIndex].DataKeys[1]);
var groupName = IsNullStr(this.Grid1.Rows[Grid1.SelectedRowIndex].DataKeys[3]);
var workInspectName = IsNullStr(this.Grid1.Rows[Grid1.SelectedRowIndex].DataKeys[6]);
this.hidRequestNodeID.Text = string.Empty;
PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hidRequestNodeID.ClientID) + Window1.GetShowReference($"SubInspectTermEdit.aspx?TermItemId={Grid1.SelectedRowID}&WorkInspectId={workInspectId}&GroupName={groupName}&WorkInspectName={workInspectName}&InstallationId={this.tvControlItem.SelectedNodeID}", "编辑"));
}
/// <summary>
/// 右击新增
/// </summary>
protected void btnMenuParentAdd_Click(object sender, EventArgs e)
{
btnAdd_Click(sender, e);
}
/// <summary>
/// 右击修改
/// </summary>
protected void btnMenuModify_Click(object sender, EventArgs e)
{
btnModify_Click(sender, e);
}
/// <summary>
/// 获取集合
/// </summary>
private List<FeedingRun_SubInspectTermItemData> gvList()
{
List<FeedingRun_SubInspectTermItemData> list = new List<FeedingRun_SubInspectTermItemData>();
JArray mergedData = Grid1.GetMergedData();
foreach (JObject mergedRow in mergedData)
{
string status = mergedRow.Value<string>("status");
JObject values = mergedRow.Value<JObject>("values");
int i = mergedRow.Value<int>("index");
var termItemId = this.Grid1.Rows[i].DataKeys[0].ToString();
var workInspectId = IsNullStr(this.Grid1.Rows[i].DataKeys[1]);
var subInspectId = IsNullStr(this.Grid1.Rows[i].DataKeys[2]);
var groupName = IsNullStr(this.Grid1.Rows[i].DataKeys[3]);
var level = IsNullStr(this.Grid1.Rows[i].DataKeys[4]);
var parentId = IsNullStr(this.Grid1.Rows[i].DataKeys[5]);
var groupSort = IsNullStr(this.Grid1.Rows[i].DataKeys[7]);
var inspectionResults = IsNullStr(this.Grid1.Rows[i].DataKeys[8]);
var inspectionIllustrate = IsNullStr(this.Grid1.Rows[i].DataKeys[9]);
var model = new FeedingRun_SubInspectTermItemData();
model.TermItemId = termItemId;
model.SubInspectId = subInspectId;
model.ProjectId = this.CurrUser.LoginProjectId;
model.WorkInspectId = workInspectId;
model.WorkInspectName = values.Value<string>("WorkInspectName");
model.InstallationId = this.tvControlItem.SelectedNodeID;
model.GroupName = groupName;
model.GroupSort = !string.IsNullOrWhiteSpace(groupSort) ? int.Parse(groupSort) : 0;
model.Level = !string.IsNullOrWhiteSpace(level) ? int.Parse(level) : 0;
model.ParentId = parentId;
model.InspectedUser = !string.IsNullOrWhiteSpace(values.Value<string>("InspectedUser")) ? values.Value<string>("InspectedUser") : string.Empty;
if (!string.IsNullOrWhiteSpace(inspectionResults))
{
model.InspectionResults = int.Parse(inspectionResults);
}
model.InspectionIllustrate = inspectionIllustrate;
model.AddUser = this.CurrUser.UserId;
model.AddTime = DateTime.Now;
model.Sort = i + 1;
list.Add(model);
}
return list;
}
/// <summary>
/// 检测结果
/// </summary>
/// <returns></returns>
public string Results(object value)
{
var result = string.Empty;
if (value != null)
{
var intVal = int.Parse(value.ToString());
if (intVal == 1)
{
result = "通过";
}
else if (intVal == 0)
{
result = "未通过";
}
}
return result;
}
/// <summary>
/// 数据绑定实体
/// </summary>
public class FeedingRun_SubInspectTermItemData : FeedingRun_SubInspectTermItem
{
/// <summary>
/// 上级主键
/// </summary>
public string ParentId { get; set; }
/// <summary>
/// 分组排序
/// </summary>
public int GroupSort { get; set; }
/// <summary>
/// 级别
/// </summary>
public int Level { get; set; }
}
/// <summary>
/// 关闭
/// </summary>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
if (!string.IsNullOrWhiteSpace(hidRequestNodeID.Text))
{
var list = gvList();
string termItemId = hidRequestNodeID.Text.Split('|')[0];
string workInspectName = hidRequestNodeID.Text.Split('|')[1];
string groupName = hidRequestNodeID.Text.Split('|')[2];
string installationId = hidRequestNodeID.Text.Split('|')[3];
var model = new FeedingRun_SubInspectTermItemData();
model.TermItemId = Guid.NewGuid().ToString();
model.ParentId = groupName;
model.ProjectId = this.CurrUser.LoginProjectId;
model.WorkInspectId = string.Empty;
model.WorkInspectName = workInspectName;
model.GroupName = groupName;
model.InstallationId = installationId;
model.Sort = list.Count + 1;
model.Level = 2;
list.Add(model);
list.RemoveAll(x => x.Level == 1);
list = list.OrderBy(x => x.Sort).ToList();
BindGrid(list);
}
}
/// <summary>
/// 行加载事件
/// </summary>
protected void Grid1_RowDataBound(object sender, GridRowEventArgs e)
{
var level = int.Parse(this.Grid1.Rows[e.RowIndex].DataKeys[4].ToString());
RenderField InspectedUser = Grid1.FindColumn("InspectedUser") as RenderField;
if (level == 1)
{
e.CellAttributes[InspectedUser.ColumnIndex]["data-color"] = "color";
}
}
/// <summary>
/// 字符串处理
/// </summary>
/// <returns></returns>
private string IsNullStr(object value)
{
var result = string.Empty;
if (value == null) return result;
return value.ToString();
}
}
}

View File

@ -0,0 +1,224 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.TestRun.Feeding
{
public partial class SubInspectTerm
{
/// <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>
/// panelLeftRegion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelLeftRegion;
/// <summary>
/// tvControlItem 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tree tvControlItem;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// ToolbarFill 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill;
/// <summary>
/// btnAdd 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnAdd;
/// <summary>
/// btnModify 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnModify;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// hidRequestNodeID 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox hidRequestNodeID;
/// <summary>
/// txtWorkInspectName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtWorkInspectName;
/// <summary>
/// ddlInspectedUser 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlInspectedUser;
/// <summary>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// ddlDriverCharge 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlDriverCharge;
/// <summary>
/// ddlDrivingManager 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlDrivingManager;
/// <summary>
/// ddlProjectManager 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlProjectManager;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// Menu1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuModify 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuModify;
/// <summary>
/// btnMenuParentAdd 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuParentAdd;
}
}

View File

@ -0,0 +1,65 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SubInspectTermEdit.aspx.cs" Inherits="FineUIPro.Web.TestRun.Feeding.SubInspectTermEdit" %>
<!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" Icon="SystemSave" runat="server" ToolTip="保存" ValidateForms="SimpleForm1" OnClick="btnSave_Click">
</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 ColumnWidth="100">
<Items>
<f:TextArea ID="txtWorkInspectName" runat="server" Label="检查事项名称" LabelAlign="Right" Required="true" LabelWidth="150px" MaxLength="200">
</f:TextArea>
</Items>
</f:FormRow>
<f:FormRow runat="server">
<Items>
<f:DropDownList ID="ddlGroup" runat="server" Required="true" Label="分组类型" LabelAlign="Right" EmptyText="--请选择--">
<f:ListItem Text="设备、管道系统" Value="设备、管道系统" />
<f:ListItem Text="电仪系统" Value="电仪系统" />
<f:ListItem Text="公用系统" Value="公用系统" />
<f:ListItem Text="消防、安全、环境保护系统" Value="消防、安全、环境保护系统" />
<f:ListItem Text="分析化验" Value="分析化验" />
<f:ListItem Text="组织、人员、通讯、方案、规定" Value="组织、人员、通讯、方案、规定" />
<f:ListItem Text="保运、后勤保障" Value="保运、后勤保障" />
</f:DropDownList>
</Items>
</f:FormRow>
</Rows>
</f:Form>
</f:ContentPanel>
</Items>
</f:FormRow>
</Rows>
</f:Form>
</form>
</body>
</html>

View File

@ -0,0 +1,91 @@
using BLL;
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.Feeding
{
public partial class SubInspectTermEdit : PageBase
{
/// <summary>
/// 主键
/// </summary>
public string TermItemId
{
get { return (string)ViewState["TermItemId"]; }
set { ViewState["TermItemId"] = value; }
}
/// <summary>
/// 分组主键
/// </summary>
public string GroupName
{
get { return (string)ViewState["GroupName"]; }
set { ViewState["GroupName"] = value; }
}
/// <summary>
/// 检查项名称
/// </summary>
public string WorkInspectName
{
get { return (string)ViewState["WorkInspectName"]; }
set { ViewState["WorkInspectName"] = value; }
}
/// <summary>
/// 装置主键
/// </summary>
public string InstallationId
{
get { return (string)ViewState["InstallationId"]; }
set { ViewState["InstallationId"] = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.TermItemId = Request.Params["TermItemId"];
this.GroupName = Request.Params["GroupName"];
this.WorkInspectName = Request.Params["WorkInspectName"];
this.InstallationId = Request.Params["InstallationId"];
PageInit();
}
}
/// <summary>
/// 默认绑定
/// </summary>
public void PageInit()
{
if (!string.IsNullOrWhiteSpace(this.TermItemId))
{
txtWorkInspectName.Text = this.WorkInspectName;
ddlGroup.SelectedValue = this.GroupName;
}
}
/// <summary>
/// 保存
/// </summary>
protected void btnSave_Click(object sender, EventArgs e)
{
try
{
string groupName = this.ddlGroup.SelectedValue;
var requestStr = this.TermItemId + "|" + this.txtWorkInspectName.Text + "|" + groupName + "|" + this.InstallationId;
PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(requestStr) + ActiveWindow.GetHidePostBackReference());
}
catch (Exception ex)
{
ShowNotify(ex.Message, MessageBoxIcon.Error);
}
}
}
}

View File

@ -0,0 +1,125 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.TestRun.Feeding
{
public partial class SubInspectTermEdit
{
/// <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>
/// txtWorkInspectName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtWorkInspectName;
/// <summary>
/// ddlGroup 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlGroup;
}
}

View File

@ -0,0 +1,121 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SubWorkInspect.aspx.cs" Inherits="FineUIPro.Web.TestRun.Feeding.SubWorkInspect" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>投料试车工作包检查</title>
<style>
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
.hidethis {
display: none;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" ShowBorder="false" ShowHeader="false" Layout="Region">
<Items>
<f:Panel runat="server" ID="panelLeftRegion" RegionPosition="Left" RegionSplit="true"
EnableCollapse="true" Width="300px" Title="投料试车工作包检查" ShowBorder="true" Layout="VBox"
ShowHeader="false" AutoScroll="true" BodyPadding="5px" IconFont="ArrowCircleLeft">
<Items>
<f:Tree ID="tvControlItem" ShowHeader="false" Title="工作包" OnNodeCommand="tvControlItem_NodeCommand"
runat="server" ShowBorder="false" EnableCollapse="true" EnableSingleClickExpand="true"
AutoLeafIdentification="true" EnableSingleExpand="false">
</f:Tree>
</Items>
</f:Panel>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="true" EnableCollapse="true" runat="server" DataIDField="TermItemId" DataKeyNames="TermItemId,InspectionResults,SubInspectId,IsTailTerm" AllowSorting="true" SortField="Sort" SortDirection="ASC" EnableColumnLines="true" AllowCellEditing="true" EnableMultiSelect="false" AllowFilters="true" OnSort="Grid1_Sort" EnableTextSelection="True" OnRowCommand="Grid1_RowCommand" OnRowDataBound="Grid1_RowDataBound" ClicksToEdit="1">
<Toolbars>
<f:Toolbar ID="Toolbar1" runat="server">
<Items>
<f:ToolbarFill ID="ToolbarFill" runat="server"></f:ToolbarFill>
<f:Button ID="btnSave" Text="保存" ToolTip="保存" Icon="FilmSave" runat="server" OnClientClick="if(!isValid()){return false;}" OnClick="btnSave_Click"></f:Button>
<f:TextBox runat="server" ID="hidTailTermId" Hidden="true"></f:TextBox>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField EnablePagingNumber="true" Width="50px" HeaderTextAlign="Center" TextAlign="Center" />
<f:RenderField HeaderText="检查事项" ColumnID="WorkInspectName" DataField="WorkInspectName" SortField="WorkInspectName" Width="300px"></f:RenderField>
<f:RenderField ExpandUnusedSpace="true" MinWidth="300px" ColumnID="InspectionIllustrate" DataField="InspectionIllustrate" HeaderText="说明">
<Editor>
<f:TextArea runat="server" ID="txtInspectionIllustrate"></f:TextArea>
</Editor>
</f:RenderField>
<f:RenderField ExpandUnusedSpace="true" MinWidth="150px" ColumnID="InspectionResults" DataField="InspectionResults"
HeaderText="检查结果" RendererFunction="renderInspectionResults">
<Editor>
<f:DropDownList ID="ddlInspectionResults" Required="true" EnableEdit="false" ForceSelection="false" runat="server">
<f:ListItem Value="1" Text="通过" />
<f:ListItem Value="0" Text="未通过" />
</f:DropDownList>
</Editor>
</f:RenderField>
<f:LinkButtonField Width="100px" TextAlign="Center" ColumnID="TailTerm" CommandName="TailTerm" Text="尾项申请" />
<f:LinkButtonField Width="100px" TextAlign="Center" ColumnID="TailTermUpdate" CommandName="TailTermUpdate" Text="尾项修改" />
</Columns>
</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="1300px" Height="660px">
</f:Window>
<f:Window ID="Window2" Title="请选择尾项" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Top" EnableResize="true" runat="server" IsModal="true" OnClose="Window2_Close"
Width="1300px" Height="660px">
</f:Window>
</form>
<script type="text/javascript">
// 返回false来阻止浏览器右键菜单
function onRowContextMenu(event, rowId) {
return false;
}
function reloadGrid() {
__doPostBack(null, 'reloadGrid');
}
//检查结果
var ddlInspectionResults = '<%= ddlInspectionResults.ClientID %>';
function renderInspectionResults(value) {
if (value == -1) {
return '';
}
return F(ddlInspectionResults).getTextByValue(value);
}
//验证检查结果
function isValid() {
debugger;
var grid1 = F('<%= Grid1.ClientID %>');
var valid = true, modifiedData = grid1.getMergedData();
$.each(modifiedData, function (index, rowData) {
if (rowData.status === 'deleted') {
return true;
}
var results = rowData.values['InspectionResults'];
if (typeof (results) != 'undefined' && $.trim(results) == '') {
F.alert({
message: '请选择检查结果!',
ok: function () {
grid1.startEdit(rowData.id, 'InspectionResults');
}
});
valid = false;
return false;
}
});
return valid;
}
</script>
</body>
</html>

View File

@ -0,0 +1,439 @@
using BLL;
using Newtonsoft.Json.Linq;
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.Feeding
{
public partial class SubWorkInspect : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.InitTreeMenu();//加载树
}
}
#region
/// <summary>
/// 加载树
/// </summary>
private void InitTreeMenu()
{
this.tvControlItem.Nodes.Clear();
TreeNode rootNode = new TreeNode();
rootNode.Text = "检查表";
rootNode.NodeID = "0";
rootNode.Expanded = true;
rootNode.ToolTip = "";
rootNode.EnableClickEvent = true;
this.tvControlItem.Nodes.Add(rootNode);
var userSubInspects = Funs.DB.FeedingRun_SubInspectTermItem.Where(x => x.InspectedUser == this.CurrUser.UserId).ToList();
if (userSubInspects.Count == 0) return;
var subInstallationIds = userSubInspects.ConvertAll(x => x.InstallationId);
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId));
if (list.Count() > 0)
{
foreach (var item in list)
{
TreeNode rootOneNode = new TreeNode();
rootOneNode.NodeID = item.PreRunId;
rootOneNode.Text = item.PreRunName;
rootOneNode.ToolTip = item.PreRunName;
rootOneNode.CommandName = "";
rootOneNode.EnableClickEvent = true;
rootOneNode.EnableExpandEvent = false;
rootNode.Nodes.Add(rootOneNode);
rootOneNode.Expanded = true;
}
}
}
/// <summary>
/// 点击TreeView
/// </summary>
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 绑定数据
/// </summary>
public void BindGrid(bool istail = false)
{
var subInstallationId = this.tvControlItem.SelectedNodeID;
//获取子系统
var data = from termitem in Funs.DB.FeedingRun_SubInspectTermItem
join b in Funs.DB.FeedingRun_InspectTailTerm on termitem.TermItemId equals b.TermItemId into t
from tail in t.DefaultIfEmpty()
where termitem.InstallationId == subInstallationId
&& termitem.InspectedUser == this.CurrUser.UserId
group termitem by new { termitem.TermItemId, termitem.SubInspectId, termitem.ProjectId, termitem.WorkInspectId, termitem.WorkInspectName, termitem.InstallationId, termitem.InspectedUser, termitem.InspectionResults, termitem.InspectionIllustrate, termitem.DriverCharge, termitem.DrivingManager, termitem.ProjectManager, termitem.DriverChargeIsPass, termitem.DrivingManagerIsPass, termitem.ProjectManagerIsPass, termitem.DriverChargeRemark, termitem.DrivingManagerRemark, termitem.ProjectManagerRemark, termitem.Remark, termitem.AddUser, termitem.AddTime, termitem.Sort, IsTailTerm = tail.TailTermId == null ? 0 : 1 } into gt
orderby gt.Key.Sort
select new TermItemBridDto()
{
TermItemId = gt.Key.TermItemId,
SubInspectId = gt.Key.SubInspectId,
ProjectId = gt.Key.ProjectId,
WorkInspectId = gt.Key.WorkInspectId,
WorkInspectName = gt.Key.WorkInspectName,
InstallationId = gt.Key.InstallationId,
InspectedUser = gt.Key.InspectedUser,
InspectionResults = gt.Key.InspectionResults,
InspectionIllustrate = gt.Key.InspectionIllustrate,
DriverCharge = gt.Key.DriverCharge,
DrivingManager = gt.Key.DrivingManager,
ProjectManager = gt.Key.ProjectManager,
DriverChargeIsPass = gt.Key.DriverChargeIsPass,
DrivingManagerIsPass = gt.Key.DrivingManagerIsPass,
ProjectManagerIsPass = gt.Key.ProjectManagerIsPass,
DriverChargeRemark = gt.Key.DriverChargeRemark,
DrivingManagerRemark = gt.Key.DrivingManagerRemark,
ProjectManagerRemark = gt.Key.ProjectManagerRemark,
Remark = gt.Key.Remark,
AddUser = gt.Key.AddUser,
AddTime = gt.Key.AddTime,
Sort = gt.Key.Sort,
IsTailTerm = gt.Key.IsTailTerm
};
var list = data.ToList();
if (istail)
{
JArray mergedData = Grid1.GetMergedData();
list.ForEach(a =>
{
var itemRow = mergedData.FirstOrDefault(x => x.Value<string>("id") == a.TermItemId);
JObject values = itemRow.Value<JObject>("values");
var inspectionResults = !string.IsNullOrWhiteSpace(values.Value<string>("InspectionResults")) ? values.Value<string>("InspectionResults") : string.Empty;
if (!string.IsNullOrWhiteSpace(inspectionResults))
{
a.InspectionResults = int.Parse(inspectionResults);
}
});
}
Grid1.DataSource = list;
Grid1.DataBind();
}
/// <summary>
/// 排序
/// </summary>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
Grid1.SortDirection = e.SortDirection;
Grid1.SortField = e.SortField;
BindGrid();
}
#endregion
#region
/// <summary>
/// 保存
/// </summary>
protected void btnSave_Click(object sender, EventArgs e)
{
try
{
var subInspectId = this.Grid1.Rows[0].DataKeys[2].ToString();
if (Funs.DB.FeedingRun_SubInspectTermItem.Count(x => x.SubInspectId == subInspectId && (x.DriverChargeIsPass != null || x.DrivingManagerIsPass != null || x.ProjectManagerIsPass != null)) > 0)
{
ShowNotify("已进入检查表流转,无法修改检查结果!", MessageBoxIcon.Warning);
return;
}
JArray mergedData = Grid1.GetMergedData();
foreach (JObject mergedRow in mergedData)
{
string status = mergedRow.Value<string>("status");
JObject values = mergedRow.Value<JObject>("values");
int i = mergedRow.Value<int>("index");
var termItemId = this.Grid1.Rows[i].DataKeys[0].ToString();
if (values.Value<string>("InspectionResults") == "0")
{
if (Funs.DB.FeedingRun_InspectTailTerm.Count(x => x.TermItemId == termItemId) == 0)
{
ShowNotify("未通过的检查项请填写尾项!", MessageBoxIcon.Warning);
return;
}
}
}
foreach (JObject mergedRow in mergedData)
{
string status = mergedRow.Value<string>("status");
JObject values = mergedRow.Value<JObject>("values");
int i = mergedRow.Value<int>("index");
var termItemId = this.Grid1.Rows[i].DataKeys[0].ToString();
//获取子系统信息
var model = Funs.DB.FeedingRun_SubInspectTermItem.FirstOrDefault(x => x.TermItemId == termItemId);
if (model != null)
{
model.InspectionIllustrate = !string.IsNullOrWhiteSpace(values.Value<string>("InspectionIllustrate")) ? values.Value<string>("InspectionIllustrate") : string.Empty;
if (!string.IsNullOrWhiteSpace(values.Value<string>("InspectionResults")))
{
model.InspectionResults = int.Parse(values.Value<string>("InspectionResults"));
}
Funs.DB.SubmitChanges();
}
}
var subModel = Funs.DB.FeedingRun_SubInspectTerm.FirstOrDefault(x => x.SubInspectId == subInspectId);
if (subModel != null)
{
if (Funs.DB.FeedingRun_SubInspectTermItem.Count(x => x.SubInspectId == subInspectId && x.InspectionResults.GetValueOrDefault() != 1) == 0)
{
subModel.InspectionIsAllPass = 1;
}
else
{
subModel.InspectionIsAllPass = 0;
}
}
Funs.DB.SubmitChanges();
BindGrid();
ShowNotify("保存成功!");
}
catch (Exception ex)
{
ShowNotify(ex.Message, MessageBoxIcon.Error);
}
}
#endregion
/// <summary>
/// 尾项数据绑定实体
/// </summary>
public class TermItemBridDto
{
/// <summary>
/// 主键
/// </summary>
public string TermItemId { get; set; }
/// <summary>
/// 检查项主键
/// </summary>
public string SubItemId { get; set; }
/// <summary>
/// 检查表主键
/// </summary>
public string SubInspectId { get; set; }
/// <summary>
/// 工作包主键
/// </summary>
public string WorkPackId { get; set; }
/// <summary>
/// 项目主键
/// </summary>
public string ProjectId { get; set; }
/// <summary>
/// 工作包模板项主键
/// </summary>
public string WorkInspectId { get; set; }
/// <summary>
/// 检查事项名称
/// </summary>
public string WorkInspectName { get; set; }
/// <summary>
/// 装置主键
/// </summary>
public string InstallationId { get; set; }
/// <summary>
/// 工序主键
/// </summary>
public string ProcessesId { get; set; }
/// <summary>
/// 系统主键
/// </summary>
public string SystemId { get; set; }
/// <summary>
/// 子系统主键
/// </summary>
public string SubSystemId { get; set; }
/// <summary>
/// 检查人主键
/// </summary>
public string InspectedUser { get; set; }
/// <summary>
/// 检查结果0:未通过 1:通过
/// </summary>
public int? InspectionResults { get; set; }
/// <summary>
/// 检查说明
/// </summary>
public string InspectionIllustrate { get; set; }
/// <summary>
/// 装置开车负责人
/// </summary>
public string DriverCharge { get; set; }
/// <summary>
/// 开车经理
/// </summary>
public string DrivingManager { get; set; }
/// <summary>
/// 项目经理
/// </summary>
public string ProjectManager { get; set; }
/// <summary>
/// 装置开车负责人是否通过0/null:未通过 1:通过
/// </summary>
public int? DriverChargeIsPass { get; set; }
/// <summary>
/// 开车经理是否通过0/null:未通过 1:通过
/// </summary>
public int? DrivingManagerIsPass { get; set; }
/// <summary>
/// 项目经理是否通过0/null:未通过 1:通过
/// </summary>
public int? ProjectManagerIsPass { get; set; }
/// <summary>
/// 装置开车负责人备注
/// </summary>
public string DriverChargeRemark { get; set; }
/// <summary>
/// 开车经理备注
/// </summary>
public string DrivingManagerRemark { get; set; }
/// <summary>
/// 项目经理备注
/// </summary>
public string ProjectManagerRemark { get; set; }
/// <summary>
/// 备注
/// </summary>
public string Remark { get; set; }
/// <summary>
/// 添加人
/// </summary>
public string AddUser { get; set; }
/// <summary>
/// 添加日期
/// </summary>
public DateTime? AddTime { get; set; }
/// <summary>
/// 排序
/// </summary>
public int? Sort { get; set; }
/// <summary>
/// 是否存在尾项0:不存在1:存在
/// </summary>
public int IsTailTerm { get; set; }
}
/// <summary>
/// 行内按钮事件
/// </summary>
protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
{
//尾项申请
if (e.CommandName == "TailTerm")
{
var termItemId = Grid1.DataKeys[e.RowIndex][0].ToString();
var inspectionResults = Grid1.DataKeys[e.RowIndex][1] != null ? int.Parse(Grid1.DataKeys[e.RowIndex][1].ToString()) : -1;
if (inspectionResults == 0)
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("InspectTailTermEdit.aspx?TailTermId={0}&TermItemId={1}", "", termItemId, "新增 - ")));
}
else
{
JArray mergedData = Grid1.GetMergedData();
var itemRow = mergedData[e.RowIndex].Value<JObject>("values");
if (itemRow.Value<string>("InspectionResults") == "0")
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("InspectTailTermEdit.aspx?TailTermId={0}&TermItemId={1}", "", termItemId, "新增 - ")));
}
else
{
ShowNotify("仅未通过检查项才可填写!", MessageBoxIcon.Warning);
}
}
}
//尾项修改
if (e.CommandName == "TailTermUpdate")
{
var termItemId = Grid1.DataKeys[e.RowIndex][0].ToString();
var inspectionResults = Grid1.DataKeys[e.RowIndex][1] != null ? int.Parse(Grid1.DataKeys[e.RowIndex][1].ToString()) : -1;
if (inspectionResults == 0)
{
var tails = Funs.DB.FeedingRun_InspectTailTerm.Where(x => x.TermItemId == termItemId).ToList();
if (tails.Count > 0)
{
if (tails.Count(x => x.ApproveState == 0) == 0)
{
ShowNotify("申请的尾项非“待提交处理”状态,无法修改!", MessageBoxIcon.Warning);
return;
}
if (tails.Count(x => x.ApproveState == 0) > 1)
{
string window = $"SelectTailTermList.aspx?TermItemId={termItemId}";
PageContext.RegisterStartupScript(Window2.GetSaveStateReference(this.hidTailTermId.ClientID) + Window2.GetShowReference(window));
}
else
{
var tailModel = tails.FirstOrDefault();
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("InspectTailTermEdit.aspx?TailTermId={0}&TermItemId={1}", tailModel.TailTermId, tailModel.TermItemId, "编辑 - ")));
}
}
else
{
ShowNotify("请填写尾项申请!", MessageBoxIcon.Warning);
}
}
else
{
ShowNotify("请填写尾项申请!", MessageBoxIcon.Warning);
}
}
}
/// <summary>
/// 窗口关闭
/// </summary>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid(true);
}
/// <summary>
/// 行绑定
/// </summary>
protected void Grid1_RowDataBound(object sender, GridRowEventArgs e)
{
var isTailTerm = Grid1.DataKeys[e.RowIndex][3].ToString();
LinkButtonField TailTermUpdate = Grid1.FindColumn("TailTermUpdate") as LinkButtonField;
if (isTailTerm == "0")
{
e.CellCssClasses[TailTermUpdate.ColumnIndex] = "hidethis";
}
}
/// <summary>
/// 尾项选择关闭
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window2_Close(object sender, WindowCloseEventArgs e)
{
if (!string.IsNullOrWhiteSpace(hidTailTermId.Text))
{
var model = Funs.DB.FeedingRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == hidTailTermId.Text);
if (model != null)
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("InspectTailTermEdit.aspx?TailTermId={0}&TermItemId={1}", hidTailTermId.Text, model.TermItemId, "编辑 - ")));
}
}
}
}
}

View File

@ -0,0 +1,143 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.TestRun.Feeding
{
public partial class SubWorkInspect
{
/// <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>
/// panelLeftRegion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelLeftRegion;
/// <summary>
/// tvControlItem 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tree tvControlItem;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// ToolbarFill 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// hidTailTermId 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox hidTailTermId;
/// <summary>
/// txtInspectionIllustrate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtInspectionIllustrate;
/// <summary>
/// ddlInspectionResults 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlInspectionResults;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// Window2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window2;
}
}

View File

@ -0,0 +1,153 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TailTermApprove.aspx.cs" Inherits="FineUIPro.Web.TestRun.Feeding.TailTermApprove" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>质量巡检</title>
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.labcenter {
text-align: center;
}
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
.f-grid-row.red {
background-color: #FF7575;
background-image: none;
}
.fontred {
color: #FF7575;
background-image: none;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="SimpleForm1" runat="server" />
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Rows>
<f:FormRow>
<Items>
<f:ContentPanel ID="ContentPanel1" Title="巡检审核" ShowBorder="true"
BodyPadding="10px" EnableCollapse="true" ShowHeader="true" 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:Label ID="lblProjectName" runat="server" Label="项目名称" LabelAlign="Right"></f:Label>
<f:Label ID="lblTailTermCode" runat="server" Label="巡检编号" LabelAlign="Right"></f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Label ID="lblConstructionUnit" runat="server" Label="施工单位" LabelAlign="Right"></f:Label>
<f:Label ID="lblTermItemName" runat="server" Label="检查项" LabelAlign="Right"></f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Label ID="lblQuestionDesc" ShowRedStar="true" runat="server" Label="问题描述"></f:Label>
<f:Label ID="lblRectifyOpinion" runat="server" Label="整改意见"></f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Label ID="lblInspectUser" runat="server" Label="检查人" LabelAlign="Right"></f:Label>
<f:Label ID="lblAdjustCompleteTime" runat="server" Label="要求整改完成时间" LabelWidth="150px" LabelAlign="Right"></f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Panel ID="Panel1" ShowHeader="false" ShowBorder="false" Layout="Column" runat="server">
<Items>
<f:Label runat="server" Text="问题图片查看:" CssStyle="padding-left:25px" Width="150px" CssClass="marginr" ShowLabel="false"></f:Label>
<f:Button ID="imgBtnQuestionFile" Text="问题图片查看" ToolTip="问题图片查看" Icon="TableCell" runat="server"
OnClick="imgBtnQuestionFile_Click">
</f:Button>
</Items>
</f:Panel>
<f:Panel ID="Panel2" ShowHeader="false" ShowBorder="false" Layout="Column" runat="server">
<Items>
<f:Label ID="lblAttach" CssStyle="padding-left:23px" Width="150px" runat="server" CssClass="marginr" ShowLabel="false"
Text="整改图片查看:">
</f:Label>
<f:Button ID="imgBtnRectifyFile" Text="整改图片查看" ToolTip="整改图片查看" Icon="TableCell" runat="server" OnClick="imgBtnRectifyFile_Click">
</f:Button>
</Items>
</f:Panel>
</Items>
</f:FormRow>
<f:FormRow ID="plApprove2">
<Items>
<f:ContentPanel Title="巡检处理列表" ShowBorder="true"
BodyPadding="10px" EnableCollapse="true" ShowHeader="true" AutoScroll="true"
runat="server">
<f:Grid ID="gvHandle" IsFluid="true" CssClass="blockpanel" ShowBorder="true" ShowHeader="false" runat="server" EnableCollapse="false"
DataKeyNames="InspectTermId" EnableColumnLines="true" ForceFit="true">
<Columns>
<f:RowNumberField />
<f:RenderField ColumnID="ConstructionUnitName" Width="300px" DataField="ConstructionUnitName" HeaderText="施工单位" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="ApproveStateName" Width="100px" DataField="ApproveStateName" HeaderText="处理状态" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="ApproveTime" Width="150px" DataField="ApproveTime" HeaderText="处理时间" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="ApproveOpinion" DataField="ApproveOpinion" HeaderText="处理意见" HeaderTextAlign="Center">
</f:RenderField>
</Columns>
</f:Grid>
</f:ContentPanel>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Label runat="server" ID="lblApproveUser" Label="审核人"></f:Label>
<f:HiddenField runat="server" ID="hidApproveUserId"></f:HiddenField>
<f:Label runat="server" ID="lblApproveTime" Label="审核时间"></f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextArea ID="txtApproveOpinion" ShowRedStar="true" Required="true" runat="server" Label="审核意见" MaxLength="3000"></f:TextArea>
</Items>
</f:FormRow>
</Rows>
</f:Form>
</f:ContentPanel>
</Items>
</f:FormRow>
</Rows>
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
<Items>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<f:Button ID="btnReturn" Icon="SystemSave" runat="server" Text="退回" ToolTip="退回" ValidateForms="SimpleForm1" OnClick="btnReturn_Click">
</f:Button>
<f:Button ID="btnPass" Icon="SystemSaveNew" runat="server" Text="通过" ToolTip="通过" ValidateForms="SimpleForm1" OnClick="btnPass_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</f:Form>
<f:Window ID="WindowAtt" Title="弹出窗体" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" OnClose="WindowAtt_Close" runat="server" IsModal="true" Width="700px"
Height="500px">
</f:Window>
</form>
<script>
function onGridDataLoad(event) {
this.mergeColumns(['CheckItemType']);
}
</script>
</body>
</html>

View File

@ -0,0 +1,233 @@
using BLL;
using Model;
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.Feeding
{
public partial class TailTermApprove : PageBase
{
/// <summary>
/// 主键
/// </summary>
public string TailTermId
{
get { return (string)ViewState["TailTermId"]; }
set { ViewState["TailTermId"] = value; }
}
/// <summary>
/// 问题图片是否可编辑
/// </summary>
public int QuestionEditImg
{
get { return (int)ViewState["QuestionEditImg"]; }
set { ViewState["QuestionEditImg"] = value; }
}
/// <summary>
/// 整改图片是否可编辑
/// </summary>
public int RectifyEditImg
{
get { return (int)ViewState["RectifyEditImg"]; }
set { ViewState["RectifyEditImg"] = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.TailTermId = Request["TailTermId"];
this.QuestionEditImg = -1;
this.RectifyEditImg = -1;
//数据绑定
PageInit();
//处理意见绑定
gvHandleBrid();
}
}
/// <summary>
/// 绑定数据
/// </summary>
public void PageInit()
{
var data = from tail in Funs.DB.FeedingRun_InspectTailTerm
join unit in Funs.DB.Base_Unit on tail.ConstructionUnit equals unit.UnitId
join inspuser in Funs.DB.Sys_User on tail.InspectUser equals inspuser.UserId
join approuser in Funs.DB.Sys_User on tail.ApproveUser equals approuser.UserId
join termitem in Funs.DB.FeedingRun_SubInspectTermItem on tail.TermItemId equals termitem.TermItemId
where tail.TailTermId == this.TailTermId
select new
{
tail.ProjectName,
tail.TailTermCode,
unit.UnitName,
TermItemName = termitem.WorkInspectName,
tail.SubInspectId,
tail.QuestionDesc,
tail.RectifyOpinion,
tail.RectifyTime,
tail.InspectUser,
InspectUserName = inspuser.UserName,
tail.ApproveUser,
ApproveUserName = approuser.UserName,
tail.AdjustCompleteTime
};
if (data.Count() > 0)
{
var model = data.FirstOrDefault();
//项目名称
lblProjectName.Text = model.ProjectName;
//巡检编号
lblTailTermCode.Text = model.TailTermCode;
//施工单位
lblConstructionUnit.Text = model.UnitName;
//检查项
lblTermItemName.Text = model.TermItemName;
//问题描述
lblQuestionDesc.Text = model.QuestionDesc;
//整改意见
lblRectifyOpinion.Text = model.RectifyOpinion;
//要求整改完成时间
lblAdjustCompleteTime.Text = model.AdjustCompleteTime != null ? model.AdjustCompleteTime.Value.ToString("yyyy-MM-dd hh:mm:ss") : string.Empty;
//检查人
lblInspectUser.Text = model.InspectUserName;
//审核人
lblApproveUser.Text = model.ApproveUserName;
hidApproveUserId.Text = model.ApproveUser;
//审核时间
lblApproveTime.Text = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
}
}
/// <summary>
/// 处理意见绑定
/// </summary>
public void gvHandleBrid()
{
string strSql = @"select a.InspectTermId,a.ApproveOpinion,a.ApproveTime,a.ApproveType,a.ApproveState,(case a.ApproveState when 0 then '处理退回' when 1 then '处理完成' else '' end) as ApproveStateName,b.ConstructionUnit,d.UnitName as ConstructionUnitName,a.AddUser,a.AddTime from FeedingRun_InspectTermApproveRecords as a inner join FeedingRun_InspectTailTerm as b on a.TailTermId=b.TailTermId inner join FeedingRun_SubInspectTermItem as c on c.TermItemId=a.TermItemId inner join Base_Unit as d on d.UnitId=b.ConstructionUnit where 1=1 and a.ApproveType=0 and a.ProjectId=@ProjectId and a.TailTermId=@TailTermId ";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
listStr.Add(new SqlParameter("@TailTermId", this.TailTermId));
strSql += " order by a.AddTime asc";
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
gvHandle.DataSource = tb;
gvHandle.DataBind();
}
/// <summary>
/// 问题图片
/// </summary>
protected void imgBtnQuestionFile_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/CheckControl&menuId={2}", QuestionEditImg, this.TailTermId + "q", Const.InspectTailTerm)));
}
/// <summary>
/// 整改图片
/// </summary>
protected void imgBtnRectifyFile_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/CheckControl&menuId={2}", RectifyEditImg, this.TailTermId + "h", Const.InspectTailTerm)));
}
/// <summary>
/// 退回
/// </summary>
protected void btnReturn_Click(object sender, EventArgs e)
{
var tailTerm = Funs.DB.FeedingRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == this.TailTermId);
if (tailTerm != null)
{
tailTerm.ApproveState = 3;
var model = new FeedingRun_InspectTermApproveRecords();
model.InspectTermId = Guid.NewGuid().ToString();
model.ProjectId = this.CurrUser.LoginProjectId;
model.TermItemId = tailTerm.TermItemId;
model.TailTermId = this.TailTermId;
model.ApproveOpinion = txtApproveOpinion.Text;
model.ApproveTime = DateTime.Parse(lblApproveTime.Text);
model.ApproveUser = hidApproveUserId.Text;
//0:处理记录1:审核记录
model.ApproveType = 1;
//0:退回1:通过
model.ApproveState = 0;
model.AddUser = this.CurrUser.UserId;
model.AddTime = DateTime.Now;
Funs.DB.FeedingRun_InspectTermApproveRecords.InsertOnSubmit(model);
Funs.DB.SubmitChanges();
ShowNotify("退回成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
}
/// <summary>
/// 通过
/// </summary>
protected void btnPass_Click(object sender, EventArgs e)
{
var tailTerm = Funs.DB.FeedingRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == this.TailTermId);
if (tailTerm != null)
{
//获取审核项
if (Funs.DB.FeedingRun_InspectTailTerm.Count(x => x.TermItemId == tailTerm.TermItemId && x.ApproveState != 5 && x.TailTermId != this.TailTermId) == 0)
{
var termItemModel = Funs.DB.FeedingRun_SubInspectTermItem.FirstOrDefault(x => x.TermItemId == tailTerm.TermItemId);
if (termItemModel != null)
{
termItemModel.InspectionResults = 1;
var subModel = Funs.DB.FeedingRun_SubInspectTerm.FirstOrDefault(x => x.SubInspectId == termItemModel.SubInspectId);
if (subModel != null)
{
if (Funs.DB.FeedingRun_SubInspectTermItem.Count(x => x.SubInspectId == termItemModel.SubInspectId && x.InspectionResults.GetValueOrDefault() != 1 && x.TermItemId != termItemModel.TermItemId) == 0)
{
subModel.InspectionIsAllPass = 1;
}
else
{
subModel.InspectionIsAllPass = 0;
}
}
}
}
tailTerm.ApproveState = 5;
var model = new FeedingRun_InspectTermApproveRecords();
model.InspectTermId = Guid.NewGuid().ToString();
model.ProjectId = this.CurrUser.LoginProjectId;
model.TermItemId = tailTerm.TermItemId;
model.TailTermId = this.TailTermId;
model.ApproveOpinion = txtApproveOpinion.Text;
model.ApproveTime = DateTime.Parse(lblApproveTime.Text);
model.ApproveUser = hidApproveUserId.Text;
//0:处理记录1:审核记录
model.ApproveType = 1;
//0:退回1:通过
model.ApproveState = 1;
model.AddUser = this.CurrUser.UserId;
model.AddTime = DateTime.Now;
Funs.DB.FeedingRun_InspectTermApproveRecords.InsertOnSubmit(model);
Funs.DB.SubmitChanges();
ShowNotify("审核成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
}
/// <summary>
/// 关闭
/// </summary>
protected void WindowAtt_Close(object sender, WindowCloseEventArgs e)
{
}
}
}

View File

@ -0,0 +1,278 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.TestRun.Feeding
{
public partial class TailTermApprove
{
/// <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>
/// ContentPanel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel ContentPanel1;
/// <summary>
/// Form2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form Form2;
/// <summary>
/// lblProjectName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblProjectName;
/// <summary>
/// lblTailTermCode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblTailTermCode;
/// <summary>
/// lblConstructionUnit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblConstructionUnit;
/// <summary>
/// lblTermItemName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblTermItemName;
/// <summary>
/// lblQuestionDesc 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblQuestionDesc;
/// <summary>
/// lblRectifyOpinion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblRectifyOpinion;
/// <summary>
/// lblInspectUser 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblInspectUser;
/// <summary>
/// lblAdjustCompleteTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblAdjustCompleteTime;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// imgBtnQuestionFile 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button imgBtnQuestionFile;
/// <summary>
/// Panel2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel2;
/// <summary>
/// lblAttach 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblAttach;
/// <summary>
/// imgBtnRectifyFile 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button imgBtnRectifyFile;
/// <summary>
/// plApprove2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.FormRow plApprove2;
/// <summary>
/// gvHandle 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid gvHandle;
/// <summary>
/// lblApproveUser 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblApproveUser;
/// <summary>
/// hidApproveUserId 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hidApproveUserId;
/// <summary>
/// lblApproveTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblApproveTime;
/// <summary>
/// txtApproveOpinion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtApproveOpinion;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnReturn 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnReturn;
/// <summary>
/// btnPass 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnPass;
/// <summary>
/// WindowAtt 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window WindowAtt;
}
}

View File

@ -0,0 +1,146 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TailTermApproveList.aspx.cs" Inherits="FineUIPro.Web.TestRun.Feeding.TailTermApproveList" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="../../Controls/My97DatePicker/WdatePicker.js" type="text/javascript"></script>
<title>质量巡检审核</title>
<style type="text/css">
.labcenter {
text-align: center;
}
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
.LabelColor {
color: Red;
font-size: small;
}
.Green {
background-color: Green;
color: white;
}
.Yellow {
background-color: #FFFF93;
}
.Red {
background-color: red;
}
.LightGreen {
background-color: LightGreen
}
.f-grid-colheader-text {
white-space: normal;
word-break: break-all;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
ShowHeader="false" Layout="Region" BoxConfigAlign="Stretch">
<Items>
<f:Panel runat="server" ID="panelLeftRegion" RegionPosition="Left" RegionSplit="true"
EnableCollapse="true" Width="300px" Title="巡检记录" ShowBorder="true" Layout="VBox"
ShowHeader="false" AutoScroll="true" BodyPadding="5px" IconFont="ArrowCircleLeft">
<Items>
<f:Tree ID="tvControlItem" ShowHeader="false" Title="工作包" OnNodeCommand="tvControlItem_NodeCommand"
runat="server" ShowBorder="false" EnableCollapse="true" EnableSingleClickExpand="true"
AutoLeafIdentification="true" EnableSingleExpand="false">
</f:Tree>
</Items>
</f:Panel>
<f:Grid ID="Grid1" ShowBorder="true" EnableAjax="false" ShowHeader="false" Title="质量巡检审核" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="TailTermId" AllowCellEditing="true"
ClicksToEdit="2" DataIDField="TailTermId" AllowSorting="true" SortField="AddTime"
SortDirection="DESC" OnSort="Grid1_Sort" EnableColumnLines="true" ForceFit="true"
AllowPaging="true" IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange"
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" AllowFilters="true" EnableTextSelection="True" EnableMultiSelect="false" EnableCheckBoxSelect="true">
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:DropDownList ID="ddlApproveState" runat="server" Label="审核状态" LabelAlign="Right" EnableEdit="true">
<f:ListItem Text="全部" Value="" />
<f:ListItem Text="未审核" Value="2" />
<f:ListItem Text="已审核" Value="3" />
</f:DropDownList>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnQuery" ToolTip="查询" Icon="SystemSearch" runat="server" OnClick="btnQuery_Click"></f:Button>
<f:Button ID="btnReview" Text="审核" ToolTip="审核" runat="server" OnClick="btnReview_Click"></f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField />
<f:RenderField ColumnID="TailTermCode" DataField="TailTermCode" SortField="TailTermCode" HeaderText="巡检编号" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="UnitName" DataField="UnitName" HeaderText="单位名称" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="WorkInspectName" DataField="WorkInspectName" Width="400px" HeaderText="检查项" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="RectifyOpinion" DataField="RectifyOpinion" HeaderText="整改意见" HeaderTextAlign="Center">
</f:RenderField>
<f:BoundField DataField="RectifyTime" DataFormatString="{0:yyyy-MM-dd}" HeaderText="尾项提出时间" />
<f:RenderField ColumnID="InspectUserName" DataField="InspectUserName" HeaderText="检查人" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="ApproveStateName" DataField="ApproveStateName" HeaderText="审批状态" HeaderTextAlign="Center">
</f:RenderField>
</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>
<f:ToolbarFill runat="server">
</f:ToolbarFill>
</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="1300px" Height="660px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<Items>
<f:MenuButton ID="btnMenuApprove" EnablePostBack="true" runat="server" Text="审核" Icon="Pencil"
OnClick="btnMenuApprove_Click">
</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;
}
</script>
</body>
</html>

View File

@ -0,0 +1,202 @@
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.Feeding
{
public partial class TailTermApproveList : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//绑定数据
InitTreeMenu();
}
}
#region
/// <summary>
/// 加载树
/// </summary>
private void InitTreeMenu()
{
this.tvControlItem.Nodes.Clear();
TreeNode rootNode = new TreeNode();
rootNode.Text = "检查表";
rootNode.NodeID = "0";
rootNode.Expanded = true;
rootNode.ToolTip = "";
rootNode.EnableClickEvent = true;
this.tvControlItem.Nodes.Add(rootNode);
var termIds = new List<string>();
var tailTerms = Funs.DB.FeedingRun_InspectTailTerm.Where(x => x.ApproveUser == this.CurrUser.UserId && x.ProjectId == this.CurrUser.LoginProjectId).ToList();
if (tailTerms.Count > 0)
{
termIds = tailTerms.ConvertAll(x => x.TermItemId);
}
var userSubInspects = Funs.DB.FeedingRun_SubInspectTermItem.Where(x => termIds.Contains(x.TermItemId) && x.ProjectId == this.CurrUser.LoginProjectId).ToList();
if (userSubInspects.Count() == 0) return;
var subInstallationIds = userSubInspects.ConvertAll(x => x.InstallationId);
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId));
if (list.Count() > 0)
{
var ids = list.Select(x => x.ProcessesId).ToList();
ids.AddRange(list.Select(x => x.PreRunId).ToList());
ids = ids.Distinct().ToList();
var syslist = Funs.DB.PreRun_SysDevice.Where(x => ids.Contains(x.PreRunId)).ToList();
if (syslist.Count > 0)
{
foreach (var item in list)
{
TreeNode rootOneNode = new TreeNode();
rootOneNode.NodeID = item.PreRunId;
rootOneNode.Text = item.PreRunName;
rootOneNode.ToolTip = item.PreRunName;
rootOneNode.CommandName = "";
rootOneNode.EnableClickEvent = true;
rootOneNode.EnableExpandEvent = false;
rootNode.Nodes.Add(rootOneNode);
rootOneNode.Expanded = true;
}
}
}
}
/// <summary>
/// 点击TreeView
/// </summary>
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 数据绑定
/// </summary>
public void BindGrid()
{
string strSql = @"select a.TailTermId,a.ProjectId,d.ProjectCode,d.ProjectName,a.TailTermCode,a.ConstructionUnit,b.UnitName,a.SubInspectId,a.TermItemId,c.WorkInspectName,a.QuestionDesc,a.RectifyTime,a.RectifyOpinion,a.InspectUser,e.UserName as InspectUserName,a.ApproveUser,f.UserName as ApproveUserName,a.HandleUser,g.UserName as HandleUserName,a.ApproveState,(case a.ApproveState when 0 then '待提交处理' when 1 then '待处理' when 2 then '处理退回' when 3 then '审核退回' when 4 then '待审核' when 5 then '审核通过' else '' end) as ApproveStateName,a.AddTime,a.AdjustCompleteTime,DATEDIFF(DAY, GETDATE(),a.AdjustCompleteTime) as AdjustDiffDay from FeedingRun_InspectTailTerm as a inner join Base_Unit as b on a.ConstructionUnit=b.UnitId inner join FeedingRun_SubInspectTermItem as c on c.TermItemId=a.TermItemId inner join Base_Project as d on d.ProjectId=a.ProjectId inner join Sys_User as e on e.UserId=a.InspectUser inner join Sys_User as f on f.UserId=a.ApproveUser inner join Sys_User as g on g.UserId=a.HandleUser where 1=1 and a.ProjectId=@projectid and a.ApproveUser=@ApproveUser and a.ApproveState>=3";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@projectid", this.CurrUser.LoginProjectId));
listStr.Add(new SqlParameter("@ApproveUser", this.CurrUser.UserId));
if (!string.IsNullOrWhiteSpace(this.tvControlItem.SelectedNodeID))
{
strSql += " and c.InstallationId=@InstallationId";
listStr.Add(new SqlParameter("@InstallationId", this.tvControlItem.SelectedNodeID));
}
//审核状态
if (!string.IsNullOrWhiteSpace(ddlApproveState.SelectedValue))
{
strSql += " and a.ApproveState=@ApproveState";
listStr.Add(new SqlParameter("@ApproveState", ddlApproveState.SelectedValue));
}
strSql += " order by a.AddTime asc";
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();
}
/// <summary>
/// 分页
/// </summary>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
BindGrid();
}
/// <summary>
/// 双击事件
/// </summary>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
btnMenuApprove_Click(null, null);
}
/// <summary>
/// 分页下拉框
/// </summary>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
/// <summary>
/// 排序
/// </summary>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
BindGrid();
}
#endregion
#region
/// <summary>
/// 关闭弹框
/// </summary>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
/// <summary>
/// 审核
/// </summary>
protected void btnReview_Click(object sender, EventArgs e)
{
btnMenuApprove_Click(null, null);
}
/// <summary>
/// 审核
/// </summary>
protected void btnMenuApprove_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
var model = Funs.DB.FeedingRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == Grid1.SelectedRowID);
if (model != null)
{
if (model.ApproveState != 4)
{
Alert.ShowInTop("只可审核“待审核”的记录!", MessageBoxIcon.Warning);
return;
}
}
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("TailTermApprove.aspx?TailTermId={0}", Grid1.SelectedRowID, "审核 - ")));
}
/// <summary>
/// 搜索
/// </summary>
protected void btnQuery_Click(object sender, EventArgs e)
{
BindGrid();
}
#endregion
}
}

View File

@ -0,0 +1,161 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.TestRun.Feeding
{
public partial class TailTermApproveList
{
/// <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>
/// panelLeftRegion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelLeftRegion;
/// <summary>
/// tvControlItem 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tree tvControlItem;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// ddlApproveState 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlApproveState;
/// <summary>
/// btnQuery 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnQuery;
/// <summary>
/// btnReview 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnReview;
/// <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>
/// Menu1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuApprove 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuApprove;
}
}

View File

@ -0,0 +1,131 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TailTermHandle.aspx.cs" Inherits="FineUIPro.Web.TestRun.Feeding.TailTermHandle" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.labcenter {
text-align: center;
}
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
.f-grid-row.red {
background-color: #FF7575;
background-image: none;
}
.fontred {
color: #FF7575;
background-image: none;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="SimpleForm1" runat="server" />
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Rows>
<f:FormRow>
<Items>
<f:ContentPanel ID="ContentPanel1" Title="巡检确认" ShowBorder="true"
BodyPadding="10px" EnableCollapse="true" ShowHeader="true" 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:Label ID="lblProjectName" runat="server" Label="项目名称" LabelAlign="Right"></f:Label>
<f:Label ID="lblTailTermCode" runat="server" Label="巡检编号" LabelAlign="Right"></f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Label ID="lblConstructionUnit" runat="server" Label="施工单位" LabelAlign="Right"></f:Label>
<f:Label ID="lblTermItemName" runat="server" Label="检查项" LabelAlign="Right"></f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Label ID="lblQuestionDesc" ShowRedStar="true" runat="server" Label="问题描述"></f:Label>
<f:Label ID="lblRectifyOpinion" runat="server" Label="整改意见"></f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Label ID="lblInspectUser" runat="server" Label="检查人" LabelAlign="Right"></f:Label>
<f:Label ID="lblAdjustCompleteTime" runat="server" Label="要求整改完成时间" LabelWidth="150px" LabelAlign="Right"></f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Panel ID="Panel1" ShowHeader="false" ShowBorder="false" Layout="Column" runat="server">
<Items>
<f:Label runat="server" Text="问题图片查看:" CssStyle="padding-left:25px" Width="150px" CssClass="marginr" ShowLabel="false"></f:Label>
<f:Button ID="imgBtnQuestionFile" Text="问题图片查看" ToolTip="问题图片查看" Icon="TableCell" runat="server"
OnClick="imgBtnQuestionFile_Click">
</f:Button>
</Items>
</f:Panel>
<f:Panel ID="Panel2" ShowHeader="false" ShowBorder="false" Layout="Column" runat="server">
<Items>
<f:Label ID="lblAttach" CssStyle="padding-left:23px" Width="150px" runat="server" CssClass="marginr" ShowLabel="false"
Text="整改图片上传:">
</f:Label>
<f:Button ID="imgBtnRectifyFile" Text="整改图片上传" ToolTip="整改图片上传" Icon="TableCell" runat="server" OnClick="imgBtnRectifyFile_Click">
</f:Button>
</Items>
</f:Panel>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Label runat="server" ID="lblApproveUser" Label="处理人"></f:Label>
<f:HiddenField runat="server" ID="hidApproveUserId"></f:HiddenField>
<f:Label runat="server" ID="lblApproveTime" Label="处理时间"></f:Label>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextArea ID="txtApproveOpinion" ShowRedStar="true" Required="true" runat="server" Label="处理结果" MaxLength="3000"></f:TextArea>
</Items>
</f:FormRow>
</Rows>
</f:Form>
</f:ContentPanel>
</Items>
</f:FormRow>
</Rows>
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
<Items>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<f:Button ID="btnReturn" Icon="SystemSave" runat="server" Text="处理退回" ToolTip="处理退回" ValidateForms="SimpleForm1" OnClick="btnReturn_Click">
</f:Button>
<f:Button ID="btnPass" Icon="SystemSaveNew" runat="server" Text="处理完成并提交审核" ToolTip="处理完成并提交审核" ValidateForms="SimpleForm1" OnClick="btnPass_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</f:Form>
<f:Window ID="WindowAtt" Title="弹出窗体" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" OnClose="WindowAtt_Close" runat="server" IsModal="true" Width="700px"
Height="500px">
</f:Window>
</form>
<script>
function onGridDataLoad(event) {
this.mergeColumns(['CheckItemType']);
}
</script>
</body>
</html>

View File

@ -0,0 +1,192 @@
using BLL;
using Model;
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.Feeding
{
public partial class TailTermHandle : PageBase
{
/// <summary>
/// 主键
/// </summary>
public string TailTermId
{
get { return (string)ViewState["TailTermId"]; }
set { ViewState["TailTermId"] = value; }
}
/// <summary>
/// 问题图片是否可编辑
/// </summary>
public int QuestionEditImg
{
get { return (int)ViewState["QuestionEditImg"]; }
set { ViewState["QuestionEditImg"] = value; }
}
/// <summary>
/// 整改图片是否可编辑
/// </summary>
public int RectifyEditImg
{
get { return (int)ViewState["RectifyEditImg"]; }
set { ViewState["RectifyEditImg"] = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.TailTermId = Request["TailTermId"];
this.QuestionEditImg = -1;
this.RectifyEditImg = 0;
//数据绑定
PageInit();
}
}
/// <summary>
/// 绑定数据
/// </summary>
public void PageInit()
{
var data = from tail in Funs.DB.FeedingRun_InspectTailTerm
join unit in Funs.DB.Base_Unit on tail.ConstructionUnit equals unit.UnitId
join inspuser in Funs.DB.Sys_User on tail.InspectUser equals inspuser.UserId
join handleuser in Funs.DB.Sys_User on tail.HandleUser equals handleuser.UserId
join termitem in Funs.DB.FeedingRun_SubInspectTermItem on tail.TermItemId equals termitem.TermItemId
where tail.TailTermId == this.TailTermId
select new
{
tail.ProjectName,
tail.TailTermCode,
unit.UnitName,
TermItemName = termitem.WorkInspectName,
tail.SubInspectId,
tail.QuestionDesc,
tail.RectifyOpinion,
tail.RectifyTime,
tail.InspectUser,
InspectUserName = inspuser.UserName,
tail.HandleUser,
HandleUserName = handleuser.UserName,
tail.AdjustCompleteTime
};
if (data.Count() > 0)
{
var model = data.FirstOrDefault();
//项目名称
lblProjectName.Text = model.ProjectName;
//巡检编号
lblTailTermCode.Text = model.TailTermCode;
//施工单位
lblConstructionUnit.Text = model.UnitName;
//检查项
lblTermItemName.Text = model.TermItemName;
//问题描述
lblQuestionDesc.Text = model.QuestionDesc;
//整改意见
lblRectifyOpinion.Text = model.RectifyOpinion;
//要求整改完成时间
lblAdjustCompleteTime.Text = model.AdjustCompleteTime != null ? model.AdjustCompleteTime.Value.ToString("yyyy-MM-dd hh:mm:ss") : string.Empty;
//检查人
lblInspectUser.Text = model.InspectUserName;
//处理人
lblApproveUser.Text = model.HandleUserName;
hidApproveUserId.Text = model.HandleUser;
//处理时间
lblApproveTime.Text = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
}
}
/// <summary>
/// 问题图片
/// </summary>
protected void imgBtnQuestionFile_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/CheckControl&menuId={2}", QuestionEditImg, this.TailTermId + "q", Const.InspectTailTerm)));
}
/// <summary>
/// 整改图片
/// </summary>
protected void imgBtnRectifyFile_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/CheckControl&menuId={2}", RectifyEditImg, this.TailTermId + "h", Const.InspectTailTerm)));
}
/// <summary>
/// 处理退回
/// </summary>
protected void btnReturn_Click(object sender, EventArgs e)
{
var tailTerm = Funs.DB.FeedingRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == this.TailTermId);
if (tailTerm != null)
{
tailTerm.ApproveState = 2;
var model = new FeedingRun_InspectTermApproveRecords();
model.InspectTermId = Guid.NewGuid().ToString();
model.ProjectId = this.CurrUser.LoginProjectId;
model.TermItemId = tailTerm.TermItemId;
model.TailTermId = this.TailTermId;
model.ApproveOpinion = txtApproveOpinion.Text;
model.ApproveTime = DateTime.Parse(lblApproveTime.Text);
model.ApproveUser = hidApproveUserId.Text;
//0:处理记录1:审核记录
model.ApproveType = 0;
//0:退回1:通过
model.ApproveState = 0;
model.AddUser = this.CurrUser.UserId;
model.AddTime = DateTime.Now;
Funs.DB.FeedingRun_InspectTermApproveRecords.InsertOnSubmit(model);
Funs.DB.SubmitChanges();
ShowNotify("退回成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
}
/// <summary>
/// 处理通过并提交审核
/// </summary>
protected void btnPass_Click(object sender, EventArgs e)
{
var tailTerm = Funs.DB.FeedingRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == this.TailTermId);
if (tailTerm != null)
{
tailTerm.ApproveState = 4;
var model = new FeedingRun_InspectTermApproveRecords();
model.InspectTermId = Guid.NewGuid().ToString();
model.ProjectId = this.CurrUser.LoginProjectId;
model.TermItemId = tailTerm.TermItemId;
model.TailTermId = this.TailTermId;
model.ApproveOpinion = txtApproveOpinion.Text;
model.ApproveTime = DateTime.Parse(lblApproveTime.Text);
model.ApproveUser = hidApproveUserId.Text;
//0:处理记录1:审核记录
model.ApproveType = 0;
//0:退回1:通过
model.ApproveState = 1;
model.AddUser = this.CurrUser.UserId;
model.AddTime = DateTime.Now;
Funs.DB.FeedingRun_InspectTermApproveRecords.InsertOnSubmit(model);
Funs.DB.SubmitChanges();
ShowNotify("处理成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
}
/// <summary>
/// 关闭
/// </summary>
protected void WindowAtt_Close(object sender, WindowCloseEventArgs e)
{
}
}
}

View File

@ -0,0 +1,260 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.TestRun.Feeding
{
public partial class TailTermHandle
{
/// <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>
/// ContentPanel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel ContentPanel1;
/// <summary>
/// Form2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form Form2;
/// <summary>
/// lblProjectName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblProjectName;
/// <summary>
/// lblTailTermCode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblTailTermCode;
/// <summary>
/// lblConstructionUnit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblConstructionUnit;
/// <summary>
/// lblTermItemName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblTermItemName;
/// <summary>
/// lblQuestionDesc 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblQuestionDesc;
/// <summary>
/// lblRectifyOpinion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblRectifyOpinion;
/// <summary>
/// lblInspectUser 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblInspectUser;
/// <summary>
/// lblAdjustCompleteTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblAdjustCompleteTime;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// imgBtnQuestionFile 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button imgBtnQuestionFile;
/// <summary>
/// Panel2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel2;
/// <summary>
/// lblAttach 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblAttach;
/// <summary>
/// imgBtnRectifyFile 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button imgBtnRectifyFile;
/// <summary>
/// lblApproveUser 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblApproveUser;
/// <summary>
/// hidApproveUserId 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hidApproveUserId;
/// <summary>
/// lblApproveTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblApproveTime;
/// <summary>
/// txtApproveOpinion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtApproveOpinion;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnReturn 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnReturn;
/// <summary>
/// btnPass 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnPass;
/// <summary>
/// WindowAtt 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window WindowAtt;
}
}

View File

@ -0,0 +1,147 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TailTermHandleList.aspx.cs" Inherits="FineUIPro.Web.TestRun.Feeding.TailTermHandleList" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="../../Controls/My97DatePicker/WdatePicker.js" type="text/javascript"></script>
<title>质量巡检处理确认</title>
<style type="text/css">
.labcenter {
text-align: center;
}
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
.LabelColor {
color: Red;
font-size: small;
}
.Green {
background-color: Green;
color: white;
}
.Yellow {
background-color: #FFFF93;
}
.Red {
background-color: red;
}
.LightGreen {
background-color: LightGreen
}
.f-grid-colheader-text {
white-space: normal;
word-break: break-all;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
ShowHeader="false" Layout="Region" BoxConfigAlign="Stretch">
<Items>
<f:Panel runat="server" ID="panelLeftRegion" RegionPosition="Left" RegionSplit="true"
EnableCollapse="true" Width="300px" Title="巡检记录" ShowBorder="true" Layout="VBox"
ShowHeader="false" AutoScroll="true" BodyPadding="5px" IconFont="ArrowCircleLeft">
<Items>
<f:Tree ID="tvControlItem" ShowHeader="false" Title="工作包" OnNodeCommand="tvControlItem_NodeCommand"
runat="server" ShowBorder="false" EnableCollapse="true" EnableSingleClickExpand="true"
AutoLeafIdentification="true" EnableSingleExpand="false">
</f:Tree>
</Items>
</f:Panel>
<f:Grid ID="Grid1" ShowBorder="true" EnableAjax="false" ShowHeader="false" Title="质量巡检处理确认" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="TailTermId" AllowCellEditing="true"
ClicksToEdit="2" DataIDField="TailTermId" AllowSorting="true" SortField="AddTime"
SortDirection="DESC" OnSort="Grid1_Sort" EnableColumnLines="true" ForceFit="true"
AllowPaging="true" IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange"
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" AllowFilters="true" EnableTextSelection="True" EnableMultiSelect="false" EnableCheckBoxSelect="true">
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:DropDownList ID="ddlApproveState" runat="server" Label="审核状态" LabelAlign="Right" EnableEdit="true">
<f:ListItem Text="全部" Value="" />
<f:ListItem Text="未审核" Value="2" />
<f:ListItem Text="已审核" Value="3" />
</f:DropDownList>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnQuery" ToolTip="查询" Icon="SystemSearch" runat="server" OnClick="btnQuery_Click"></f:Button>
<f:Button ID="btnReview" Text="处理" ToolTip="处理" runat="server" OnClick="btnReview_Click"></f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField />
<f:RenderField ColumnID="TailTermCode" DataField="TailTermCode" SortField="TailTermCode" HeaderText="巡检编号" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="UnitName" DataField="UnitName" HeaderText="单位名称" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="WorkInspectName" DataField="WorkInspectName" Width="400px" HeaderText="检查项" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="RectifyOpinion" DataField="RectifyOpinion" HeaderText="整改意见" HeaderTextAlign="Center">
</f:RenderField>
<f:BoundField DataField="RectifyTime" DataFormatString="{0:yyyy-MM-dd}" HeaderText="尾项提出时间" />
<f:RenderField ColumnID="InspectUserName" DataField="InspectUserName" HeaderText="检查人" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField ColumnID="ApproveStateName" DataField="ApproveStateName" HeaderText="审批状态" HeaderTextAlign="Center">
</f:RenderField>
</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>
<f:ToolbarFill runat="server">
</f:ToolbarFill>
</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="1300px" Height="660px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<Items>
<f:MenuButton ID="btnMenuApprove" EnablePostBack="true" runat="server" Text="处理" Icon="Pencil"
OnClick="btnMenuApprove_Click">
</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;
}
</script>
</body>
</html>

View File

@ -0,0 +1,196 @@
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.Feeding
{
public partial class TailTermHandleList : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//绑定数据
InitTreeMenu();
}
}
#region
/// <summary>
/// 加载树
/// </summary>
private void InitTreeMenu()
{
this.tvControlItem.Nodes.Clear();
TreeNode rootNode = new TreeNode();
rootNode.Text = "检查表";
rootNode.NodeID = "0";
rootNode.Expanded = true;
rootNode.ToolTip = "";
rootNode.EnableClickEvent = true;
this.tvControlItem.Nodes.Add(rootNode);
var termIds = new List<string>();
var tailTerms = Funs.DB.FeedingRun_InspectTailTerm.Where(x => x.HandleUser == this.CurrUser.UserId && x.ProjectId == this.CurrUser.LoginProjectId).ToList();
if (tailTerms.Count > 0)
{
termIds = tailTerms.ConvertAll(x => x.TermItemId);
}
var userSubInspects = Funs.DB.FeedingRun_SubInspectTermItem.Where(x => termIds.Contains(x.TermItemId) && x.ProjectId == this.CurrUser.LoginProjectId).ToList();
if (userSubInspects.Count == 0) return;
var subInstallationIds = userSubInspects.ConvertAll(x => x.InstallationId);
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId));
if (list.Count() > 0)
{
foreach (var item in list)
{
TreeNode rootOneNode = new TreeNode();
rootOneNode.NodeID = item.PreRunId;
rootOneNode.Text = item.PreRunName;
rootOneNode.ToolTip = item.PreRunName;
rootOneNode.CommandName = "";
rootOneNode.EnableClickEvent = true;
rootOneNode.EnableExpandEvent = false;
rootNode.Nodes.Add(rootOneNode);
rootOneNode.Expanded = true;
}
}
}
/// <summary>
/// 点击TreeView
/// </summary>
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 数据绑定
/// </summary>
public void BindGrid()
{
string strSql = @"select a.TailTermId,a.ProjectId,d.ProjectCode,d.ProjectName,a.TailTermCode,a.ConstructionUnit,b.UnitName,a.SubInspectId,a.TermItemId,c.WorkInspectName,a.QuestionDesc,a.RectifyTime,a.RectifyOpinion,a.InspectUser,e.UserName as InspectUserName,a.ApproveUser,f.UserName as ApproveUserName,a.HandleUser,g.UserName as HandleUserName,a.ApproveState,(case a.ApproveState when 0 then '待提交处理' when 1 then '待处理' when 2 then '处理退回' when 3 then '审核退回' when 4 then '待审核' when 5 then '审核通过' else '' end) as ApproveStateName,a.AddTime,a.AdjustCompleteTime,DATEDIFF(DAY, GETDATE(),a.AdjustCompleteTime) as AdjustDiffDay from FeedingRun_InspectTailTerm as a inner join Base_Unit as b on a.ConstructionUnit=b.UnitId inner join FeedingRun_SubInspectTermItem as c on c.TermItemId=a.TermItemId inner join Base_Project as d on d.ProjectId=a.ProjectId inner join Sys_User as e on e.UserId=a.InspectUser inner join Sys_User as f on f.UserId=a.ApproveUser inner join Sys_User as g on g.UserId=a.HandleUser where 1=1 and a.ProjectId=@projectid and a.HandleUser=@HandleUser and a.ApproveState>=1";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@projectid", this.CurrUser.LoginProjectId));
listStr.Add(new SqlParameter("@HandleUser", this.CurrUser.UserId));
if (!string.IsNullOrWhiteSpace(this.tvControlItem.SelectedNodeID))
{
strSql += " and c.InstallationId=@InstallationId";
listStr.Add(new SqlParameter("@InstallationId", this.tvControlItem.SelectedNodeID));
}
//审核状态
if (!string.IsNullOrWhiteSpace(ddlApproveState.SelectedValue))
{
strSql += " and a.ApproveState=@ApproveState";
listStr.Add(new SqlParameter("@ApproveState", ddlApproveState.SelectedValue));
}
strSql += " order by a.AddTime asc";
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();
}
/// <summary>
/// 分页
/// </summary>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
BindGrid();
}
/// <summary>
/// 双击事件
/// </summary>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
btnMenuApprove_Click(null, null);
}
/// <summary>
/// 分页下拉框
/// </summary>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
/// <summary>
/// 排序
/// </summary>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
BindGrid();
}
#endregion
#region
/// <summary>
/// 关闭弹框
/// </summary>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
/// <summary>
/// 处理
/// </summary>
protected void btnReview_Click(object sender, EventArgs e)
{
btnMenuApprove_Click(null, null);
}
/// <summary>
/// 处理
/// </summary>
protected void btnMenuApprove_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
var passLs = new List<int>() { 1, 3 };
var model = Funs.DB.FeedingRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == Grid1.SelectedRowID);
if (model != null)
{
if (!passLs.Contains(model.ApproveState.Value))
{
Alert.ShowInTop("只可处理“待处理”和“审核退回”的记录!", MessageBoxIcon.Warning);
return;
}
}
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("TailTermHandle.aspx?TailTermId={0}", Grid1.SelectedRowID, "审核 - ")));
}
/// <summary>
/// 搜索
/// </summary>
protected void btnQuery_Click(object sender, EventArgs e)
{
BindGrid();
}
#endregion
}
}

View File

@ -0,0 +1,161 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.TestRun.Feeding
{
public partial class TailTermHandleList
{
/// <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>
/// panelLeftRegion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelLeftRegion;
/// <summary>
/// tvControlItem 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tree tvControlItem;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// ddlApproveState 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlApproveState;
/// <summary>
/// btnQuery 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnQuery;
/// <summary>
/// btnReview 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnReview;
/// <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>
/// Menu1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuApprove 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuApprove;
}
}

View File

@ -67,6 +67,8 @@
</f:RenderField>
<f:RenderField HeaderText="工作包数量" ColumnID="WorkPackNum" DataField="WorkPackNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
</f:RenderField>
<f:RenderField HeaderText="工作包未开始数量" ColumnID="WorkPackNotStartedNum" DataField="WorkPackNotStartedNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
</f:RenderField>
<f:RenderField HeaderText="工作包未关闭数量" ColumnID="WorkPackNoCloseNum" DataField="WorkPackNoCloseNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
</f:RenderField>
<f:RenderField HeaderText="工作包已关闭数量" ColumnID="WorkPackCloseNum" DataField="WorkPackCloseNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">

View File

@ -180,6 +180,7 @@ namespace FineUIPro.Web.TestRun.Report
GridPreRun.DataBind();
JObject summary = new JObject();
summary.Add("WorkPackNum", result.Sum(x => x.WorkPackNum));
summary.Add("WorkPackNotStartedNum", result.Sum(x => x.WorkPackNotStartedNum));
summary.Add("WorkPackNoCloseNum", result.Sum(x => x.WorkPackNoCloseNum));
summary.Add("WorkPackCloseNum", result.Sum(x => x.WorkPackCloseNum));
summary.Add("InspectNum", result.Sum(x => x.InspectNum));
@ -222,6 +223,7 @@ namespace FineUIPro.Web.TestRun.Report
ws.SetColumnWidth(8, (20 * 256));
ws.SetColumnWidth(9, (20 * 256));
ws.SetColumnWidth(10, (20 * 256));
ws.SetColumnWidth(11, (20 * 256));
#endregion
@ -235,7 +237,7 @@ namespace FineUIPro.Web.TestRun.Report
#region
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, 0, 0, 0, 10);
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, 0, 0, 0, 11);
//行1
ws.GetRow(0).GetCell(0).CellStyle = styleBold;
ws.GetRow(0).GetCell(0).SetCellValue("工作包名称");
@ -250,15 +252,17 @@ namespace FineUIPro.Web.TestRun.Report
ws.GetRow(0).GetCell(5).CellStyle = styleBold;
ws.GetRow(0).GetCell(5).SetCellValue("工作包数量");
ws.GetRow(0).GetCell(6).CellStyle = styleBold;
ws.GetRow(0).GetCell(6).SetCellValue("工作包未关闭数量");
ws.GetRow(0).GetCell(6).SetCellValue("工作包未开始数量");
ws.GetRow(0).GetCell(7).CellStyle = styleBold;
ws.GetRow(0).GetCell(7).SetCellValue("工作包关闭数量");
ws.GetRow(0).GetCell(7).SetCellValue("工作包关闭数量");
ws.GetRow(0).GetCell(8).CellStyle = styleBold;
ws.GetRow(0).GetCell(8).SetCellValue("检查表数量");
ws.GetRow(0).GetCell(8).SetCellValue("工作包已关闭数量");
ws.GetRow(0).GetCell(9).CellStyle = styleBold;
ws.GetRow(0).GetCell(9).SetCellValue("检查表未关闭数量");
ws.GetRow(0).GetCell(9).SetCellValue("检查表数量");
ws.GetRow(0).GetCell(10).CellStyle = styleBold;
ws.GetRow(0).GetCell(10).SetCellValue("检查表已关闭数量");
ws.GetRow(0).GetCell(10).SetCellValue("检查表未关闭数量");
ws.GetRow(0).GetCell(11).CellStyle = styleBold;
ws.GetRow(0).GetCell(11).SetCellValue("检查表已关闭数量");
#endregion
@ -266,7 +270,7 @@ namespace FineUIPro.Web.TestRun.Report
var start = 1;
var end = result.Count;
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, start, end, 0, 10);
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, start, end, 0, 11);
//数据
var dataIndex = 1;
@ -278,11 +282,12 @@ namespace FineUIPro.Web.TestRun.Report
ws.GetRow(dataIndex).GetCell(3).SetCellValue(item.SystemName);
ws.GetRow(dataIndex).GetCell(4).SetCellValue(item.SubsystemName);
ws.GetRow(dataIndex).GetCell(5).SetCellValue(item.WorkPackNum);
ws.GetRow(dataIndex).GetCell(6).SetCellValue(item.WorkPackNoCloseNum);
ws.GetRow(dataIndex).GetCell(7).SetCellValue(item.WorkPackCloseNum);
ws.GetRow(dataIndex).GetCell(8).SetCellValue(item.InspectNum);
ws.GetRow(dataIndex).GetCell(9).SetCellValue(item.InspectNoCloseNum);
ws.GetRow(dataIndex).GetCell(10).SetCellValue(item.InspectCloseNum);
ws.GetRow(dataIndex).GetCell(6).SetCellValue(item.WorkPackNotStartedNum);
ws.GetRow(dataIndex).GetCell(7).SetCellValue(item.WorkPackNoCloseNum);
ws.GetRow(dataIndex).GetCell(8).SetCellValue(item.WorkPackCloseNum);
ws.GetRow(dataIndex).GetCell(9).SetCellValue(item.InspectNum);
ws.GetRow(dataIndex).GetCell(10).SetCellValue(item.InspectNoCloseNum);
ws.GetRow(dataIndex).GetCell(11).SetCellValue(item.InspectCloseNum);
dataIndex++;
}
@ -290,16 +295,17 @@ namespace FineUIPro.Web.TestRun.Report
#region
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, end + 1, end + 1, 0, 10);
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, end + 1, end + 1, 0, 11);
var region = new CellRangeAddress(end + 1, end + 1, 0, 4);
ws.AddMergedRegion(region);
ws.GetRow(end + 1).GetCell(0).SetCellValue("合计");
ws.GetRow(end + 1).GetCell(5).SetCellValue(result.Count > 0 ? result.Sum(x => x.WorkPackNum).ToString() : "0");
ws.GetRow(end + 1).GetCell(6).SetCellValue(result.Count > 0 ? result.Sum(x => x.WorkPackNoCloseNum).ToString() : "0");
ws.GetRow(end + 1).GetCell(7).SetCellValue(result.Count > 0 ? result.Sum(x => x.WorkPackCloseNum).ToString() : "0");
ws.GetRow(end + 1).GetCell(8).SetCellValue(result.Count > 0 ? result.Sum(x => x.InspectNum).ToString() : "0");
ws.GetRow(end + 1).GetCell(9).SetCellValue(result.Count > 0 ? result.Sum(x => x.InspectNoCloseNum).ToString() : "0");
ws.GetRow(end + 1).GetCell(10).SetCellValue(result.Count > 0 ? result.Sum(x => x.InspectCloseNum).ToString() : "0");
ws.GetRow(end + 1).GetCell(6).SetCellValue(result.Count > 0 ? result.Sum(x => x.WorkPackNotStartedNum).ToString() : "0");
ws.GetRow(end + 1).GetCell(7).SetCellValue(result.Count > 0 ? result.Sum(x => x.WorkPackNoCloseNum).ToString() : "0");
ws.GetRow(end + 1).GetCell(8).SetCellValue(result.Count > 0 ? result.Sum(x => x.WorkPackCloseNum).ToString() : "0");
ws.GetRow(end + 1).GetCell(9).SetCellValue(result.Count > 0 ? result.Sum(x => x.InspectNum).ToString() : "0");
ws.GetRow(end + 1).GetCell(10).SetCellValue(result.Count > 0 ? result.Sum(x => x.InspectNoCloseNum).ToString() : "0");
ws.GetRow(end + 1).GetCell(11).SetCellValue(result.Count > 0 ? result.Sum(x => x.InspectCloseNum).ToString() : "0");
#endregion
@ -438,6 +444,7 @@ namespace FineUIPro.Web.TestRun.Report
}
model.WorkPackCloseNum = 0;
model.WorkPackNoCloseNum = 0;
model.WorkPackNotStartedNum = 0;
var subsystemids = itemQueryList.ConvertAll(a => a.SubSystemId).Distinct();
foreach (var itemsubid in subsystemids)
{
@ -465,7 +472,7 @@ namespace FineUIPro.Web.TestRun.Report
}
else
{
model.WorkPackNoCloseNum += 1;
model.WorkPackNotStartedNum += 1;
}
}
list.Add(model);
@ -512,11 +519,11 @@ namespace FineUIPro.Web.TestRun.Report
/// </summary>
public string AllNum { get; set; }
/// <summary>
/// 未关闭任务单数量
/// 未关闭数量
/// </summary>
public string NoCloseNum { get; set; }
/// <summary>
/// 已关闭任务单数量
/// 已关闭数量
/// </summary>
public string CloseNum { get; set; }
}
@ -579,6 +586,10 @@ namespace FineUIPro.Web.TestRun.Report
/// </summary>
public int WorkPackNoCloseNum { get; set; }
/// <summary>
/// 工作包未开始数量
/// </summary>
public int WorkPackNotStartedNum { get; set; }
/// <summary>
/// 工作包已关闭数量
/// </summary>
public int WorkPackCloseNum { get; set; }

View File

@ -58,6 +58,11 @@
<f:NumberBox NoNegative="true" runat="server" ID="txtAllNum" Required="true"></f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField HeaderText="未开始数量" ColumnID="NotStartedNum" DataField="NotStartedNum" FieldType="Int" HeaderTextAlign="Center" TextAlign="Center">
<Editor>
<f:NumberBox NoNegative="true" runat="server" ID="txtNotStartedNum" Required="true"></f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField HeaderText="进行中数量" ColumnID="ProgressNum" DataField="ProgressNum" FieldType="Int" HeaderTextAlign="Center" TextAlign="Center">
<Editor>
<f:NumberBox NoNegative="true" runat="server" ID="txtProgressNum" Required="true"></f:NumberBox>
@ -99,6 +104,11 @@
<f:NumberBox NoNegative="true" runat="server" ID="txtAllNum1"></f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField HeaderText="未开始数量" ColumnID="NotStartedNum" DataField="NotStartedNum" FieldType="Int" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:NumberBox NoNegative="true" runat="server" ID="txtNotStartedNum1"></f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField HeaderText="进行中数量" ColumnID="ProgressNum" DataField="ProgressNum" FieldType="Int" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
<Editor>
<f:NumberBox NoNegative="true" runat="server" ID="txtProgressNum1"></f:NumberBox>
@ -188,12 +198,13 @@
$.each(modifiedData, function (index, rowData) {
var allNum = parseInt(rowData.values['AllNum']);
var notStartedNum = parseInt(rowData.values['NotStartedNum']);
var progressNum = parseInt(rowData.values['ProgressNum']);
var completeNum = parseInt(rowData.values['CompleteNum']);
var workPackName = rowData.values['WorkPackName'];
if (allNum != (progressNum + completeNum)) {
if (allNum != (notStartedNum + progressNum + completeNum)) {
F.alert({
message: '工作包(' + workPackName + ')全部数量不等于进行中数量加已完成数量!',
message: '工作包(' + workPackName + ')全部数量不等于未开始数量+进行中数量+已完成数量!',
ok: function () {
grid1.startEdit(rowData.id, 'AllNum');
}
@ -210,16 +221,19 @@
function onGridYscAfterEdit(event, value, params) {
var me = F('<%= GridYsc.ClientID %>');
var allNumTotal = 0;
var notStartedNumTotal = 0;
var progressNumTotal = 0;
var completeNumTotal = 0;
me.getRowEls().each(function (index, tr) {
debugger;
allNumTotal += me.getCellValue(tr, 'AllNum');
notStartedNumTotal += me.getCellValue(tr, 'NotStartedNum');
progressNumTotal += me.getCellValue(tr, 'ProgressNum');
completeNumTotal += me.getCellValue(tr, 'CompleteNum');
});
// 第三个参数 true强制更新不显示左上角的更改标识
me.updateSummaryCellValue('AllNum', allNumTotal, true);
me.updateSummaryCellValue('NotStartedNum', notStartedNum, true);
me.updateSummaryCellValue('ProgressNum', progressNumTotal, true);
me.updateSummaryCellValue('CompleteNum', completeNumTotal, true);
}
@ -231,12 +245,13 @@
$.each(modifiedData, function (index, rowData) {
var allNum = parseInt(rowData.values['AllNum']);
var notStartedNum = parseInt(rowData.values['NotStartedNum']);
var progressNum = parseInt(rowData.values['ProgressNum']);
var completeNum = parseInt(rowData.values['CompleteNum']);
var workPackName = rowData.values['WorkPackName'];
if (allNum != (progressNum + completeNum)) {
if (allNum != (notStartedNum + progressNum + completeNum)) {
F.alert({
message: '工作包(' + workPackName + ')全部数量不等于进行中数量加已完成数量!',
message: '工作包(' + workPackName + ')全部数量不等于未开始数量+进行中数量+已完成数量!',
ok: function () {
grid1.startEdit(rowData.id, 'AllNum');
}
@ -257,13 +272,14 @@
var progressNumTotal = 0;
var completeNumTotal = 0;
me.getRowEls().each(function (index, tr) {
debugger;
allNumTotal += me.getCellValue(tr, 'AllNum');
notStartedNumTotal += me.getCellValue(tr, 'NotStartedNum');
progressNumTotal += me.getCellValue(tr, 'ProgressNum');
completeNumTotal += me.getCellValue(tr, 'CompleteNum');
});
// 第三个参数 true强制更新不显示左上角的更改标识
me.updateSummaryCellValue('AllNum', allNumTotal, true);
me.updateSummaryCellValue('NotStartedNum', notStartedNumTotal, true);
me.updateSummaryCellValue('ProgressNum', progressNumTotal, true);
me.updateSummaryCellValue('CompleteNum', completeNumTotal, true);
}

View File

@ -48,6 +48,7 @@ namespace FineUIPro.Web.TestRun.Report
GridYsc.DataBind();
JObject summary = new JObject();
summary.Add("AllNum", result.Sum(x => x.AllNum));
summary.Add("NotStartedNum", result.Sum(x => x.NotStartedNum));
summary.Add("ProgressNum", result.Sum(x => x.ProgressNum));
summary.Add("CompleteNum", result.Sum(x => x.CompleteNum));
GridYsc.SummaryData = summary;
@ -75,6 +76,7 @@ namespace FineUIPro.Web.TestRun.Report
ProjectId = a.ProjectId,
States = a.States,
AllNum = a.AllNum,
NotStartedNum = a.NotStartedNum,
ProgressNum = a.ProgressNum,
CompleteNum = a.CompleteNum,
CompleteRate = a.CompleteRate,
@ -121,6 +123,7 @@ namespace FineUIPro.Web.TestRun.Report
model.AllNum = itemQueryList.Count(x => x.WorkPackId == itemPack.WorkPackId);
model.ProgressNum = 0;
model.CompleteNum = 0;
model.NotStartedNum = 0;
var subsystemids = itemQueryList.ConvertAll(a => a.SubSystemId).Distinct();
foreach (var itemsubid in subsystemids)
{
@ -148,7 +151,7 @@ namespace FineUIPro.Web.TestRun.Report
}
else
{
model.ProgressNum += 1;
model.NotStartedNum += 1;
}
}
var rate = model.CompleteNum > 0 ? (decimal)Math.Round((float)model.CompleteNum / (float)model.AllNum * 100, 2, MidpointRounding.AwayFromZero) : 0;
@ -204,6 +207,7 @@ namespace FineUIPro.Web.TestRun.Report
model.ProjectId = this.CurrUser.LoginProjectId;
model.States = 1;
model.AllNum = !string.IsNullOrWhiteSpace(values.Value<string>("AllNum")) ? int.Parse(values.Value<string>("AllNum")) : 0;
model.NotStartedNum = !string.IsNullOrWhiteSpace(values.Value<string>("NotStartedNum")) ? int.Parse(values.Value<string>("NotStartedNum")) : 0;
model.ProgressNum = !string.IsNullOrWhiteSpace(values.Value<string>("ProgressNum")) ? int.Parse(values.Value<string>("ProgressNum")) : 0;
model.CompleteNum = !string.IsNullOrWhiteSpace(values.Value<string>("CompleteNum")) ? int.Parse(values.Value<string>("CompleteNum")) : 0;
var rate = model.CompleteNum > 0 ? (decimal)Math.Round((float)model.CompleteNum / (float)model.AllNum * 100, 2, MidpointRounding.AwayFromZero) : 0;
@ -255,6 +259,7 @@ namespace FineUIPro.Web.TestRun.Report
ws.SetColumnWidth(1, (20 * 256));
ws.SetColumnWidth(2, (20 * 256));
ws.SetColumnWidth(3, (20 * 256));
ws.SetColumnWidth(4, (20 * 256));
#endregion
@ -268,16 +273,18 @@ namespace FineUIPro.Web.TestRun.Report
#region
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, 0, 0, 0, 3);
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, 0, 0, 0, 4);
//行1
ws.GetRow(0).GetCell(0).CellStyle = styleBold;
ws.GetRow(0).GetCell(0).SetCellValue("工作包名称");
ws.GetRow(0).GetCell(1).CellStyle = styleBold;
ws.GetRow(0).GetCell(1).SetCellValue("全部数量");
ws.GetRow(0).GetCell(2).CellStyle = styleBold;
ws.GetRow(0).GetCell(2).SetCellValue("进行中数量");
ws.GetRow(0).GetCell(2).SetCellValue("未开始数量");
ws.GetRow(0).GetCell(3).CellStyle = styleBold;
ws.GetRow(0).GetCell(3).SetCellValue("已完成数量");
ws.GetRow(0).GetCell(3).SetCellValue("进行中数量");
ws.GetRow(0).GetCell(4).CellStyle = styleBold;
ws.GetRow(0).GetCell(4).SetCellValue("已完成数量");
#endregion
@ -285,7 +292,7 @@ namespace FineUIPro.Web.TestRun.Report
var start = 1;
var end = result.Count;
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, start, end, 0, 3);
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, start, end, 0, 4);
//数据
var dataIndex = 1;
@ -293,8 +300,9 @@ namespace FineUIPro.Web.TestRun.Report
{
ws.GetRow(dataIndex).GetCell(0).SetCellValue(item.WorkPackName);
ws.GetRow(dataIndex).GetCell(1).SetCellValue(item.AllNum.ToString());
ws.GetRow(dataIndex).GetCell(2).SetCellValue(item.ProgressNum.ToString());
ws.GetRow(dataIndex).GetCell(3).SetCellValue(item.CompleteNum.ToString());
ws.GetRow(dataIndex).GetCell(2).SetCellValue(item.NotStartedNum.ToString());
ws.GetRow(dataIndex).GetCell(3).SetCellValue(item.ProgressNum.ToString());
ws.GetRow(dataIndex).GetCell(4).SetCellValue(item.CompleteNum.ToString());
dataIndex++;
}
@ -302,11 +310,12 @@ namespace FineUIPro.Web.TestRun.Report
#region
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, end + 1, end + 1, 0, 3);
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, end + 1, end + 1, 0, 4);
ws.GetRow(end + 1).GetCell(0).SetCellValue("合计");
ws.GetRow(end + 1).GetCell(1).SetCellValue(result.Count > 0 ? result.Sum(x => x.AllNum).ToString() : "0");
ws.GetRow(end + 1).GetCell(2).SetCellValue(result.Count > 0 ? result.Sum(x => x.ProgressNum).ToString() : "0");
ws.GetRow(end + 1).GetCell(3).SetCellValue(result.Count > 0 ? result.Sum(x => x.CompleteNum).ToString() : "0");
ws.GetRow(end + 1).GetCell(2).SetCellValue(result.Count > 0 ? result.Sum(x => x.NotStartedNum).ToString() : "0");
ws.GetRow(end + 1).GetCell(3).SetCellValue(result.Count > 0 ? result.Sum(x => x.ProgressNum).ToString() : "0");
ws.GetRow(end + 1).GetCell(4).SetCellValue(result.Count > 0 ? result.Sum(x => x.CompleteNum).ToString() : "0");
#endregion
@ -351,6 +360,7 @@ namespace FineUIPro.Web.TestRun.Report
JObject summary = new JObject();
summary.Add("AllNum", result.Sum(x => x.AllNum));
summary.Add("NotStartedNum", result.Sum(x => x.NotStartedNum));
summary.Add("ProgressNum", result.Sum(x => x.ProgressNum));
summary.Add("CompleteNum", result.Sum(x => x.CompleteNum));
GridSc.SummaryData = summary;
@ -378,6 +388,7 @@ namespace FineUIPro.Web.TestRun.Report
ProjectId = a.ProjectId,
States = a.States,
AllNum = a.AllNum,
NotStartedNum = a.NotStartedNum,
ProgressNum = a.ProgressNum,
CompleteNum = a.CompleteNum,
CompleteRate = a.CompleteRate,
@ -419,13 +430,15 @@ namespace FineUIPro.Web.TestRun.Report
var itemInspect = inspectlist.FirstOrDefault(x => x.WorkPackId == item.WorkPackId);
model.AllNum = itemInspect.AllNum;
model.ProgressNum = itemInspect.NoCloseNum;
model.NotStartedNum = 0;
model.CompleteNum = itemInspect.CloseNum;
}
else
{
model.AllNum = 0;
model.AllNum = 1;
model.ProgressNum = 0;
model.CompleteNum = 0;
model.NotStartedNum = 1;
}
model.CompleteRate = model.CompleteNum > 0 ? (decimal)Math.Round((float)model.CompleteNum / (float)model.AllNum, 2, MidpointRounding.AwayFromZero) : 0;
model.AddUser = this.CurrUser.UserId;
@ -478,6 +491,7 @@ namespace FineUIPro.Web.TestRun.Report
model.ProjectId = this.CurrUser.LoginProjectId;
model.States = 2;
model.AllNum = !string.IsNullOrWhiteSpace(values.Value<string>("AllNum")) ? int.Parse(values.Value<string>("AllNum")) : 0;
model.NotStartedNum = !string.IsNullOrWhiteSpace(values.Value<string>("NotStartedNum")) ? int.Parse(values.Value<string>("NotStartedNum")) : 0;
model.ProgressNum = !string.IsNullOrWhiteSpace(values.Value<string>("ProgressNum")) ? int.Parse(values.Value<string>("ProgressNum")) : 0;
model.CompleteNum = !string.IsNullOrWhiteSpace(values.Value<string>("CompleteNum")) ? int.Parse(values.Value<string>("CompleteNum")) : 0;
model.CompleteRate = model.CompleteNum > 0 ? (decimal)Math.Round((float)model.CompleteNum / (float)model.AllNum, 2, MidpointRounding.AwayFromZero) : 0;
@ -525,6 +539,7 @@ namespace FineUIPro.Web.TestRun.Report
ws.SetColumnWidth(1, (20 * 256));
ws.SetColumnWidth(2, (20 * 256));
ws.SetColumnWidth(3, (20 * 256));
ws.SetColumnWidth(4, (20 * 256));
#endregion
@ -538,16 +553,18 @@ namespace FineUIPro.Web.TestRun.Report
#region
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, 0, 0, 0, 3);
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, 0, 0, 0, 4);
//行1
ws.GetRow(0).GetCell(0).CellStyle = styleBold;
ws.GetRow(0).GetCell(0).SetCellValue("工作包名称");
ws.GetRow(0).GetCell(1).CellStyle = styleBold;
ws.GetRow(0).GetCell(1).SetCellValue("全部数量");
ws.GetRow(0).GetCell(2).CellStyle = styleBold;
ws.GetRow(0).GetCell(2).SetCellValue("进行中数量");
ws.GetRow(0).GetCell(2).SetCellValue("未开始数量");
ws.GetRow(0).GetCell(3).CellStyle = styleBold;
ws.GetRow(0).GetCell(3).SetCellValue("已完成数量");
ws.GetRow(0).GetCell(3).SetCellValue("进行中数量");
ws.GetRow(0).GetCell(4).CellStyle = styleBold;
ws.GetRow(0).GetCell(4).SetCellValue("已完成数量");
#endregion
@ -555,7 +572,7 @@ namespace FineUIPro.Web.TestRun.Report
var start = 1;
var end = result.Count;
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, start, end, 0, 3);
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, start, end, 0, 4);
//数据
var dataIndex = 1;
@ -563,8 +580,9 @@ namespace FineUIPro.Web.TestRun.Report
{
ws.GetRow(dataIndex).GetCell(0).SetCellValue(item.WorkPackName);
ws.GetRow(dataIndex).GetCell(1).SetCellValue(item.AllNum.ToString());
ws.GetRow(dataIndex).GetCell(2).SetCellValue(item.ProgressNum.ToString());
ws.GetRow(dataIndex).GetCell(3).SetCellValue(item.CompleteNum.ToString());
ws.GetRow(dataIndex).GetCell(2).SetCellValue(item.NotStartedNum.ToString());
ws.GetRow(dataIndex).GetCell(3).SetCellValue(item.ProgressNum.ToString());
ws.GetRow(dataIndex).GetCell(4).SetCellValue(item.CompleteNum.ToString());
dataIndex++;
}
@ -572,12 +590,12 @@ namespace FineUIPro.Web.TestRun.Report
#region
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, end + 1, end + 1, 0, 3);
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, end + 1, end + 1, 0, 4);
ws.GetRow(end + 1).GetCell(0).SetCellValue("合计");
ws.GetRow(end + 1).GetCell(1).SetCellValue(result.Count > 0 ? result.Sum(x => x.AllNum).ToString() : "0");
ws.GetRow(end + 1).GetCell(2).SetCellValue(result.Count > 0 ? result.Sum(x => x.ProgressNum).ToString() : "0");
ws.GetRow(end + 1).GetCell(3).SetCellValue(result.Count > 0 ? result.Sum(x => x.CompleteNum).ToString() : "0");
ws.GetRow(end + 1).GetCell(2).SetCellValue(result.Count > 0 ? result.Sum(x => x.NotStartedNum).ToString() : "0");
ws.GetRow(end + 1).GetCell(3).SetCellValue(result.Count > 0 ? result.Sum(x => x.ProgressNum).ToString() : "0");
ws.GetRow(end + 1).GetCell(4).SetCellValue(result.Count > 0 ? result.Sum(x => x.CompleteNum).ToString() : "0");
#endregion

View File

@ -149,6 +149,15 @@ namespace FineUIPro.Web.TestRun.Report
/// </remarks>
protected global::FineUIPro.NumberBox txtAllNum;
/// <summary>
/// txtNotStartedNum 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox txtNotStartedNum;
/// <summary>
/// txtProgressNum 控件。
/// </summary>
@ -230,6 +239,15 @@ namespace FineUIPro.Web.TestRun.Report
/// </remarks>
protected global::FineUIPro.NumberBox txtAllNum1;
/// <summary>
/// txtNotStartedNum1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox txtNotStartedNum1;
/// <summary>
/// txtProgressNum1 控件。
/// </summary>

View File

@ -65,6 +65,8 @@
</f:RenderField>
<f:RenderField HeaderText="工作包数量" ColumnID="WorkPackNum" DataField="WorkPackNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
</f:RenderField>
<f:RenderField HeaderText="工作包未开始数量" ColumnID="WorkPackNotStartedNum" DataField="WorkPackNotStartedNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
</f:RenderField>
<f:RenderField HeaderText="工作包未关闭数量" ColumnID="WorkPackNoCloseNum" DataField="WorkPackNoCloseNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
</f:RenderField>
<f:RenderField HeaderText="工作包已关闭数量" ColumnID="WorkPackCloseNum" DataField="WorkPackCloseNum" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">

View File

@ -170,6 +170,7 @@ namespace FineUIPro.Web.TestRun.Report
GridTestRun.DataBind();
JObject summary = new JObject();
summary.Add("WorkPackNum", result.Sum(x => x.WorkPackNum));
summary.Add("WorkPackNotStartedNum", result.Sum(x => x.WorkPackNotStartedNum));
summary.Add("WorkPackNoCloseNum", result.Sum(x => x.WorkPackNoCloseNum));
summary.Add("WorkPackCloseNum", result.Sum(x => x.WorkPackCloseNum));
summary.Add("InspectNum", result.Sum(x => x.InspectNum));
@ -211,6 +212,7 @@ namespace FineUIPro.Web.TestRun.Report
ws.SetColumnWidth(7, (20 * 256));
ws.SetColumnWidth(8, (20 * 256));
ws.SetColumnWidth(9, (20 * 256));
ws.SetColumnWidth(10, (20 * 256));
#endregion
@ -224,7 +226,7 @@ namespace FineUIPro.Web.TestRun.Report
#region
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, 0, 0, 0, 9);
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, 0, 0, 0, 10);
//行1
ws.GetRow(0).GetCell(0).CellStyle = styleBold;
ws.GetRow(0).GetCell(0).SetCellValue("工作包名称");
@ -237,15 +239,17 @@ namespace FineUIPro.Web.TestRun.Report
ws.GetRow(0).GetCell(4).CellStyle = styleBold;
ws.GetRow(0).GetCell(4).SetCellValue("工作包数量");
ws.GetRow(0).GetCell(5).CellStyle = styleBold;
ws.GetRow(0).GetCell(5).SetCellValue("工作包未关闭数量");
ws.GetRow(0).GetCell(5).SetCellValue("工作包未开始数量");
ws.GetRow(0).GetCell(6).CellStyle = styleBold;
ws.GetRow(0).GetCell(6).SetCellValue("工作包关闭数量");
ws.GetRow(0).GetCell(6).SetCellValue("工作包关闭数量");
ws.GetRow(0).GetCell(7).CellStyle = styleBold;
ws.GetRow(0).GetCell(7).SetCellValue("检查表数量");
ws.GetRow(0).GetCell(7).SetCellValue("工作包已关闭数量");
ws.GetRow(0).GetCell(8).CellStyle = styleBold;
ws.GetRow(0).GetCell(8).SetCellValue("检查表未关闭数量");
ws.GetRow(0).GetCell(8).SetCellValue("检查表数量");
ws.GetRow(0).GetCell(9).CellStyle = styleBold;
ws.GetRow(0).GetCell(9).SetCellValue("检查表已关闭数量");
ws.GetRow(0).GetCell(9).SetCellValue("检查表未关闭数量");
ws.GetRow(0).GetCell(10).CellStyle = styleBold;
ws.GetRow(0).GetCell(10).SetCellValue("检查表已关闭数量");
#endregion
@ -253,7 +257,7 @@ namespace FineUIPro.Web.TestRun.Report
var start = 1;
var end = result.Count;
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, start, end, 0, 9);
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, start, end, 0, 10);
//数据
var dataIndex = 1;
@ -264,11 +268,12 @@ namespace FineUIPro.Web.TestRun.Report
ws.GetRow(dataIndex).GetCell(2).SetCellValue(item.ProcessesName);
ws.GetRow(dataIndex).GetCell(3).SetCellValue(item.SystemName);
ws.GetRow(dataIndex).GetCell(4).SetCellValue(item.WorkPackNum);
ws.GetRow(dataIndex).GetCell(5).SetCellValue(item.WorkPackNoCloseNum);
ws.GetRow(dataIndex).GetCell(6).SetCellValue(item.WorkPackCloseNum);
ws.GetRow(dataIndex).GetCell(7).SetCellValue(item.InspectNum);
ws.GetRow(dataIndex).GetCell(8).SetCellValue(item.InspectNoCloseNum);
ws.GetRow(dataIndex).GetCell(9).SetCellValue(item.InspectCloseNum);
ws.GetRow(dataIndex).GetCell(5).SetCellValue(item.WorkPackNotStartedNum);
ws.GetRow(dataIndex).GetCell(6).SetCellValue(item.WorkPackNoCloseNum);
ws.GetRow(dataIndex).GetCell(7).SetCellValue(item.WorkPackCloseNum);
ws.GetRow(dataIndex).GetCell(8).SetCellValue(item.InspectNum);
ws.GetRow(dataIndex).GetCell(9).SetCellValue(item.InspectNoCloseNum);
ws.GetRow(dataIndex).GetCell(10).SetCellValue(item.InspectCloseNum);
dataIndex++;
}
@ -276,16 +281,17 @@ namespace FineUIPro.Web.TestRun.Report
#region
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, end + 1, end + 1, 0, 9);
ws = ExcelCreateRowTitle(ws, hssfworkbook, style, end + 1, end + 1, 0, 10);
var region = new CellRangeAddress(end + 1, end + 1, 0, 3);
ws.AddMergedRegion(region);
ws.GetRow(end + 1).GetCell(0).SetCellValue("合计");
ws.GetRow(end + 1).GetCell(4).SetCellValue(result.Count > 0 ? result.Sum(x => x.WorkPackNum).ToString() : "0");
ws.GetRow(end + 1).GetCell(5).SetCellValue(result.Count > 0 ? result.Sum(x => x.WorkPackNoCloseNum).ToString() : "0");
ws.GetRow(end + 1).GetCell(6).SetCellValue(result.Count > 0 ? result.Sum(x => x.WorkPackCloseNum).ToString() : "0");
ws.GetRow(end + 1).GetCell(7).SetCellValue(result.Count > 0 ? result.Sum(x => x.InspectNum).ToString() : "0");
ws.GetRow(end + 1).GetCell(8).SetCellValue(result.Count > 0 ? result.Sum(x => x.InspectNoCloseNum).ToString() : "0");
ws.GetRow(end + 1).GetCell(9).SetCellValue(result.Count > 0 ? result.Sum(x => x.InspectCloseNum).ToString() : "0");
ws.GetRow(end + 1).GetCell(5).SetCellValue(result.Count > 0 ? result.Sum(x => x.WorkPackNotStartedNum).ToString() : "0");
ws.GetRow(end + 1).GetCell(6).SetCellValue(result.Count > 0 ? result.Sum(x => x.WorkPackNoCloseNum).ToString() : "0");
ws.GetRow(end + 1).GetCell(7).SetCellValue(result.Count > 0 ? result.Sum(x => x.WorkPackCloseNum).ToString() : "0");
ws.GetRow(end + 1).GetCell(8).SetCellValue(result.Count > 0 ? result.Sum(x => x.InspectNum).ToString() : "0");
ws.GetRow(end + 1).GetCell(9).SetCellValue(result.Count > 0 ? result.Sum(x => x.InspectNoCloseNum).ToString() : "0");
ws.GetRow(end + 1).GetCell(10).SetCellValue(result.Count > 0 ? result.Sum(x => x.InspectCloseNum).ToString() : "0");
#endregion
@ -358,49 +364,6 @@ namespace FineUIPro.Web.TestRun.Report
return style;
}
/// <summary>
/// 试车统计实体(老)
/// </summary>
public class ScheduleBridDto
{
/// <summary>
/// 工作包主键
/// </summary>
public string WorkPackId { get; set; }
/// <summary>
/// 工作包名称
/// </summary>
public string WorkName { get; set; }
/// <summary>
/// 装置名称
/// </summary>
public string InstallationName { get; set; }
/// <summary>
/// 工序名称
/// </summary>
public string ProcessesName { get; set; }
/// <summary>
/// 系统名称
/// </summary>
public string SystemName { get; set; }
/// <summary>
/// 子系统名称
/// </summary>
public string SubsystemName { get; set; }
/// <summary>
/// 工作包数量
/// </summary>
public string AllNum { get; set; }
/// <summary>
/// 未关闭任务单数量
/// </summary>
public string NoCloseNum { get; set; }
/// <summary>
/// 已关闭任务单数量
/// </summary>
public string CloseNum { get; set; }
}
/// <summary>
/// 获取试车统计
/// </summary>
@ -432,14 +395,17 @@ namespace FineUIPro.Web.TestRun.Report
item.InspectNoCloseNum = itemInspect.NoCloseNum;
item.WorkPackCloseNum = itemInspect.CloseNum;
item.WorkPackNoCloseNum = itemInspect.NoCloseNum;
item.WorkPackNum = itemInspect.CloseNum + itemInspect.NoCloseNum;
}
else
{
item.InspectNum = 0;
item.InspectCloseNum = 0;
item.InspectNoCloseNum = 0;
item.WorkPackNotStartedNum = 1;
item.WorkPackNoCloseNum = 0;
item.WorkPackCloseNum = 0;
item.WorkPackNum = 1;
}
if (driveDt.Rows.Count > 0)
{
@ -487,6 +453,10 @@ namespace FineUIPro.Web.TestRun.Report
/// </summary>
public int WorkPackNoCloseNum { get; set; }
/// <summary>
/// 工作包未开始数量
/// </summary>
public int WorkPackNotStartedNum { get; set; }
/// <summary>
/// 工作包已关闭数量
/// </summary>
public int WorkPackCloseNum { get; set; }

View File

@ -70,8 +70,16 @@ namespace FineUIPro.Web.TestRun.TestRunManage
/// </summary>
public void BindGrid()
{
var list = Funs.DB.TestRun_WorkInspectTemplate.Where(x => x.WorkPackId == this.tvControlItem.SelectedNodeID).OrderBy(x => x.Sort);
Grid1.DataSource = list;
if (!string.IsNullOrWhiteSpace(txtsWorkInspectName.Text))
{
var list = Funs.DB.TestRun_WorkInspectTemplate.Where(x => x.WorkPackId == this.tvControlItem.SelectedNodeID && x.WorkInspectName.Contains(txtsWorkInspectName.Text)).OrderBy(x => x.Sort);
Grid1.DataSource = list;
}
else
{
var list = Funs.DB.TestRun_WorkInspectTemplate.Where(x => x.WorkPackId == this.tvControlItem.SelectedNodeID).OrderBy(x => x.Sort);
Grid1.DataSource = list;
}
Grid1.DataBind();
}

View File

@ -36,7 +36,7 @@
<f:ContentPanel ID="titleName" Title="检查项列表" ShowBorder="true"
BodyPadding="10px" EnableCollapse="true" ShowHeader="true" AutoScroll="true"
runat="server">
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" EnableCollapse="true" runat="server" DataIDField="TermItemId" DataKeyNames="TermItemId,InspectedUser,InspectionResults,SubInspectId,IsPass" AllowSorting="true" SortField="Sort" SortDirection="ASC" EnableColumnLines="true" AllowCellEditing="true" EnableMultiSelect="false" AllowFilters="true" OnSort="Grid1_Sort" EnableTextSelection="True" OnRowDataBound="Grid1_RowDataBound" ClicksToEdit="1">
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" EnableCollapse="true" runat="server" DataIDField="TermItemId" DataKeyNames="TermItemId,SubInspectId,IsPass" AllowSorting="true" SortField="Sort" SortDirection="ASC" EnableColumnLines="true" AllowCellEditing="true" EnableMultiSelect="false" AllowFilters="true" OnSort="Grid1_Sort" EnableTextSelection="True" OnRowDataBound="Grid1_RowDataBound" ClicksToEdit="1">
<Toolbars>
<f:Toolbar ID="Toolbar1" runat="server">
<Items>
@ -48,7 +48,6 @@
</Toolbars>
<Columns>
<f:RowNumberField EnablePagingNumber="true" Width="50px" HeaderTextAlign="Center" TextAlign="Center" />
<f:RenderField HeaderText="检查人名称" ColumnID="InspectedUserName" DataField="InspectedUserName" Width="200px"></f:RenderField>
<f:RenderField HeaderText="检查事项" ColumnID="WorkInspectName" DataField="WorkInspectName" SortField="WorkInspectName" Width="400px"></f:RenderField>
<f:RenderField HeaderText="检查说明" ColumnID="InspectionIllustrate" DataField="InspectionIllustrate" Width="200px"></f:RenderField>
<f:TemplateField Width="200px" HeaderText="签字确认" ColumnID="IsPass">

View File

@ -155,8 +155,7 @@ namespace FineUIPro.Web.TestRun.TestRunManage
GridRow row = Grid1.Rows[i];
System.Web.UI.WebControls.RadioButtonList rblIsPass = (System.Web.UI.WebControls.RadioButtonList)row.FindControl("rblIsPass");
var termItemId = this.Grid1.Rows[i].DataKeys[0].ToString();
var inspectedUser = this.Grid1.Rows[i].DataKeys[1].ToString();
var model = Funs.DB.TestRun_SubInspectTermItem.FirstOrDefault(x => x.TermItemId == termItemId && x.InspectedUser == inspectedUser);
var model = Funs.DB.TestRun_SubInspectTermItem.FirstOrDefault(x => x.TermItemId == termItemId);
if (model != null)
{
if (!string.IsNullOrWhiteSpace(rblIsPass.SelectedValue))
@ -186,7 +185,7 @@ namespace FineUIPro.Web.TestRun.TestRunManage
Funs.DB.SubmitChanges();
}
}
var subInspectId = this.Grid1.Rows[0].DataKeys[3].ToString();
var subInspectId = this.Grid1.Rows[0].DataKeys[1].ToString();
var subModel = Funs.DB.TestRun_SubInspectTerm.FirstOrDefault(x => x.SubInspectId == subInspectId);
if (subModel != null)
{
@ -524,7 +523,7 @@ namespace FineUIPro.Web.TestRun.TestRunManage
{
System.Web.UI.WebControls.RadioButtonList rblIsPass = (System.Web.UI.WebControls.RadioButtonList)Grid1.Rows[e.RowIndex].FindControl("rblIsPass");
int isPass = 1;
if (Grid1.DataKeys[e.RowIndex][4] != null) isPass = int.Parse(Grid1.DataKeys[e.RowIndex][4].ToString());
if (Grid1.DataKeys[e.RowIndex][2] != null) isPass = int.Parse(Grid1.DataKeys[e.RowIndex][2].ToString());
rblIsPass.SelectedValue = isPass.ToString();
if (rblIsPass.SelectedValue != "1")
{

View File

@ -35,7 +35,7 @@ namespace FineUIPro.Web.TestRun.TestRunManage
rootNode.ToolTip = "";
rootNode.EnableClickEvent = true;
this.tvControlItem.Nodes.Add(rootNode);
var inspectTerms = Funs.DB.TestRun_SubInspectTerm.Where(x => (x.Subcontractor == this.CurrUser.UserId && x.InspectionIsAllPass == 1) || (x.Contractor == this.CurrUser.UserId && x.ContractorIsAllPass == 1) || (x.Supervision == this.CurrUser.UserId && x.SupervisionIsAllPass == 1) || (x.Owner == this.CurrUser.UserId && x.OwnerIsAllPass == 1)).ToList();
var inspectTerms = Funs.DB.TestRun_SubInspectTerm.Where(x => (x.Subcontractor == this.CurrUser.UserId && x.InspectionIsAllPass == 1) || (x.Contractor == this.CurrUser.UserId && x.InspectionIsAllPass == 1) || (x.Supervision == this.CurrUser.UserId && x.InspectionIsAllPass == 1) || (x.Owner == this.CurrUser.UserId && x.InspectionIsAllPass == 1)).ToList();
if (inspectTerms.Count == 0) return;
var systemIds = inspectTerms.ConvertAll(x => x.SystemId);
var workPackIds = inspectTerms.ConvertAll(x => x.WorkPackId);
@ -117,13 +117,13 @@ namespace FineUIPro.Web.TestRun.TestRunManage
public void BindGrid()
{
//分包商
string subcontractorStr = $"select NEWID() as Id,a.SubInspectId,a.ProjectId,b.ProjectName,b.ProjectCode,a.Subcontractor,a.Contractor,a.Supervision,a.Owner,1 as ConfirmType,'分包商' as ConfirmName,(select count (1) from PreRun_SubInspectTermItem as t where t.SubInspectId=a.SubInspectId and t.SubcontractorIsPass is null) as WaitConfirmNum,(select count (1) from PreRun_SubInspectTermItem as t where t.SubInspectId=a.SubInspectId and t.SubcontractorIsPass=1) as PassConfirmNum,(select count (1) from PreRun_SubInspectTermItem as t where t.SubInspectId=a.SubInspectId and t.SubcontractorIsPass=0) as FailConfirmNum,a.AddUser,a.AddTime,a.IsUnifyWanderAbout,(case IsUnifyWanderAbout when 1 then '是' else '否' end) as IsUnifyWanderAboutName,a.SystemId from TestRun_SubInspectTerm as a inner join Base_Project as b on a.ProjectId=b.ProjectId where 1=1 and a.InspectionIsAllPass=1 and a.ProjectId='{this.CurrUser.LoginProjectId}' and a.Subcontractor='{this.CurrUser.UserId}' ";
string subcontractorStr = $"select NEWID() as Id,a.SubInspectId,a.ProjectId,b.ProjectName,b.ProjectCode,a.Subcontractor,a.Contractor,a.Supervision,a.Owner,1 as ConfirmType,'分包商' as ConfirmName,(select count (1) from TestRun_SubInspectTermItem as t where t.SubInspectId=a.SubInspectId and t.SubcontractorIsPass is null) as WaitConfirmNum,(select count (1) from TestRun_SubInspectTermItem as t where t.SubInspectId=a.SubInspectId and t.SubcontractorIsPass=1) as PassConfirmNum,(select count (1) from TestRun_SubInspectTermItem as t where t.SubInspectId=a.SubInspectId and t.SubcontractorIsPass=0) as FailConfirmNum,a.AddUser,a.AddTime,a.IsUnifyWanderAbout,(case IsUnifyWanderAbout when 1 then '是' else '否' end) as IsUnifyWanderAboutName,a.SystemId from TestRun_SubInspectTerm as a inner join Base_Project as b on a.ProjectId=b.ProjectId where 1=1 and a.InspectionIsAllPass=1 and a.ProjectId='{this.CurrUser.LoginProjectId}' and a.Subcontractor='{this.CurrUser.UserId}' ";
//承包商
string contractorStr = $"select NEWID() as Id,a.SubInspectId,a.ProjectId,b.ProjectName,b.ProjectCode,a.Subcontractor,a.Contractor,a.Supervision,a.Owner,2 as ConfirmType,'承包商' as ConfirmName,(select count(1) from PreRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.ContractorIsPass is null) as WaitConfirmNum,(select count(1) from PreRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.ContractorIsPass = 1) as PassConfirmNum,(select count(1) from PreRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.ContractorIsPass = 0) as FailConfirmNum,a.AddUser,a.AddTime,a.IsUnifyWanderAbout,(case IsUnifyWanderAbout when 1 then '是' else '否' end) as IsUnifyWanderAboutName,a.SystemId from TestRun_SubInspectTerm as a inner join Base_Project as b on a.ProjectId = b.ProjectId where 1 = 1 and a.InspectionIsAllPass = 1 and a.ProjectId = '{this.CurrUser.LoginProjectId}' and a.Contractor = '{this.CurrUser.UserId}' ";
string contractorStr = $"select NEWID() as Id,a.SubInspectId,a.ProjectId,b.ProjectName,b.ProjectCode,a.Subcontractor,a.Contractor,a.Supervision,a.Owner,2 as ConfirmType,'承包商' as ConfirmName,(select count(1) from TestRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.ContractorIsPass is null) as WaitConfirmNum,(select count(1) from TestRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.ContractorIsPass = 1) as PassConfirmNum,(select count(1) from TestRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.ContractorIsPass = 0) as FailConfirmNum,a.AddUser,a.AddTime,a.IsUnifyWanderAbout,(case IsUnifyWanderAbout when 1 then '是' else '否' end) as IsUnifyWanderAboutName,a.SystemId from TestRun_SubInspectTerm as a inner join Base_Project as b on a.ProjectId = b.ProjectId where 1 = 1 and a.InspectionIsAllPass = 1 and a.ProjectId = '{this.CurrUser.LoginProjectId}' and a.Contractor = '{this.CurrUser.UserId}' ";
//监理
string supervisionStr = $"select NEWID() as Id,a.SubInspectId,a.ProjectId,b.ProjectName,b.ProjectCode,a.Subcontractor,a.Contractor,a.Supervision,a.Owner,3 as ConfirmType,'监理' as ConfirmName,(select count(1) from PreRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.SupervisionIsPass is null) as WaitConfirmNum,(select count(1) from PreRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.SupervisionIsPass = 1) as PassConfirmNum,(select count(1) from PreRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.SupervisionIsPass = 0) as FailConfirmNum,a.AddUser,a.AddTime,a.IsUnifyWanderAbout,(case IsUnifyWanderAbout when 1 then '是' else '否' end) as IsUnifyWanderAboutName,a.SystemId from TestRun_SubInspectTerm as a inner join Base_Project as b on a.ProjectId = b.ProjectId where 1 = 1 and a.InspectionIsAllPass = 1 and a.InspectionIsAllPass = 1 and a.ProjectId = '{this.CurrUser.LoginProjectId}' and a.Supervision = '{this.CurrUser.UserId}' ";
string supervisionStr = $"select NEWID() as Id,a.SubInspectId,a.ProjectId,b.ProjectName,b.ProjectCode,a.Subcontractor,a.Contractor,a.Supervision,a.Owner,3 as ConfirmType,'监理' as ConfirmName,(select count(1) from TestRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.SupervisionIsPass is null) as WaitConfirmNum,(select count(1) from TestRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.SupervisionIsPass = 1) as PassConfirmNum,(select count(1) from TestRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.SupervisionIsPass = 0) as FailConfirmNum,a.AddUser,a.AddTime,a.IsUnifyWanderAbout,(case IsUnifyWanderAbout when 1 then '是' else '否' end) as IsUnifyWanderAboutName,a.SystemId from TestRun_SubInspectTerm as a inner join Base_Project as b on a.ProjectId = b.ProjectId where 1 = 1 and a.InspectionIsAllPass = 1 and a.InspectionIsAllPass = 1 and a.ProjectId = '{this.CurrUser.LoginProjectId}' and a.Supervision = '{this.CurrUser.UserId}' ";
//业主
string ownerStr = $"select NEWID() as Id,a.SubInspectId,a.ProjectId,b.ProjectName,b.ProjectCode,a.Subcontractor,a.Contractor,a.Supervision,a.Owner,4 as ConfirmType,'业主' as ConfirmName,(select count(1) from PreRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.OwnerIsPass is null) as WaitConfirmNum,(select count(1) from PreRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.OwnerIsPass = 1) as PassConfirmNum,(select count(1) from PreRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.OwnerIsPass = 0) as FailConfirmNum,a.AddUser,a.AddTime,a.IsUnifyWanderAbout,(case IsUnifyWanderAbout when 1 then '是' else '否' end) as IsUnifyWanderAboutName,a.SystemId from TestRun_SubInspectTerm as a inner join Base_Project as b on a.ProjectId = b.ProjectId where 1 = 1 and a.InspectionIsAllPass = 1 and a.InspectionIsAllPass = 1 and a.ProjectId = '{this.CurrUser.LoginProjectId}' and a.Owner = '{this.CurrUser.UserId}' ";
string ownerStr = $"select NEWID() as Id,a.SubInspectId,a.ProjectId,b.ProjectName,b.ProjectCode,a.Subcontractor,a.Contractor,a.Supervision,a.Owner,4 as ConfirmType,'业主' as ConfirmName,(select count(1) from TestRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.OwnerIsPass is null) as WaitConfirmNum,(select count(1) from TestRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.OwnerIsPass = 1) as PassConfirmNum,(select count(1) from TestRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.OwnerIsPass = 0) as FailConfirmNum,a.AddUser,a.AddTime,a.IsUnifyWanderAbout,(case IsUnifyWanderAbout when 1 then '是' else '否' end) as IsUnifyWanderAboutName,a.SystemId from TestRun_SubInspectTerm as a inner join Base_Project as b on a.ProjectId = b.ProjectId where 1 = 1 and a.InspectionIsAllPass = 1 and a.InspectionIsAllPass = 1 and a.ProjectId = '{this.CurrUser.LoginProjectId}' and a.Owner = '{this.CurrUser.UserId}' ";
if (this.tvControlItem.SelectedNodeID.Split('|').Length > 0)
{

View File

@ -12,7 +12,7 @@
<appSettings>
<!--连接字符串-->
<!--<add key="ConnectionString" value="Server=.;Database=SGGLDB_WH;Integrated Security=False;User ID=sa;Password=1111;MultipleActiveResultSets=true;Connect Timeout=1200"/>-->
<add key="ConnectionString" value="Server=DESKTOP-1QITK9E\MSSQLSERVER2;Database=SGGLDB_WH;Integrated Security=False;User ID=sa;Password=123;MultipleActiveResultSets=true;Connect Timeout=1200"/>
<add key="ConnectionString" value="Server=.;Database=SGGLDB_WH;Integrated Security=False;User ID=sa;Password=1111;MultipleActiveResultSets=true;Connect Timeout=1200"/>
<!--系统名称-->
<add key="SystemName" value="智慧施工管理信息系统V1.0"/>
<add key="ChartImageHandler" value="storage=file;timeout=20;url=~/Images/;"/>
@ -77,7 +77,7 @@
<add verb="GET" path="res.axd" type="FineUIPro.ResourceHandler, FineUIPro" validate="false"/>
<add path="ChartImg.axd" verb="GET,POST,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
</httpHandlers>
<compilation debug="true" targetFramework="4.6.1"/>
<compilation debug="false" targetFramework="4.6.1"/>
<httpRuntime requestValidationMode="2.0" maxRequestLength="2147483647" executionTimeout="36000"/>
<authentication mode="Forms">
<forms loginUrl="Login.aspx" name="PUBLISHERCOOKIE" protection="All" timeout="1440" path="/"/>

View File

@ -14,7 +14,7 @@
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="开车绩效记录" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="TestRunPerformanceMonthReportId" EnableColumnLines="true" DataIDField="TestRunPerformanceMonthReportId"
runat="server" BoxFlex="1" DataKeyNames="TestRunMonthSummaryReportId" EnableColumnLines="true" DataIDField="TestRunMonthSummaryReportId"
AllowSorting="true" SortField="Year" SortDirection="DESC" OnSort="Grid1_Sort" ForceFit="true"
AllowPaging="true" IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange"
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" EnableTextSelection="True">

View File

@ -9,9 +9,195 @@ namespace FineUIPro.Web.ZHGL.TestRunPerformance
{
public partial class TestRunMonthSummaryReport : PageBase
{
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Funs.DropDownPageSize(this.ddlPageSize);
if (this.CurrUser != null && this.CurrUser.PageSize.HasValue)
{
Grid1.PageSize = this.CurrUser.PageSize.Value;
}
this.ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
// 绑定表格
this.BindGrid();
////权限按钮方法
this.GetButtonPower();
}
}
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
string strSql = @"SELECT performance.TestRunMonthSummaryReportId,performance.Year,performance.UserId,performance.CompileDate,Users.UserName "
+ @" From dbo.ZHGL_TestRunMonthSummaryReport AS performance"
+ @" LEFT JOIN Sys_User AS Users ON Users.UserId=performance.UserId"
+ @" WHERE 1=1";
List<SqlParameter> listStr = new List<SqlParameter>();
if (this.CurrUser.UserId != BLL.Const.sysglyId && this.CurrUser.UserId != BLL.Const.hfnbdId)
{
strSql += " AND performance.UserId = @UserId";
listStr.Add(new SqlParameter("@UserId", this.CurrUser.UserId));
}
if (!string.IsNullOrEmpty(this.txtUserName.Text.Trim()))
{
strSql += " AND UserName LIKE @UserName";
listStr.Add(new SqlParameter("@UserName", "%" + this.txtUserName.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();
}
#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)
{
BindGrid();
}
#endregion
#region
/// <summary>
/// 批量删除数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuDelete_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length > 0)
{
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
var performance = TestRunMonthSummaryReportService.GetTestRunMonthSummaryReportById(rowID);
if (performance != null)
{
BLL.TestRunMonthSummaryReportService.DeleteTestRunMonthSummaryReportById(rowID);
}
}
BindGrid();
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
}
else
{
ShowNotify("请至少选中一行!", MessageBoxIcon.Warning);
}
}
#endregion
protected void btnNew_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("TestRunMonthSummaryReportEdit.aspx", "编辑 - ")));
}
#region
/// <summary>
/// 编辑
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuEdit_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInParent("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
string Id = Grid1.SelectedRowID;
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("TestRunMonthSummaryReportEdit.aspx?TestRunMonthSummaryReportId={0}", Id, "编辑 - ")));
}
/// <summary>
/// Grid行双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
btnMenuEdit_Click(null, null);
}
#endregion
#region
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower()
{
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.TestRunMonthSummaryReportMenuId);
if (buttonList.Count() > 0)
{
if (buttonList.Contains(BLL.Const.BtnAdd))
{
this.btnNew.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnModify))
{
this.btnMenuEdit.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnDelete))
{
this.btnMenuDelete.Hidden = false;
}
}
}
#endregion
protected void Window1_Close(object sender, EventArgs e)
{
BindGrid();
}
}
}

View File

@ -0,0 +1,65 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TestRunMonthSummaryReportEdit.aspx.cs" Inherits="FineUIPro.Web.ZHGL.TestRunPerformance.TestRunMonthSummaryReportEdit" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css">
.f-grid-row.noEdit {
pointer-events: none;
}
.f-grid-colheader-text {
white-space: normal;
word-break: break-all;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="" BoxFlex="1" AllowColumnLocking="true"
runat="server" EnableCollapse="true" DataKeyNames="Id" EnableTree="true" EnableColumnLines="true"
DataIDField="Id">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server">
<Items>
<f:DropDownList runat="server" ID="drpUser" Label="开车人员" LabelWidth="100px" LabelAlign="Right" AutoPostBack="true" OnSelectedIndexChanged="drpUser_SelectedIndexChanged"></f:DropDownList>
<f:DatePicker runat="server" Label="年份" ID="txtYear" LabelWidth="100px" LabelAlign="Right" DisplayType="Year" DateFormatString="yyyy" AutoPostBack="true" OnTextChanged="drpUser_SelectedIndexChanged"></f:DatePicker>
<f:TextBox runat="server" ID="hdId" Hidden="true"></f:TextBox>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" ToolTip="保存"
OnClick="btnSave_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:BoundField Width="60px" ColumnID="Code" DataField="Code" HeaderTextAlign="Center"
HeaderText="序号" />
<f:BoundField Width="200px" ColumnID="ProjectName" DataField="ProjectName" HeaderText="项目名称/项目号或本部" TextAlign="Center" />
<f:BoundField Width="100px" ColumnID="ProcessName" DataField="ProcessName" HeaderText="工序名称" TextAlign="Center" />
<f:RenderField Width="100px" ColumnID="RaiseDate" DataField="RaiseDate"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="提出时间"
HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="300px" ColumnID="ProblemDescription" DataField="ProblemDescription"
FieldType="String" HeaderText="问题描述" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="300px" ColumnID="HandleMethod" DataField="HandleMethod" ExpandUnusedSpace="true"
FieldType="String" HeaderText="处理方法" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="300px" ColumnID="ExperienceOrSuggestion" DataField="ExperienceOrSuggestion"
FieldType="String" HeaderText="体会或建议" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
</Columns>
</f:Grid>
</Items>
</f:Panel>
</form>
</body>
</html>

View File

@ -0,0 +1,246 @@
using BLL;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.ZHGL.TestRunPerformance
{
public partial class TestRunMonthSummaryReportEdit : 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["TestRunMonthSummaryReportId"];
Model.SGGLDB db = Funs.DB;
var userIds = (from x in db.Person_TestRunMonthSummary select x.UserId).Distinct().ToList();
var users = from x in db.Sys_User where userIds.Contains(x.UserId) select x;
this.drpUser.DataTextField = "UserName";
this.drpUser.DataValueField = "UserId";
this.drpUser.DataSource = users;
this.drpUser.DataBind();
Funs.FineUIPleaseSelect(this.drpUser);
this.drpUser.SelectedValue = this.CurrUser.UserId;
Model.ZHGL_TestRunMonthSummaryReport report = BLL.TestRunMonthSummaryReportService.GetTestRunMonthSummaryReportById(Id);
if (report != null)
{
if (!string.IsNullOrEmpty(report.UserId))
{
this.drpUser.SelectedValue = report.UserId;
}
if (report.Year != null)
{
this.txtYear.Text = report.Year.ToString();
}
if (this.drpUser.SelectedValue != BLL.Const._Null && !string.IsNullOrEmpty(this.txtYear.Text.Trim()))
{
BindGrid();
}
}
}
}
#endregion
private void BindGrid()
{
Model.SGGLDB db = Funs.DB;
DateTime startDate = Convert.ToDateTime(this.txtYear.Text + "-01" + "-01");
DateTime endDate = startDate.AddYears(1);
var projects = from x in db.Base_Project select x;
var getTestRunMonthSummarys = (from x in db.Person_TestRunMonthSummary
join y in db.Sys_User on x.UserId equals y.UserId
where x.UserId == this.drpUser.SelectedValue && x.RaiseDate >= startDate && x.RaiseDate < endDate
orderby x.ProjectId
select new { x.TestRunMonthSummaryId, x.ProjectId, x.UserId, y.UserName, x.ProcessName, x.RaiseDate, x.ProblemDescription, x.HandleMethod, x.ExperienceOrSuggestion }).ToList();
if (getTestRunMonthSummarys.Count() > 0)
{
DataTable table = new DataTable();
DateTime startMonth;
List<DateTime> months = new List<DateTime>();
startMonth = startDate;
do
{
months.Add(startMonth);
startMonth = startMonth.AddMonths(1);
} while (startMonth < endDate);
table.Columns.Add(new DataColumn("Id", typeof(String)));
table.Columns.Add(new DataColumn("Code", typeof(String)));
table.Columns.Add(new DataColumn("ProjectName", typeof(String)));
table.Columns.Add(new DataColumn("ProcessName", typeof(String)));
table.Columns.Add(new DataColumn("RaiseDate", typeof(String)));
table.Columns.Add(new DataColumn("ProblemDescription", typeof(String)));
table.Columns.Add(new DataColumn("HandleMethod", typeof(String)));
table.Columns.Add(new DataColumn("ExperienceOrSuggestion", typeof(String)));
DataRow row;
int a = 1;
for (int i = 0; i < months.Count; i++)
{
row = table.NewRow();
row["Id"] = i;
row["Code"] = GetNum(i + 1);
row["ProjectName"] = months[i].Year + "年" + months[i].Month + "月份开车技术总结";
DateTime monthEndDate = months[i].AddMonths(1);
var monthList = getTestRunMonthSummarys.Where(x => x.RaiseDate >= months[i] && x.RaiseDate < monthEndDate).OrderBy(x => x.RaiseDate);
table.Rows.Add(row);
a = 1;
string projectName = string.Empty;
foreach (var item in monthList)
{
row = table.NewRow();
row["Id"] = SQLHelper.GetNewID();
var project = projects.FirstOrDefault(x => x.ProjectId == item.ProjectId);
if (project != null)
{
if (string.IsNullOrEmpty(projectName) || projectName != project.ProjectName)
{
row["ProjectName"] = project.ProjectName;
projectName = row["ProjectName"].ToString();
}
}
else
{
if (string.IsNullOrEmpty(projectName) || projectName != "本部")
{
row["ProjectName"] = "本部";
projectName = row["ProjectName"].ToString();
}
}
row["ProcessName"] = item.ProcessName;
row["RaiseDate"] = item.RaiseDate;
row["ProblemDescription"] = item.ProblemDescription;
row["HandleMethod"] = item.HandleMethod;
row["ExperienceOrSuggestion"] = item.ExperienceOrSuggestion;
table.Rows.Add(row);
a++;
}
}
//rows = rows.Substring(0, rows.Length - 1);
this.Grid1.DataSource = table;
this.Grid1.DataBind();
}
}
private string GetNum(int i)
{
string num = string.Empty;
if (i == 1)
{
num = "一";
}
else if (i == 2)
{
num = "二";
}
else if (i == 3)
{
num = "三";
}
else if (i == 4)
{
num = "四";
}
else if (i == 5)
{
num = "五";
}
else if (i == 6)
{
num = "六";
}
else if (i == 7)
{
num = "七";
}
else if (i == 8)
{
num = "八";
}
else if (i == 9)
{
num = "九";
}
else if (i == 10)
{
num = "十";
}
else if (i == 11)
{
num = "十一";
}
else if (i == 12)
{
num = "十二";
}
return num;
}
#region
/// <summary>
/// 保存按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
if (this.drpUser.SelectedValue == BLL.Const._Null)
{
Alert.ShowInTop("请选择开车人员!", MessageBoxIcon.Warning);
return;
}
if (string.IsNullOrEmpty(this.txtYear.Text.Trim()))
{
Alert.ShowInTop("请选择年份!", MessageBoxIcon.Warning);
return;
}
Save();
ShowNotify("保存成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
private void Save()
{
string TestRunMonthSummaryReportId = Request.Params["TestRunMonthSummaryReportId"];
Model.ZHGL_TestRunMonthSummaryReport newItem = new Model.ZHGL_TestRunMonthSummaryReport();
newItem.Year = Funs.GetNewInt(this.txtYear.Text.Trim());
newItem.UserId = this.drpUser.SelectedValue;
newItem.CompileMan = this.CurrUser.UserId;
newItem.CompileDate = DateTime.Now;
if (string.IsNullOrEmpty(TestRunMonthSummaryReportId))
{
newItem.TestRunMonthSummaryReportId = SQLHelper.GetNewID();
BLL.TestRunMonthSummaryReportService.AddTestRunMonthSummaryReport(newItem);
BLL.LogService.AddSys_Log(this.CurrUser, newItem.Year.ToString(), newItem.TestRunMonthSummaryReportId, BLL.Const.TestRunMonthSummaryReportMenuId, "增加开车月技术总结!");
}
else
{
newItem.TestRunMonthSummaryReportId = TestRunMonthSummaryReportId;
BLL.TestRunMonthSummaryReportService.UpdateTestRunMonthSummaryReport(newItem);
BLL.LogService.AddSys_Log(this.CurrUser, newItem.Year.ToString(), newItem.TestRunMonthSummaryReportId, BLL.Const.TestRunMonthSummaryReportMenuId, "修改开车月技术总结!");
}
}
#endregion
protected void drpUser_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.drpUser.SelectedValue != BLL.Const._Null && !string.IsNullOrEmpty(this.txtYear.Text.Trim()))
{
BindGrid();
}
else
{
this.Grid1.DataSource = null;
this.Grid1.DataBind();
}
}
}
}

View File

@ -0,0 +1,96 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.ZHGL.TestRunPerformance {
public partial class TestRunMonthSummaryReportEdit {
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// drpUser 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpUser;
/// <summary>
/// txtYear 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtYear;
/// <summary>
/// hdId 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox hdId;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
}
}

View File

@ -66,16 +66,6 @@ namespace FineUIPro.Web.ZHGL.TestRunPerformance
IQueryable<Model.Person_BusinessTrip> getTrips = from x in db.Person_BusinessTrip
where x.UserId == this.drpUser.SelectedValue && x.LeaveDate >= startDate && x.ArriveDate < endDate
select x;
IQueryable<Model.View_WBS_CostControlParentDetail> getParentDetails = from x in db.View_WBS_CostControlParentDetail select x;
IQueryable<Model.Wbs_WbsSet> getWbsSets = from x in db.Wbs_WbsSet select x;
IQueryable<Model.WBS_WbsSetInit> getWbsSetInits = from x in db.WBS_WbsSetInit select x;
IQueryable<Model.Wbs_UnitProject> getUnitProjects = from x in db.Wbs_UnitProject select x;
IQueryable<Model.Wbs_UnitProjectInit> getUnitProjectInits = from x in db.Wbs_UnitProjectInit select x;
IQueryable<Model.WBS_CnProfession> getCnProfessions = from x in db.WBS_CnProfession select x;
IQueryable<Model.WBS_CnProfessionInit> getCnProfessionInits = from x in db.WBS_CnProfessionInit select x;
IQueryable<Model.Project_Installation> getInstallations = from x in db.Project_Installation select x;
IQueryable<Model.View_WBS_CostControlDetailStatistics> getCostControlDetailStatisticss = from x in db.View_WBS_CostControlDetailStatistics select x;
List<Model.View_WBS_CostControlDetailStatistics> CostControlDetailStatisticsList = new List<Model.View_WBS_CostControlDetailStatistics>();
if (getTestRunPerformances.Count() > 0)
{
DataTable table = new DataTable();
@ -545,13 +535,13 @@ namespace FineUIPro.Web.ZHGL.TestRunPerformance
{
newItem.TestRunPerformanceMonthReportId = SQLHelper.GetNewID();
BLL.TestRunPerformanceMonthReportService.AddTestRunPerformanceMonthReport(newItem);
BLL.LogService.AddSys_Log(this.CurrUser, newItem.Year.ToString(), newItem.TestRunPerformanceMonthReportId, BLL.Const.ControlItemInitSetMenuId, "增加试车绩效报告!");
BLL.LogService.AddSys_Log(this.CurrUser, newItem.Year.ToString(), newItem.TestRunPerformanceMonthReportId, BLL.Const.TestRunPerformanceMonthReportMenuId, "增加试车绩效报告!");
}
else
{
newItem.TestRunPerformanceMonthReportId = TestRunPerformanceMonthReportId;
BLL.TestRunPerformanceMonthReportService.UpdateTestRunPerformanceMonthReport(newItem);
BLL.LogService.AddSys_Log(this.CurrUser, newItem.Year.ToString(), newItem.TestRunPerformanceMonthReportId, BLL.Const.ControlItemInitSetMenuId, "修改试车绩效报告!");
BLL.LogService.AddSys_Log(this.CurrUser, newItem.Year.ToString(), newItem.TestRunPerformanceMonthReportId, BLL.Const.TestRunPerformanceMonthReportMenuId, "修改试车绩效报告!");
}
}
#endregion

View File

@ -82,7 +82,15 @@
<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 id="81CE1758-5BBC-4709-AF4B-DDF6CB345571" Text="投料试车管理" NavigateUrl=""><TreeNode id="B148D864-DA22-43C5-8D52-F38C0D34C7D5" Text="检查表模板" NavigateUrl="TestRun/Feeding/InspectTemplate.aspx"></TreeNode>
<TreeNode id="AB9AD56B-574E-41DC-8E89-5982A287C358" Text="投料试车管理" NavigateUrl="TestRun/Feeding/SubInspectTerm.aspx"></TreeNode>
<TreeNode id="A11DDC01-8F1F-4D09-A85C-1C459741DDB3" Text="投料试车确认" NavigateUrl="TestRun/Feeding/SubWorkInspect.aspx"></TreeNode>
<TreeNode id="AC20AFEE-6B0D-45D1-8BA5-80904DA4CFFE" Text="检查表尾项管理" NavigateUrl="TestRun/Feeding/InspectTailTermList.aspx"></TreeNode>
<TreeNode id="7C1E0ED5-518D-4C5B-8910-A25859A9C7EB" Text="尾项处理" NavigateUrl="TestRun/Feeding/TailTermHandleList.aspx"></TreeNode>
<TreeNode id="0AC1D5B3-9E0B-4AC4-BB24-0A9F3953316C" Text="尾项审核" NavigateUrl="TestRun/Feeding/TailTermApproveList.aspx"></TreeNode>
<TreeNode id="81162C96-2E10-4936-A2AD-B221B7966C85" Text="检查表会签" NavigateUrl="TestRun/Feeding/InspectWanderAboutList.aspx"></TreeNode>
<TreeNode id="0BF6BC64-8F72-47EA-A5B9-60ACC14619AC" Text="检查表流转全部通过" NavigateUrl="TestRun/Feeding/InspectWanderAboutAllPassList.aspx"></TreeNode>
<TreeNode id="B62482DA-9A12-45AC-9427-D0CF8A78EE2C" Text="投料试车管理" NavigateUrl="TestRun/FeedingTestRun.aspx"></TreeNode>
</TreeNode>
<TreeNode id="110E8BDB-8121-4C5B-A3C3-AF2B34B1B29B" Text="生产试运行管理" NavigateUrl=""><TreeNode id="8267F210-A313-44CC-9A89-631B3FC91ED0" Text="运行报表管理" NavigateUrl="TestRun/ProduceTestRun/TestRunReport.aspx"></TreeNode>
<TreeNode id="15502CCB-4F85-4D3D-ACE4-BDD6F8DF9808" Text="运行记录管理" NavigateUrl="TestRun/ProduceTestRun/TestRunRecord.aspx"></TreeNode>

View File

@ -85,5 +85,6 @@
<TreeNode id="F2133BD6-C786-407A-AD6F-3EEF613229A8" Text="施工管理绩效数据" NavigateUrl="ZHGL/Performance/PerformanceAllData.aspx"></TreeNode>
<TreeNode id="53D8CED2-9AA7-43EA-B27D-EA10A06DF713" Text="开车人员绩效管理" NavigateUrl=""><TreeNode id="383290E0-60AE-4D16-8B5E-3899B85EC2ED" Text="开车绩效评分标准" NavigateUrl="ZHGL/TestRunPerformance/TestRunPerformanceStandard.aspx"></TreeNode>
<TreeNode id="C1240FCB-4C72-445E-82B5-EBFAA87D0AC6" Text="开车人员月绩效报告" NavigateUrl="ZHGL/TestRunPerformance/TestRunPerformanceMonthReport.aspx"></TreeNode>
<TreeNode id="0C6BB051-6BD1-4E35-90CE-9376F3C2D454" Text="开车人员月技术总结" NavigateUrl="ZHGL/TestRunPerformance/TestRunMonthSummaryReport.aspx"></TreeNode>
</TreeNode>
</Tree>

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
<LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
<UseIISExpress>true</UseIISExpress>
<Use64BitIISExpress />
<IISExpressSSLPort />