This commit is contained in:
夏菊 2025-04-15 20:05:36 +08:00
parent 673812bb6b
commit 8574e78ca0
62 changed files with 119465 additions and 349 deletions

File diff suppressed because one or more lines are too long

View File

@ -21,6 +21,8 @@
<SccProvider>
</SccProvider>
<TargetFrameworkProfile />
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@ -120,6 +122,7 @@
<Reference Include="System.configuration" />
<Reference Include="System.Configuration.ConfigurationManager, Version=6.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Configuration.ConfigurationManager.6.0.1\lib\net461\System.Configuration.ConfigurationManager.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Core" />
<Reference Include="System.Data.Linq" />
@ -131,6 +134,8 @@
<Reference Include="System.Drawing" />
<Reference Include="System.IO.Compression, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.IO.Pipelines, Version=5.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Pipelines.5.0.1\lib\net461\System.IO.Pipelines.dll</HintPath>
@ -147,17 +152,22 @@
</Reference>
<Reference Include="System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Security" />
<Reference Include="System.Security.AccessControl, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.AccessControl.6.0.0\lib\net461\System.Security.AccessControl.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Permissions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Permissions.6.0.0\lib\net461\System.Security.Permissions.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Principal.Windows, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Principal.Windows.5.0.0\lib\net461\System.Security.Principal.Windows.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.ServiceModel" />
<Reference Include="System.ServiceProcess" />

View File

