|
@ -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" />
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
} }
|
||||
}
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
|
@ -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 };
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.common
|
||||
{
|
||||
|
||||
|
||||
public partial class mainnew
|
||||
{
|
||||
}
|
||||
}
|
|
@ -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>
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 控件。
|
||||
|
|
|
@ -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>
|
|
@ -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);
|
||||
// }
|
||||
//}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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";
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
]
|
||||
}
|
|
@ -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";
|
||||
}
|
|
@ -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;
|
||||
}
|
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 4.4 KiB |
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 8.4 KiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 5.0 KiB |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 3.5 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 82 KiB |
After Width: | Height: | Size: 4.4 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 6.7 KiB |
After Width: | Height: | Size: 6.5 KiB |
After Width: | Height: | Size: 6.9 KiB |
After Width: | Height: | Size: 6.8 KiB |
After Width: | Height: | Size: 302 KiB |
After Width: | Height: | Size: 6.6 KiB |
After Width: | Height: | Size: 5.5 KiB |
After Width: | Height: | Size: 5.4 KiB |
After Width: | Height: | Size: 5.6 KiB |
After Width: | Height: | Size: 5.4 KiB |
After Width: | Height: | Size: 118 KiB |
|
@ -28,6 +28,7 @@
|
|||
}
|
||||
})
|
||||
|
||||
|
||||
// detect 0.5px supports
|
||||
if (dpr >= 2) {
|
||||
var fakeBody = document.createElement('body')
|
||||
|
|