@ -4,320 +4,321 @@ using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace BLL {
public class MainSevice
namespace BLL
{
/// <summary>
/// 在建项目集合
/// </summary>
private List<string> _beUnderConstructionList;
private HSSEData_HSSE _hsseData;
private string _unitId;
private int _unitType;
public MainSevice(string userid)
public class MainSevice
{
var userModel = UserService.GetUserByUserId(userid);
int unitType = CommonService.GetUnitTypeByUserId(userid);
var projectList = ProjectService.GetProjectWorkList().Select(x => new { x.ProjectId, x.UnitId }).ToList();
_unitId = userModel.UnitId;
_unitType = unitType;
if (unitType == 0)
{
_beUnderConstructionList = projectList.Select(x => x.ProjectId).ToList();
_unitId = CommonService.GetThisUnitId();
}
else if (unitType == 1)
{
_beUnderConstructionList = projectList.Where(x => x.UnitId == userModel.UnitId).Select(x => x.ProjectId).ToList();
}
else if (unitType == 2)
{
_beUnderConstructionList = new List<string>() { "0" };
}
}
public async Task<HSSEData_HSSE> GetHsseDataAsync()
{
/// <summary>
/// 在建项目集合
/// </summary>
private List<string> _beUnderConstructionList;
private HSSEData_HSSE _hsseData;
private string _unitId;
private int _unitType;
public MainSevice(string userid)
{
var userModel = UserService.GetUserByUserId(userid);
int unitType = CommonService.GetUnitTypeByUserId(userid);
var projectList = ProjectService.GetProjectWorkList().Select(x => new { x.ProjectId, x.UnitId }).ToList();
_unitId = userModel.UnitId;
_unitType = unitType;
if (unitType == 0)
{
_beUnderConstructionList = projectList.Select(x => x.ProjectId).ToList();
_unitId = CommonService.GetThisUnitId();
}
else if (unitType == 1)
{
_beUnderConstructionList = projectList.Where(x => x.UnitId == userModel.UnitId).Select(x => x.ProjectId).ToList();
}
else if (unitType == 2)
{
_beUnderConstructionList = new List<string>() { "0" };
}
}
public async Task<HSSEData_HSSE> GetHsseDataAsync()
{
try
{
// 并行执行异步方法
var totalEnergyConsumptionTask = ChemicalReportItemService.GetLatstTimeTotalEnergyConsumption();
var incomeComprehensiveEnergyConsumptionTask = ChemicalReportItemService.GetLatstTimeIncomeComprehensiveEnergyConsumption();
var newWaterConsumptionTask = ChemicalReportItemService.GetLatstTimeNewWaterConsumption();
var securityRiskOutputListTask = HSSEData_HSSEService.GetSecurityRiskOutputsAsync()
.ContinueWith(t => t.Result.Where(x => _beUnderConstructionList.Contains(x.ProjectId)));
var largeEngineeringOutputsTask = HSSEData_HSSEService.GetLargeEngineeringOutputsAsync()
.ContinueWith(t => t.Result.Where(x => _beUnderConstructionList.Contains(x.ProjectId)));
var safetyInjectionEngineerTask = HSSEData_HSSEService.GetSafetyInjectionEngineerAsync();
var certificateATask = HSSEData_HSSEService.GetCertificateAAsync();
var certificateBTask = HSSEData_HSSEService.GetCertificateBAsync();
var certificateCTask = HSSEData_HSSEService.GetCertificateCAsync();
var beUnderConstructionTask = HSSEData_HSSEService.GetBeUnderConstructionAsync();
var shutdownTask = HSSEData_HSSEService.GetShutdownAsync();
var joinConstructionPersonTask = HSSEData_HSSEService.GetJoinConstructionPersonAsync();
var majorProjectsUnderConstructionTask = HSSEData_HSSEService.GetMajorProjectsUnderConstructionAsync();
var totalWorkingHourTask = HSSEData_HSSEService.GetTotalWorkingHourAsync();
var lostWorkingHourTask = HSSEData_HSSEService.GetLostWorkingHourAsync();
var safeWorkingHourTask = HSSEData_HSSEService.GetSafeWorkingHourAsync();
var safeTrainTask = HSSEData_HSSEService.GetSafeTrainAsync();
var specialTrainTask = HSSEData_HSSEService.GetSpecialTrainAsync();
var specialOperationTrainTask = HSSEData_HSSEService.GetSpecialOperationTrainAsync();
var headOfficeInspectorGeneralTask = HSSEData_HSSEService.GetHeadOfficeInspectorGeneralAsync();
var headOfficeFullTimeTask = HSSEData_HSSEService.GetHeadOfficeFullTimeAsync();
var branchInspectorGeneralTask = HSSEData_HSSEService.GetBranchInspectorGeneralAsync();
var branchFullTimeTask = HSSEData_HSSEService.GetBranchFullTimeAsync();
var projectInspectorGeneralTask = HSSEData_HSSEService.GetProjectInspectorGeneralAsync();
var projectFullTimeTask = HSSEData_HSSEService.GetProjectFullTimeAsync();
var projectSafetyMonitorTask = HSSEData_HSSEService.GetProjectSafetyMonitorAsync();
var safetyCommitteeMeetingTask = HSSEData_HSSEService.GetSafetyCommitteeMeetingAsync();
var enterpriseTopicsMeetingTask = HSSEData_HSSEService.GetEnterpriseTopicsMeetingAsync();
var projectSafetyLeadingGroupMeetingTask = HSSEData_HSSEService.GetProjectSafetyLeadingGroupMeetingAsync();
var projectSafetyMeetingTask = HSSEData_HSSEService.GetProjectSafetyMeetingAsync();
var companyLeadShiftCheckTask = HSSEData_HSSEService.GetCompanyLeadShiftCheckAsync();
var companyComprehensiveCheckTask = HSSEData_HSSEService.GetCompanyComprehensiveCheckAsync();
var companySpecialCheckTask = HSSEData_HSSEService.GetCompanySpecialCheckAsync();
var projectLeadShiftCheckTask = HSSEData_HSSEService.GetProjectLeadShiftCheckAsync();
var projectSpecialCheckTask = HSSEData_HSSEService.GetProjectSpecialCheckAsync();
var projectMajorCheckTask = HSSEData_HSSEService.GetProjectMajorCheckAsync();
var nearMissTask = HSSEData_HSSEService.GetNearMissAsync();
var recordableEventTask = HSSEData_HSSEService.GetRecordableEventAsync();
var generalAccidentTask = HSSEData_HSSEService.GetGeneralAccidentAsync();
var majorAccidentTask = HSSEData_HSSEService.GetMajorAccidentAsync();
var seriousAccidentTask = HSSEData_HSSEService.GetSeriousAccidentAsync();
var specialSeriousAccidentTask = HSSEData_HSSEService.GetSpecialSeriousAccidentAsync();
var companyComprehensivePlanTask = HSSEData_HSSEService.GetCompanyComprehensivePlanAsync();
var companySpecialPlanTask = HSSEData_HSSEService.GetCompanySpecialPlanAsync();
var companyOnSiteDisposalPlanTask = HSSEData_HSSEService.GetCompanyOnSiteDisposalPlanAsync();
var companyDrillTask = HSSEData_HSSEService.GetCompanyDrillAsync();
var projectComprehensivePlanTask = HSSEData_HSSEService.GetProjectComprehensivePlanAsync();
var projectSpecialPlanTask = HSSEData_HSSEService.GetProjectSpecialPlanAsync();
var projectOnSiteDisposalPlanTask = HSSEData_HSSEService.GetProjectOnSiteDisposalPlanAsync();
var projectDrillTask = HSSEData_HSSEService.GetProjectDrillAsync();
var costExtractTask = HSSEData_HSSEService.GetCostExtractAsync();
var costUseTask = HSSEData_HSSEService.GetCostUseAsync();
var useEquipmentTask = HSSEData_HSSEService.GetUseEquipmentAsync();
var specialEquipmentTask = HSSEData_HSSEService.GetSpecialEquipmentAsync();
var licensesTask = HSSEData_HSSEService.GetLicensesAsync();
var licensesCloseTask = HSSEData_HSSEService.GetLicensesCloseAsync();
var generalHiddenRectificationOutputsTask = HSSEData_HSSEService.GetGeneralHiddenRectificationOutputsAsync();
var majorHiddenRectificationOutputsTask = HSSEData_HSSEService.GetMajorHiddenRectificationOutputsAsync();
// 等待所有异步方法执行完成
await Task.WhenAll(
securityRiskOutputListTask,
largeEngineeringOutputsTask,
safetyInjectionEngineerTask,
certificateATask,
certificateBTask,
certificateCTask,
beUnderConstructionTask,
shutdownTask,
joinConstructionPersonTask,
majorProjectsUnderConstructionTask,
totalWorkingHourTask,
lostWorkingHourTask,
safeWorkingHourTask,
safeTrainTask,
specialTrainTask,
specialOperationTrainTask,
headOfficeInspectorGeneralTask,
headOfficeFullTimeTask,
branchInspectorGeneralTask,
branchFullTimeTask,
projectInspectorGeneralTask,
projectFullTimeTask,
projectSafetyMonitorTask,
safetyCommitteeMeetingTask,
enterpriseTopicsMeetingTask,
projectSafetyLeadingGroupMeetingTask,
projectSafetyMeetingTask,
companyLeadShiftCheckTask,
companyComprehensiveCheckTask,
companySpecialCheckTask,
projectLeadShiftCheckTask,
projectSpecialCheckTask,
projectMajorCheckTask,
nearMissTask,
recordableEventTask,
generalAccidentTask,
majorAccidentTask,
seriousAccidentTask,
specialSeriousAccidentTask,
companyComprehensivePlanTask,
companySpecialPlanTask,
companyOnSiteDisposalPlanTask,
companyDrillTask,
projectComprehensivePlanTask,
projectSpecialPlanTask,
projectOnSiteDisposalPlanTask,
projectDrillTask,
costExtractTask,
costUseTask,
useEquipmentTask,
specialEquipmentTask,
licensesTask,
licensesCloseTask,
generalHiddenRectificationOutputsTask,
majorHiddenRectificationOutputsTask
);
// 并行执行异步方法
var totalEnergyConsumptionTask = ChemicalReportItemService.GetLatstTimeTotalEnergyConsumption();
var incomeComprehensiveEnergyConsumptionTask = ChemicalReportItemService.GetLatstTimeIncomeComprehensiveEnergyConsumption();
var newWaterConsumptionTask = ChemicalReportItemService.GetLatstTimeNewWaterConsumption();
var securityRiskOutputListTask = HSSEData_HSSEService.GetSecurityRiskOutputsAsync()
.ContinueWith(t => t.Result.Where(x => _beUnderConstructionList.Contains(x.ProjectId)));
var largeEngineeringOutputsTask = HSSEData_HSSEService.GetLargeEngineeringOutputsAsync()
.ContinueWith(t => t.Result.Where(x => _beUnderConstructionList.Contains(x.ProjectId)));
var safetyInjectionEngineerTask = HSSEData_HSSEService.GetSafetyInjectionEngineerAsync();
var certificateATask = HSSEData_HSSEService.GetCertificateAAsync();
var certificateBTask = HSSEData_HSSEService.GetCertificateBAsync();
var certificateCTask = HSSEData_HSSEService.GetCertificateCAsync();
var beUnderConstructionTask = HSSEData_HSSEService.GetBeUnderConstructionAsync();
var shutdownTask = HSSEData_HSSEService.GetShutdownAsync();
var joinConstructionPersonTask = HSSEData_HSSEService.GetJoinConstructionPersonAsync();
var majorProjectsUnderConstructionTask = HSSEData_HSSEService.GetMajorProjectsUnderConstructionAsync();
var totalWorkingHourTask = HSSEData_HSSEService.GetTotalWorkingHourAsync();
var lostWorkingHourTask = HSSEData_HSSEService.GetLostWorkingHourAsync();
var safeWorkingHourTask = HSSEData_HSSEService.GetSafeWorkingHourAsync();
var safeTrainTask = HSSEData_HSSEService.GetSafeTrainAsync();
var specialTrainTask = HSSEData_HSSEService.GetSpecialTrainAsync();
var specialOperationTrainTask = HSSEData_HSSEService.GetSpecialOperationTrainAsync();
var headOfficeInspectorGeneralTask = HSSEData_HSSEService.GetHeadOfficeInspectorGeneralAsync();
var headOfficeFullTimeTask = HSSEData_HSSEService.GetHeadOfficeFullTimeAsync();
var branchInspectorGeneralTask = HSSEData_HSSEService.GetBranchInspectorGeneralAsync();
var branchFullTimeTask = HSSEData_HSSEService.GetBranchFullTimeAsync();
var projectInspectorGeneralTask = HSSEData_HSSEService.GetProjectInspectorGeneralAsync();
var projectFullTimeTask = HSSEData_HSSEService.GetProjectFullTimeAsync();
var projectSafetyMonitorTask = HSSEData_HSSEService.GetProjectSafetyMonitorAsync();
var safetyCommitteeMeetingTask = HSSEData_HSSEService.GetSafetyCommitteeMeetingAsync();
var enterpriseTopicsMeetingTask = HSSEData_HSSEService.GetEnterpriseTopicsMeetingAsync();
var projectSafetyLeadingGroupMeetingTask = HSSEData_HSSEService.GetProjectSafetyLeadingGroupMeetingAsync();
var projectSafetyMeetingTask = HSSEData_HSSEService.GetProjectSafetyMeetingAsync();
var companyLeadShiftCheckTask = HSSEData_HSSEService.GetCompanyLeadShiftCheckAsync();
var companyComprehensiveCheckTask = HSSEData_HSSEService.GetCompanyComprehensiveCheckAsync();
var companySpecialCheckTask = HSSEData_HSSEService.GetCompanySpecialCheckAsync();
var projectLeadShiftCheckTask = HSSEData_HSSEService.GetProjectLeadShiftCheckAsync();
var projectSpecialCheckTask = HSSEData_HSSEService.GetProjectSpecialCheckAsync();
var projectMajorCheckTask = HSSEData_HSSEService.GetProjectMajorCheckAsync();
var nearMissTask = HSSEData_HSSEService.GetNearMissAsync();
var recordableEventTask = HSSEData_HSSEService.GetRecordableEventAsync();
var generalAccidentTask = HSSEData_HSSEService.GetGeneralAccidentAsync();
var majorAccidentTask = HSSEData_HSSEService.GetMajorAccidentAsync();
var seriousAccidentTask = HSSEData_HSSEService.GetSeriousAccidentAsync();
var specialSeriousAccidentTask = HSSEData_HSSEService.GetSpecialSeriousAccidentAsync();
var companyComprehensivePlanTask = HSSEData_HSSEService.GetCompanyComprehensivePlanAsync();
var companySpecialPlanTask = HSSEData_HSSEService.GetCompanySpecialPlanAsync();
var companyOnSiteDisposalPlanTask = HSSEData_HSSEService.GetCompanyOnSiteDisposalPlanAsync();
var companyDrillTask = HSSEData_HSSEService.GetCompanyDrillAsync();
var projectComprehensivePlanTask = HSSEData_HSSEService.GetProjectComprehensivePlanAsync();
var projectSpecialPlanTask = HSSEData_HSSEService.GetProjectSpecialPlanAsync();
var projectOnSiteDisposalPlanTask = HSSEData_HSSEService.GetProjectOnSiteDisposalPlanAsync();
var projectDrillTask = HSSEData_HSSEService.GetProjectDrillAsync();
var costExtractTask = HSSEData_HSSEService.GetCostExtractAsync();
var costUseTask = HSSEData_HSSEService.GetCostUseAsync();
var useEquipmentTask = HSSEData_HSSEService.GetUseEquipmentAsync();
var specialEquipmentTask = HSSEData_HSSEService.GetSpecialEquipmentAsync();
var licensesTask = HSSEData_HSSEService.GetLicensesAsync();
var licensesCloseTask = HSSEData_HSSEService.GetLicensesCloseAsync();
var generalHiddenRectificationOutputsTask = HSSEData_HSSEService.GetGeneralHiddenRectificationOutputsAsync();
var majorHiddenRectificationOutputsTask = HSSEData_HSSEService.GetMajorHiddenRectificationOutputsAsync();
// 等待所有异步方法执行完成
await Task.WhenAll(
securityRiskOutputListTask,
largeEngineeringOutputsTask,
safetyInjectionEngineerTask,
certificateATask,
certificateBTask,
certificateCTask,
beUnderConstructionTask,
shutdownTask,
joinConstructionPersonTask,
majorProjectsUnderConstructionTask,
totalWorkingHourTask,
lostWorkingHourTask,
safeWorkingHourTask,
safeTrainTask,
specialTrainTask,
specialOperationTrainTask,
headOfficeInspectorGeneralTask,
headOfficeFullTimeTask,
branchInspectorGeneralTask,
branchFullTimeTask,
projectInspectorGeneralTask,
projectFullTimeTask,
projectSafetyMonitorTask,
safetyCommitteeMeetingTask,
enterpriseTopicsMeetingTask,
projectSafetyLeadingGroupMeetingTask,
projectSafetyMeetingTask,
companyLeadShiftCheckTask,
companyComprehensiveCheckTask,
companySpecialCheckTask,
projectLeadShiftCheckTask,
projectSpecialCheckTask,
projectMajorCheckTask,
nearMissTask,
recordableEventTask,
generalAccidentTask,
majorAccidentTask,
seriousAccidentTask,
specialSeriousAccidentTask,
companyComprehensivePlanTask,
companySpecialPlanTask,
companyOnSiteDisposalPlanTask,
companyDrillTask,
projectComprehensivePlanTask,
projectSpecialPlanTask,
projectOnSiteDisposalPlanTask,
projectDrillTask,
costExtractTask,
costUseTask,
useEquipmentTask,
specialEquipmentTask,
licensesTask,
licensesCloseTask,
generalHiddenRectificationOutputsTask,
majorHiddenRectificationOutputsTask
);
// 统一获取异步方法的返回值
var totalEnergyConsumption = totalEnergyConsumptionTask;
var incomeComprehensiveEnergyConsumption = incomeComprehensiveEnergyConsumptionTask;
var newWaterConsumption = newWaterConsumptionTask;
var safetyInjectionEngineerList = await safetyInjectionEngineerTask;
var certificateAList = await certificateATask;
var certificateBList = await certificateBTask;
var certificateCList = await certificateCTask;
var beUnderConstructionList = await beUnderConstructionTask;
var shutdownList = await shutdownTask;
var joinConstructionPersonList = await joinConstructionPersonTask;
var majorProjectsUnderConstructionList = await majorProjectsUnderConstructionTask;
var totalWorkingHour = await totalWorkingHourTask;
var lostWorkingHour = await lostWorkingHourTask;
var safeWorkingHour = await safeWorkingHourTask;
var safeTrainList = await safeTrainTask;
var specialTrainList = await specialTrainTask;
var specialOperationTrainList = await specialOperationTrainTask;
var headOfficeInspectorGeneralList = await headOfficeInspectorGeneralTask;
var headOfficeFullTimeList = await headOfficeFullTimeTask;
var branchInspectorGeneralList = await branchInspectorGeneralTask;
var branchFullTimeList = await branchFullTimeTask;
var projectInspectorGeneralList = await projectInspectorGeneralTask;
var projectFullTimeList = await projectFullTimeTask;
var projectSafetyMonitorList = await projectSafetyMonitorTask;
var safetyCommitteeMeetingList = await safetyCommitteeMeetingTask;
var enterpriseTopicsMeetingList = await enterpriseTopicsMeetingTask;
var projectSafetyLeadingGroupMeetingList = await projectSafetyLeadingGroupMeetingTask;
var projectSafetyMeetingList = await projectSafetyMeetingTask;
var companyLeadShiftCheckList = await companyLeadShiftCheckTask;
var companyComprehensiveCheckList = await companyComprehensiveCheckTask;
var companySpecialCheckList = await companySpecialCheckTask;
var projectLeadShiftCheckList = await projectLeadShiftCheckTask;
var projectSpecialCheckList = await projectSpecialCheckTask;
var projectMajorCheckList = await projectMajorCheckTask;
var nearMissList = await nearMissTask;
var recordableEventList = await recordableEventTask;
var generalAccidentList = await generalAccidentTask;
var majorAccidentList = await majorAccidentTask;
var seriousAccidentList = await seriousAccidentTask;
var specialSeriousAccidentList = await specialSeriousAccidentTask;
var companyComprehensivePlanList = await companyComprehensivePlanTask;
var companySpecialPlanList = await companySpecialPlanTask;
var companyOnSiteDisposalPlanList = await companyOnSiteDisposalPlanTask;
var companyDrillList = await companyDrillTask;
var projectComprehensivePlanList = await projectComprehensivePlanTask;
var projectSpecialPlanList = await projectSpecialPlanTask;
var projectOnSiteDisposalPlanList = await projectOnSiteDisposalPlanTask;
var projectDrillList = await projectDrillTask;
var costExtractList = await costExtractTask;
var costUseList = await costUseTask;
var useEquipmentList = await useEquipmentTask;
var specialEquipmentList = await specialEquipmentTask;
var licensesList = await licensesTask;
var licensesCloseList = await licensesCloseTask;
var generalHiddenRectificationOutputsList = await generalHiddenRectificationOutputsTask;
var majorHiddenRectificationOutputsList = await majorHiddenRectificationOutputsTask;
// 统一获取异步方法的返回值
var totalEnergyConsumption = totalEnergyConsumptionTask;
var incomeComprehensiveEnergyConsumption = incomeComprehensiveEnergyConsumptionTask;
var newWaterConsumption = newWaterConsumptionTask;
var safetyInjectionEngineerList = await safetyInjectionEngineerTask;
var certificateAList = await certificateATask;
var certificateBList = await certificateBTask;
var certificateCList = await certificateCTask;
var beUnderConstructionList = await beUnderConstructionTask;
var shutdownList = await shutdownTask;
var joinConstructionPersonList = await joinConstructionPersonTask;
var majorProjectsUnderConstructionList = await majorProjectsUnderConstructionTask;
var totalWorkingHour = await totalWorkingHourTask;
var lostWorkingHour = await lostWorkingHourTask;
var safeWorkingHour = await safeWorkingHourTask;
var safeTrainList = await safeTrainTask;
var specialTrainList = await specialTrainTask;
var specialOperationTrainList = await specialOperationTrainTask;
var headOfficeInspectorGeneralList = await headOfficeInspectorGeneralTask;
var headOfficeFullTimeList = await headOfficeFullTimeTask;
var branchInspectorGeneralList = await branchInspectorGeneralTask;
var branchFullTimeList = await branchFullTimeTask;
var projectInspectorGeneralList = await projectInspectorGeneralTask;
var projectFullTimeList = await projectFullTimeTask;
var projectSafetyMonitorList = await projectSafetyMonitorTask;
var safetyCommitteeMeetingList = await safetyCommitteeMeetingTask;
var enterpriseTopicsMeetingList = await enterpriseTopicsMeetingTask;
var projectSafetyLeadingGroupMeetingList = await projectSafetyLeadingGroupMeetingTask;
var projectSafetyMeetingList = await projectSafetyMeetingTask;
var companyLeadShiftCheckList = await companyLeadShiftCheckTask;
var companyComprehensiveCheckList = await companyComprehensiveCheckTask;
var companySpecialCheckList = await companySpecialCheckTask;
var projectLeadShiftCheckList = await projectLeadShiftCheckTask;
var projectSpecialCheckList = await projectSpecialCheckTask;
var projectMajorCheckList = await projectMajorCheckTask;
var nearMissList = await nearMissTask;
var recordableEventList = await recordableEventTask;
var generalAccidentList = await generalAccidentTask;
var majorAccidentList = await majorAccidentTask;
var seriousAccidentList = await seriousAccidentTask;
var specialSeriousAccidentList = await specialSeriousAccidentTask;
var companyComprehensivePlanList = await companyComprehensivePlanTask;
var companySpecialPlanList = await companySpecialPlanTask;
var companyOnSiteDisposalPlanList = await companyOnSiteDisposalPlanTask;
var companyDrillList = await companyDrillTask;
var projectComprehensivePlanList = await projectComprehensivePlanTask;
var projectSpecialPlanList = await projectSpecialPlanTask;
var projectOnSiteDisposalPlanList = await projectOnSiteDisposalPlanTask;
var projectDrillList = await projectDrillTask;
var costExtractList = await costExtractTask;
var costUseList = await costUseTask;
var useEquipmentList = await useEquipmentTask;
var specialEquipmentList = await specialEquipmentTask;
var licensesList = await licensesTask;
var licensesCloseList = await licensesCloseTask;
var generalHiddenRectificationOutputsList = await generalHiddenRectificationOutputsTask;
var majorHiddenRectificationOutputsList = await majorHiddenRectificationOutputsTask;
// 构造结果对象
var table = new HSSEData_HSSE
{
JoinConstructionPersonNum = joinConstructionPersonList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
MajorProjectsUnderConstructionNum = majorProjectsUnderConstructionList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
TotalWorkingHour = totalWorkingHour,
LostWorkingHour = lostWorkingHour,
SafeWorkingHour = safeWorkingHour,
SafeTrainNum = safeTrainList.Where(x => _beUnderConstructionList.Contains(x.ProjectId)).Sum(x => x.TrainPersonNum),
SpecialTrainNum = specialTrainList.Where(x => _beUnderConstructionList.Contains(x.ProjectId)).Sum(x => x.TrainPersonNum),
SpecialOperationTrainNum = specialOperationTrainList.Where(x => _beUnderConstructionList.Contains(x.ProjectId)).Sum(x => x.TrainPersonNum),
EnvironmentalTrainNum = 0,
TotalEnergyConsumption = totalEnergyConsumption,
IncomeComprehensiveEnergyConsumption = incomeComprehensiveEnergyConsumption,
NewWaterConsumption = newWaterConsumption,
HeadOfficeInspectorGeneralNum = headOfficeInspectorGeneralList.Count(),
HeadOfficeFullTimeNum = headOfficeFullTimeList.Count,
BranchInspectorGeneralNum = branchInspectorGeneralList.Count,
BranchFullTimeNum = branchFullTimeList.Count,
ProjectInspectorGeneralNum = projectInspectorGeneralList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
ProjectFullTimeNum = projectFullTimeList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
ProjectSafetyMonitorNum = projectSafetyMonitorList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
ProjectSafetyLeadingGroupMeetingNum = projectSafetyLeadingGroupMeetingList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
ProjectSafetyMeetingNum = projectSafetyMeetingList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
CompanyLeadShiftCheckNum = companyLeadShiftCheckList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
CompanyComprehensiveCheckNum = companyComprehensiveCheckList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
CompanySpecialCheckNum = companySpecialCheckList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
ProjectLeadShiftCheckNum = projectLeadShiftCheckList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
ProjectSpecialCheckNum = projectSpecialCheckList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
ProjectMajorCheckNum = projectMajorCheckList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
NearMissNum = nearMissList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
RecordableEventNum = recordableEventList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
GeneralAccidentNum = generalAccidentList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
MajorAccidentNum = majorAccidentList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
SeriousAccidentNum = seriousAccidentList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
SpecialSeriousAccidentNum = specialSeriousAccidentList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
CompanyComprehensivePlanNum = companyComprehensivePlanList.Count(x => x.UnitId == _unitId),
CompanySpecialPlanNum = companySpecialPlanList.Count(x => x.UnitId == _unitId),
CompanyOnSiteDisposalPlan = companyOnSiteDisposalPlanList.Count(x => x.UnitId == _unitId),
CompanyDrillNum = companyDrillList.Count(x => x.UnitId.Contains(_unitId)),
ProjectComprehensivePlanNum = projectComprehensivePlanList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
ProjectSpecialPlanNum = projectSpecialPlanList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
ProjectOnSiteDisposalPlan = projectOnSiteDisposalPlanList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
ProjectDrillNum = projectDrillList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
CostExtract = Convert.ToInt32(costExtractList.Where(x => _beUnderConstructionList.Contains(x.ProjectId)).Sum(x => x.SUMCost)),
CostUse = Convert.ToInt32(costUseList.Where(x => _beUnderConstructionList.Contains(x.ProjectId)).Sum(x => x.SUMCost)),
UseEquipmentNum = useEquipmentList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
SpecialEquipmentNum = specialEquipmentList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
LicensesNum = licensesList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
LicensesCloseNum = licensesCloseList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
GeneralClosedNum = generalHiddenRectificationOutputsList.Where(x => _beUnderConstructionList.Contains(x.ProjectId)).Sum(x => x.RecNum),
GeneralNotClosedNum = generalHiddenRectificationOutputsList.Where(x => _beUnderConstructionList.Contains(x.ProjectId)).Sum(x => x.NoRecNum),
MajorClosedNum = majorHiddenRectificationOutputsList.Where(x => _beUnderConstructionList.Contains(x.ProjectId)).Sum(x => x.RecNum),
MajorNotClosedNum = majorHiddenRectificationOutputsList.Where(x => _beUnderConstructionList.Contains(x.ProjectId)).Sum(x => x.NoRecNum),
LowRiskNum = securityRiskOutputListTask.Result.Sum(x => x.LowRiskNum),
GeneralRiskNum = securityRiskOutputListTask.Result.Sum(x => x.GeneralRiskNum),
MediumRiskNum = securityRiskOutputListTask.Result.Sum(x => x.MediumRiskNum),
HighRiskNum = securityRiskOutputListTask.Result.Sum(x => x.HighRiskNum),
CompletedNum = largeEngineeringOutputsTask.Result.Sum(x => x.CompletedNum),
TrainPersonNum = largeEngineeringOutputsTask.Result.Sum(x => x.TrainPersonNum),
ConstructionNum = largeEngineeringOutputsTask.Result.Sum(x => x.ConstructionNum),
FinishedNum = largeEngineeringOutputsTask.Result.Sum(x => x.FinishedNum),
SuperCompletedNum = largeEngineeringOutputsTask.Result.Sum(x => x.SuperCompletedNum),
SuperTrainPersonNum = largeEngineeringOutputsTask.Result.Sum(x => x.SuperTrainPersonNum),
SuperConstructionNum = largeEngineeringOutputsTask.Result.Sum(x => x.SuperConstructionNum)
};
// 构造结果对象
var table = new HSSEData_HSSE
{
JoinConstructionPersonNum = joinConstructionPersonList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
MajorProjectsUnderConstructionNum = majorProjectsUnderConstructionList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
TotalWorkingHour = totalWorkingHour,
LostWorkingHour = lostWorkingHour,
SafeWorkingHour = safeWorkingHour,
SafeTrainNum = safeTrainList.Where(x => _beUnderConstructionList.Contains(x.ProjectId)).Sum(x => x.TrainPersonNum),
SpecialTrainNum = specialTrainList.Where(x => _beUnderConstructionList.Contains(x.ProjectId)).Sum(x => x.TrainPersonNum),
SpecialOperationTrainNum = specialOperationTrainList.Where(x => _beUnderConstructionList.Contains(x.ProjectId)).Sum(x => x.TrainPersonNum),
EnvironmentalTrainNum = 0,
TotalEnergyConsumption = totalEnergyConsumption,
IncomeComprehensiveEnergyConsumption = incomeComprehensiveEnergyConsumption,
NewWaterConsumption = newWaterConsumption,
HeadOfficeInspectorGeneralNum = headOfficeInspectorGeneralList.Count(),
HeadOfficeFullTimeNum = headOfficeFullTimeList.Count,
BranchInspectorGeneralNum = branchInspectorGeneralList.Count,
BranchFullTimeNum = branchFullTimeList.Count,
ProjectInspectorGeneralNum = projectInspectorGeneralList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
ProjectFullTimeNum = projectFullTimeList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
ProjectSafetyMonitorNum = projectSafetyMonitorList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
ProjectSafetyLeadingGroupMeetingNum = projectSafetyLeadingGroupMeetingList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
ProjectSafetyMeetingNum = projectSafetyMeetingList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
CompanyLeadShiftCheckNum = companyLeadShiftCheckList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
CompanyComprehensiveCheckNum = companyComprehensiveCheckList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
CompanySpecialCheckNum = companySpecialCheckList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
ProjectLeadShiftCheckNum = projectLeadShiftCheckList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
ProjectSpecialCheckNum = projectSpecialCheckList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
ProjectMajorCheckNum = projectMajorCheckList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
NearMissNum = nearMissList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
RecordableEventNum = recordableEventList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
GeneralAccidentNum = generalAccidentList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
MajorAccidentNum = majorAccidentList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
SeriousAccidentNum = seriousAccidentList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
SpecialSeriousAccidentNum = specialSeriousAccidentList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
CompanyComprehensivePlanNum = companyComprehensivePlanList.Count(x => x.UnitId == _unitId),
CompanySpecialPlanNum = companySpecialPlanList.Count(x => x.UnitId == _unitId),
CompanyOnSiteDisposalPlan = companyOnSiteDisposalPlanList.Count(x => x.UnitId == _unitId),
CompanyDrillNum = companyDrillList.Count(x => x.UnitId.Contains(_unitId)),
ProjectComprehensivePlanNum = projectComprehensivePlanList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
ProjectSpecialPlanNum = projectSpecialPlanList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
ProjectOnSiteDisposalPlan = projectOnSiteDisposalPlanList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
ProjectDrillNum = projectDrillList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
CostExtract = Convert.ToInt32(costExtractList.Where(x => _beUnderConstructionList.Contains(x.ProjectId)).Sum(x => x.SUMCost)),
CostUse = Convert.ToInt32(costUseList.Where(x => _beUnderConstructionList.Contains(x.ProjectId)).Sum(x => x.SUMCost)),
UseEquipmentNum = useEquipmentList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
SpecialEquipmentNum = specialEquipmentList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
LicensesNum = licensesList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
LicensesCloseNum = licensesCloseList.Count(x => _beUnderConstructionList.Contains(x.ProjectId)),
GeneralClosedNum = generalHiddenRectificationOutputsList.Where(x => _beUnderConstructionList.Contains(x.ProjectId)).Sum(x => x.RecNum),
GeneralNotClosedNum = generalHiddenRectificationOutputsList.Where(x => _beUnderConstructionList.Contains(x.ProjectId)).Sum(x => x.NoRecNum),
MajorClosedNum = majorHiddenRectificationOutputsList.Where(x => _beUnderConstructionList.Contains(x.ProjectId)).Sum(x => x.RecNum),
MajorNotClosedNum = majorHiddenRectificationOutputsList.Where(x => _beUnderConstructionList.Contains(x.ProjectId)).Sum(x => x.NoRecNum),
LowRiskNum = securityRiskOutputListTask.Result.Sum(x => x.LowRiskNum),
GeneralRiskNum = securityRiskOutputListTask.Result.Sum(x => x.GeneralRiskNum),
MediumRiskNum = securityRiskOutputListTask.Result.Sum(x => x.MediumRiskNum),
HighRiskNum = securityRiskOutputListTask.Result.Sum(x => x.HighRiskNum),
CompletedNum = largeEngineeringOutputsTask.Result.Sum(x => x.CompletedNum),
TrainPersonNum = largeEngineeringOutputsTask.Result.Sum(x => x.TrainPersonNum),
ConstructionNum = largeEngineeringOutputsTask.Result.Sum(x => x.ConstructionNum),
FinishedNum = largeEngineeringOutputsTask.Result.Sum(x => x.FinishedNum),
SuperCompletedNum = largeEngineeringOutputsTask.Result.Sum(x => x.SuperCompletedNum),
SuperTrainPersonNum = largeEngineeringOutputsTask.Result.Sum(x => x.SuperTrainPersonNum),
SuperConstructionNum = largeEngineeringOutputsTask.Result.Sum(x => x.SuperConstructionNum)
};
if (_unitType == 0)
{
table.BeUnderConstructionNum = beUnderConstructionList.Count();
table.ShutdownNum = shutdownList.Count();
table.SafetyInjectionEngineer = safetyInjectionEngineerList.Count();
table.EnterpriseTopicsMeetingNum = enterpriseTopicsMeetingList.Count();
table.CertificateANum = certificateAList.Count();
table.CertificateBNum = certificateBList.Count();
table.CertificateCNum = certificateCList.Count();
table.SafetyCommitteeMeetingNum = safetyCommitteeMeetingList.Count();
if (_unitType == 0)
{
table.BeUnderConstructionNum = beUnderConstructionList.Count();
table.ShutdownNum = shutdownList.Count();
table.SafetyInjectionEngineer = safetyInjectionEngineerList.Count();
table.EnterpriseTopicsMeetingNum = enterpriseTopicsMeetingList.Count();
table.CertificateANum = certificateAList.Count();
table.CertificateBNum = certificateBList.Count();
table.CertificateCNum = certificateCList.Count();
table.SafetyCommitteeMeetingNum = safetyCommitteeMeetingList.Count();
}
else if (_unitType == 1)
{
table.BeUnderConstructionNum = beUnderConstructionList.Count(x => x.UnitId == _unitId);
table.ShutdownNum = shutdownList.Count(x => x.UnitId == _unitId);
table.SafetyCommitteeMeetingNum = safetyCommitteeMeetingList.Count(x => x.UnitId == _unitId);
table.SafetyInjectionEngineer = safetyInjectionEngineerList.Count(x => _beUnderConstructionList.Contains(x.ProjectId) || x.UnitId == _unitId);
table.EnterpriseTopicsMeetingNum = safetyInjectionEngineerList.Count(x => _beUnderConstructionList.Contains(x.ProjectId) || x.UnitId == _unitId);
table.CertificateANum = certificateAList.Count(x => _beUnderConstructionList.Contains(x.ProjectId) || x.UnitId == _unitId);
table.CertificateBNum = certificateBList.Count(x => _beUnderConstructionList.Contains(x.ProjectId) || x.UnitId == _unitId);
table.CertificateCNum = certificateCList.Count(x => _beUnderConstructionList.Contains(x.ProjectId) || x.UnitId == _unitId);
}
}
else if (_unitType == 1)
{
table.BeUnderConstructionNum = beUnderConstructionList.Count(x => x.UnitId == _unitId);
table.ShutdownNum = shutdownList.Count(x => x.UnitId == _unitId);
table.SafetyCommitteeMeetingNum = safetyCommitteeMeetingList.Count(x => x.UnitId == _unitId);
table.SafetyInjectionEngineer = safetyInjectionEngineerList.Count(x => _beUnderConstructionList.Contains(x.ProjectId) || x.UnitId == _unitId);
table.EnterpriseTopicsMeetingNum = safetyInjectionEngineerList.Count(x => _beUnderConstructionList.Contains(x.ProjectId) || x.UnitId == _unitId);
table.CertificateANum = certificateAList.Count(x => _beUnderConstructionList.Contains(x.ProjectId) || x.UnitId == _unitId);
table.CertificateBNum = certificateBList.Count(x => _beUnderConstructionList.Contains(x.ProjectId) || x.UnitId == _unitId);
table.CertificateCNum = certificateCList.Count(x => _beUnderConstructionList.Contains(x.ProjectId) || x.UnitId == _unitId);
}
_hsseData = table;
return _hsseData;
_hsseData = table;
return _hsseData;
}
catch (Exception ex)
{
@ -326,35 +327,36 @@ public class MainSevice
}
}
public List<HSSEDataHiddenDangerDetailItem> GetDataHiddenDangerDetailItems()
{
var db = Funs.DB;
var list = from x in db.HSSE_Hazard_HazardRegister
where _beUnderConstructionList.Contains(x.ProjectId)
select x;
var data = (from x in list
join y in db.HSSE_Hazard_HazardRegisterTypes on x.RegisterTypesId equals y.RegisterTypesId
group x by new
{ x.ProjectId, x.RegisterTypesId, y.RegisterTypesName }
into g
select new
{
UnitId = _unitId,
ProjectId = g.Key.ProjectId,
TypeName = g.Key.RegisterTypesName,
TotalNum = g.Count(),
NeedRectifyNum = g.Count(x => x.States == "1"),
}).ToList();
public List<HSSEDataHiddenDangerDetailItem> GetDataHiddenDangerDetailItems()
{
var db = Funs.DB;
var list = from x in db.HSSE_Hazard_HazardRegister
where _beUnderConstructionList.Contains(x.ProjectId)
select x;
var data = (from x in list
join y in db.HSSE_Hazard_HazardRegisterTypes on x.RegisterTypesId equals y.RegisterTypesId
group x by new
{ x.ProjectId, x.RegisterTypesId, y.RegisterTypesName }
into g
select new
{
UnitId = _unitId,
ProjectId = g.Key.ProjectId,
TypeName = g.Key.RegisterTypesName,
TotalNum = g.Count(),
NeedRectifyNum = g.Count(x => x.States == "1"),
}).ToList();
var result = (from x in data
group x by x.TypeName into g
select new Model.HSSEDataHiddenDangerDetailItem
{
Id = SQLHelper.GetNewID(),
TypeName = g.Key,
NeedRectifyNum = g.Sum(p => p.NeedRectifyNum),
TotalNum = g.Sum(p => p.TotalNum)
}).ToList();
return result;
var result = (from x in data
group x by x.TypeName into g
select new Model.HSSEDataHiddenDangerDetailItem
{
Id = SQLHelper.GetNewID(),
TypeName = g.Key,
NeedRectifyNum = g.Sum(p => p.NeedRectifyNum),
TotalNum = g.Sum(p => p.TotalNum)
}).ToList();
return result;
}
}
} }
}

File diff suppressed because one or more lines are too long

View File

@ -300,6 +300,7 @@
<Content Include="BaseInfo\WorkPost.aspx" />
<Content Include="BaseInfo\WorkStage.aspx" />
<Content Include="bin\Microsoft.QualityTools.Testing.Fakes.dll" />
<Content Include="common\mainnew.aspx" />
<Content Include="common\main1.aspx" />
<Content Include="common\main2024.aspx" />
<Content Include="common\mainMenu_HJGL.aspx" />
@ -1080,10 +1081,175 @@
<Content Include="HSSE\QualityAudit\SubcontractLeasingProtocolEdit.aspx" />
<Content Include="HSSE\QualityAudit\SubcontractLeasingProtocol.aspx" />
<Content Include="HSSE\SitePerson\ProjectWorkPersonStatistic.aspx" />
<Content Include="indexold.aspx" />
<Content Include="ProjectData\LocationSelect.aspx" />
<Content Include="QualityAudit\SubcontractLeasingProtocolAttachUrl\2024-11\638666775877584960_微信图片_20241106163356.png" />
<Content Include="QualityAudit\SubcontractLeasingProtocolAttachUrl\2024-11\638666786935571590_微信图片_20241106163356.png" />
<Content Include="QualityAudit\SubcontractLeasingProtocolAttachUrl\2024-11\638666869899670730_微信图片_20241106163356.png" />
<Content Include="res\font\iconfont.css" />
<Content Include="res\font\iconfont.js" />
<Content Include="res\home\css\common.css" />
<Content Include="res\home\css\element-ui.css" />
<Content Include="res\home\css\head.css" />
<Content Include="res\home\css\index copy.css" />
<Content Include="res\home\css\index.css" />
<Content Include="res\images\01\01.png" />
<Content Include="res\images\01\01bj.png" />
<Content Include="res\images\01\01headbj1.png" />
<Content Include="res\images\01\02.png" />
<Content Include="res\images\01\03.png" />
<Content Include="res\images\01\04.png" />
<Content Include="res\images\01\05.png" />
<Content Include="res\images\01\b2.png" />
<Content Include="res\images\01\b3.png" />
<Content Include="res\images\01\b4.png" />
<Content Include="res\images\01\l01.png" />
<Content Include="res\images\01\l08.png" />
<Content Include="res\images\01\leftbj.png" />
<Content Include="res\images\01\m07.png" />
<Content Include="res\images\01\m08.png" />
<Content Include="res\images\01\m09.png" />
<Content Include="res\images\01\m12.png" />
<Content Include="res\images\01\m14.png" />
<Content Include="res\images\01\r01.png" />
<Content Include="res\images\01\r04.png" />
<Content Include="res\images\01\r10.png" />
<Content Include="res\images\01\r11.png" />
<Content Include="res\images\01\r15.png" />
<Content Include="res\images\01\r16.png" />
<Content Include="res\images\01\r18.png" />
<Content Include="res\images\01\r20.png" />
<Content Include="res\images\01\r23.png" />
<Content Include="res\images\01\r25.png" />
<Content Include="res\images\01\top.png" />
<Content Include="res\images\02\01headbj.png" />
<Content Include="res\images\02\02icon1.png" />
<Content Include="res\images\02\02navbj.png" />
<Content Include="res\images\02\03icon1.png" />
<Content Include="res\images\02\03itembg.png" />
<Content Include="res\images\02\03line.png" />
<Content Include="res\images\02\03select.png" />
<Content Include="res\images\02\04bj02.png" />
<Content Include="res\images\02\04icon2.png" />
<Content Include="res\images\02\05icon-1.png" />
<Content Include="res\images\02\05模块bt.png" />
<Content Include="res\images\02\06bj.png" />
<Content Include="res\images\02\06icon1.png" />
<Content Include="res\images\02\07aqtj01.png" />
<Content Include="res\images\02\08aqtj02.png" />
<Content Include="res\images\02\09aqtj03.png" />
<Content Include="res\images\02\10zzyj.png" />
<Content Include="res\images\02\11zsyj.png" />
<Content Include="res\images\02\12jxyj.png" />
<Content Include="res\images\02\14zlyj.png" />
<Content Include="res\images\02\15yjbj.png" />
<Content Include="res\images\02\16gc 1.png" />
<Content Include="res\images\02\17gcbk.png" />
<Content Include="res\images\02\18zlbj.png" />
<Content Include="res\images\02\19jcsg.png" />
<Content Include="res\images\02\19jcsg1.png" />
<Content Include="res\images\02\20jgsg.png" />
<Content Include="res\images\02\20jgsg1.png" />
<Content Include="res\images\02\21ztsg.png" />
<Content Include="res\images\02\21ztsg1.png" />
<Content Include="res\images\02\22zszx.png" />
<Content Include="res\images\02\22zszx1.png" />
<Content Include="res\images\02\23jdgc.png" />
<Content Include="res\images\02\23jdgc1.png" />
<Content Include="res\images\02\24ys.png" />
<Content Include="res\images\02\24ys1.png" />
<Content Include="res\images\02\25wg.png" />
<Content Include="res\images\02\25wg1.png" />
<Content Include="res\images\02\26zhbj.png" />
<Content Include="res\images\02\27lwbj.png" />
<Content Include="res\images\02\28bf.png" />
<Content Include="res\images\02\29hjbj.png" />
<Content Include="res\images\02\30wd.png" />
<Content Include="res\images\02\31sd.png" />
<Content Include="res\images\02\32fs.png" />
<Content Include="res\images\02\33zy.png" />
<Content Include="res\images\02\34pm25.png" />
<Content Include="res\images\02\35pm10.png" />
<Content Include="res\images\02\36bj.png" />
<Content Include="res\images\02\37.png" />
<Content Include="res\images\02\bj 2.png" />
<Content Include="res\images\02\l01.png" />
<Content Include="res\images\02\m01.png" />
<Content Include="res\images\02\m02.png" />
<Content Include="res\images\02\n01.png" />
<Content Include="res\images\02\n02.png" />
<Content Include="res\images\02\n03.png" />
<Content Include="res\images\02\n04.png" />
<Content Include="res\images\bj.jpg" />
<Content Include="res\images\logo.png" />
<Content Include="res\images\my_face_80.png" />
<Content Include="res\images\nav01.png" />
<Content Include="res\images\nav02.png" />
<Content Include="res\images\nav03.png" />
<Content Include="res\images\nav04.png" />
<Content Include="res\images\Signature0.png" />
<Content Include="res\images\sprite.png" />
<Content Include="res\images\v1\01icon-天气.png" />
<Content Include="res\images\v1\01icon1.png" />
<Content Include="res\images\v1\02icon.png" />
<Content Include="res\images\v1\03icon.png" />
<Content Include="res\images\v1\04icon.png" />
<Content Include="res\images\v1\05icon.png" />
<Content Include="res\images\v1\06icon.png" />
<Content Include="res\images\v1\06navbj1.png" />
<Content Include="res\images\v1\06navbj2.png" />
<Content Include="res\images\v1\07headbj.png" />
<Content Include="res\images\v1\09titlebg.png" />
<Content Include="res\images\v1\10bk.png" />
<Content Include="res\images\v1\11aqbj.png" />
<Content Include="res\images\v1\12bk.png" />
<Content Include="res\images\v1\13bk.png" />
<Content Include="res\images\v1\15bj.png" />
<Content Include="res\images\v1\16bk.png" />
<Content Include="res\images\v1\17change.png" />
<Content Include="res\images\v1\bj 2.png" />
<Content Include="res\images\v1\item.png" />
<Content Include="res\image\01.png" />
<Content Include="res\image\02.png" />
<Content Include="res\image\03.png" />
<Content Include="res\image\04.png" />
<Content Include="res\image\05.png" />
<Content Include="res\image\06.png" />
<Content Include="res\image\07.png" />
<Content Include="res\image\08.png" />
<Content Include="res\image\09.png" />
<Content Include="res\image\10.png" />
<Content Include="res\image\11.png" />
<Content Include="res\image\12.png" />
<Content Include="res\image\13.png" />
<Content Include="res\image\14.png" />
<Content Include="res\image\15.png" />
<Content Include="res\image\16.png" />
<Content Include="res\image\17.png" />
<Content Include="res\image\18.png" />
<Content Include="res\image\19.png" />
<Content Include="res\image\20.png" />
<Content Include="res\image\21.png" />
<Content Include="res\image\22.png" />
<Content Include="res\image\23.png" />
<Content Include="res\image\acc.png" />
<Content Include="res\image\del.png" />
<Content Include="res\image\home.png" />
<Content Include="res\image\logo.png" />
<Content Include="res\image\message.png" />
<Content Include="res\image\user.png" />
<Content Include="res\image\小心化学反应-13.png" />
<Content Include="res\image\已中标-01.png" />
<Content Include="res\lib\china1.js" />
<Content Include="res\lib\vue.min.js" />
<Content Include="res\map\baiduMap.js" />
<Content Include="res\map\MarkerClusterer.js" />
<Content Include="res\map\TextIconOverlay.js" />
<Content Include="res\map\TrafficControl.css" />
<Content Include="res\map\TrafficControl.js" />
<Content Include="res\ol\bd09.js" />
<Content Include="res\ol\ol.css" />
<Content Include="res\ol\ol.js" />
<Content Include="ThreeYearAction\ConstructionStandardization\BenchmarkWorkSite.aspx" />
<Content Include="ThreeYearAction\ConstructionStandardization\BenchmarkWorkSiteEdit.aspx" />
<Content Include="ThreeYearAction\ConstructionStandardization\BenchmarkWorkSiteView.aspx" />
@ -2047,6 +2213,12 @@
<Content Include="res\indexv3\assets\iconfont\iconfont.ttf" />
<Content Include="res\indexv3\assets\iconfont\iconfont.woff" />
<Content Include="res\indexv3\assets\iconfont\iconfont.woff2" />
<Content Include="res\font\iconfont.json" />
<Content Include="res\font\iconfont.ttf" />
<Content Include="res\font\iconfont.woff" />
<Content Include="res\font\iconfont.woff2" />
<Content Include="res\ol\ol.css.map" />
<Content Include="res\ol\ol.js.map" />
<None Include="Scripts\jquery-2.1.1.intellisense.js" />
<Content Include="Scripts\jquery-2.1.1.js" />
<Content Include="Scripts\jquery-2.1.1.min.js" />
@ -6755,6 +6927,13 @@
<Compile Include="BaseInfo\WorkStage.aspx.designer.cs">
<DependentUpon>WorkStage.aspx</DependentUpon>
</Compile>
<Compile Include="common\mainnew.aspx.cs">
<DependentUpon>mainnew.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="common\mainnew.aspx.designer.cs">
<DependentUpon>mainnew.aspx</DependentUpon>
</Compile>
<Compile Include="common\main1.aspx.cs">
<DependentUpon>main1.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@ -12056,6 +12235,13 @@
<Compile Include="HSSE\SitePerson\ProjectWorkPersonStatistic.aspx.designer.cs">
<DependentUpon>ProjectWorkPersonStatistic.aspx</DependentUpon>
</Compile>
<Compile Include="indexold.aspx.cs">
<DependentUpon>indexold.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="indexold.aspx.designer.cs">
<DependentUpon>indexold.aspx</DependentUpon>
</Compile>
<Compile Include="ProjectData\LocationSelect.aspx.cs">
<DependentUpon>LocationSelect.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>

View File

@ -179,6 +179,9 @@
<%--<f:Tab ID="Tab1" Title="首页"
EnableIFrame="true" IFrameUrl="~/common/main1.aspx" runat="server">
</f:Tab>--%>
<f:Tab ID="Tab1" Title="首页"
EnableIFrame="true" IFrameUrl="~/common/mainnew.aspx" runat="server">
</f:Tab>
<f:Tab ID="Tab2" Title="安全"
EnableIFrame="true" IFrameUrl="~/common/mainMenu_HSSE2.aspx" runat="server">
</f:Tab>

View File

@ -50,6 +50,15 @@ namespace FineUIPro.Web.common
/// </remarks>
protected global::FineUIPro.TabStrip mainTabStrip;
/// <summary>
/// Tab1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tab Tab1;
/// <summary>
/// Tab2 控件。
/// </summary>

View File

@ -0,0 +1,901 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="mainnew.aspx.cs" Inherits="FineUIPro.Web.common.mainnew" Async="true" %>
<!DOCTYPE html>
<html lang="en">
<head runat="server">
<%--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>--%>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title></title>
<script src="../res/lib/flex.js"></script>
<link rel="stylesheet" href="../res/home/css/common.css"/>
<link rel="stylesheet" href="../res/home/css/index.css"/>
<script src="../res/assets/js/jquery-3.7.1.min.js"></script>
<style >
[v-cloak] {
display: none;
}
</style>
</head>
<body class="bg1">
<div id="app">
<div class="container" v-cloak>
<div class="side">
<!-- 组织机构人员 -->
<div class="block" style="height: 3.35rem;">
<div class="block-tit"><span>组织机构人员</span></div>
<div id="org" class="block-main">
<div class="org-row">
<div class="org-box">
<div class="org-box-value">{{form.org.branchSum}}</div>
<div class="org-box-label">分支结构人数</div>
</div>
<div class="org-box">
<div class="org-box-value">{{form.org.projectSum}}</div>
<div class="org-box-label">项目人数</div>
</div>
<div class="org-box">
<div class="org-box-value">{{form.org.groupSum}}</div>
<div class="org-box-label">企业总部人数</div>
</div>
<div class="org-box">
<div class="org-box-value">{{form.org.director}}</div>
<div class="org-box-label">总监</div>
</div>
<div class="org-box">
<div class="org-box-value">{{form.org.fullTime}}</div>
<div class="org-box-label">专职</div>
</div>
</div>
<div class="org-row1">
<i></i>
<div class="row1-inner">
<div class="row1-tit">分支机构</div>
<div class="row1-inner-children">
<p><span>总监</span><span>{{form.org.branchDirector}}</span></p>
<p><span>专职</span><span>{{form.org.branchFullTime}}</span></p>
</div>
</div>
</div>
<div class="org-row1">
<i></i>
<div class="row1-inner">
<div class="row1-tit">注安师</div>
<div class="row1-inner-children">
<p><span>在岗职业</span><span>{{form.org.attentionSafetyEngineer}}</span></p>
</div>
</div>
</div>
<div class="org-row1">
<i></i>
<div class="row1-inner">
<div class="row1-tit">项目人数</div>
<div class="row1-inner-children">
<p><span>总监</span><span>{{form.org.projectDirector}}</span></p>
<p><span>在职</span><span>{{form.org.projectFullTime}}</span></p>
<p><span>安全监护</span><span>{{form.org.projectSafetyMonitoring}}</span></p>
</div>
</div>
</div>
<div class="org-row1">
<i></i>
<div class="row1-inner">
<div class="row1-tit">三类人员</div>
<div class="row1-inner-children">
<p><span>A证</span><span>{{form.org.aCard}}</span></p>
<p><span>B证</span><span>{{form.org.bCard}}</span></p>
<p><span>C证</span><span>{{form.org.cCard}}</span></p>
</div>
</div>
</div>
</div>
</div>
<!-- 预警警报 -->
<div id="Early" class="block" style="height: 1.725rem;margin-top: 0.25rem;">
<div class="block-tit"><span>预警警报</span></div>
<div class="block-main">
<div class="early-box">
<div class="early-box-laber">水电监测</div>
<div class="early-box-value">{{form.warning.hydropower}}吨</div>
<div class="early-box-value">{{form.warning.hydropower2}}Kwh</div>
</div>
<div class="early-box">
<div class="early-box-laber">塔式起重机<br />预警</div>
<div class="early-box-value">{{form.warning.towercrane}}</div>
</div>
<div class="early-box">
<div class="early-box-laber">基坑监测<br />预警</div>
<div class="early-box-value">{{form.warning.foundationpit}}</div>
</div>
<div class="early-box">
<div class="early-box-laber">车辆冲洗<br />监测</div>
<div class="early-box-value">{{form.warning.car}}</div>
</div>
</div>
</div>
<!-- 安全/质量问题 -->
<div id="check" class="block" style="height: 1.725rem;margin-top: 0.25rem;">
<div class="block-tit">
<div :class="[checkIdx == 0?'selected':'']" @click="onChangeCheck(0)"><span>安全检查</span></div>
<div :class="[checkIdx == 1?'selected':'']" @click="onChangeCheck(1)"><span>质量检查</span></div>
</div>
<div class="block-main">
<div class="early-box">
<div class="early-box-laber">问题</div>
<div class="early-box-value">75454<span>项</span></div>
</div>
<div class="early-box">
<div class="early-box-laber">未完成</div>
<div class="early-box-value">0<span>项</span></div>
</div>
<div class="early-box">
<div class="early-box-laber">整改闭环</div>
<div class="early-box-value">0<span>项</span></div>
</div>
<div class="early-box">
<div class="early-box-laber">整改率</div>
<div class="early-box-value">0<span>%</span></div>
</div>
</div>
</div>
<!-- 风险分级管控 -->
<div id="risk" class="block" style="height: 1.675rem;margin-top: 0.25rem;">
<div class="block-tit"><span>风险分级管控</span></div>
<div class="block-main">
<div class="box">
<i></i>
<div class="box-row">
<div class="box-row-label">重大风险</div>
<div class="box-row-value">6</div>
</div>
</div>
<div class="box">
<i></i>
<div class="box-row">
<div class="box-row-label">重大风险</div>
<div class="box-row-value">6</div>
</div>
</div>
<div class="box">
<i></i>
<div class="box-row">
<div class="box-row-label">重大风险</div>
<div class="box-row-value">6</div>
</div>
</div>
<div class="box">
<i></i>
<div class="box-row">
<div class="box-row-label">重大风险</div>
<div class="box-row-value">6</div>
</div>
</div>
</div>
</div>
<!-- 费用、机具及会议 -->
<div id="tools" class="block" style="height: 2.15rem;margin-top: 0.25rem;">
<div class="block-tit"><span>费用、机具及会议</span></div>
<div class="block-main">
<div class="t-box">
<div class="t-box-tit">
<i class="iconfont icon-l10" style="color: #FFBF46;font-size: 20px;"></i>
<p>安全费用</p>
</div>
<div class="r-row">
<div class="r-row-label">费用提取</div>
<div class="r-row-value"><span>10</span><span>亿元</span></div>
</div>
<div class="r-row">
<div class="r-row-label">费用使用</div>
<div class="r-row-value"><span>10</span><span>亿元</span></div>
</div>
</div>
<div class="t-box">
<div class="t-box-tit">
<i class="iconfont icon-l10" style="color: #00DEFF;font-size: 20px;"></i>
<p>施工机具设备</p>
</div>
<div class="r-row">
<div class="r-row-label">在用个数</div>
<div class="r-row-value"><span>10</span><span>个</span></div>
</div>
<div class="r-row">
<div class="r-row-label">特种设备</div>
<div class="r-row-value"><span>10</span><span>个</span></div>
</div>
</div>
<div class="t-box">
<div class="t-box-tit">
<i class="iconfont icon-l10" style="color: #00DEFF;font-size: 20px;"></i>
<p>会议</p>
</div>
<div class="r-row">
<div class="r-row-label">班前会</div>
<div class="r-row-value"><span>10</span><span>个</span></div>
</div>
<div class="r-row">
<div class="r-row-label">周例会</div>
<div class="r-row-value"><span>10</span><span>个</span></div>
</div>
</div>
</div>
</div>
</div>
<div class="center">
<div class="map">
<div class="project-box" style="margin-top: 0.25rem;">
<div class="p-item">
<i></i>
<div class="p-row">
<h6>在建项目</h6>
<p><span>937</span><span>项</span></p>
</div>
</div>
<div class="p-item">
<i></i>
<div class="p-row">
<h6>停工项目</h6>
<p><span>937</span><span>项</span></p>
</div>
</div>
<div class="p-item">
<i></i>
<div class="p-row">
<h6>参建人数</h6>
<p><span>937</span><span>项</span></p>
</div>
</div>
<div class="p-item">
<i></i>
<div class="p-row">
<h6>在施危大工程</h6>
<p><span>937</span><span>项</span></p>
</div>
</div>
</div>
<div class="mapandvideo">
<div id="chinaMap"></div>
<div id="video">
<div class="v-tit">安全云监控</div>
<div class="v-player">
</div>
<p><span>实时视频线路1</span> <span>2020-10-10 12:40:26</span></p>
</div>
</div>
</div>
<!-- 危大工程管控数据 -->
<div id="wd" class="block4" style="height: 1.425rem;">
<div class="block4-tit"><span>危大工程管控数据</span></div>
<div class="block4-main">
<div class="wd">
<div class="wd-box">
<i></i>
<div class="wd-row">
<div class="wd-row-label">审批完成</div>
<div class="wd-row-value"><span>2131</span><span>个</span></div>
</div>
</div>
<div class="wd-box">
<i></i>
<div class="wd-row">
<div class="wd-row-label">施工个数</div>
<div class="wd-row-value"><span>2131</span><span>个</span></div>
</div>
</div>
<div class="wd-box">
<i></i>
<div class="wd-row">
<div class="wd-row-label">培训人次数</div>
<div class="wd-row-value"><span>2131</span><span>个</span></div>
</div>
</div>
<div class="wd-box">
<i></i>
<div class="wd-row">
<div class="wd-row-label">完工个数</div>
<div class="wd-row-value"><span>2131</span><span>个</span></div>
</div>
</div>
<div class="wd-box">
<i></i>
<div class="wd-row">
<div class="wd-row-label">论证个数</div>
<div class="wd-row-value"><span>2131</span><span>个</span></div>
</div>
</div>
</div>
</div>
</div>
<!-- 应急管理数据 / 工程划分 -->
<div class="layout"
style="height: 1.85rem;display: grid;grid-template-columns: 5.5rem 4.25rem;gap: 0.25rem;">
<div id="yjgl" class="block5" style="height: 100%;">
<div class="block5-tit"><span>应急管理数据</span></div>
<div class="block5-main">
<div class="yjgl">
<div class="yjgl-row">
<i></i>
<h6>综合预案</h6>
<p><span>59</span><span>项</span></p>
</div>
<div class="yjgl-row">
<i></i>
<h6>专项预案</h6>
<p><span>59</span><span>项</span></p>
</div>
<div class="yjgl-row">
<i></i>
<h6>现场处置</h6>
<p><span>59</span><span>项</span></p>
</div>
<div class="yjgl-row">
<i></i>
<h6>演练次数</h6>
<p><span>59</span><span>项</span></p>
</div>
</div>
</div>
</div>
<div id="gchf" class="block6" style="height: 100%;">
<div class="block6-tit"><span>工程划分</span></div>
<div class="block6-main">
<div class="gchf">
<div class="gc-box">
<i></i>
<h6><span>单位工程数</span></h6>
<p><span>389</span><span>个</span></p>
</div>
<div class="gc-box">
<i></i>
<h6><span>分部工程数</span></h6>
<p><span>389</span><span>个</span></p>
</div>
<div class="gc-box">
<i></i>
<h6><span>分项工程数</span></h6>
<p><span>389</span><span>台</span></p>
</div>
</div>
</div>
</div>
</div>
<!-- 质量验收数据 -->
<div id="zhl" class="block4" style="height: 2.725rem;">
<div class="block4-tit"><span>质量验收数据</span></div>
<div class="block4-main">
<div class="zhl">
<div id="map1"></div>
<div id="map2"></div>
</div>
</div>
</div>
</div>
<div class="side">
<!-- 特种设备质保体系 / 图纸会审/设计交底 -->
<div class="layout" style="height: 1.7rem;display: grid;grid-template-columns: 1fr 1fr;gap: 0.25rem;">
<div class="block1" id="tzsb">
<div class="block-tit1"><span>特种设备质保体系</span></div>
<div class="block1-main">
<div class="box">
<i></i>
<div class="row">
<div class="row-lab">集团总数</div>
<div class="row-val"><span>254</span><span>个</span></div>
</div>
</div>
</div>
</div>
<div class="block1" id="tzh">
<div class="block-tit1"><span>图纸会审/设计交底</span></div>
<div class="block1-main">
<div class="box">
<i></i>
<div class="row">
<div class="row-lab">次数</div>
<div class="row-val"><span>254</span><span>个</span></div>
</div>
</div>
</div>
</div>
</div>
<!-- 培训教育 -->
<div id="educat" class="block" style="height: 2.225rem;margin-top: 0.25rem;">
<div class="block-tit">
<div :class="[educationIdx == 0?'selected':'']" @click="onChangeEducation(0)">
<span>安全教育</span>
</div>
<div :class="[educationIdx == 1?'selected':'']" @click="onChangeEducation(1)">
<span>质量教育数据</span>
</div>
</div>
<div class="block-main">
<div class="educa-box">
<div class="box1">
<div class="box1-row">
<div class="educa-row-inner" style="margin-right: 0.125rem;">
<div class="educa-lab"><span>专项培训</span></div>
<div class="educa-val" style="text-align: right;">
<span>10</span><span>次</span>
</div>
</div>
<i></i>
</div>
<div class="box1-row">
<div class="educa-row-inner" style="margin-right: 0.125rem;">
<div class="educa-lab"><span>特种作业培训</span></div>
<div class="educa-val" style="text-align: right;">
<span>10</span><span>次</span>
</div>
</div>
<i></i>
</div>
</div>
<div class="box1"></div>
<div class="box1" style="align-items: flex-start;">
<div class="box1-row">
<i></i>
<div class="educa-row-inner" style="margin-left: 0.125rem;">
<div class="educa-lab"><span>三级安全教育培训</span></div>
<div class="educa-val" style="text-align: left;">
<span>10</span><span>次</span>
</div>
</div>
</div>
<div class="box1-row">
<i></i>
<div class="educa-row-inner" style="margin-left: 0.125rem;">
<div class="educa-lab"><span>安全技术交底</span></div>
<div class="educa-val" style="text-align: left;">
<span>10</span><span>次</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- 报验记录 -->
<div id="byjl" class="block" style="height: 2.5375rem;margin-top: 0.25rem;">
<div class="block-tit"><span>报验记录</span></div>
<div class="block-main">
<div class="byjl">
<div class="byjl-item">
<i></i>
<h6>设备报验数</h6>
<p><span>102</span><span>台套</span></p>
<div class="row">
<h6>合格率</h6>
<div class="bar">
<div style="width: 80%;" class="bar-inner"></div>
</div>
</div>
</div>
<div class="byjl-item">
<i></i>
<h6>机具报验数</h6>
<p><span>102</span><span>台套</span></p>
<div class="row">
<h6>合格率</h6>
<div class="bar">
<div style="width: 40%;" class="bar-inner"></div>
</div>
</div>
</div>
<div class="byjl-item">
<i></i>
<h6>人员报验数</h6>
<p><span>102</span><span>人次</span></p>
<div class="row">
<h6>合格率</h6>
<div class="bar">
<div style="width: 36%;" class="bar-inner"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- 施工方案 / 高风险作业许可 -->
<div class="layout"
style="height: 2.1875rem;margin-top: 0.25rem;display: grid;grid-template-columns: 3.75rem 2.25rem;gap: 0.25rem;">
<div class="block2" id="sgfa">
<div class="block2-tit"><span>施工方案</span></div>
<div class="block2-main">
<div class="sgfa">
<div class="sgfa-item">
<i></i>
<h6>总数</h6>
<p><span>394</span><span>个</span></p>
</div>
<div class="sgfa-item">
<i></i>
<h6>项目审批数</h6>
<p><span>394</span><span>个</span></p>
</div>
<div class="sgfa-item">
<i></i>
<h6>企业审批数</h6>
<p><span>394</span><span>个</span></p>
</div>
</div>
</div>
</div>
<div id="xkz" class="block3">
<div class="block3-tit"><span>高风险作业许可</span></div>
<div class="block3-main">
<div class="xkz">
<div class="xkz-box">
<i></i>
<h6>关闭项</h6>
<p>12</p>
</div>
<div class="xkz-box">
<i></i>
<h6>许可证</h6>
<p>12</p>
</div>
</div>
</div>
</div>
</div>
<!-- 计量器具数据 -->
<div id="jlqj" class="block" style="height: 1.975rem;margin-top: 0.25rem;">
<div class="block-tit"><span>计量器具数据</span></div>
<div class="block-main">
<div class="jlqj">
<div class="jlqj-box">
<i></i>
<div class="jlqj-item">
<h6>计量器具</h6>
<p><span>3672</span><span>台</span></p>
</div>
</div>
<i></i>
<div class="jlqj-box">
<i></i>
<div class="jlqj-item">
<h6>校验合格</h6>
<p><span>3672</span><span>台</span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<%--</div>--%>
</body>
</html>
<script src="../res/lib/vue.min.js"></script>
<script src="../res/lib/echarts.min.js"></script>
<script src="../res/lib/china1.js"></script>
<script>
new Vue({
el: '#app',
data() {
return {
// 控制显示状态
show: false,
// 当前激活的导航索引
nav_idx: 1,
// 当前激活的管理菜单索引
manage_idx: 1,
// 存储所有数据的主要对象
form: {
org: {// 组织机构人员数据
groupSum: 0, // 企业总部人数
director: 0, // 总监人数
fullTime: 0, // 专职人数
branchSum: 0, // 分支结构人数
branchDirector: 0, // 分支机构总监人数
branchFullTime: 0, // 分支机构专职人数
attentionSafetyEngineer: 0, // 注安师人数
projectSum: 0, //项目人数
projectDirector: 0, // 项目总监人数
projectFullTime: 0, // 项目专职人数
projectSafetyMonitoring: 0, // 项目安全监护人数
aCard: 0, // A证人数
bCard: 0, // B证人数
cCard: 0, // C证人数
},
warning: {//预警警报
hydropower: 0,//水电监测
hydropower2: 0,//水电监测
towercrane: 0,//塔式起重机预警
foundationpit: 0,//基坑监测预警
car: 0,//车辆冲洗监测
},
education: { // 教育培训和安全工时数据
safeWorkingHours: 0, // 安全工时数
specialTraining: 0, // 专项培训次数
SafetyEducation3: 0, // 三级安全教育培训次数
specializedTraining: 0, // 特种作业培训次数
safetyTechnicalBriefing: 0, // 安全技术交底次数
},
safetyHazard: { // 安全隐患排查治理数据
// 集团级
orgHazard: 0, // 集团安全隐患数量
orgIncomplete: 0, // 集团未完成数量
orgClosedLoop: 0, // 集团整改闭环数量
orgRectificationRate: 0, // 集团整改率
// 分支机构级
branchHazard: 0, // 分支机构安全隐患数量
branchIncomplete: 0, // 分支机构未完成数量
branchClosedLoop: 0, // 分支机构整改闭环数量
branchRectificationRate: 0, // 分支机构整改率
// 企业级
enterpriseHazard: 0, // 企业安全隐患数量
enterpriseIncomplete: 0, // 企业未完成数量
enterpriseClosedLoop: 0, // 企业整改闭环数量
enterpriseRectificationRate: 0, // 企业整改率
// 项目级
projectHazard: 0, // 项目安全隐患数量
projectIncomplete: 0, // 项目未完成数量
projectClosedLoop: 0, // 项目整改闭环数量
projectRectificationRate: 0, // 项目整改率
},
costEquipment: { // 费用及机具数据
expenseExtraction: 0, // 费用提取金额(亿元)
costUtilization: 0, // 费用使用金额(亿元)
usingNumbers: 0, // 在用机具个数
specialEquipment: 0, // 特种设备数量
},
projectInfo: { // 项目概况信息
projectsUnderConstruction: 0, // 在建项目数量
shutdownProject: 0, // 停工项目数量
participateInNum: 0, // 参建人数
dangerousProject: 0, // 在施危大工程数量
},
dangerousProject: { // 危大工程管控数据
approvalCompleted: 0, // 审批完成个数
construction: 0, // 施工个数
training: 0, // 培训人次数
completed: 0, // 完工个数
reasoning: 0, // 论证个数
},
riskClassification: { // 风险分级管控数据
major: 0, // 重大风险数量
larger: 0, // 较大风险数量
general: 0, // 一般风险数量
low: 0, // 低风险数量
},
highRisk: { // 高风险作业许可数据
closeItem: 0, // 关闭项数量
licenseItem: 0, // 许可项数量
},
meetAnEmergency: { // 应急管理数据
comprehensive: 0, // 综合预案数量
special: 0, // 专项预案数量
scene: 0, // 现场处置数量
drill: 0, // 演练次数
}
},
// 当前时间显示
nowTime: '09:00:12',
// 中国地图数据点
chinaData: []
}
},
mounted() {
// 组件挂载后执行的操作
this.show = true; // 显示内容
this.loadData(); // 加载数据
this.startTimer(); // 启动时间定时器
this.createMap();
},
methods: {
// 从后台加载HSSE数据
loadData() {
const that = this;
$.ajax({
type: "POST",
url: "main_Hsse.aspx/GetHSSEData", // 调用后台WebMethod
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
console.log(response.d)
if (response.d.success) {
// 更新数据成功
that.form = { ...response.d.data }; // 更新表单数据
that.chinaData = [...response.d.data.chinaData]; // 更新地图数据
console.log(that.chinaData);
that.createMap(); // 重新创建地图
} else {
// 更新数据失败
alert("加载数据失败:" + response.d.msg);
}
},
error: function (xhr, status, error) {
// AJAX请求错误处理
alert("请求失败:" + error);
}
});
},
// 启动时间定时器,每秒更新一次当前时间
startTimer() {
setInterval(() => {
const now = new Date();
this.nowTime = now.toLocaleTimeString('zh-CN', {
hour12: false, // 使用24小时制
hour: '2-digit', // 两位数显示小时
minute: '2-digit', // 两位数显示分钟
second: '2-digit' // 两位数显示秒钟
});
}, 1000); // 1000毫秒 = 1秒
},
// 切换主导航菜单
onSwitchMenu(idx) {
this.nav_idx = idx; // 更新导航索引
},
// 切换管理菜单
onSwitchManage(idx) {
this.manage_idx = idx; // 更新管理菜单索引
},
// 刷新数据
onRefresh() {
this.loadData(); // 重新加载数据
},
// 创建中国地图
createMap() {
let that = this;
// 中国地图配置
let chinaOption = {
geo: [
{
// 地理坐标系组件 - 底图层
map: "china",
roam: false, // 禁止缩放和平移
aspectScale: 0.85, // 比例
top: 140, // 顶部距离
zlevel: 2, // 图层级别
zoom: 1.4, // 缩放比例
tooltip: {
show: false, // 不显示默认提示框
backgroundColor: "#031849", // 提示框背景色
borderColor: '#031849', // 提示框边框颜色
formatter: function (h) {
// 自定义提示框内容格式化
console.log(h);
let html = `<div style="z-index:99999999;">
<p><span>【项目名称】:</span>山东裕龙石化有限公司裕龙岛炼化一体化项目(一期)</p>
<p><span>【开工时间】:</span>2022-1-30</p>
<p><span>【竣工时间】:</span>2023-12-30</p>
<p><span>【项目地址】:</span>山东烟台龙门市</p>
</div>`;
return html;
},
},
label: {
show: false // 不显示标签
},
regions: [
{
name: "南海诸岛", // 南海诸岛区域特殊处理
itemStyle: {
// 隐藏南海诸岛区域
normal: {
opacity: 0, // 不绘制该区域
}
},
label: {
show: false // 隐藏文字标签
}
}
],
itemStyle: {
// 地图区域样式
normal: {
areaColor: "#07121B", // 区域颜色
borderColor: "#07121B", // 边界颜色
}
},
emphasis: {
disabled: true, // 禁用高亮效果
}
},
{
// 地理坐标系组件 - 中间层
map: "china",
roam: false,
aspectScale: 0.85,
top: 130,
zlevel: 9,
zoom: 1.4,
regions: [
{
name: "南海诸岛",
itemStyle: {
normal: {
opacity: 0,
}
},
label: {
show: false
}
}
],
itemStyle: {
normal: {
areaColor: "#076393",
borderColor: "#076393",
}
},
emphasis: {
disabled: true,
}
},
],
series: [
{
// 数据层 - 显示各省份数据
type: 'map',
map: "china",
roam: false,
aspectScale: 0.85,
top: 120,
zlevel: 12,
zoom: 1.4,
data: that.chinaData, // 使用后台获取的数据
label: {
color: "#ffffff", // 标签文字颜色
show: true, // 显示标签
formatter: function (h) {
// 标签文字格式化
console.log(h);
if (h.value && !isNaN(h.value)) {
return h.value; // 显示数值
} else {
return ''; // 无数值时不显示
}
}
},
regions: [
{
name: "南海诸岛",
label: {
show: false // 隐藏南海诸岛文字
}
}
],
itemStyle: {
// 地图区域样式
normal: {
borderWidth: 1, // 边界宽度
areaColor: "rgba(0, 221, 255, .8)", // 区域颜色
borderColor: "RGBA(27, 225, 255, 1)", // 边界颜色
}
},
emphasis: {
disabled: true, // 禁用高亮效果
}
},
],
};
// 注册中国地图JSON数据
echarts.registerMap('china', chinaJson);
// 初始化地图
let chinaChart = echarts.init(document.getElementById('map'));
// 设置地图选项
chinaChart.setOption(chinaOption);
// 地图点击事件
chinaChart.on('click', function (params) {
// 点击散点时触发
if (params.seriesType == 'effectScatter') {
alert('点击了' + params.name);
}
// 可以在这里添加其他点击逻辑
});
}
}
})
</script>

View File

@ -0,0 +1,220 @@
using BLL;
using Model;
using System;
using System.Collections.Generic;
using System.Web.Services;
using System.Linq;
using System.Web.UI.WebControls;
using System.Threading.Tasks;
namespace FineUIPro.Web.common
{
public partial class mainnew : PageBase
{
//public Model.HSSEData_HSSE hSSEData_HSSE;
public string userId;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
userId = this.CurrUser.UserId;
}
}
/// <summary>
/// 看板数据
/// </summary>
/// <returns></returns>
[WebMethod]
public static object GetHSSEData()
{
try
{
var page = new mainnew();
MainSevice mainSevice = new MainSevice(page.CurrUser.UserId);
// 获取HSSE数据
var hSSEData = Task.Run(() => mainSevice.GetHsseDataAsync()).Result;
var hiddenDangerList = mainSevice.GetDataHiddenDangerDetailItems();
// 获取项目数据
int unitType = CommonService.GetUnitTypeByUserId(page.CurrUser.UserId);
var projects = new List<Base_Project>();
if (unitType == 0)
{
projects = Funs.DB.Base_Project.Where(x => x.MapCoordinates != null &&
(x.IsDelete == null || x.IsDelete == false)).ToList();
}
else if (unitType == 1)
{
projects = Funs.DB.Base_Project.Where(x => x.UnitId == page.CurrUser.UnitId &&
x.MapCoordinates != null && (x.IsDelete == null || x.IsDelete == false)).ToList();
}
// 计算整改率
string zgl1 = "0";
string zgl2 = "0";
double generalRectificationRate = 0;
double majorRectificationRate = 0;
if (hSSEData.GeneralClosedNum.HasValue && hSSEData.GeneralNotClosedNum.HasValue)
{
double total = hSSEData.GeneralClosedNum.Value + hSSEData.GeneralNotClosedNum.Value;
if (total > 0)
{
generalRectificationRate = 100.0 * hSSEData.GeneralClosedNum.Value / total;
zgl1 = String.Format("{0:N2}", generalRectificationRate);
}
}
if (hSSEData.MajorClosedNum.HasValue && hSSEData.MajorNotClosedNum.HasValue)
{
double total = hSSEData.MajorClosedNum.Value + hSSEData.MajorNotClosedNum.Value;
if (total > 0)
{
majorRectificationRate = 100.0 * hSSEData.MajorClosedNum.Value / total;
zgl2 = String.Format("{0:N2}", majorRectificationRate);
}
}
// 构造返回数据
return new
{
success = true,
data = new
{
org = new
{//组织机构人员
groupSum = (hSSEData.HeadOfficeInspectorGeneralNum ?? 0) + (hSSEData.HeadOfficeFullTimeNum ?? 0),//企业总部人数
director = hSSEData.HeadOfficeInspectorGeneralNum ?? 0,//企业总监
fullTime = hSSEData.HeadOfficeFullTimeNum ?? 0,//企业专职
//enterpriseSum = 0,
branchSum = (hSSEData.BranchInspectorGeneralNum ?? 0) + (hSSEData.BranchFullTimeNum ?? 0),//分支机构人数
branchDirector = hSSEData.BranchInspectorGeneralNum ?? 0,//分支机构总监
branchFullTime = hSSEData.BranchFullTimeNum ?? 0,//分支机构专职
attentionSafetyEngineer = hSSEData.SafetyInjectionEngineer ?? 0,//注安师在岗职业
projectSum = (hSSEData.ProjectInspectorGeneralNum ?? 0) + (hSSEData.ProjectFullTimeNum ?? 0) + (hSSEData.ProjectSafetyMonitorNum ?? 0),//项目人数
projectDirector = hSSEData.ProjectInspectorGeneralNum ?? 0,//项目总监
projectFullTime = hSSEData.ProjectFullTimeNum ?? 0,//项目专职
projectSafetyMonitoring = hSSEData.ProjectSafetyMonitorNum ?? 0,//项目安全监护
aCard = hSSEData.CertificateANum ?? 0,//A证
bCard = hSSEData.CertificateBNum ?? 0,//B证
cCard = hSSEData.CertificateCNum ?? 0//C证
},
projectInfo = new
{//项目数据
projectsUnderConstruction = hSSEData.BeUnderConstructionNum ?? 0,//在建项目
shutdownProject = hSSEData.ShutdownNum ?? 0,//停工项目
participateInNum = hSSEData.JoinConstructionPersonNum ?? 0,//参建人数
dangerousProject = hSSEData.MajorProjectsUnderConstructionNum ?? 0,//在施危大工程
chinaData = (from project in projects
join city in Funs.DB.RealName_City
on new { Province = project.Province, Country = project.Country }
equals new { Province = city.ProvinceCode, Country = city.CountryId }
group city by city.Cname into g
select new
{
name = g.Key,
value = g.Count()
}).ToList(),//项目地图数据
},
specialEquipmentSys = 0,//特种设备质保体系【暂无】
designBriefing = 0,//图纸会审、设计交底
education = new
{//安全教育
safeWorkingHour = hSSEData.SafeWorkingHour ?? 0,//安全工时数
specialTrainNum = hSSEData.SpecialTrainNum ?? 0,//专项培训
safeTrainNum = hSSEData.SafeTrainNum ?? 0,//三级安全教育培训
specialOperationTrainNum = hSSEData.SpecialOperationTrainNum ?? 0,//特种作业培训
safetyTechnicalBriefing = 0//安全技术交底次数【待处理】
},
warning = new
{//预警警报
hydropower = 0,//水电监测
hydropower2 = 0,//水电监测
towercrane = 0,//塔式起重机预警
foundationpit = 0,//基坑监测预警
car = 0,//车辆冲洗监测
},
safetyHazard = new
{
// 集团级
orgHazard = 0,
orgIncomplete = 0,
orgClosedLoop = 0,
orgRectificationRate = 0,
// 分支机构级 - 假设使用与企业级相同的数据或可以从其他字段映射
branchHazard = 0,
branchIncomplete = 0,
branchClosedLoop = 0,
branchRectificationRate = 0,
// 企业级
enterpriseHazard = 0,
enterpriseIncomplete = 0,
enterpriseClosedLoop = 0,
enterpriseRectificationRate = 0,
// 项目级
projectHazard = (hSSEData.GeneralClosedNum ?? 0) + (hSSEData.GeneralNotClosedNum ?? 0),
projectIncomplete = hSSEData.GeneralNotClosedNum ?? 0,
projectClosedLoop = hSSEData.GeneralClosedNum ?? 0,
projectRectificationRate = Convert.ToDouble(zgl1),
},
costEquipment = new
{
expenseExtraction = hSSEData.CostExtract.HasValue ?
Math.Round(hSSEData.CostExtract.Value / 100000000m, 2) : 0, // 转换为亿元
costUtilization = hSSEData.CostUse.HasValue ?
Math.Round(hSSEData.CostUse.Value / 100000000m, 2) : 0, // 转换为亿元
usingNumbers = hSSEData.UseEquipmentNum ?? 0,
specialEquipment = hSSEData.SpecialEquipmentNum ?? 0
},
dangerousProject = new
{
approvalCompleted = hSSEData.CompletedNum ?? 0,
construction = hSSEData.ConstructionNum ?? 0,
training = hSSEData.TrainPersonNum ?? 0,
completed = hSSEData.FinishedNum ?? 0,
reasoning = 0
},
riskClassification = new
{
major = hSSEData.HighRiskNum ?? 0,
larger = hSSEData.MediumRiskNum ?? 0,
general = hSSEData.GeneralRiskNum ?? 0,
low = hSSEData.LowRiskNum ?? 0
},
highRisk = new
{
closeItem = hSSEData.LicensesCloseNum ?? 0,
licenseItem = hSSEData.LicensesNum ?? 0
},
meetAnEmergency = new
{
comprehensive = hSSEData.CompanyComprehensivePlanNum ?? 0,
special = hSSEData.CompanySpecialPlanNum ?? 0,
scene = hSSEData.CompanyOnSiteDisposalPlan ?? 0,
drill = hSSEData.CompanyDrillNum ?? 0
},
/* chinaData = projects.Select(p => new {
name = p.ShortName,
value = p.MapCoordinates?.ToString() ?? "",
address = p.ProjectAddress,
id = p.ProjectId,
openDate = p.StartDate.HasValue ? p.StartDate.Value.ToString("yyyy-MM-dd") : "--",
endDate = p.EndDate.HasValue ? p.EndDate.Value.ToString("yyyy-MM-dd") : "--",
ownUnit = ProjectService.getProjectUnitNameByUnitType(p.ProjectId, Const.ProjectUnitType_4),
jLUnit = ProjectService.getProjectUnitNameByUnitType(p.ProjectId, Const.ProjectUnitType_3),
sGUnit = ProjectService.getProjectUnitNameByUnitType(p.ProjectId, Const.ProjectUnitType_2),
projectMoney = p.ProjectMoney
}).ToList()*/
}
};
}
catch (Exception ex)
{
return new { success = false, msg = ex.Message };
}
}
}
}

View File

@ -0,0 +1,17 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.common
{
public partial class mainnew
{
}
}

View File

@ -194,13 +194,6 @@
</div>
<div class="sd-header-top-right">
<ul>
<%--<li class="js-showTab-item top-li-item"><a href="javascript:void(0);">
<div style="background-image: url('./res/images/Monitoring.png'); width: 19px; height: 19px; float: left; background-repeat: no-repeat; background-position: center;"></div>
<span>视频</span></a>
<f:Button runat="server" CssClass="bgbtn2"
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" ID="Button1" OnClientClick="openVideo()">
</f:Button>
</li>--%>
<li class="js-showTab-item top-li-item">
<a href="javascript:void(0);">
<span><i class="iconfont icon-user"></i></span>
@ -243,7 +236,7 @@
</f:Button>
</li>
<li>
<f:Button runat="server" CssClass="bgbtn" Text="安全管理" ID="btnDigData" OnClick="btnHSSE_Click"
<f:Button runat="server" CssClass="bgbtn" Text="安全管理" ID="btnHSSE" OnClick="btnHSSE_Click"
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" OnClientClick="parent.removeActiveTab();">
</f:Button>
</li>
@ -253,7 +246,7 @@
</f:Button>
</li>
<li>
<f:Button runat="server" CssClass="bgbtn" Text="资源库" ID="Button2" OnClick="btnDigData_Click"
<f:Button runat="server" CssClass="bgbtn" Text="资源库" ID="btnDigData" OnClick="btnDigData_Click"
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" OnClientClick="parent.removeActiveTab();">
</f:Button>
</li>
@ -271,7 +264,7 @@
</li>
<li>
<f:Button runat="server" CssClass="bgbtn" Text="视频监控" OnClientClick="openVideo();"
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" ID="btnDigitalSite">
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" ID="btnVideo">
</f:Button>
</li>
<li>

View File

@ -416,7 +416,7 @@ namespace FineUIPro.Web
{
this.leftPanel.Hidden = true;
this.XmlDataSource1.DataFile = "common/Menu_Personal.xml";
this.Tab1.IFrameUrl = "~/common/main.aspx";
this.Tab1.IFrameUrl = "~/common/mainnew.aspx";
}
UserService.UpdateLastUserInfo(this.CurrUser.UserId, type, true, string.Empty);

View File

@ -150,13 +150,13 @@ namespace FineUIPro.Web
protected global::FineUIPro.Button btnPerson;
/// <summary>
/// btnDigData 控件。
/// btnHSSE 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnDigData;
protected global::FineUIPro.Button btnHSSE;
/// <summary>
/// liThreeYearAction 控件。
@ -177,13 +177,13 @@ namespace FineUIPro.Web
protected global::FineUIPro.Button btnThreeYearAction;
/// <summary>
/// Button2 控件。
/// btnDigData 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button Button2;
protected global::FineUIPro.Button btnDigData;
/// <summary>
/// btnCQMS 控件。
@ -204,13 +204,13 @@ namespace FineUIPro.Web
protected global::FineUIPro.Button btnDevice;
/// <summary>
/// btnDigitalSite 控件。
/// btnVideo 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnDigitalSite;
protected global::FineUIPro.Button btnVideo;
/// <summary>
/// btnServer 控件。

View File

@ -0,0 +1,737 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="indexold.aspx.cs" Inherits="FineUIPro.Web.indexold" %>
<!DOCTYPE html>
<html>
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="initial-scale=scale,maximum-scale=scale,minimum-scale=scale,user-scalable=no" />
<title>QHSE管理数字化平台</title>
<link rel="shortcut icon" type="image/x-icon" href="~/favicon.ico" />
<%--
<link rel="stylesheet" href="~/res/indexv1/iconfont/iconfont.css" />
<link rel="stylesheet" href="~/res/indexv1/css/index1.css" />
<link type="text/css" rel="stylesheet" href="~/res/css/default.css" />
<link href="res/index/css/home.css" rel="stylesheet" />--%>
<link href="~/res/indexv2/assets/iconfont/iconfont.css" rel="stylesheet" />
<link href="~/res/indexv2/assets/css/video-7.15.0.min.css" rel="stylesheet" />
<link href="~/res/indexv2/assets/css/index7.css" rel="stylesheet" />
<style type="text/css">
html {
min-height: auto;
}
.sd-index1-body {
}
.f-widget-content {
border: none;
background: none;
}
body > .f-panel-border,  body > .f-panel-border > div  {
background: #ffffff;
}
</style>
<style type="text/css">
.f-tabstrip-header-clip {
width: 100%;
height: 35px;
}
.up-wrap {
height: 55px;
padding: 0 10px;
}
.item-s {
padding: 0;
margin: 0;
}
.f-btn .f-btn-text {
vertical-align: baseline !important;
}
.f-state-hover {
background-color: transparent !important;
}
.bgbtn {
width: 100%;
border: none !important;
background-color: transparent !important;
padding: 0 !important;
line-height: 1;
}
.activeClick {
font-weight: 800;
color: white !important;
}
.bgbtn .x-frame-ml, .bgbtn .x-frame-mc, .bgbtn .x-frame-mr,
.bgbtn .x-frame-tl, .bgbtn .x-frame-tc, .bgbtn .x-frame-tr,
.bgbtn .x-frame-bl, .bgbtn .x-frame-bc, .bgbtn .x-frame-br,
.bgbtn a:visited, .bgbtn .f-state-focus {
background-image: none;
background-color: transparent;
}
.f-state-default, .f-widget-content .f-state-default, .f-widget-header .f-state-default {
background-image: none;
background-color: transparent;
}
.header .layui-nav {
padding: 0;
margin: 0;
}
.bgbtntop.f-btn.f-state-default .f-icon, .bgbtntop.f-btn.f-state-hover .f-icon, .bgbtntop.f-btn.f-state-focus .f-icon, .bgbtntop.f-btn.f-state-active .f-icon {
color: #37a6ff;
}
.activeClick .f-icon {
color: white !important;
}
.f-panel-title-text {
color: #1ab1ff;
}
.f-messagebox-notify {
background-color: #ffffff !important;
}
.f-panel, .f-widget-header, .f-tree-headerstyle .f-panel-body {
background-color: rgb(14,17,60);
/* color: #fff;*/
border: none !important;
font-size: 14px !important;
height: 35px;
}
.f-menu-item-text, .f-tree-cell-text, .f-widget-content a, .f-qtip-content {
color: #1ab1ff;
}
.f-state-hover.f-tree-node a {
color: #37a6ff;
}
.f-corner-all {
background-color: #dfe4f1;
}
.f-state-hover.f-tree-node a {
color: #37a6ff;
}
.f-state-default, .f-widget-content .f-state-default, .f-widget-header .f-state-default {
border-color: transparent;
}
.f-tree-table .f-state-active, .f-widget-content .f-state-active, .f-widget-header .f-state-active {
background: #247ba8;
}
.bgbtn2 {
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
}
.f-tabstrip-align-left .f-tab-header.f-first {
/*background-color: #dfe4f1;
color: #333;*/
border: none !important;
}
.top-li-item {
position: relative;
}
.top-li-item .f-btn-inner {
display: none;
}
.sd-header .sd-header-top .sd-header-top-right ul li span:nth-child(2n) {
margin-right: 0;
}
#Panel1_leftPanel_treeMenu .f-state-hover .f-icon {
color: #fff !important;
}
#Panel1_leftPanel_treeMenu .f-state-hover {
background: #99e7ff !important;
}
</style>
</head>
<body class="wrap">
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server"></f:PageManager>
<f:Panel ID="Panel1" Layout="Region" ShowBorder="false" ShowHeader="false" runat="server">
<Items>
<f:ContentPanel ID="topPanel" CssClass="topregion" RegionPosition="Top" ShowBorder="false" ShowHeader="false" EnableCollapse="true" runat="server">
<%--头部 开始--%>
<f:ContentPanel ID="ContentPanel1" CssClass="bodyregion" ShowBorder="false" ShowHeader="false" runat="server">
<div class="sd-index1-body">
<div class="sd-header">
<div class="sd-header-top">
<div class="sd-header-top-left">
<div class="sd-location-name">北京</div>
<div class="sd-location-weather">
<img src="res/indexv1/image/index1/weather/duoyun.png"
alt="" /><span runat="server" id="divWeather">多云</span>
</div>
<div class="sd-location-time"><span id="spDate" runat="server"></span></div>
</div>
<div class="sd-header-top-right">
<ul>
<%--<li class="js-showTab-item top-li-item"><a href="javascript:void(0);">
<div style="background-image: url('./res/images/Monitoring.png'); width: 19px; height: 19px; float: left; background-repeat: no-repeat; background-position: center;"></div>
<span>视频</span></a>
<f:Button runat="server" CssClass="bgbtn2"
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" ID="Button1" OnClientClick="openVideo()">
</f:Button>
</li>--%>
<li class="js-showTab-item top-li-item">
<a href="javascript:void(0);">
<span><i class="iconfont icon-user"></i></span>
<span id="userName" runat="server"></span>
<span id="notification-badge" class="notification-badge" style="display: none;">0</span>
</a>
<f:Button runat="server" CssClass="bgbtn2" OnClick="btnPersonal_Click"
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" ID="btnPersonal" OnClientClick="parent.removeActiveTab();">
</f:Button>
</li>
<li class="js-showTab-item top-li-item"><a href="#"><span><i class="iconfont icon-setting"></i></span>门户</a><f:Button runat="server" IconUrl="~/res/image/home.png" CssClass="bgbtn2" OnClick="btnGateway_Click"
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" ID="btnGateway">
</f:Button>
</li>
<li class="js-showTab-item top-li-item"><a href="#"><span><i class="iconfont icon-setting"></i></span>设置</a><f:Button runat="server" CssClass="bgbtn2" OnClick="btnSysSet_Click"
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" ID="btnSysSet" OnClientClick="parent.removeActiveTab();">
</f:Button>
</li>
<li><a href="javascript:void(0);" onclick="onToolSignOutClick()"><span><i class="iconfont icon-stop"></i></span>退出</a></li>
<li class="top-li-item">
<f:Button runat="server" CssClass="bgbtntop" Text="刷新" ToolTip="刷新菜单" IconFont="Retweet" OnClick="btnRetweet_Click"
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" ID="btnRetweet" OnClientClick="parent.removeActiveTab();">
</f:Button>
</li>
</ul>
</div>
</div>
<div class="sd-header-title js-hiddenTab-item">
<div id="divTitle" runat="server"></div>
<f:Button runat="server" CssClass="bgbtn2" EnablePostBack="true" OnClick="btnHome_Click"
EnableDefaultState="true" EnableDefaultCorner="false" ID="btnHome" OnClientClick="parent.removeActiveTab();">
</f:Button>
</div>
<div class="sd-header-bottom" runat="server" visible="true">
<ul class="sd-header-bottom-menu">
<li>
<f:Button runat="server" CssClass="bgbtn" Text="人员管理" ID="btnPerson" OnClick="btnPerson_Click"
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" OnClientClick="parent.removeActiveTab();">
</f:Button>
</li>
<li>
<f:Button runat="server" CssClass="bgbtn" Text="安全管理" ID="btnDigData" OnClick="btnHSSE_Click"
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" OnClientClick="parent.removeActiveTab();">
</f:Button>
</li>
<li runat="server" id="liThreeYearAction">
<f:Button runat="server" CssClass="bgbtn" Text="三年行动" ID="btnThreeYearAction" OnClick="btnThreeYearAction_Click"
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" OnClientClick="parent.removeActiveTab();">
</f:Button>
</li>
<li>
<f:Button runat="server" CssClass="bgbtn" Text="资源库" ID="Button2" OnClick="btnDigData_Click"
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" OnClientClick="parent.removeActiveTab();">
</f:Button>
</li>
</ul>
<ul class="sd-header-bottom-menu">
<li>
<f:Button runat="server" CssClass="bgbtn" Text="质量管理" ID="btnCQMS" OnClick="btnCQMS_Click"
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" OnClientClick="parent.removeActiveTab();">
</f:Button>
</li>
<li>
<f:Button runat="server" CssClass="bgbtn" Text="设备管理" ID="btnDevice" OnClick="btnDevice_Click"
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" OnClientClick="parent.removeActiveTab();">
</f:Button>
</li>
<li>
<f:Button runat="server" CssClass="bgbtn" Text="视频监控" OnClientClick="openVideo();"
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" ID="btnDigitalSite">
</f:Button>
</li>
<li>
<f:Button runat="server" CssClass="bgbtn" Text="数据管理" ID="btnServer" OnClick="btnServer_Click"
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" OnClientClick="parent.removeActiveTab();">
</f:Button>
</li>
</ul>
</div>
</div>
</div>
</f:ContentPanel>
<%--头部 结束--%>
</f:ContentPanel>
<f:Panel ID="leftPanel" CssClass="leftregion" RegionPosition="Left" RegionSplit="true" RegionSplitWidth="3px"
ShowBorder="true" Width="250px" ShowHeader="true" Title="系统菜单"
EnableCollapse="false" Collapsed="false" Layout="Fit" runat="server">
<Tools>
<%--自定义展开折叠工具图标--%>
<f:Tool ID="leftPanelToolCollapse" runat="server" IconFont="ChevronCircleLeft"
EnablePostBack="false" ToolTip="展开/折叠" Hidden="true">
<Listeners>
<f:Listener Event="click" Handler="onLeftPanelToolCollapseClick" />
</Listeners>
</f:Tool>
<f:Tool ID="leftPanelToolGear" runat="server" IconFont="Gear" EnablePostBack="false" Hidden="true" ToolTip="设置">
<Menu runat="server" ID="menuSettings">
<f:MenuButton ID="btnExpandAll" Text="展开菜单" EnablePostBack="false" runat="server">
<Listeners>
<f:Listener Event="click" Handler="onExpandAllClick" />
</Listeners>
</f:MenuButton>
<f:MenuButton ID="btnCollapseAll" Text="折叠菜单" EnablePostBack="false" runat="server">
<Listeners>
<f:Listener Event="click" Handler="onCollapseAllClick" />
</Listeners>
</f:MenuButton>
<f:MenuSeparator runat="server">
</f:MenuSeparator>
<f:MenuButton runat="server" EnablePostBack="false" ID="MenuMode" Text="显示模式">
<Menu runat="server">
<Items>
<f:MenuCheckBox Text="普通模式" ID="MenuModeNormal" AttributeDataTag="normal" Checked="true" GroupName="MenuMode" runat="server">
</f:MenuCheckBox>
<f:MenuCheckBox Text="紧凑模式" ID="MenuModeCompact" AttributeDataTag="compact" GroupName="MenuMode" runat="server">
</f:MenuCheckBox>
<f:MenuCheckBox Text="大字体模式" ID="MenuModeLarge" AttributeDataTag="large" GroupName="MenuMode" runat="server">
</f:MenuCheckBox>
</Items>
<Listeners>
<f:Listener Event="checkchange" Handler="onMenuModeCheckChange" />
</Listeners>
</Menu>
</f:MenuButton>
<f:MenuButton EnablePostBack="false" Text="菜单样式" ID="MenuStyle" runat="server">
<Menu runat="server">
<Items>
<f:MenuCheckBox Text="智能树菜单" ID="MenuStyleTree" AttributeDataTag="tree" GroupName="MenuStyle" runat="server">
</f:MenuCheckBox>
<f:MenuCheckBox Text="智能树菜单(默认折叠)" ID="MenuStyleMiniModeTree" AttributeDataTag="tree_minimode" GroupName="MenuStyle" runat="server">
</f:MenuCheckBox>
<f:MenuCheckBox Text="树菜单" ID="MenuStylePlainTree" AttributeDataTag="plaintree" GroupName="MenuStyle" runat="server" Checked="true">
</f:MenuCheckBox>
<%-- <f:MenuCheckBox Text="手风琴+树菜单" ID="MenuStyleAccordion" AttributeDataTag="accordion" GroupName="MenuStyle" runat="server">
</f:MenuCheckBox>--%>
</Items>
<Listeners>
<f:Listener Event="checkchange" Handler="onMenuStyleCheckChange" />
</Listeners>
</Menu>
</f:MenuButton>
<f:MenuButton EnablePostBack="false" Text="语言" ID="MenuLang" runat="server">
<Menu ID="Menu2" runat="server">
<Items>
<f:MenuCheckBox Text="简体中文" ID="MenuLangZHCN" AttributeDataTag="zh_CN" Checked="true" GroupName="MenuLang" runat="server">
</f:MenuCheckBox>
</Items>
<Listeners>
<f:Listener Event="checkchange" Handler="onMenuLangCheckChange" />
</Listeners>
</Menu>
</f:MenuButton>
</Menu>
</f:Tool>
</Tools>
</f:Panel>
<f:TabStrip ID="mainTabStrip" CssClass="centerregion" RegionPosition="Center" ShowTabHeader="false"
ShowBorder="true" EnableTabCloseMenu="true" runat="server">
<Tabs>
<%--.f-tabstrip-noheader>.f-panel-header--%>
<f:Tab ID="Tab1" Title="首页" IconFont="Home"
EnableIFrame="true" IFrameUrl="~/common/main.aspx" runat="server">
</f:Tab>
</Tabs>
<Tools>
<f:Tool runat="server" EnablePostBack="false" IconFont="Refresh" MarginRight="5" CssClass="tabtool" ToolTip="刷新本页" ID="toolRefresh">
<Listeners>
<f:Listener Event="click" Handler="onToolRefreshClick" />
</Listeners>
</f:Tool>
<f:Tool runat="server" EnablePostBack="false" IconFont="Share" MarginRight="5" CssClass="tabtool" ToolTip="在新标签页中打开" ID="toolNewWindow">
<Listeners>
<f:Listener Event="click" Handler="onToolNewWindowClick" />
</Listeners>
</f:Tool>
<f:Tool runat="server" EnablePostBack="false" IconFont="Expand" CssClass="tabtool" ToolTip="最大化" ID="toolMaximize" Hidden="true">
<Listeners>
<f:Listener Event="click" Handler="onToolMaximizeClick" />
</Listeners>
</f:Tool>
<f:Tool runat="server" EnablePostBack="false" IconFont="SignOut" Hidden="true"
CssClass="tabtool" ToolTip="注销" ID="toolSignOut">
<Listeners>
<f:Listener Event="click" Handler="onToolSignOutClick" />
</Listeners>
</f:Tool>
</Tools>
</f:TabStrip>
</Items>
</f:Panel>
<f:Window ID="windowCustomQuery" Title="自定义查询" Hidden="true" EnableIFrame="true" IFrameUrl="./SysManage/CustomQuery.aspx" ClearIFrameAfterClose="false"
runat="server" IsModal="true" Width="1200px" Height="620px" EnableClose="true"
EnableMaximize="true" EnableResize="false">
</f:Window>
<asp:XmlDataSource ID="XmlDataSource1" runat="server" EnableCaching="false"></asp:XmlDataSource>
</form>
<script type="text/javascript">
var toolRefreshClientID = '<%= toolRefresh.ClientID %>';
var toolNewWindowClientID = '<%= toolNewWindow.ClientID %>';
var mainTabStripClientID = '<%= mainTabStrip.ClientID %>';
var windowCustomQueryClientID = '<%= windowCustomQuery.ClientID %>';
var MenuStyleClientID = '<%= MenuStyle.ClientID %>';
var MenuLangClientID = '<%= MenuLang.ClientID %>';
var topPanelClientID = '<%= topPanel.ClientID %>';
var leftPanelClientID = '<%= leftPanel.ClientID %>';
var leftPanelToolGearClientID = '<%= leftPanelToolGear.ClientID %>';
var leftPanelToolCollapseClientID = '<%= leftPanelToolCollapse.ClientID %>';
var tab1ClientID = '<%= Tab1.ClientID %>';
// 展开左侧面板
function expandLeftPanel() {
var leftPanel = F(leftPanelClientID);
// 获取左侧树控件实例
var leftMenuTree = leftPanel.items[0];
leftMenuTree.miniMode = false;
leftPanel.el.removeClass('minimodeinside');
leftPanel.setWidth(220);
F(leftPanelToolGearClientID).show();
F(leftPanelToolCollapseClientID).setIconFont('chevron-circle-left');
// 重新加载树菜单
leftMenuTree.loadData();
}
var videoURL = '<%=VideoURL %>'
function openVideo() {
if (videoURL) {
window.open(videoURL, '_blank');
}
else {
alert("您没有权限!");
}
}
// 展开左侧面板
function collapseLeftPanel() {
var leftPanel = F(leftPanelClientID);
// 获取左侧树控件实例
var leftMenuTree = leftPanel.items[0];
leftMenuTree.miniMode = true;
leftMenuTree.miniModePopWidth = 220;
leftPanel.el.addClass('minimodeinside');
leftPanel.setWidth(50);
F(leftPanelToolGearClientID).hide();
F(leftPanelToolCollapseClientID).setIconFont('chevron-circle-right');
// 重新加载树菜单
leftMenuTree.loadData();
}
// 自定义展开折叠工具图标
function onLeftPanelToolCollapseClick(event) {
var leftPanel = F(leftPanelClientID);
var menuStyle = F.cookie('MenuStyle_Pro') || 'tree';
if (menuStyle === 'tree' || menuStyle === 'tree_minimode') {
// 获取左侧树控件实例
var leftMenuTree = leftPanel.items[0];
// 设置 miniMode 模式
if (leftMenuTree.miniMode) {
expandLeftPanel();
} else {
collapseLeftPanel();
}
// 对左侧面板重新布局
leftPanel.doLayout();
} else {
leftPanel.toggleCollapse();
}
}
// 点击展开菜单
function onExpandAllClick(event) {
var leftPanel = F(leftPanelClientID);
var firstChild = leftPanel.items[0];
if (firstChild.isType('tree')) {
// 左侧为树控件
firstChild.expandAll();
} else {
// 左侧为树控件+手风琴控件
var activePane = firstChild.getActivePane();
if (activePane) {
activePane.items[0].expandAll();
}
}
}
// 点击折叠菜单
function onCollapseAllClick(event) {
var leftPanel = F(leftPanelClientID);
var firstChild = leftPanel.items[0];
if (firstChild.isType('tree')) {
// 左侧为树控件
firstChild.collapseAll();
} else {
// 左侧为树控件+手风琴控件
var activePane = firstChild.getActivePane();
if (activePane) {
activePane.items[0].collapseAll();
}
}
}
function onSearchTrigger1Click(event) {
F.removeCookie('SearchText_Pro');
top.window.location.reload();
}
function onSearchTrigger2Click(event) {
F.cookie('SearchText_Pro', this.getValue(), {
expires: 100 // 单位:天
});
top.window.location.reload();
}
// 点击标题栏工具图标 - 刷新
function onToolRefreshClick(event) {
var mainTabStrip = F(mainTabStripClientID);
var activeTab = mainTabStrip.getActiveTab();
if (activeTab.iframe) {
var iframeWnd = activeTab.getIFrameWindow();
iframeWnd.location.reload();
}
}
// 点击标题栏工具图标 - 在新标签页中打开
function onToolNewWindowClick(event) {
var mainTabStrip = F(mainTabStripClientID);
var activeTab = mainTabStrip.getActiveTab();
if (activeTab.iframe) {
var iframeUrl = activeTab.getIFrameUrl();
iframeUrl = iframeUrl.replace(/\/mobile\/\?file=/ig, '/mobile/');
window.open(iframeUrl, '_blank');
}
}
// 点击标题栏工具图标 - 注销
function onToolSignOutClick(event) {
var bConfirmed = confirm('您确定要退出吗?');
if (bConfirmed) { window.open('login.aspx', '_top'); }
}
// 点击标题栏工具图标 - 最大化
function onToolMaximizeClick(event) {
var topPanel = F(topPanelClientID);
var leftPanel = F(leftPanelClientID);
var currentTool = this;
if (currentTool.iconFont.indexOf('expand') >= 0) {
topPanel.collapse();
currentTool.setIconFont('compress');
collapseLeftPanel();
} else {
topPanel.expand();
currentTool.setIconFont('expand');
expandLeftPanel();
}
}
// 添加示例标签页
// id 选项卡ID
// iframeUrl: 选项卡IFrame地址
// title 选项卡标题
// icon 选项卡图标
// createToolbar 创建选项卡前的回调函数接受tabOptions参数
// refreshWhenExist 添加选项卡时如果选项卡已经存在是否刷新内部IFrame
// iconFont 选项卡图标字体
function addExampleTab(tabOptions) {
if (typeof (tabOptions) === 'string') {
tabOptions = {
id: arguments[0],
iframeUrl: arguments[1],
title: arguments[2],
icon: arguments[3],
createToolbar: arguments[4],
refreshWhenExist: arguments[5],
iconFont: arguments[6]
};
}
F.addMainTab(F(mainTabStripClientID), tabOptions);
}
// 移除选中标签页
function removeActiveTab() {
var mainTabStrip = F(mainTabStripClientID);
var activeTab = mainTabStrip.getActiveTab();
if (activeTab) {
if (activeTab.id != tab1ClientID) {
activeTab.hide();
removeActiveTab();
}
}
}
// 获取当前激活选项卡的ID
function getActiveTabId() {
var mainTabStrip = F(mainTabStripClientID);
var activeTab = mainTabStrip.getActiveTab();
if (activeTab) {
return activeTab.id;
}
return '';
}
// 激活选项卡,并刷新其中的内容,示例:表格控件->杂项->在新标签页中打开(关闭后刷新父选项卡)
function activeTabAndRefresh(tabId) {
var mainTabStrip = F(mainTabStripClientID);
var targetTab = mainTabStrip.getTab(tabId);
if (targetTab) {
mainTabStrip.activeTab(targetTab);
targetTab.refreshIFrame();
}
}
// 激活选项卡,并刷新其中的内容,示例:表格控件->杂项->在新标签页中打开(关闭后更新父选项卡中的表格)
function activeTabAndUpdate(tabId, param1) {
var mainTabStrip = F(mainTabStripClientID);
var targetTab = mainTabStrip.getTab(tabId);
if (targetTab) {
mainTabStrip.activeTab(targetTab);
targetTab.getIFrameWindow().updatePage(param1);
}
}
// 通知框
function notify(msg) {
F.notify({
message: msg,
messageIcon: 'information',
target: '_top',
header: false,
displayMilliseconds: 3 * 1000,
positionX: 'center',
positionY: 'center'
});
}
// 点击菜单样式
function onMenuStyleCheckChange(event, item, checked) {
var menuStyle = item.getAttr('data-tag');
F.cookie('MenuStyle_Pro', menuStyle, {
expires: 100 // 单位:天
});
top.window.location.reload();
}
// 点击显示模式
function onMenuModeCheckChange(event, item, checked) {
var menuMode = item.getAttr('data-tag');
F.cookie('MenuMode_Pro', menuMode, {
expires: 100 // 单位:天
});
top.window.location.reload();
}
// 点击语言
function onMenuLangCheckChange(event, item, checked) {
var lang = item.getAttr('data-tag');
F.cookie('Language_Pro', lang, {
expires: 100 // 单位:天
});
top.window.location.reload();
}
///个人信息
function onUserProfileClick() {
var windowUserProfile = F(windowUserProfileClientID);
windowUserProfile.show();
}
F.ready(function () {
//点头部菜单,显示标签“首页”
$(".sd-header-bottom li").click(function () {
var $item = $('.f-tabstrip-header')
$item.attr('style', ";display:block !important;")
});
$(".js-showTab-item").click(function () {
var $item = $('.f-tabstrip-header')
$item.attr('style', ";display:block !important;")
});
$(".js-hiddenTab-item").click(function () {
var $item = $('.f-tabstrip-header')
$item.attr('style', ";display:none !important;")
$(".bgbtn,.bgbtntop").removeClass("activeClick")
});
$(".bgbtn,.bgbtntop").click(function () {
// 切换下tab样式
var $this = $(this)
if (!$this.hasClass('activeClick')) {
if ($this.hasClass('bgbtn')) {
$(".bgbtn").removeClass('activeClick')
} else {
$(".bgbtntop").removeClass('activeClick')
}
$this.addClass('activeClick')
}
});
var mainTabStrip = F(mainTabStripClientID);
var leftPanel = F(leftPanelClientID);
var mainMenu = leftPanel.items[0];
// 初始化主框架中的树(或者Accordion+Tree)和选项卡互动,以及地址栏的更新
// treeMenu 主框架中的树控件实例,或者内嵌树控件的手风琴控件实例
// mainTabStrip 选项卡实例
// updateLocationHash: 切换Tab时是否更新地址栏Hash值
// refreshWhenExist 添加选项卡时如果选项卡已经存在是否刷新内部IFrame
// refreshWhenTabChange: 切换选项卡时是否刷新内部IFrame
F.initTreeTabStrip(mainMenu, mainTabStrip, true, false, false);
//var themeTitle = F.cookie('Theme_Pro_Title');
//var themeName = F.cookie('Theme_Pro');
//if (themeTitle) {
// F.removeCookie('Theme_Pro_Title');
// //notify('主题更改为:' + themeTitle + '' + themeName + '');
//}
var badge = $('#notification-badge');
var count = <%= BLL.WorkflowTodoitemsService.GetWorkflow_TodoItemCountByReceiver(this.CurrUser.UserId)%>;
if (count > 0) {
badge.text(count).show();
} else {
badge.hide();
}
});
</script>
</body>
</html>

View File

@ -0,0 +1,556 @@
using BLL;
using System;
using System.Web;
using System.Web.UI.WebControls;
using System.Xml;
using System.Linq;
namespace FineUIPro.Web
{
public partial class indexold : PageBase
{
#region Page_Init
private string _menuType = "menu";
private int _examplesCount = 0;
private string _searchText = "";
#region Page_Init
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Init(object sender, EventArgs e)
{
////////////////////////////////////////////////////////////////
string themeStr = Request.QueryString["theme"];
string menuStr = Request.QueryString["menu"];
if (!String.IsNullOrEmpty(themeStr) || !String.IsNullOrEmpty(menuStr))
{
if (!String.IsNullOrEmpty(themeStr))
{
HttpCookie cookie = new HttpCookie("Theme_Pro", "Cupertino")
{
Expires = DateTime.Now.AddYears(1)
};
Response.Cookies.Add(cookie);
}
if (!String.IsNullOrEmpty(menuStr))
{
HttpCookie cookie = new HttpCookie("MenuStyle_Pro", menuStr)
{
Expires = DateTime.Now.AddYears(1)
};
Response.Cookies.Add(cookie);
}
PageContext.Redirect("~/default.aspx");
return;
}
////////////////////////////////////////////////////////////////
if (!IsPostBack)
{
this.CurrUser.LoginProjectId = null;
}
}
#endregion
#region InitTreeMenu
/// <summary>
///
/// </summary>
/// <returns></returns>
private Tree InitTreeMenu()
{
Tree treeMenu = new Tree
{
ID = "treeMenu",
ShowBorder = false,
ShowHeader = false,
EnableIcons = true,
AutoScroll = true,
EnableSingleClickExpand = true
};
if (_menuType == "tree" || _menuType == "tree_minimode")
{
treeMenu.HideHScrollbar = true;
treeMenu.ExpanderToRight = true;
treeMenu.HeaderStyle = true;
if (_menuType == "tree_minimode")
{
treeMenu.MiniMode = true;
treeMenu.MiniModePopWidth = Unit.Pixel(300);
leftPanelToolGear.Hidden = true;
leftPanelToolCollapse.IconFont = IconFont.ChevronCircleRight;
leftPanel.Width = Unit.Pixel(50);
leftPanel.CssClass = "minimodeinside";
}
}
leftPanel.Items.Add(treeMenu);
XmlDocument doc = XmlDataSource1.GetXmlDocument();
ResolveXmlDocument(doc);
// 绑定 XML 数据源到树控件
treeMenu.NodeDataBound += treeMenu_NodeDataBound;
treeMenu.PreNodeDataBound += treeMenu_PreNodeDataBound;
treeMenu.DataSource = doc;
treeMenu.DataBind();
return treeMenu;
}
#endregion
#region ResolveXmlDocument
private void ResolveXmlDocument(XmlDocument doc)
{
ResolveXmlDocument(doc, doc.DocumentElement.ChildNodes);
}
private int ResolveXmlDocument(XmlDocument doc, XmlNodeList nodes)
{
// nodes 中渲染到页面上的节点个数
int nodeVisibleCount = 0;
foreach (XmlNode node in nodes)
{
// Only process Xml elements (ignore comments, etc)
if (node.NodeType == XmlNodeType.Element)
{
XmlAttribute removedAttr;
// 是否叶子节点
bool isLeaf = node.ChildNodes.Count == 0;
// 所有过滤条件均是对叶子节点而言,而是否显示目录,要看是否存在叶子节点
if (isLeaf)
{
// 存在搜索关键字
if (!String.IsNullOrEmpty(_searchText))
{
XmlAttribute textAttr = node.Attributes["Text"];
if (textAttr != null)
{
if (!textAttr.Value.Contains(_searchText) && isLeaf)
{
removedAttr = doc.CreateAttribute("Removed");
removedAttr.Value = "true";
node.Attributes.Append(removedAttr);
}
}
}
}
// 存在子节点
if (!isLeaf)
{
// 递归
int childVisibleCount = ResolveXmlDocument(doc, node.ChildNodes);
if (childVisibleCount == 0)
{
removedAttr = doc.CreateAttribute("Removed");
removedAttr.Value = "true";
node.Attributes.Append(removedAttr);
}
}
removedAttr = node.Attributes["Removed"];
if (removedAttr == null)
{
nodeVisibleCount++;
}
}
}
return nodeVisibleCount;
}
#endregion
#region treeMenu_NodeDataBound treeMenu_PreNodeDataBound
/// <summary>
/// 树节点的绑定后事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void treeMenu_NodeDataBound(object sender, TreeNodeEventArgs e)
{
// 是否叶子节点
bool isLeaf = e.XmlNode.ChildNodes.Count == 0;
if (!String.IsNullOrEmpty(e.Node.Text))
{
if (GetIsNewHtml(e.XmlNode))
{
e.Node.Text = "<span class=\"isnew\">" + e.Node.Text + "</span>";
if (e.Node.ParentNode != null)
{
e.Node.ParentNode.Text = "<span class=\"isnew\">" + e.Node.ParentNode.Text + "</span>";
}
}
}
if (isLeaf)
{
// 设置节点的提示信息
e.Node.ToolTip = e.Node.Text;
}
// 如果仅显示最新示例,或者存在搜索文本
if (!String.IsNullOrEmpty(_searchText))
{
e.Node.Expanded = true;
}
}
/// <summary>
/// 树节点的预绑定事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void treeMenu_PreNodeDataBound(object sender, TreePreNodeEventArgs e)
{
// 是否叶子节点
bool isLeaf = e.XmlNode.ChildNodes.Count == 0;
XmlAttribute removedAttr = e.XmlNode.Attributes["Removed"];
if (removedAttr != null)
{
e.Cancelled = true;
}
bool isShow = GetIsPowerMenu(e.XmlNode);
if (!isShow)
{
e.Cancelled = true;
}
if (isLeaf && !e.Cancelled)
{
_examplesCount++;
}
}
#endregion
#region
/// <summary>
/// 该节点是否显示
/// </summary>
/// <param name="node"></param>
/// <returns></returns>
private bool GetIsPowerMenu(XmlNode node)
{
bool result = true;
XmlAttribute isNewAttr = node.Attributes["id"];
if (isNewAttr != null)
{
result = BLL.CommonService.ReturnMenuByUserIdMenuId(this.CurrUser.UserId, isNewAttr.Value.ToString(), this.CurrUser.LoginProjectId);
}
return result;
}
#endregion
#region GetIsNewHtml
/// <summary>
/// 是否必填项
/// </summary>
/// <param name="titleText"></param>
/// <returns></returns>
private bool GetIsNewHtml(XmlNode xmlNode)
{
bool isShow = false;
if (xmlNode.Attributes["Text"].Value.Contains("*"))
{
isShow = true;
}
else
{
}
return isShow;
}
#endregion
#endregion
#region Page_Load
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.MenuSwitchMethod(Request.Params["menuType"]);
this.InitMenuStyleButton();
this.InitMenuModeButton();
this.InitLangMenuButton();
this.btnRetweet.Hidden = true;
if (this.CurrUser.UserId == Const.hfnbdId)
{
this.btnRetweet.Hidden = false;
}
this.userName.InnerText= this.CurrUser.UserName;
this.spDate.InnerText = DateTime.Now.ToLongDateString().ToString()+" "+WeekDayService.CaculateWeekDayT(DateTime.Now);
var getW = WeatherService.GetWeather(null);
if (getW != null)
{
divWeather.InnerHtml = getW.WeatherRef + " " + getW.CurrTem+ "°C";
}
if (!string.IsNullOrEmpty(this.CurrUser.UnitId) && this.CurrUser.UnitId != CommonService.GetThisUnitId())
{
this.divTitle.InnerHtml = "QHSE管理数字化平台分公司级";
}
else
{
this.divTitle.InnerHtml = "QHSE管理数字化平台公司级";
}
}
}
/// <summary>
/// 菜单树样式
/// </summary>
private void InitMenuStyleButton()
{
string menuStyle = "tree";
HttpCookie menuStyleCookie = Request.Cookies["MenuStyle_Pro"];
if (menuStyleCookie != null)
{
menuStyle = menuStyleCookie.Value;
}
SetSelectedMenuItem(MenuStyle, menuStyle);
}
/// <summary>
///
/// </summary>
private void InitMenuModeButton()
{
string menuMode = "normal";
HttpCookie menuModeCookie = Request.Cookies["MenuMode_Pro"];
if (menuModeCookie != null)
{
menuMode = menuModeCookie.Value;
}
SetSelectedMenuItem(MenuMode, menuMode);
}
/// <summary>
/// 加载菜单语言
/// </summary>
private void InitLangMenuButton()
{
string language = "zh_CN";
HttpCookie languageCookie = Request.Cookies["Language_Pro"];
if (languageCookie != null)
{
language = languageCookie.Value;
}
SetSelectedMenuItem(MenuLang, language);
}
/// <summary>
/// 过滤菜单
/// </summary>
/// <param name="menuButton"></param>
/// <param name="selectedDataTag"></param>
private void SetSelectedMenuItem(MenuButton menuButton, string selectedDataTag)
{
foreach (MenuItem item in menuButton.Menu.Items)
{
MenuCheckBox checkBox = (item as MenuCheckBox);
if (checkBox != null)
{
checkBox.Checked = checkBox.AttributeDataTag == selectedDataTag;
}
}
}
#endregion
/// <summary>
/// 功能模块切换方法
/// </summary>
/// <param name="type"></param>
protected void MenuSwitchMethod(string type)
{
if (!string.IsNullOrEmpty(type))
{
if (CommonService.IsHaveSystemPower(this.CurrUser.UserId, type, this.CurrUser.LoginProjectId) || type == Const.Menu_Personal) //|| type == Const.Menu_ToDo
{
this.leftPanel.Hidden = false;
this.XmlDataSource1.DataFile = "common/" + type + ".xml";
this.Tab1.IFrameUrl = "";
if (type == Const.Menu_Project)
{
this.Tab1.IFrameUrl = "ProjectData/ProjectList.aspx";
}
if (type == Const.Menu_Personal)
{
this.Tab1.IFrameUrl = "Workflow/WorkflowTodo.aspx";
}
}
else if (type== "Menu_GroupReport")
{
this.leftPanel.Hidden = false;
this.XmlDataSource1.DataFile = "common/" + type + ".xml";
this.Tab1.IFrameUrl = "";
}
else
{
Alert.ShowInParent("您没有此模块操作权限,请联系管理员授权!", MessageBoxIcon.Warning);
return;
}
}
else
{
this.leftPanel.Hidden = true;
this.XmlDataSource1.DataFile = "common/Menu_Personal.xml";
this.Tab1.IFrameUrl = "~/common/main.aspx";
}
UserService.UpdateLastUserInfo(this.CurrUser.UserId, type, true, string.Empty);
InitTreeMenu();
}
protected void btnHome_Click(object sender, EventArgs e)
{
if (this.leftPanel.Hidden)
{
var currUser = Funs.DB.Sys_User.FirstOrDefault(x => x.UserId == this.CurrUser.UserId);
//if (SysType== "SHIYE")
//{
// string url = "~/indexProjectShiYe.aspx?projectId=" + this.CurrUser.LastProjectId;
// UserService.UpdateLastUserInfo(this.CurrUser.UserId, Const.Menu_SHIYE, false, this.CurrUser.LastProjectId);
// PageContext.Redirect(url, "_top");
//}
//else
//{
string url = "~/indexProject.aspx?projectId=" + this.CurrUser.LastProjectId;
UserService.UpdateLastUserInfo(this.CurrUser.UserId, null, false, this.CurrUser.LastProjectId);
PageContext.Redirect(url, "_top");
//}
}
else
{
this.MenuSwitchMethod(string.Empty);
}
}
protected void btnPerson_Click(object sender, EventArgs e)
{
this.MenuSwitchMethod(Const.Menu_Person);
}
protected void btnGateway_Click(object sender, EventArgs e)
{
string url = "~/index_gateway.aspx" ;
PageContext.Redirect(url, "_top");
}
protected void btnNotice_Click(object sender, EventArgs e)
{
this.MenuSwitchMethod(Const.Menu_Notice);
}
protected void btnHSSE_Click(object sender, EventArgs e)
{
this.MenuSwitchMethod(Const.Menu_HSSE);
}
protected void btnProject_Click(object sender, EventArgs e)
{
this.MenuSwitchMethod(Const.Menu_Project);
}
protected void btnServer_Click(object sender, EventArgs e)
{
this.MenuSwitchMethod(Const.Menu_SJTB);
}
protected void btnCQMS_Click(object sender, EventArgs e)
{
this.MenuSwitchMethod(Const.Menu_CQMS);
}
protected void btnDevice_Click(object sender, EventArgs e)
{
this.MenuSwitchMethod(Const.Menu_Device);
}
protected void btnDigData_Click(object sender, EventArgs e)
{
this.MenuSwitchMethod(Const.Menu_DigData);
}
protected void btnZHGL_Click(object sender, EventArgs e)
{
this.MenuSwitchMethod(Const.Menu_ZHGL);
}
protected void btnPersonal_Click(object sender, EventArgs e)
{
this.MenuSwitchMethod(Const.Menu_Personal);
}
protected void btnSysSet_Click(object sender, EventArgs e)
{
this.MenuSwitchMethod(Const.Menu_SysSet);
}
protected void btnThreeYearAction_Click(object sender, EventArgs e)
{
this.MenuSwitchMethod(Const.Menu_ThreeYearAction);
}
protected string VideoURL
{
get
{
string video_Url = string.Empty;
var sysSet16 = (from x in Funs.DB.Sys_Set where x.SetName == "视频监控地址" select x).ToList().FirstOrDefault();
if (sysSet16 != null)
{
video_Url = sysSet16.SetValue;
}
var sysSet17 = (from x in Funs.DB.Sys_Set where x.SetName == "视频监控密码" select x).ToList().FirstOrDefault();
if (sysSet17 != null)
{
return video_Url + "#/screen?username=admin&password=" + Funs.EncryptionPassword(sysSet17.SetValue);
}
else
{
return "";
}
}
}
/// <summary>
/// 重新生成系统菜单
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnRetweet_Click(object sender, EventArgs e)
{
////设置菜单
CreateMenuXML.getMenuXML();
MenuSwitchMethod(string.Empty);
ShowNotify("菜单刷新完成!", MessageBoxIcon.Success);
//var users = from x in Funs.DB.Sys_User where x.RawPassword == null || x.RawPassword == "TCC.1234" select x;
//if (users.Count() > 0)
//{
// foreach (var item in users)
// {
// BLL.UserService.UpdatePassword(item.UserId);
// }
//}
}
}
}

View File

@ -0,0 +1,431 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web
{
public partial class indexold
{
/// <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>
/// topPanel 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel topPanel;
/// <summary>
/// ContentPanel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel ContentPanel1;
/// <summary>
/// divWeather 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divWeather;
/// <summary>
/// spDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl spDate;
/// <summary>
/// userName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl userName;
/// <summary>
/// btnPersonal 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnPersonal;
/// <summary>
/// btnGateway 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnGateway;
/// <summary>
/// btnSysSet 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSysSet;
/// <summary>
/// btnRetweet 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnRetweet;
/// <summary>
/// divTitle 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divTitle;
/// <summary>
/// btnHome 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnHome;
/// <summary>
/// btnPerson 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnPerson;
/// <summary>
/// btnDigData 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnDigData;
/// <summary>
/// liThreeYearAction 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl liThreeYearAction;
/// <summary>
/// btnThreeYearAction 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnThreeYearAction;
/// <summary>
/// Button2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button Button2;
/// <summary>
/// btnCQMS 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnCQMS;
/// <summary>
/// btnDevice 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnDevice;
/// <summary>
/// btnDigitalSite 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnDigitalSite;
/// <summary>
/// btnServer 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnServer;
/// <summary>
/// leftPanel 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel leftPanel;
/// <summary>
/// leftPanelToolCollapse 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tool leftPanelToolCollapse;
/// <summary>
/// leftPanelToolGear 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tool leftPanelToolGear;
/// <summary>
/// btnExpandAll 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnExpandAll;
/// <summary>
/// btnCollapseAll 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnCollapseAll;
/// <summary>
/// MenuMode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton MenuMode;
/// <summary>
/// MenuModeNormal 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuCheckBox MenuModeNormal;
/// <summary>
/// MenuModeCompact 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuCheckBox MenuModeCompact;
/// <summary>
/// MenuModeLarge 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuCheckBox MenuModeLarge;
/// <summary>
/// MenuStyle 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton MenuStyle;
/// <summary>
/// MenuStyleTree 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuCheckBox MenuStyleTree;
/// <summary>
/// MenuStyleMiniModeTree 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuCheckBox MenuStyleMiniModeTree;
/// <summary>
/// MenuStylePlainTree 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuCheckBox MenuStylePlainTree;
/// <summary>
/// MenuLang 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton MenuLang;
/// <summary>
/// MenuLangZHCN 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuCheckBox MenuLangZHCN;
/// <summary>
/// mainTabStrip 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TabStrip mainTabStrip;
/// <summary>
/// Tab1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tab Tab1;
/// <summary>
/// toolRefresh 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tool toolRefresh;
/// <summary>
/// toolNewWindow 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tool toolNewWindow;
/// <summary>
/// toolMaximize 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tool toolMaximize;
/// <summary>
/// toolSignOut 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tool toolSignOut;
/// <summary>
/// windowCustomQuery 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window windowCustomQuery;
/// <summary>
/// XmlDataSource1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.XmlDataSource XmlDataSource1;
}
}

View File

@ -0,0 +1,39 @@
@font-face {
font-family: "iconfont"; /* Project id 4891760 */
src: url('iconfont.woff2?t=1744614833234') format('woff2'),
url('iconfont.woff?t=1744614833234') format('woff'),
url('iconfont.ttf?t=1744614833234') format('truetype');
}
.iconfont {
font-family: "iconfont" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-nav07:before {
content: "\e601";
}
.icon-nav06:before {
content: "\e602";
}
.icon-nav08:before {
content: "\e603";
}
.icon-nav05:before {
content: "\e604";
}
.icon-l09:before {
content: "\e605";
}
.icon-l10:before {
content: "\e606";
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,51 @@
{
"id": "4891760",
"name": "大屏展示",
"font_family": "iconfont",
"css_prefix_text": "icon-",
"description": "",
"glyphs": [
{
"icon_id": "43979512",
"name": "nav07",
"font_class": "nav07",
"unicode": "e601",
"unicode_decimal": 58881
},
{
"icon_id": "43979511",
"name": "nav06",
"font_class": "nav06",
"unicode": "e602",
"unicode_decimal": 58882
},
{
"icon_id": "43979510",
"name": "nav08",
"font_class": "nav08",
"unicode": "e603",
"unicode_decimal": 58883
},
{
"icon_id": "43979509",
"name": "nav05",
"font_class": "nav05",
"unicode": "e604",
"unicode_decimal": 58884
},
{
"icon_id": "43979508",
"name": "l09",
"font_class": "l09",
"unicode": "e605",
"unicode_decimal": 58885
},
{
"icon_id": "43979507",
"name": "l10",
"font_class": "l10",
"unicode": "e606",
"unicode_decimal": 58886
}
]
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,105 @@
/* 删除: 之前的样式 */
/* 添加重置CSS样式 */
html,
body,
div,
span,
h1,
h2,
h3,
h4,
h5,
h6,
p,
video {
font-family: '宋体';
margin: 0;
padding: 0;
border: 0;
font-size: 14px;
line-height: 1;
font: inherit;
vertical-align: baseline;
box-sizing: border-box;
user-select: none; /* 添加: 禁止文字选中 */
}
html,
body {
height: 100%;
width: 100%;
line-height: 1;
}
ol,
ul {
list-style: none;
}
html::-webkit-scrollbar {
display: none;
}
.bg {
height: 100%;
width: 100%;
background-image: url(../res/images/bj.jpg);
background-repeat: no-repeat;
background-position: left top;
background-size: 100% 100%;
}
.bg1{
height: 100%;
width: 100%;
background-image: url(../res/images/bj.jpg);
background-repeat: no-repeat;
background-position: left top ;
background-size: 100% 100%;
}
#app{
width: 100%;
}
@font-face {
font-family: "iconfont"; /* Project id 4891760 */
src: url('../res/font/iconfont.woff2?t=1744614833234') format('woff2'),
url('../res/font/iconfont.woff?t=1744614833234') format('woff'),
url('../res/font/iconfont.ttf?t=1744614833234') format('truetype');
}
.iconfont {
font-family: "iconfont" !important;
font-size: 14px;
font-style: normal;
color: #FFFFFF;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-nav07:before {
content: "\e601";
}
.icon-nav06:before {
content: "\e602";
}
.icon-nav08:before {
content: "\e603";
}
.icon-nav05:before {
content: "\e604";
}
.icon-l09:before {
content: "\e605";
}
.icon-l10:before {
content: "\e606";
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,108 @@
header {
width: 100%;
height: 1rem;
background-image: url(../res/images/01/top.png);
background-repeat: no-repeat;
background-position: left top;
background-size: 100% 0.7125rem;
display: grid;
grid-template-columns: 8.2625rem 1fr 8.2625rem;
position: relative;
}
.nav-box{
width: 100%;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
.logo-img {
width: 1.9375rem;
height: 0.5rem;
background-image: url(../res/images/logo.png);
background-repeat: no-repeat;
background-size: 100% 100%;
}
.refresh-img {
margin-left: 0.125rem;
background: url('../res/images/sprite.png') no-repeat 0 0;
width: 27px;
height: 26px;
}
.navs{
width: 100%;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
.navs>.nav{
font-size: 14px;
color: #FFFFFF;
text-align: center;
height: 0.375rem;
line-height: 0.375rem;
width: 1.4rem;
background-repeat: no-repeat;
background-position: center;
background-size: 100% 100%;
}
.navs > .nav-l {
background-image: url(../res/images/nav01.png);
}
.navs > .nav-l-active {
background-image: url(../res/images/nav02.png);
}
.navs > .nav-r {
background-image: url(../res/images/nav03.png);
}
.navs > .nav-r-active {
background-image: url(../res/images/nav04.png);
}
.timer{
height: 0.425rem;
width: 2.375rem;
margin-left: 0.125rem;
color: #FFFFFF;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: flex-start;
}
.timer>p{
font-size: 0.175rem;
}
.timer>p>span{
margin-left: 0.125rem;
}
.timer>p>span:first-child{
margin: 0;
}
.logo-tit {
font-weight: bold;
font-size: 0.4rem;
line-height: 0.575rem;
letter-spacing: 3px;
text-align: center;
font-style: normal;
text-transform: none;
background: linear-gradient(179.9998548775837deg, #E7EDF3 0%, #3EAEE3 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.set{
position: absolute;
left: 0;right: 0;
bottom: 0;
height: 14px;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
.set>div{
margin: 0 0.125rem;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 302 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

File diff suppressed because it is too large Load Diff

View File

@ -28,6 +28,7 @@
}
})
// detect 0.5px supports
if (dpr >= 2) {
var fakeBody = document.createElement('body')

File diff suppressed because one or more lines are too long