大屏看板
This commit is contained in:
parent
510b04d2fa
commit
163a94de69
|
|
@ -352,16 +352,16 @@ namespace BLL
|
|||
public static HSSEData GetTheLastData()
|
||||
{
|
||||
HSSEData hSSEData = new HSSEData();
|
||||
|
||||
var dataHsse= (from x in Funs.DB.HSSEData_HSSE
|
||||
orderby x.ReportDate descending
|
||||
select x).FirstOrDefault();
|
||||
|
||||
var dataHsse = (from x in Funs.DB.HSSEData_HSSE
|
||||
orderby x.ReportDate descending
|
||||
select x).FirstOrDefault();
|
||||
|
||||
var hSseDataHiddens = Project_HSSEData_HiddenDangerDetailService.GetModelByDate(dataHsse.ReportDate.Value);
|
||||
hSSEData = GetItemByHSSEData_HSSE(dataHsse, hSseDataHiddens);
|
||||
return hSSEData;
|
||||
}
|
||||
|
||||
|
||||
public static HSSEData_HSSE GetTodayData()
|
||||
{
|
||||
var q = (from x in Funs.DB.HSSEData_HSSE
|
||||
|
|
@ -1818,30 +1818,33 @@ namespace BLL
|
|||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取项目班前会
|
||||
/// 获取项目班前会
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static List<MeetingOutput> GetProjectClassMeeting(string projectId)
|
||||
{
|
||||
var result =
|
||||
(
|
||||
from x in Funs.DB.Meeting_ClassMeeting
|
||||
join p in Funs.DB.Base_Project on x.ProjectId equals p.ProjectId into pGroup
|
||||
from p in pGroup.DefaultIfEmpty()
|
||||
where x.ProjectId == projectId && x.CompileDate > Const.DtmarkTime && BeUnderConstructionList.Contains(p.ProjectId)
|
||||
select new MeetingOutput()
|
||||
{
|
||||
ProjectId = x.ProjectId,
|
||||
ProjectName = p.ProjectName,
|
||||
Id = x.ClassMeetingId,
|
||||
MeetingName = x.ClassMeetingName,
|
||||
MeetingDate = x.ClassMeetingDate,
|
||||
MeetingHours = x.MeetingHours,
|
||||
HostMan = x.MeetingHostMan,
|
||||
AttentPerson = x.AttentPerson,
|
||||
AttentPersonNum = x.AttentPersonNum,
|
||||
}).ToList();
|
||||
return result.ToList();
|
||||
var list = (from x in Funs.DB.Meeting_ClassMeeting
|
||||
join p in Funs.DB.Base_Project on x.ProjectId equals p.ProjectId into pGroup
|
||||
from p in pGroup.DefaultIfEmpty()
|
||||
where x.CompileDate > Const.DtmarkTime && BeUnderConstructionList.Contains(p.ProjectId)
|
||||
select new MeetingOutput()
|
||||
{
|
||||
ProjectId = x.ProjectId,
|
||||
ProjectName = p.ProjectName,
|
||||
Id = x.ClassMeetingId,
|
||||
MeetingName = x.ClassMeetingName,
|
||||
MeetingDate = x.ClassMeetingDate,
|
||||
MeetingHours = x.MeetingHours,
|
||||
HostMan = x.MeetingHostMan,
|
||||
AttentPerson = x.AttentPerson,
|
||||
AttentPersonNum = x.AttentPersonNum,
|
||||
}).ToList();
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(projectId))
|
||||
{
|
||||
list = list.Where(x => x.ProjectId == projectId).ToList();
|
||||
}
|
||||
return list.ToList();
|
||||
}
|
||||
///// <summary>
|
||||
///// 获取项目班前会议(异步)
|
||||
|
|
@ -1852,6 +1855,36 @@ namespace BLL
|
|||
// return await Task.Run(GetProjectClassMeeting);
|
||||
//}
|
||||
|
||||
/// <summary>
|
||||
/// 获取项目周前会
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static List<MeetingOutput> GetProjectWeekMeeting(string projectId)
|
||||
{
|
||||
var list = (from x in Funs.DB.Meeting_WeekMeeting
|
||||
join p in Funs.DB.Base_Project on x.ProjectId equals p.ProjectId into pGroup
|
||||
from p in pGroup.DefaultIfEmpty()
|
||||
where BeUnderConstructionList.Contains(p.ProjectId) && x.CompileDate > Const.DtmarkTime
|
||||
select new MeetingOutput()
|
||||
{
|
||||
ProjectId = x.ProjectId,
|
||||
ProjectName = p.ProjectName,
|
||||
Id = x.WeekMeetingId,
|
||||
MeetingName = x.WeekMeetingName,
|
||||
MeetingDate = x.WeekMeetingDate,
|
||||
MeetingHours = x.MeetingHours,
|
||||
HostMan = x.MeetingHostMan,
|
||||
AttentPerson = x.AttentPerson,
|
||||
AttentPersonNum = x.AttentPersonNum,
|
||||
}).ToList();
|
||||
if (!string.IsNullOrWhiteSpace(projectId))
|
||||
{
|
||||
list = list.Where(x => x.ProjectId == projectId).ToList();
|
||||
}
|
||||
return list.ToList();
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取项目专题会议
|
||||
/// </summary>
|
||||
|
|
|
|||
|
|
@ -38,8 +38,18 @@ namespace BLL
|
|||
{
|
||||
_beUnderConstructionList = new List<string>() { "0" };
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public MainSevice(string userid, string projectId)
|
||||
{
|
||||
var userModel = UserService.GetUserByUserId(userid);
|
||||
int unitType = 3;
|
||||
_unitId = userModel.UnitId;
|
||||
_unitType = unitType;
|
||||
_beUnderConstructionList = new List<string>() { projectId };
|
||||
}
|
||||
|
||||
|
||||
public async Task<HSSEData_HSSE> GetHsseDataAsync()
|
||||
{
|
||||
try
|
||||
|
|
@ -316,6 +326,17 @@ namespace BLL
|
|||
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 ==3)
|
||||
{
|
||||
table.BeUnderConstructionNum = beUnderConstructionList.Count(x => _beUnderConstructionList.Contains(x.ProjectId));
|
||||
table.ShutdownNum = shutdownList.Count(x => _beUnderConstructionList.Contains(x.ProjectId));
|
||||
table.SafetyCommitteeMeetingNum = safetyCommitteeMeetingList.Count(x => _beUnderConstructionList.Contains(x.ProjectId));
|
||||
table.SafetyInjectionEngineer = safetyInjectionEngineerList.Count(x => _beUnderConstructionList.Contains(x.ProjectId) );
|
||||
table.EnterpriseTopicsMeetingNum = safetyInjectionEngineerList.Count(x => _beUnderConstructionList.Contains(x.ProjectId));
|
||||
table.CertificateANum = certificateAList.Count(x => _beUnderConstructionList.Contains(x.ProjectId));
|
||||
table.CertificateBNum = certificateBList.Count(x => _beUnderConstructionList.Contains(x.ProjectId));
|
||||
table.CertificateCNum = certificateCList.Count(x => _beUnderConstructionList.Contains(x.ProjectId) );
|
||||
}
|
||||
|
||||
_hsseData = table;
|
||||
return _hsseData;
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -300,13 +300,14 @@
|
|||
<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\main.aspx" />
|
||||
<Content Include="common\main1.aspx" />
|
||||
<Content Include="common\main2024.aspx" />
|
||||
<Content Include="common\mainMenu_HJGL.aspx" />
|
||||
<Content Include="common\mainMenu_HSSE.aspx" />
|
||||
<Content Include="common\mainMenu_SYHSEN.aspx" />
|
||||
<Content Include="common\mainMenu_TECH.aspx" />
|
||||
<Content Include="common\mainProject_old.aspx" />
|
||||
<Content Include="common\mainProjectSY.aspx" />
|
||||
<Content Include="common\mainProject_SYHSE.aspx" />
|
||||
<Content Include="common\mainMenu_SYHSE.aspx" />
|
||||
|
|
@ -334,7 +335,7 @@
|
|||
<Content Include="common\mainProject0.aspx" />
|
||||
<Content Include="common\mainIII.aspx" />
|
||||
<Content Include="common\mainProject1.aspx" />
|
||||
<Content Include="common\main.aspx" />
|
||||
<Content Include="common\main_old.aspx" />
|
||||
<Content Include="common\mainProject.aspx" />
|
||||
<Content Include="common\main_copy_index.aspx" />
|
||||
<Content Include="common\Menu_CQMS.xml" />
|
||||
|
|
@ -1089,11 +1090,10 @@
|
|||
<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\homecss\common.css" />
|
||||
<Content Include="res\homecss\head.css" />
|
||||
<Content Include="res\homecss\index.css" />
|
||||
<Content Include="res\homecss\projectindex.css" />
|
||||
<Content Include="res\images\01\01.png" />
|
||||
<Content Include="res\images\01\01bj.png" />
|
||||
<Content Include="res\images\01\01headbj1.png" />
|
||||
|
|
@ -6928,12 +6928,12 @@
|
|||
<Compile Include="BaseInfo\WorkStage.aspx.designer.cs">
|
||||
<DependentUpon>WorkStage.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="common\mainnew.aspx.cs">
|
||||
<DependentUpon>mainnew.aspx</DependentUpon>
|
||||
<Compile Include="common\main.aspx.cs">
|
||||
<DependentUpon>main.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="common\mainnew.aspx.designer.cs">
|
||||
<DependentUpon>mainnew.aspx</DependentUpon>
|
||||
<Compile Include="common\main.aspx.designer.cs">
|
||||
<DependentUpon>main.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="common\main1.aspx.cs">
|
||||
<DependentUpon>main1.aspx</DependentUpon>
|
||||
|
|
@ -6977,6 +6977,13 @@
|
|||
<Compile Include="common\mainMenu_TECH.aspx.designer.cs">
|
||||
<DependentUpon>mainMenu_TECH.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="common\mainProject_old.aspx.cs">
|
||||
<DependentUpon>mainProject_old.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="common\mainProject_old.aspx.designer.cs">
|
||||
<DependentUpon>mainProject_old.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="common\mainProjectSY.aspx.cs">
|
||||
<DependentUpon>mainProjectSY.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
|
|
@ -7131,12 +7138,12 @@
|
|||
<Compile Include="common\mainProject1.aspx.designer.cs">
|
||||
<DependentUpon>mainProject1.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="common\main.aspx.cs">
|
||||
<DependentUpon>main.aspx</DependentUpon>
|
||||
<Compile Include="common\main_old.aspx.cs">
|
||||
<DependentUpon>main_old.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="common\main.aspx.designer.cs">
|
||||
<DependentUpon>main.aspx</DependentUpon>
|
||||
<Compile Include="common\main_old.aspx.designer.cs">
|
||||
<DependentUpon>main_old.aspx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="common\mainProject.aspx.cs">
|
||||
<DependentUpon>mainProject.aspx</DependentUpon>
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,38 +1,293 @@
|
|||
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 main : PageBase
|
||||
{
|
||||
|
||||
public string userId;
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
|
||||
var thisUnit = CommonService.GetIsThisUnit();
|
||||
if (thisUnit != null && thisUnit.CollCropCode== "913700001630777743")
|
||||
{
|
||||
Tab3.Hidden=true;
|
||||
//Tab4.Hidden=true;
|
||||
}
|
||||
if(this.SysType == "SHIYE")
|
||||
{
|
||||
this.mainTabStrip.ActiveTabIndex = 2;
|
||||
}
|
||||
userId = this.CurrUser.UserId;
|
||||
}
|
||||
}
|
||||
|
||||
protected void mainTabStrip_TabIndexChanged(object sender, EventArgs e)
|
||||
/// <summary>
|
||||
/// 看板数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[WebMethod]
|
||||
public static object GetHSSEData()
|
||||
{
|
||||
if (this.mainTabStrip.ActiveTabIndex == 2)
|
||||
try
|
||||
{
|
||||
this.SysType = "SHIYE";
|
||||
var db = Funs.DB;
|
||||
var page = new main();
|
||||
MainSevice mainSevice = new MainSevice(page.CurrUser.UserId);
|
||||
// 获取HSSE数据
|
||||
var hsseData = Task.Run(() => mainSevice.GetHsseDataAsync()).Result;
|
||||
|
||||
//班前会
|
||||
var classMeetingList = HSSEData_HSSEService.GetProjectClassMeeting(null);
|
||||
//周前会
|
||||
var weekMeetingList = HSSEData_HSSEService.GetProjectWeekMeeting(null);
|
||||
|
||||
// 获取项目数据
|
||||
int unitType = CommonService.GetUnitTypeByUserId(page.CurrUser.UserId);
|
||||
var projects = new List<Base_Project>();
|
||||
|
||||
if (unitType == 0)
|
||||
{
|
||||
projects = db.Base_Project.Where(x => x.MapCoordinates != null && (x.IsDelete == null || x.IsDelete == false)).ToList();
|
||||
}
|
||||
else if (unitType == 1)
|
||||
{
|
||||
projects = db.Base_Project.Where(x => x.UnitId == page.CurrUser.UnitId && x.MapCoordinates != null && (x.IsDelete == null || x.IsDelete == false)).ToList();
|
||||
}
|
||||
|
||||
// 在建项目集合
|
||||
List<string> _beUnderConstructionList = projects.Select(x => x.ProjectId).ToList();
|
||||
|
||||
// 计算整改率
|
||||
string hsseZGRate = "0";
|
||||
double generalRectificationRate = 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;
|
||||
hsseZGRate = String.Format("{0:N2}", generalRectificationRate);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//设计交底
|
||||
var designDetailsList = (from x in db.Comprehensive_DesignDetails select x).ToList();
|
||||
//施工方案
|
||||
var cqmsConstructSolutionList = (from x in db.Solution_CQMSConstructSolution select x).ToList();
|
||||
|
||||
//设备报验
|
||||
var inspectionEquipmentList = (from x in db.Comprehensive_InspectionEquipment select x).ToList();
|
||||
|
||||
//人员报验
|
||||
var inspectionPersonList = (from x in db.Comprehensive_InspectionPerson select x).ToList();
|
||||
|
||||
//机具报验
|
||||
var inspectionMachineList = (from x in db.Comprehensive_InspectionMachine select x).ToList();
|
||||
|
||||
|
||||
Model.CQMSData_CQMS cqmsData = new Model.CQMSData_CQMS();
|
||||
var getCqmsDataCqms = db.CQMSData_CQMS.OrderByDescending(x => x.ReportDate).FirstOrDefault();
|
||||
if (getCqmsDataCqms == null)
|
||||
{
|
||||
cqmsData = new Model.CQMSData_CQMS();
|
||||
}
|
||||
|
||||
if (unitType == 0)
|
||||
{
|
||||
//classMeetingList = classMeetingList;
|
||||
cqmsData = getCqmsDataCqms;
|
||||
}
|
||||
else if (unitType == 1)
|
||||
{
|
||||
cqmsData = CQMSDataService.GetSubUnitCqmsDataByDate(page.CurrUser.UnitId, getCqmsDataCqms.ReportDate);
|
||||
classMeetingList = classMeetingList.Where(x => _beUnderConstructionList.Contains(x.ProjectId) || x.UnitId == page.CurrUser.UnitId).ToList();
|
||||
weekMeetingList = weekMeetingList.Where(x => _beUnderConstructionList.Contains(x.ProjectId) || x.UnitId == page.CurrUser.UnitId).ToList();
|
||||
designDetailsList = designDetailsList.Where(x => _beUnderConstructionList.Contains(x.ProjectId) || x.UnitName == page.CurrUser.UnitId).ToList();
|
||||
cqmsConstructSolutionList = cqmsConstructSolutionList.Where(x => _beUnderConstructionList.Contains(x.ProjectId) || x.UnitId == page.CurrUser.UnitId).ToList();
|
||||
inspectionEquipmentList = inspectionEquipmentList.Where(x => _beUnderConstructionList.Contains(x.ProjectId) || x.UnitId == page.CurrUser.UnitId).ToList();
|
||||
inspectionPersonList = inspectionPersonList.Where(x => _beUnderConstructionList.Contains(x.ProjectId) || x.UnitId == page.CurrUser.UnitId).ToList();
|
||||
inspectionMachineList = inspectionMachineList.Where(x => _beUnderConstructionList.Contains(x.ProjectId) || x.UnitId == page.CurrUser.UnitId).ToList();
|
||||
}
|
||||
else if (unitType == 2)
|
||||
{
|
||||
cqmsData = new Model.CQMSData_CQMS();
|
||||
classMeetingList = new List<MeetingOutput>();
|
||||
weekMeetingList = new List<MeetingOutput>();
|
||||
designDetailsList = new List<Comprehensive_DesignDetails>();
|
||||
cqmsConstructSolutionList = new List<Solution_CQMSConstructSolution>();
|
||||
inspectionEquipmentList = new List<Comprehensive_InspectionEquipment>();
|
||||
inspectionPersonList = new List<Comprehensive_InspectionPerson>();
|
||||
inspectionMachineList = new List<Comprehensive_InspectionMachine>();
|
||||
}
|
||||
|
||||
|
||||
int inspectionEquipment = inspectionEquipmentList.Count();
|
||||
int inspectionPerson = inspectionPersonList.Count();
|
||||
int inspectionMachine = inspectionMachineList.Count();
|
||||
int inspectionEquipmentIsCheckOk = inspectionEquipmentList.Where(x => x.SamplingResult == "1").Count();
|
||||
int inspectionPersonIsCheckOk = inspectionPersonList.Where(x => x.IsOnSite.HasValue && x.IsOnSite == true).Count();
|
||||
int inspectionMachineIsCheckOk = inspectionMachineList.Where(x => x.IsCheckOK.HasValue && x.IsCheckOK == true).Count();
|
||||
|
||||
double inspectionEquipmentRate = inspectionEquipmentIsCheckOk > 0 ? Math.Round((100 * (double)(inspectionEquipmentIsCheckOk / inspectionEquipment)), 2) : 0;
|
||||
double inspectionPersonRate = inspectionPersonIsCheckOk > 0 ? Math.Round((100 * (double)(inspectionPersonIsCheckOk / inspectionPerson)), 2) : 0;
|
||||
double inspectionMachineRate = inspectionMachineIsCheckOk > 0 ? Math.Round((100 * (double)(inspectionMachineIsCheckOk / inspectionMachine)), 2) : 0;
|
||||
|
||||
string cqmsZGRate = "0";
|
||||
if (cqmsData.ProblemNum.HasValue && cqmsData.ProblemCompletedNum.HasValue)
|
||||
{
|
||||
cqmsZGRate = String.Format("{0:N2}", 100 * cqmsData.ProblemCompletedNum.Value / cqmsData.ProblemNum.Value);
|
||||
}
|
||||
else
|
||||
{
|
||||
cqmsZGRate = "0";
|
||||
}
|
||||
|
||||
// 构造返回数据
|
||||
var returnData = new
|
||||
{
|
||||
success = true,
|
||||
data = new
|
||||
{
|
||||
educationIdx = 0,
|
||||
checkIdx = 0,
|
||||
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证
|
||||
},
|
||||
warning = new
|
||||
{//预警警报【待汇总】
|
||||
hydropower = 0,//水电监测
|
||||
hydropower2 = 0,//水电监测
|
||||
towercrane = 0,//塔式起重机预警
|
||||
foundationpit = 0,//基坑监测预警
|
||||
car = 0,//车辆冲洗监测
|
||||
},
|
||||
hsseCheck = new
|
||||
{//安全检查
|
||||
generalNum = (hsseData.GeneralClosedNum ?? 0) + (hsseData.GeneralNotClosedNum ?? 0),//安全问题
|
||||
notClosedNum = hsseData.GeneralNotClosedNum ?? 0,//未完成
|
||||
closedNum = hsseData.GeneralClosedNum ?? 0,//整改闭环
|
||||
rectificationRate = Convert.ToDouble(hsseZGRate),//整改率
|
||||
},
|
||||
cqmsCheck = new
|
||||
{//质量检查
|
||||
generalNum = cqmsData.ProblemNum ?? 0,//质量问题
|
||||
notClosedNum = cqmsData.ProblemNotCompletedNum ?? 0,//未完成
|
||||
closedNum = cqmsData.ProblemCompletedNum ?? 0,//整改闭环
|
||||
rectificationRate = Convert.ToDouble(cqmsZGRate),//整改率
|
||||
},
|
||||
riskClassification = new
|
||||
{//风险分级管控
|
||||
highRiskNum = hsseData.HighRiskNum ?? 0,//重大风险
|
||||
mediumRiskNum = hsseData.MediumRiskNum ?? 0,//较大风险
|
||||
generalRiskNum = hsseData.GeneralRiskNum ?? 0,//一般风险
|
||||
lowRiskNum = hsseData.LowRiskNum ?? 0//低风险
|
||||
},
|
||||
costEquipmentMeeting = 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,//施工机具设备-特种设备
|
||||
classMeeting = classMeetingList.Count(),//会议-班前会
|
||||
weekMeeting = weekMeetingList.Count()//会议-周例会
|
||||
},
|
||||
projectInfo = new
|
||||
{//项目数据
|
||||
projectsUnderConstruction = hsseData.BeUnderConstructionNum ?? 0,//在建项目
|
||||
shutdownProject = hsseData.ShutdownNum ?? 0,//停工项目
|
||||
participateInNum = hsseData.JoinConstructionPersonNum ?? 0,//参建人数
|
||||
dangerousProject = hsseData.MajorProjectsUnderConstructionNum ?? 0,//在施危大工程
|
||||
},
|
||||
//项目地图数据
|
||||
chinaData = projects.Select(p => new
|
||||
{
|
||||
id = p.ProjectId,
|
||||
name = p.ShortName,
|
||||
address = p.ProjectAddress,
|
||||
value = p.MapCoordinates.Split(','),
|
||||
}).ToList(),
|
||||
dangerousProject = new
|
||||
{//危大工程管控数据
|
||||
approvalCompleted = hsseData.CompletedNum ?? 0,//审批完成
|
||||
construction = hsseData.ConstructionNum ?? 0,//施工个数
|
||||
training = hsseData.TrainPersonNum ?? 0,//培训人次
|
||||
completed = hsseData.FinishedNum ?? 0,//完工个数
|
||||
reasoning = 0//论证个数【待汇总】
|
||||
},
|
||||
meetAnEmergency = new
|
||||
{//应急管理数据
|
||||
comprehensive = hsseData.CompanyComprehensivePlanNum ?? 0,//综合预案
|
||||
special = hsseData.CompanySpecialPlanNum ?? 0,//专项预案
|
||||
scene = hsseData.CompanyOnSiteDisposalPlan ?? 0,//现场处置
|
||||
drill = hsseData.CompanyDrillNum ?? 0//演练次数
|
||||
},
|
||||
engineeringDivision = new
|
||||
{//工程划分
|
||||
unitNum = cqmsData.UnitProjectNum ?? 0,//单位工程数
|
||||
branchNum = cqmsData.SubProjectNum ?? 0,//分部工程数
|
||||
itemizeNum = cqmsData.SubdivisionalWorksNum ?? 0,//分项工程数
|
||||
},
|
||||
//质量验收数据【待汇总】
|
||||
specialEquipmentSys = 0,//特种设备质保体系【待汇总】
|
||||
designBriefing = designDetailsList.Count(),//图纸会审、设计交底
|
||||
hsseEduTrain = new
|
||||
{//安全教育
|
||||
safeWorkingHour = hsseData.SafeWorkingHour ?? 0,//安全工时数
|
||||
specialTrainNum = hsseData.SpecialTrainNum ?? 0,//专项培训
|
||||
safeTrainNum = hsseData.SafeTrainNum ?? 0,//三级安全教育培训
|
||||
specialOperationTrainNum = hsseData.SpecialOperationTrainNum ?? 0,//特种作业培训
|
||||
safetyTechnicalBriefing = 0//安全技术交底次数【待汇总】
|
||||
},
|
||||
cqmsTrainPersonNum = cqmsData.TrainPersonNum ?? 0,//质量教育-培训人数
|
||||
inspectionRecord = new
|
||||
{//报验记录
|
||||
equipmentNum = inspectionEquipment,//设备报验
|
||||
equipmentRate = inspectionEquipmentRate,//设备报验合格率
|
||||
personNum = inspectionPerson,//人员报验
|
||||
personRate = inspectionPersonRate,//人员报验合格率
|
||||
machineNum = inspectionMachine,//机具报验
|
||||
machineRate = inspectionMachineRate,//机具报验合格率
|
||||
},
|
||||
constructSolution = new
|
||||
{//施工方案
|
||||
total = cqmsConstructSolutionList.Count(),//总数
|
||||
projectApprove = cqmsConstructSolutionList.Where(x => x.State == "1").Count(),//项目审批数(审批状态:已闭合)
|
||||
enterpriseApprove = 0//企业审批数【待汇总】
|
||||
},
|
||||
highRisk = new
|
||||
{//高风险作业许可
|
||||
closeItem = hsseData.LicensesCloseNum ?? 0,//关闭项
|
||||
licenseItem = hsseData.LicensesNum ?? 0//许可项
|
||||
},
|
||||
measuringInstrumentsData = new
|
||||
{//计量器具数据
|
||||
useNum = cqmsData.UseNum ?? 0,//计量器具
|
||||
okNum = cqmsData.OKNum ?? 0,//校准合格
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
return returnData;
|
||||
}
|
||||
else
|
||||
catch (Exception ex)
|
||||
{
|
||||
this.SysType = "GONGCHENG";
|
||||
return new { success = false, msg = ex.Message };
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,68 +13,5 @@ namespace FineUIPro.Web.common
|
|||
|
||||
public partial class main
|
||||
{
|
||||
|
||||
/// <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>
|
||||
/// mainTabStrip 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TabStrip mainTabStrip;
|
||||
|
||||
/// <summary>
|
||||
/// Tab1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Tab Tab1;
|
||||
|
||||
/// <summary>
|
||||
/// Tab2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Tab Tab2;
|
||||
|
||||
/// <summary>
|
||||
/// Tab3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Tab Tab3;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,525 +1,278 @@
|
|||
using BLL;
|
||||
using Newtonsoft.Json;
|
||||
using Model;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using System.Web.Services;
|
||||
using System.Linq;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Threading.Tasks;
|
||||
using FineUIPro.Web.ProjectData;
|
||||
|
||||
namespace FineUIPro.Web.common
|
||||
{
|
||||
public partial class mainProject : PageBase
|
||||
{
|
||||
#region 项目ID
|
||||
/// <summary>
|
||||
/// 项目ID
|
||||
/// </summary>
|
||||
public string ProjectId
|
||||
{
|
||||
get
|
||||
{
|
||||
return (string)ViewState["ProjectId"];
|
||||
}
|
||||
set
|
||||
{
|
||||
ViewState["ProjectId"] = value;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
//public string userId;
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
this.ProjectId = string.Empty;
|
||||
if (this.CurrUser != null)
|
||||
string userId = this.CurrUser.UserId;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 看板数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[WebMethod]
|
||||
public static object GetHSSEData()
|
||||
{
|
||||
try
|
||||
{
|
||||
var db = Funs.DB;
|
||||
var page = new mainProject();
|
||||
string userId = page.CurrUser.UserId;
|
||||
string projectId = page.CurrUser.LoginProjectId;
|
||||
MainSevice mainSevice = new MainSevice(userId, projectId);
|
||||
|
||||
var project = ProjectService.GetProjectByProjectId(projectId);
|
||||
//获取HSSE数据
|
||||
var hsseData = Task.Run(() => mainSevice.GetHsseDataAsync()).Result;
|
||||
|
||||
//班前会
|
||||
var classMeetingList = HSSEData_HSSEService.GetProjectClassMeeting(projectId);
|
||||
//周前会
|
||||
var weekMeetingList = HSSEData_HSSEService.GetProjectWeekMeeting(projectId);
|
||||
|
||||
//项目总工期
|
||||
int projectDays = 0;
|
||||
if (project.StartDate.HasValue)
|
||||
{
|
||||
this.ProjectId = this.CurrUser.LoginProjectId;
|
||||
}
|
||||
/// 获取安全人工时
|
||||
getPersonWorkTime();
|
||||
///劳务统计
|
||||
getSitePerson();
|
||||
///项目概况
|
||||
getProjectInfo();
|
||||
/// 获取质量问题
|
||||
getCQMSProblem();
|
||||
////ToDO 资质取数
|
||||
this.divQualityWarningNum.InnerHtml = (from x in Funs.DB.QualityAudit_PersonQuality
|
||||
join y in Funs.DB.SitePerson_Person on x.PersonId equals y.PersonId
|
||||
where y.ProjectId == this.ProjectId && y.IsUsed == true && x.LimitDate < DateTime.Now
|
||||
select x).Count().ToString();
|
||||
///产值
|
||||
getOutputValues();
|
||||
///获取天气
|
||||
getWeatherValues();
|
||||
/// 获取风险管控
|
||||
getHazard();
|
||||
|
||||
//获取质量培训人数
|
||||
getIPersonNum();
|
||||
//获取技术交底人数
|
||||
getDesignNum();
|
||||
//获取焊工总数
|
||||
getHJPersonNum();
|
||||
//获取总达因数、完成达因数、总片数、合格片数
|
||||
getTotalDineNum();
|
||||
getCompleteDineNum();
|
||||
getTotalFilmNum();
|
||||
getOkFilmNum();
|
||||
}
|
||||
}
|
||||
#region 质量培训人数
|
||||
private void getIPersonNum()
|
||||
{
|
||||
var IPersonNum = Funs.DB.Comprehensive_InspectionPerson
|
||||
.Where(x => x.IsTrain == true && x.ProjectId == this.ProjectId).Count();
|
||||
this.divIPersonNum.InnerHtml = IPersonNum.ToString();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 技术交底人数
|
||||
private void getDesignNum()
|
||||
{
|
||||
var DesignNum = Funs.DB.Comprehensive_DesignDetails
|
||||
.Where(x => x.ProjectId == this.ProjectId).Select(x => x.JoinPersonNum).ToList().Sum();
|
||||
this.divDesignNum.InnerHtml = DesignNum.ToString();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 焊工总数
|
||||
private void getHJPersonNum()
|
||||
{
|
||||
var HjPersonNum = Funs.DB.BS_Welder.Where(x => x.ProjectId == this.ProjectId && x.WED_IfOnGuard == true)
|
||||
.Count();
|
||||
this.divHjPersonNum.InnerHtml = HjPersonNum.ToString();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 总达因数、完成达因数、总片数、合格片数
|
||||
/// <summary>
|
||||
/// 总达因数
|
||||
/// </summary>
|
||||
private void getTotalDineNum()
|
||||
{
|
||||
this.divTotalDineNum.InnerHtml = Project_HJGLData_HJGLService.GetTotalDineNum(this.ProjectId).ToString();
|
||||
}
|
||||
/// <summary>
|
||||
/// 完成达因数
|
||||
/// </summary>
|
||||
private void getCompleteDineNum()
|
||||
{
|
||||
this.divCompleteDineNum.InnerHtml = Project_HJGLData_HJGLService.GetCompleteDineNum(this.ProjectId).ToString();
|
||||
}
|
||||
/// <summary>
|
||||
/// 总片数
|
||||
/// </summary>
|
||||
private void getTotalFilmNum()
|
||||
{
|
||||
this.divTotalFilmNum.InnerHtml = Project_HJGLData_HJGLService.GetTotalFilmNum(this.ProjectId).ToString();
|
||||
}
|
||||
/// <summary>
|
||||
/// 合格片数
|
||||
/// </summary>
|
||||
private void getOkFilmNum()
|
||||
{
|
||||
this.divOkFilmNum.InnerHtml = Project_HJGLData_HJGLService.GetOKFilmNum(this.ProjectId).ToString();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 待办事项
|
||||
protected string swiper_One
|
||||
{
|
||||
get
|
||||
{
|
||||
var getDataList = Funs.DB.Sp_APP_GetToDoItems(this.CurrUser.LoginProjectId, CurrUser.UserId).ToList();
|
||||
string strNoticeHtml = string.Empty;
|
||||
foreach (var item in getDataList)
|
||||
{
|
||||
string url = item.PCUrl;
|
||||
strNoticeHtml += "<li data-id=\"" + url + "\" notice-id=\"" + item.DataId + "\" class=\"c-item swiper-slide\"><div class=\"tit\" title=\"" + item.MenuName + "\"><div class=\"flex\" ><div class=\"tit-t flex1\">" + item.MenuName + "</div><div class=\"tit-v\">" + string.Format("{0:yyyy-MM-dd}", item.DataTime) + "</div></div></div></li>";
|
||||
}
|
||||
return "<ul class=\"content-ul swiper-wrapper\">" + strNoticeHtml + "</ul>";
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 安全人工时
|
||||
/// <summary>
|
||||
/// 获取安全人工时
|
||||
/// </summary>
|
||||
private void getPersonWorkTime()
|
||||
{
|
||||
this.divSafeWorkTime.InnerHtml = "0000000000";
|
||||
var getMax = from x in Funs.DB.SitePerson_DayReportDetail
|
||||
join y in Funs.DB.SitePerson_DayReport on x.DayReportId equals y.DayReportId
|
||||
where y.ProjectId == this.CurrUser.LoginProjectId
|
||||
select x;
|
||||
int wHours = 0;
|
||||
if (getMax.Count() > 0)
|
||||
{
|
||||
wHours = Convert.ToInt32(getMax.Sum(x => x.PersonWorkTime) ?? 0);
|
||||
}
|
||||
if (wHours > 0)
|
||||
{
|
||||
this.divSafeWorkTime.InnerHtml = ((wHours % 100000000) / 10000000).ToString() + ((wHours % 10000000) / 1000000).ToString() + ((wHours % 1000000) / 100000).ToString()
|
||||
+ ((wHours % 100000) / 10000).ToString() + ((wHours % 10000) / 1000).ToString() + ((wHours % 1000) / 100).ToString() + ((wHours % 100) / 10).ToString() + (wHours % 10).ToString();
|
||||
}
|
||||
|
||||
///整改单
|
||||
var getRectify = from x in Funs.DB.Check_RectifyNotices
|
||||
where x.ProjectId == this.ProjectId && x.States != Const.State_0 && x.States != null
|
||||
select x;
|
||||
int allcout = getRectify.Count();
|
||||
if (allcout > 0)
|
||||
{
|
||||
this.divAllRectify.InnerHtml = allcout.ToString();
|
||||
int ccount = getRectify.Where(x => x.States == Const.State_5).Count();
|
||||
this.divCRectify.InnerHtml = ccount.ToString();
|
||||
this.divUCRectify.InnerHtml = (allcout - ccount).ToString();
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 劳务统计
|
||||
protected string WorkPostS;
|
||||
protected string InPostCounts;
|
||||
protected string InDutyCounts;
|
||||
/// <summary>
|
||||
/// 劳务统计
|
||||
/// </summary>
|
||||
private void getSitePerson()
|
||||
{
|
||||
int AllCount = 0;
|
||||
int MCount = 0;
|
||||
//var getallin = APIPageDataService.getPersonInOutNum(this.ProjectId, DateTime.Now.AddDays(-1));
|
||||
DateTime dateValue = DateTime.Now.AddDays(-1);
|
||||
List<Model.PageDataPersonInOutItem> getallin = new List<Model.PageDataPersonInOutItem>();
|
||||
var getInMaxs = from x in Funs.DB.SitePerson_Person
|
||||
join y in Funs.DB.Base_WorkPost on x.WorkPostId equals y.WorkPostId
|
||||
where x.ProjectId == this.CurrUser.LoginProjectId && x.IsUsed == true
|
||||
select new Model.PageDataPersonInOutItem
|
||||
{
|
||||
PersonId = x.PersonId,
|
||||
PostType = y.PostType,
|
||||
WorkPostId = x.WorkPostId,
|
||||
};
|
||||
if (getInMaxs.Count() > 0)
|
||||
{
|
||||
getallin = getInMaxs.Distinct().ToList();
|
||||
}
|
||||
AllCount = getallin.Count();
|
||||
if (AllCount > 0)
|
||||
{
|
||||
this.divALLPerson.InnerHtml = AllCount.ToString();
|
||||
MCount = getallin.Where(x => x.PostType == Const.PostType_1).Count();
|
||||
/////管理人数
|
||||
this.divGLPerson.InnerHtml = MCount.ToString();
|
||||
/////作业人数
|
||||
this.divZYPerson.InnerHtml = (AllCount - MCount).ToString();
|
||||
}
|
||||
|
||||
WorkPostS = "[]";
|
||||
InPostCounts = "[]";
|
||||
InDutyCounts = "[]";
|
||||
List<int> InPostCountList = new List<int>();
|
||||
List<int> InDutyCountList = new List<int>();
|
||||
List<string> worksList = new List<string>();
|
||||
//if (this.CurrUser.UserId != Const.hfnbdId)
|
||||
//{
|
||||
var getPersons = Funs.DB.SitePerson_Person.Where(x => x.ProjectId == this.ProjectId && x.IsUsed == true && x.InTime <= DateTime.Now
|
||||
&& !x.OutTime.HasValue);
|
||||
if (getPersons.Count() > 0)
|
||||
{
|
||||
var getWorkIds = getPersons.Where(x => x.WorkPostId != null).Select(x => x.WorkPostId).Distinct();
|
||||
if (getWorkIds.Count() > 0)
|
||||
{
|
||||
foreach (var item in getWorkIds)
|
||||
int pdays = (project.EndDate.Value - project.StartDate.Value).Days;
|
||||
if (pdays >= 0)
|
||||
{
|
||||
worksList.Add(WorkPostService.getWorkPostNameById(item));
|
||||
int isPost = getPersons.Where(x => x.WorkPostId == item).Count();
|
||||
InPostCountList.Add(isPost);
|
||||
int inDuty = 0;
|
||||
if (getallin.Count() > 0)
|
||||
{
|
||||
inDuty = getallin.Where(x => x.WorkPostId == item).Count();
|
||||
}
|
||||
InDutyCountList.Add(inDuty);
|
||||
projectDays = pdays;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
worksList.Add(" ");
|
||||
InPostCountList.Add(0);
|
||||
InDutyCountList.Add(0);
|
||||
}
|
||||
//}
|
||||
//合同倒计时
|
||||
int endDays = (project.EndDate.Value - DateTime.Now).Days;
|
||||
|
||||
WorkPostS = JsonConvert.SerializeObject(worksList);
|
||||
InPostCounts = JsonConvert.SerializeObject(InPostCountList);
|
||||
InDutyCounts = JsonConvert.SerializeObject(InDutyCountList);
|
||||
}
|
||||
#endregion
|
||||
// 计算整改率
|
||||
string hsseZGRate = "0";
|
||||
double generalRectificationRate = 0;
|
||||
|
||||
#region 项目概况
|
||||
protected string divProjectNameTitle;
|
||||
protected string divProjectAddressTitle;
|
||||
protected string divProjectMoneyTitle;
|
||||
protected string divOwnUnitTitle;
|
||||
protected string divSGUnitTitle;
|
||||
protected string divJLUnitTitle;
|
||||
protected string divProjectImg;
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
private void getProjectInfo()
|
||||
{
|
||||
divProjectNameTitle = "";
|
||||
divProjectAddressTitle = "";
|
||||
divProjectMoneyTitle = "";
|
||||
divOwnUnitTitle = "";
|
||||
divSGUnitTitle = "";
|
||||
divJLUnitTitle = "";
|
||||
divProjectImg = "../res/indexv2/assets/image/index6/center-bg.jpeg";
|
||||
var project = ProjectService.GetProjectByProjectId(this.ProjectId);
|
||||
if (project != null)
|
||||
{
|
||||
this.divProjectName.InnerHtml = project.ShortName;
|
||||
divProjectNameTitle = project.ProjectName;
|
||||
if (!string.IsNullOrEmpty(project.ProjectAddress))
|
||||
if (hsseData.GeneralClosedNum.HasValue && hsseData.GeneralNotClosedNum.HasValue)
|
||||
{
|
||||
this.divProjectAddress.InnerHtml = project.ProjectAddress.Length > 8 ? project.ProjectAddress.Substring(0, 8) + "..." : project.ProjectAddress;
|
||||
divProjectAddressTitle = project.ProjectAddress;
|
||||
}
|
||||
string unit_yz = ProjectService.getProjectUnitNameByUnitType(project.ProjectId, Const.ProjectUnitType_4);
|
||||
if (!string.IsNullOrEmpty(unit_yz))
|
||||
{
|
||||
this.divOwnUnit.InnerHtml = unit_yz.Length > 8 ? unit_yz.Substring(0, 8) + "..." : unit_yz;
|
||||
divOwnUnitTitle = unit_yz;
|
||||
}
|
||||
string unit_JL = ProjectService.getProjectUnitNameByUnitType(project.ProjectId, Const.ProjectUnitType_3);
|
||||
if (!string.IsNullOrEmpty(unit_JL))
|
||||
{
|
||||
this.divJLUnit.InnerHtml = unit_JL.Length > 8 ? unit_JL.Substring(0, 8) + "..." : unit_JL;
|
||||
divJLUnitTitle = unit_JL;
|
||||
}
|
||||
|
||||
string unit_FB = ProjectService.getProjectUnitNameByUnitType(project.ProjectId, Const.ProjectUnitType_2);
|
||||
if (!string.IsNullOrEmpty(unit_FB))
|
||||
{
|
||||
this.divSGUnit.InnerHtml = unit_FB.Length > 8 ? unit_FB.Substring(0, 8) + "..." : unit_FB + "...";
|
||||
}
|
||||
|
||||
var getSGName = from x in Funs.DB.Project_ProjectUnit
|
||||
join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
|
||||
where x.ProjectId == project.ProjectId && x.UnitType == Const.ProjectUnitType_2
|
||||
select y.UnitName;
|
||||
foreach (var item in getSGName)
|
||||
{
|
||||
divSGUnitTitle += item + ",";
|
||||
}
|
||||
this.divProjectMoney.InnerHtml = divProjectMoneyTitle = project.ProjectMoney.ToString() + "万元";
|
||||
if (project.EndDate.HasValue)
|
||||
{
|
||||
this.divEndDate.InnerHtml = string.Format("{0:yyyy-MM-dd}", project.EndDate);
|
||||
int endDays = (project.EndDate.Value - DateTime.Now).Days;
|
||||
if (endDays >= 0)
|
||||
double total = hsseData.GeneralClosedNum.Value + hsseData.GeneralNotClosedNum.Value;
|
||||
if (total > 0)
|
||||
{
|
||||
this.divRemainingDays.InnerHtml = endDays.ToString() + "<span>天</span>";
|
||||
}
|
||||
if (project.StartDate.HasValue)
|
||||
{
|
||||
int pdays = (project.EndDate.Value - project.StartDate.Value).Days;
|
||||
if (pdays >= 0)
|
||||
{
|
||||
this.divProjectDays.InnerHtml = pdays.ToString() + "<span>天</span>";
|
||||
}
|
||||
generalRectificationRate = 100.0 * hsseData.GeneralClosedNum.Value / total;
|
||||
hsseZGRate = String.Format("{0:N2}", generalRectificationRate);
|
||||
}
|
||||
}
|
||||
|
||||
var getImag = Funs.DB.AttachFile.FirstOrDefault(x => x.ToKeyId == project.ProjectId);
|
||||
if (getImag != null && !string.IsNullOrEmpty(getImag.AttachUrl))
|
||||
//设计交底
|
||||
var designDetailsList = (from x in db.Comprehensive_DesignDetails where x.ProjectId == projectId select x).ToList();
|
||||
//施工方案
|
||||
var cqmsConstructSolutionList = (from x in db.Solution_CQMSConstructSolution where x.ProjectId == projectId select x).ToList();
|
||||
|
||||
//设备报验
|
||||
var inspectionEquipmentList = (from x in db.Comprehensive_InspectionEquipment where x.ProjectId == projectId select x).ToList();
|
||||
|
||||
//人员报验
|
||||
var inspectionPersonList = (from x in db.Comprehensive_InspectionPerson where x.ProjectId == projectId select x).ToList();
|
||||
|
||||
//机具报验
|
||||
var inspectionMachineList = (from x in db.Comprehensive_InspectionMachine where x.ProjectId == projectId select x).ToList();
|
||||
|
||||
//质量
|
||||
var cqmsProjectData = (from x in Funs.DB.Project_CQMSData_CQMS
|
||||
where x.ProjectId == projectId
|
||||
select x).OrderByDescending(x => x.ReportDate).FirstOrDefault();
|
||||
//质量培训人数
|
||||
//var cqmsTrainPersonNum = cqmsProjectData.TrainPersonNum;
|
||||
var cqmsTrainPersonNum = Funs.DB.Comprehensive_InspectionPerson.Where(x => x.IsTrain == true && x.ProjectId == projectId).Count();
|
||||
|
||||
//var getJointCheckDetail = from x in Funs.DB.Check_JointCheckDetail
|
||||
// join y in Funs.DB.Check_JointCheck on x.JointCheckId equals y.JointCheckId
|
||||
// where y.ProjectId == projectId
|
||||
// select x;
|
||||
//var getCheckControl = from x in Funs.DB.Check_CheckControl
|
||||
// where x.ProjectId == projectId
|
||||
// select x;
|
||||
// 问题总数
|
||||
int cqmsProblemNum = cqmsProjectData.ProblemNum ?? 0;
|
||||
int cqmsCompletedNum = cqmsProjectData.ProblemCompletedNum ?? 0;
|
||||
int cqmsNotCompletedNumt = cqmsProjectData.ProblemNotCompletedNum ?? 0;
|
||||
//int cqmsAllCount = getJointCheckDetail.Count() + getCheckControl.Count();
|
||||
//int cqmsOkNum = 0;//已完成
|
||||
//int cqmsIncompleteNum = 0; //未完成
|
||||
double cqmsZGRate = 0;//整改率
|
||||
if (cqmsCompletedNum > 0)
|
||||
{
|
||||
string url = getImag.AttachUrl.Replace('\\', '/');
|
||||
string firtstUrl = Funs.GetStrListByStr(url, ',').FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(firtstUrl))
|
||||
cqmsZGRate = Math.Round(100 * (double)(cqmsCompletedNum / cqmsProblemNum), 2);
|
||||
///问题完成数
|
||||
//var getJOk = getJointCheckDetail.Where(x => x.State == "6").Count();
|
||||
//var getCOk = getCheckControl.Where(x => x.State == "7").Count();
|
||||
//cqmsOkNum = getJOk + getCOk;
|
||||
//cqmsIncompleteNum = cqmsAllCount - cqmsOkNum;
|
||||
//if (cqmsOkNum > 0)
|
||||
//{
|
||||
// cqmsZGRate = Math.Round(cqmsOkNum * 1.0 / cqmsAllCount * 100, 2);
|
||||
//}
|
||||
}
|
||||
|
||||
classMeetingList = classMeetingList.Where(x => x.ProjectId == projectId).ToList();
|
||||
weekMeetingList = weekMeetingList.Where(x => x.ProjectId == projectId).ToList();
|
||||
designDetailsList = designDetailsList.Where(x => x.ProjectId == projectId).ToList();
|
||||
cqmsConstructSolutionList = cqmsConstructSolutionList.Where(x => x.ProjectId == projectId).ToList();
|
||||
inspectionEquipmentList = inspectionEquipmentList.Where(x => x.ProjectId == projectId).ToList();
|
||||
inspectionPersonList = inspectionPersonList.Where(x => x.ProjectId == projectId).ToList();
|
||||
inspectionMachineList = inspectionMachineList.Where(x => x.ProjectId == projectId).ToList();
|
||||
|
||||
int inspectionEquipment = inspectionEquipmentList.Count();
|
||||
int inspectionPerson = inspectionPersonList.Count();
|
||||
int inspectionMachine = inspectionMachineList.Count();
|
||||
int inspectionEquipmentIsCheckOk = inspectionEquipmentList.Where(x => x.SamplingResult == "1").Count();
|
||||
int inspectionPersonIsCheckOk = inspectionPersonList.Where(x => x.IsOnSite.HasValue && x.IsOnSite == true).Count();
|
||||
int inspectionMachineIsCheckOk = inspectionMachineList.Where(x => x.IsCheckOK.HasValue && x.IsCheckOK == true).Count();
|
||||
|
||||
double inspectionEquipmentRate = inspectionEquipmentIsCheckOk > 0 ? Math.Round((100 * (double)(inspectionEquipmentIsCheckOk / inspectionEquipment)), 2) : 0;
|
||||
double inspectionPersonRate = inspectionPersonIsCheckOk > 0 ? Math.Round((100 * (double)(inspectionPersonIsCheckOk / inspectionPerson)), 2) : 0;
|
||||
double inspectionMachineRate = inspectionMachineIsCheckOk > 0 ? Math.Round((100 * (double)(inspectionMachineIsCheckOk / inspectionMachine)), 2) : 0;
|
||||
|
||||
// 构造返回数据
|
||||
var returnData = new
|
||||
{
|
||||
success = true,
|
||||
data = new
|
||||
{
|
||||
string atturl = Funs.RootPath + firtstUrl.Replace(';', ' ').Trim();
|
||||
if (File.Exists(atturl))
|
||||
{
|
||||
divProjectImg = "../" + firtstUrl.Replace(';', ' ').Trim();
|
||||
}
|
||||
educationIdx = 0,
|
||||
checkIdx = 0,
|
||||
org = new
|
||||
{//组织机构人员
|
||||
projectSum = (hsseData.ProjectInspectorGeneralNum ?? 0) + (hsseData.ProjectFullTimeNum ?? 0) + (hsseData.ProjectSafetyMonitorNum ?? 0),//项目总人数
|
||||
projectDirector = hsseData.ProjectInspectorGeneralNum ?? 0,//项目总监
|
||||
projectFullTime = hsseData.ProjectFullTimeNum ?? 0,//项目专职
|
||||
projectSafetyMonitoring = hsseData.ProjectSafetyMonitorNum ?? 0,//项目安全监护
|
||||
projectSecurity = 0,//项目安管人员【待汇总】
|
||||
projectPersonRatio = "1:5",//项目安管人员与作业人员配比【待汇总】
|
||||
},
|
||||
warning = new
|
||||
{//预警警报【待汇总】
|
||||
hydropower = 0,//水电监测
|
||||
hydropower2 = 0,//水电监测
|
||||
towercrane = 0,//塔式起重机预警
|
||||
foundationpit = 0,//基坑监测预警
|
||||
car = 0,//车辆冲洗监测
|
||||
},
|
||||
hsseCheck = new
|
||||
{//安全检查
|
||||
generalNum = (hsseData.GeneralClosedNum ?? 0) + (hsseData.GeneralNotClosedNum ?? 0),//安全问题
|
||||
notClosedNum = hsseData.GeneralNotClosedNum ?? 0,//未完成
|
||||
closedNum = hsseData.GeneralClosedNum ?? 0,//整改闭环
|
||||
rectificationRate = Convert.ToDouble(hsseZGRate),//整改率
|
||||
},
|
||||
cqmsCheck = new
|
||||
{//质量检查
|
||||
generalNum = cqmsProblemNum,//质量问题
|
||||
notClosedNum = cqmsNotCompletedNumt,//未完成
|
||||
closedNum = cqmsCompletedNum,//整改闭环
|
||||
rectificationRate = cqmsZGRate,//整改率
|
||||
},
|
||||
riskClassification = new
|
||||
{//风险分级管控
|
||||
highRiskNum = hsseData.HighRiskNum ?? 0,//重大风险
|
||||
mediumRiskNum = hsseData.MediumRiskNum ?? 0,//较大风险
|
||||
generalRiskNum = hsseData.GeneralRiskNum ?? 0,//一般风险
|
||||
lowRiskNum = hsseData.LowRiskNum ?? 0//低风险
|
||||
},
|
||||
costEquipmentMeeting = 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,//施工机具设备-特种设备
|
||||
classMeeting = classMeetingList.Count(),//会议-班前会
|
||||
weekMeeting = weekMeetingList.Count()//会议-周例会
|
||||
},
|
||||
projectInfo = new
|
||||
{//项目数据
|
||||
projectDays = projectDays,//项目总工期
|
||||
projectEndDate = string.Format("{0:yyyy-MM-dd}", project.EndDate),//项目到期时间
|
||||
projectEndDays = endDays > 0 ? endDays : 0,//合同倒计时
|
||||
},
|
||||
//xmjdData = new {//项目进度计划【待汇总】
|
||||
|
||||
//},
|
||||
dangerousProject = new
|
||||
{//危大工程管控数据
|
||||
approvalCompleted = hsseData.CompletedNum ?? 0,//审批完成
|
||||
construction = hsseData.ConstructionNum ?? 0,//施工个数
|
||||
training = hsseData.TrainPersonNum ?? 0,//培训人次
|
||||
completed = hsseData.FinishedNum ?? 0,//完工个数
|
||||
reasoning = 0//论证个数【待汇总】
|
||||
},
|
||||
meetAnEmergency = new
|
||||
{//应急管理数据
|
||||
comprehensive = hsseData.CompanyComprehensivePlanNum ?? 0,//综合预案
|
||||
special = hsseData.CompanySpecialPlanNum ?? 0,//专项预案
|
||||
scene = hsseData.CompanyOnSiteDisposalPlan ?? 0,//现场处置
|
||||
drill = hsseData.CompanyDrillNum ?? 0//演练次数
|
||||
},
|
||||
engineeringDivision = new
|
||||
{//工程划分
|
||||
unitNum = cqmsProjectData.UnitProjectNum ?? 0,//单位工程数
|
||||
branchNum = cqmsProjectData.SubProjectNum ?? 0,//分部工程数
|
||||
itemizeNum = cqmsProjectData.SubdivisionalWorksNum ?? 0,//分项工程数
|
||||
},
|
||||
//质量验收数据【待汇总】
|
||||
specialEquipmentSys = 0,//特种设备质保体系【待汇总】
|
||||
designBriefing = designDetailsList.Count(),//图纸会审、设计交底
|
||||
hsseEduTrain = new
|
||||
{//安全教育
|
||||
safeWorkingHour = hsseData.SafeWorkingHour ?? 0,//安全工时数
|
||||
specialTrainNum = hsseData.SpecialTrainNum ?? 0,//专项培训
|
||||
safeTrainNum = hsseData.SafeTrainNum ?? 0,//三级安全教育培训
|
||||
specialOperationTrainNum = hsseData.SpecialOperationTrainNum ?? 0,//特种作业培训
|
||||
safetyTechnicalBriefing = 0//安全技术交底次数【待汇总】
|
||||
},
|
||||
cqmsTrainPersonNum = cqmsTrainPersonNum,//质量教育-培训人数
|
||||
inspectionRecord = new
|
||||
{//报验记录
|
||||
equipmentNum = inspectionEquipment,//设备报验
|
||||
equipmentRate = inspectionEquipmentRate,//设备报验合格率
|
||||
personNum = inspectionPerson,//人员报验
|
||||
personRate = inspectionPersonRate,//人员报验合格率
|
||||
machineNum = inspectionMachine,//机具报验
|
||||
machineRate = inspectionMachineRate,//机具报验合格率
|
||||
},
|
||||
constructSolution = new
|
||||
{//施工方案
|
||||
total = cqmsConstructSolutionList.Count(),//总数
|
||||
projectApprove = cqmsConstructSolutionList.Where(x => x.State == "1").Count(),//项目审批数(审批状态:已闭合)
|
||||
enterpriseApprove = 0//企业审批数【待汇总】
|
||||
},
|
||||
highRisk = new
|
||||
{//高风险作业许可
|
||||
closeItem = hsseData.LicensesCloseNum ?? 0,//关闭项
|
||||
licenseItem = hsseData.LicensesNum ?? 0//许可项
|
||||
},
|
||||
measuringInstrumentsData = new
|
||||
{//计量器具数据
|
||||
useNum = cqmsProjectData.UseNum ?? 0,//计量器具
|
||||
okNum = cqmsProjectData.OKNum ?? 0,//校准合格
|
||||
},
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
return returnData;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return new { success = false, msg = ex.Message };
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 获取质量问题
|
||||
///整改率
|
||||
protected double CRectificationRate;
|
||||
///合格率
|
||||
protected double CQualifiedRate;
|
||||
/// 焊接一次合格率
|
||||
protected double FirstPassRate;
|
||||
/// <summary>
|
||||
/// 获取质量问题
|
||||
/// </summary>
|
||||
private void getCQMSProblem()
|
||||
{
|
||||
CRectificationRate = 0;
|
||||
CQualifiedRate = 0;
|
||||
FirstPassRate = 0;
|
||||
var getJointCheckDetail = from x in Funs.DB.Check_JointCheckDetail
|
||||
join y in Funs.DB.Check_JointCheck on x.JointCheckId equals y.JointCheckId
|
||||
where y.ProjectId == this.ProjectId
|
||||
select x;
|
||||
var getCheckControl = from x in Funs.DB.Check_CheckControl
|
||||
where x.ProjectId == this.ProjectId
|
||||
select x;
|
||||
///问题总数
|
||||
int AllCount = getJointCheckDetail.Count() + getCheckControl.Count();
|
||||
this.divCQMSAllNum.InnerHtml = AllCount.ToString();
|
||||
if (AllCount > 0)
|
||||
{
|
||||
///问题完成数
|
||||
var getJOk = getJointCheckDetail.Where(x => x.State == "6").Count();
|
||||
var getCOk = getCheckControl.Where(x => x.State == "7").Count();
|
||||
int CCount = getJOk + getCOk;
|
||||
this.divCQMSCAllNum.InnerHtml = CCount.ToString();
|
||||
this.divCQMSUCAllNum.InnerHtml = (AllCount - CCount).ToString();
|
||||
if (CCount > 0)
|
||||
{
|
||||
CRectificationRate = Math.Round(CCount * 1.0 / AllCount * 100, 1);
|
||||
}
|
||||
}
|
||||
|
||||
//var getSpotCheckDetail = from x in Funs.DB.Check_SpotCheckDetail
|
||||
// // join z in Funs.DB.Check_SpotCheck on x.SpotCheckCode equals z.SpotCheckCode
|
||||
// join y in Funs.DB.WBS_ControlItemAndCycle on x.ControlItemAndCycleId equals y.ControlItemAndCycleId
|
||||
// where y.ProjectId == this.ProjectId && x.IsOK != null
|
||||
// && y.ControlPoint != "C" && y.ControlPoint != "CR"
|
||||
// //&& z.ProjectId == this.ProjectId
|
||||
// select x;
|
||||
//int AllSpotCount = getSpotCheckDetail.Count();
|
||||
//if (AllSpotCount > 0)
|
||||
//{
|
||||
// int okSpotCount = getSpotCheckDetail.Where(x => x.IsOK == true).Count();
|
||||
// if (okSpotCount > 0)
|
||||
// {
|
||||
// CQualifiedRate = Math.Round(okSpotCount * 1.0 / AllSpotCount * 100, 1);
|
||||
// }
|
||||
//}
|
||||
|
||||
var inspectionManagements = from x in Funs.DB.ProcessControl_InspectionManagement where x.ProjectId == this.ProjectId select x;
|
||||
if (inspectionManagements.Count() > 0)
|
||||
{
|
||||
int okInspectionManagements = inspectionManagements.Where(x => x.IsOnceQualified == true).Count();
|
||||
if (okInspectionManagements > 0)
|
||||
{
|
||||
CQualifiedRate = Math.Round(okInspectionManagements * 1.0 / inspectionManagements.Count() * 100, 1);
|
||||
}
|
||||
}
|
||||
|
||||
///焊接一次合格率
|
||||
var getJots = from x in Funs.DB.HJGL_Batch_NDEItem
|
||||
join y in Funs.DB.HJGL_Batch_BatchTrustItem on x.TrustBatchItemId equals y.TrustBatchItemId
|
||||
join z in Funs.DB.HJGL_Batch_PointBatchItem on y.PointBatchItemId equals z.PointBatchItemId
|
||||
join a in Funs.DB.HJGL_Batch_NDE on x.NDEID equals a.NDEID
|
||||
where z.PointDate != null && z.PointState == "1" && y.RepairRecordId == null
|
||||
&& a.ProjectId == this.ProjectId
|
||||
select x;
|
||||
int allHJCount = getJots.Count();
|
||||
if (allHJCount > 0)
|
||||
{
|
||||
var getOk = getJots.Where(x => x.CheckResult == "1");
|
||||
int okHJCount = getOk.Count();
|
||||
if (okHJCount > 0)
|
||||
{
|
||||
FirstPassRate = Math.Round(okHJCount * 1.0 / allHJCount * 100, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 产值统计
|
||||
protected string SubUnitNames;
|
||||
protected string OutputValues;
|
||||
private void getOutputValues()
|
||||
{
|
||||
SubUnitNames = "[]";
|
||||
OutputValues = "[]";
|
||||
List<string> UnitNameList = new List<string>();
|
||||
List<int> OutputValueList = new List<int>();
|
||||
var getUnits = from x in Funs.DB.Project_ProjectUnit
|
||||
join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
|
||||
where x.ProjectId == this.ProjectId && x.UnitType == Const.ProjectUnitType_2
|
||||
select new { x.UnitId, y.ShortUnitName };
|
||||
if (getUnits.Count() > 0)
|
||||
{
|
||||
Random ro = new Random();
|
||||
foreach (var item in getUnits)
|
||||
{
|
||||
UnitNameList.Add(item.ShortUnitName ?? " ");
|
||||
int OutputValue = ro.Next(100);////获取分包单位产值
|
||||
OutputValueList.Add(OutputValue);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
UnitNameList.Add(" ");
|
||||
OutputValueList.Add(0);
|
||||
}
|
||||
SubUnitNames = JsonConvert.SerializeObject(UnitNameList);
|
||||
OutputValues = JsonConvert.SerializeObject(OutputValueList);
|
||||
}
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// 获取天气
|
||||
/// </summary>
|
||||
private void getWeatherValues()
|
||||
{
|
||||
var getW = WeatherService.GetWeather(this.ProjectId);
|
||||
if (getW != null)
|
||||
{
|
||||
this.divInfo.InnerHtml = getW.WeatherRef;
|
||||
this.divTEMP.InnerHtml = getW.AllTem;
|
||||
this.divHJ1.InnerHtml = getW.CurrTem;
|
||||
this.divHJ3.InnerHtml = getW.Humidity;
|
||||
this.divHJ5.InnerHtml = getW.Power;
|
||||
|
||||
this.divHJ4.InnerHtml = getW.Aqi;
|
||||
this.divHJ6.InnerHtml = getW.Aqi;
|
||||
}
|
||||
}
|
||||
|
||||
#region 风险管控
|
||||
protected string riskData1;
|
||||
protected string riskData2;
|
||||
protected string riskData3;
|
||||
protected string riskData4;
|
||||
/// <summary>
|
||||
/// 获取风险管控
|
||||
/// </summary>
|
||||
private void getHazard()
|
||||
{
|
||||
var getHazards = from x in Funs.DB.Hazard_HazardSelectedItem
|
||||
join y in Funs.DB.Base_RiskLevel on x.HazardLevel equals y.RiskLevelId
|
||||
where x.ProjectId == this.ProjectId
|
||||
select new { x.HazardSelectedItemId, y.RiskLevel };
|
||||
riskData1 = getHazards.Count(x => x.RiskLevel == 1).ToString();
|
||||
riskData2 = getHazards.Count(x => x.RiskLevel == 2).ToString();
|
||||
riskData3 = getHazards.Count(x => x.RiskLevel == 3).ToString();
|
||||
riskData4 = getHazards.Count(x => x.RiskLevel == 4).ToString();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,356 +13,5 @@ namespace FineUIPro.Web.common
|
|||
|
||||
public partial class mainProject
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Head1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlHead Head1;
|
||||
|
||||
/// <summary>
|
||||
/// divSafeWorkTime 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divSafeWorkTime;
|
||||
|
||||
/// <summary>
|
||||
/// divALLPerson 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divALLPerson;
|
||||
|
||||
/// <summary>
|
||||
/// divZYPerson 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divZYPerson;
|
||||
|
||||
/// <summary>
|
||||
/// divGLPerson 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divGLPerson;
|
||||
|
||||
/// <summary>
|
||||
/// divQualityWarningNum 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divQualityWarningNum;
|
||||
|
||||
/// <summary>
|
||||
/// divWorkWarningNum 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divWorkWarningNum;
|
||||
|
||||
/// <summary>
|
||||
/// divMechanicsWarningNum 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divMechanicsWarningNum;
|
||||
|
||||
/// <summary>
|
||||
/// divCQMSWarningNum 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divCQMSWarningNum;
|
||||
|
||||
/// <summary>
|
||||
/// divProjectName 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divProjectName;
|
||||
|
||||
/// <summary>
|
||||
/// divProjectAddress 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divProjectAddress;
|
||||
|
||||
/// <summary>
|
||||
/// divProjectMoney 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divProjectMoney;
|
||||
|
||||
/// <summary>
|
||||
/// divOwnUnit 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divOwnUnit;
|
||||
|
||||
/// <summary>
|
||||
/// divSGUnit 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divSGUnit;
|
||||
|
||||
/// <summary>
|
||||
/// divJLUnit 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divJLUnit;
|
||||
|
||||
/// <summary>
|
||||
/// divProjectDays 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divProjectDays;
|
||||
|
||||
/// <summary>
|
||||
/// divEndDate 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divEndDate;
|
||||
|
||||
/// <summary>
|
||||
/// divRemainingDays 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divRemainingDays;
|
||||
|
||||
/// <summary>
|
||||
/// divCQMSAllNum 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divCQMSAllNum;
|
||||
|
||||
/// <summary>
|
||||
/// divCQMSCAllNum 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divCQMSCAllNum;
|
||||
|
||||
/// <summary>
|
||||
/// divCQMSUCAllNum 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divCQMSUCAllNum;
|
||||
|
||||
/// <summary>
|
||||
/// divIPersonNum 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divIPersonNum;
|
||||
|
||||
/// <summary>
|
||||
/// divDesignNum 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divDesignNum;
|
||||
|
||||
/// <summary>
|
||||
/// divHjPersonNum 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divHjPersonNum;
|
||||
|
||||
/// <summary>
|
||||
/// divTotalDineNum 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divTotalDineNum;
|
||||
|
||||
/// <summary>
|
||||
/// divCompleteDineNum 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divCompleteDineNum;
|
||||
|
||||
/// <summary>
|
||||
/// divTotalFilmNum 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divTotalFilmNum;
|
||||
|
||||
/// <summary>
|
||||
/// divOkFilmNum 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divOkFilmNum;
|
||||
|
||||
/// <summary>
|
||||
/// divAllRectify 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divAllRectify;
|
||||
|
||||
/// <summary>
|
||||
/// divCRectify 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divCRectify;
|
||||
|
||||
/// <summary>
|
||||
/// divUCRectify 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divUCRectify;
|
||||
|
||||
/// <summary>
|
||||
/// divHJ1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divHJ1;
|
||||
|
||||
/// <summary>
|
||||
/// divHJ2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divHJ2;
|
||||
|
||||
/// <summary>
|
||||
/// divHJ6 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divHJ6;
|
||||
|
||||
/// <summary>
|
||||
/// divTEMP 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divTEMP;
|
||||
|
||||
/// <summary>
|
||||
/// divInfo 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divInfo;
|
||||
|
||||
/// <summary>
|
||||
/// divHJ3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divHJ3;
|
||||
|
||||
/// <summary>
|
||||
/// divHJ4 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divHJ4;
|
||||
|
||||
/// <summary>
|
||||
/// divHJ5 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divHJ5;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,874 @@
|
|||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="mainProject_old.aspx.cs" Inherits="FineUIPro.Web.common.mainProject_old" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head id="Head1" 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>首页</title>
|
||||
<link rel="stylesheet" href="../res/css/indexv2.css">
|
||||
<style type="text/css">
|
||||
html {
|
||||
min-height: auto;
|
||||
}
|
||||
|
||||
.pdtb0{
|
||||
padding-top:0 !important;
|
||||
padding-bottom:0 !important;
|
||||
}
|
||||
.swiper-container{
|
||||
width:100%;
|
||||
height:100%;
|
||||
}
|
||||
.flex{
|
||||
display:flex;
|
||||
align-items:center;
|
||||
justify-content:space-between;
|
||||
width:100%;
|
||||
}
|
||||
.flexV{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.content-ul {
|
||||
color: #666;
|
||||
box-sizing: border-box;
|
||||
padding: 10px 0;
|
||||
}
|
||||
|
||||
.content-ul .c-item {
|
||||
cursor:pointer;
|
||||
display: flex;
|
||||
overflow: hidden;
|
||||
max-width: 100%;
|
||||
font-size:12px;
|
||||
height:24px;
|
||||
/* margin-bottom: 8px; */
|
||||
}
|
||||
|
||||
.content-ul .c-item:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.content-ul .c-item .tit {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
float: left;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
word-break: keep-all;
|
||||
display:flex;
|
||||
align-items:center;
|
||||
}
|
||||
|
||||
.content-ul .c-item .time {
|
||||
width: 90px;
|
||||
float: right;
|
||||
}
|
||||
|
||||
.text-ellipsis {
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
word-break: keep-all;
|
||||
}
|
||||
|
||||
</style>
|
||||
<style type="text/css">
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script src="../res/lib/flexlib.js"></script>
|
||||
|
||||
|
||||
<div id="wrap">
|
||||
<div class="left">
|
||||
<div class="items">
|
||||
<div class="title">安全数据统计</div>
|
||||
<div class="statistics">
|
||||
<div class="statistics-label">安全人工时</div>
|
||||
<div class="statistics-nub" id="divSafeWorkTime" runat="server">00000000000</div>
|
||||
</div>
|
||||
<div class="service" style="padding-top:0">
|
||||
<div class="boxs">
|
||||
<div class="box">
|
||||
<p>当前现场人数</p>
|
||||
<p id="divALLPerson" runat="server">0</p>
|
||||
</div>
|
||||
<div class="box">
|
||||
<p>作业人员总数</p>
|
||||
<p id="divZYPerson" runat="server">0</p>
|
||||
</div>
|
||||
<div class="box">
|
||||
<p>管理人员总数</p>
|
||||
<p id="divGLPerson" runat="server">0</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="items">
|
||||
<div class="title">风险分级</div>
|
||||
<div class="risk">
|
||||
<div id="riskMap"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="items">
|
||||
<div class="title">资质预警</div>
|
||||
<div class="predict">
|
||||
<div class="box">
|
||||
<div class="box-item">
|
||||
<img src="../res/images/02/10zzyj.png">
|
||||
<div class="item-text">
|
||||
<span id="divQualityWarningNum" runat="server">0</span>
|
||||
<span>资质预警</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="box-item box-right">
|
||||
<img src="../res/images/02/10zzyj.png">
|
||||
<div class="item-text">
|
||||
<span runat="server" id="divWorkWarningNum">0</span>
|
||||
<span>证书预警</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="box-item">
|
||||
<img src="../res/images/02/10zzyj.png">
|
||||
<div class="item-text">
|
||||
<span runat="server" id="divMechanicsWarningNum">0</span>
|
||||
<span>机械预警</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="box-item box-right">
|
||||
<img src="../res/images/02/10zzyj.png">
|
||||
<div class="item-text">
|
||||
<span runat="server" id="divCQMSWarningNum">0</span>
|
||||
<span>质量预警</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="center">
|
||||
<div class="items1">
|
||||
<div class="title">工程概况</div>
|
||||
<div class="general">
|
||||
<div class="general-i">
|
||||
<ul>
|
||||
<li>
|
||||
<p class="label">工程名称:</p>
|
||||
<p class="val" id="divProjectName" runat="server"></p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="label">工程地点:</p>
|
||||
<p class="val" id="divProjectAddress" runat="server"></p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="label">工程造价:</p>
|
||||
<p class="val" id="divProjectMoney" runat="server">万元</p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="label">建设单位:</p>
|
||||
<p class="val" id="divOwnUnit" runat="server"></p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="label">施工单位:</p>
|
||||
<p class="val" runat="server" id="divSGUnit"></p>
|
||||
</li>
|
||||
<li>
|
||||
<p class="label"> 监理单位:</p>
|
||||
<p class="val" id="divJLUnit" runat="server"></p>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
<div class="general-i">
|
||||
<div class="project" id="divProjectImg">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="general-i">
|
||||
<div class="boxs">
|
||||
<div class="box">
|
||||
<div class="box-label">合同总工期</div>
|
||||
<div class="box-val pact" id="divProjectDays" runat="server">0<span>天</span></div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="box-label">合同到期时间</div>
|
||||
<div class="box-val time" id="divEndDate" runat="server"></div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="box-label">距竣工剩余</div>
|
||||
<div class="box-val residue" id="divRemainingDays" runat="server">0<span>天</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="items1">
|
||||
<div class="title">质量统计</div>
|
||||
<div class="quality">
|
||||
<div class="boxs">
|
||||
<div class="boxs-label"><span>问题总数</span><span
|
||||
style="color:#00FFFF;" id="divCQMSAllNum" runat="server">0</span><span>个</span></div>
|
||||
<div id="issueMap"></div>
|
||||
</div>
|
||||
<div class="boxs">
|
||||
<div class="boxs-label"><span>已完成</span><span style="color:#15EDBB;" id="divCQMSCAllNum" runat="server">0</span><span>个</span>
|
||||
</div>
|
||||
<div id="finishMap"></div>
|
||||
</div>
|
||||
<div class="boxs">
|
||||
<div class="boxs-label"><span>未完成</span><span style="color:#F24166;" id="divCQMSUCAllNum" runat="server">0</span><span>个</span>
|
||||
</div>
|
||||
<div id="unfinishedMap"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="display:flex;flex-direction:row;justify-content:space-between" >
|
||||
<div class="items">
|
||||
<div class="title">质量培训</div>
|
||||
<div class="plan">
|
||||
<div class="zlpxsj-wrap">
|
||||
<div class="zlpxsj">
|
||||
<div class="left">
|
||||
<div class="num" id="divIPersonNum" runat="server">0</div>
|
||||
<div class="desc">质量培训人次数</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="num" id="divDesignNum" runat="server">0</div>
|
||||
<div class="desc">技术交底人次数</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="items">
|
||||
<div class="title">焊接数据</div>
|
||||
<div class="plan">
|
||||
<div class="sbrc-item">
|
||||
<div class="sbrci-bigTit">
|
||||
<div class="sbig-left">
|
||||
<div class="first">焊工</div>
|
||||
<div>总数</div>
|
||||
</div>
|
||||
<div class="sbig-right" id="divHjPersonNum" runat="server">0</div>
|
||||
</div>
|
||||
<div class="sbrci-list">
|
||||
<div class="item">
|
||||
<div class="item-c">
|
||||
<div class="num" id="divTotalDineNum" runat="server">0</div>
|
||||
<div class="desc">总达因数</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div class="item-c">
|
||||
<div class="num" id="divCompleteDineNum" runat="server">0</div>
|
||||
<div class="desc">完成达因数</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div class="item-c">
|
||||
<div class="num" id="divTotalFilmNum" runat="server">0</div>
|
||||
<div class="desc">总片数</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div class="item-c">
|
||||
<div class="num" id="divOkFilmNum" runat="server">0</div>
|
||||
<div class="desc">合格片数</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="items">
|
||||
<div class="title">安全隐患整改单</div>
|
||||
<div class="statistics">
|
||||
<div class="boxs">
|
||||
<div class="box">
|
||||
<span style="color:#00FFFF;" runat="server" id="divAllRectify">0</span>
|
||||
<img src="../res/images/02/07aqtj01.png">
|
||||
<span>总数(个)</span>
|
||||
</div>
|
||||
<div class="box">
|
||||
<span style="color:#15EDBB;" runat="server" id="divCRectify">0</span>
|
||||
<img src="../res/images/02/08aqtj02.png">
|
||||
<span>已完成(个)</span>
|
||||
</div>
|
||||
<div class="box">
|
||||
<span style="color:#F24166;" runat="server" id="divUCRectify">0</span>
|
||||
<img src="../res/images/02/09aqtj03.png">
|
||||
<span>未完成(个)</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="items">
|
||||
<div class="title">环境监测</div>
|
||||
<div class="env">
|
||||
<div class="boxs">
|
||||
<div class="box-column">
|
||||
<div class="box">
|
||||
<div class="left">
|
||||
<p>温度<span>℃</span></p>
|
||||
<img src="../res/images/02/37.png">
|
||||
</div>
|
||||
<div class="num" style="color: #CFC782;" id="divHJ1" runat="server">0</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="left">
|
||||
<p>噪音<span>db</span></p>
|
||||
<img src="../res/images/02/33zy.png">
|
||||
</div>
|
||||
<div class="num" style="color: #CFC782;margin-left:0;" id="divHJ2" runat="server">0</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="left">
|
||||
<p>湿度<span>%rh</span></p>
|
||||
<img src="../res/images/02/31sd.png">
|
||||
</div>
|
||||
<div class="num" style="color: #CFC782;" id="divHJ6" runat="server">0</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="env_center">
|
||||
<img width="46px" height="46px" src="../res/images/02/35pm10.png">
|
||||
<p id="divTEMP" runat="server"><span>℃</span></p>
|
||||
<p class="d" runat="server" id="divInfo">多云</p>
|
||||
</div>
|
||||
<div class="box-column box-column1">
|
||||
<div class="box">
|
||||
<div class="num" style="color: #CFC782;" id="divHJ3" runat="server">0</div>
|
||||
<div class="left">
|
||||
<p>PM2.5<span></span></p>
|
||||
<img src="../res/images/02/34pm25.png">
|
||||
</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="num" style="color: #CFC782;margin-right:0;" id="divHJ4" runat="server">0</div>
|
||||
<div class="left">
|
||||
<p>风速<span>km/h</span></p>
|
||||
<img src="../res/images/02/32fs.png">
|
||||
</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="num" style="color: #CFC782;" id="divHJ5" runat="server">0</div>
|
||||
<div class="left">
|
||||
<p>PM10<span</span></p>
|
||||
<img src="../res/images/02/35pm10.png">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="items">
|
||||
<div class="title">劳务数据</div>
|
||||
<div id="serviceMap">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<script src="../res/lib/echarts.min.js"></script>
|
||||
<script src="../res/lib/china.js"></script>
|
||||
<script src="../res/js/optionV2.js"></script>
|
||||
<script src="../res/lib/jquery.js"></script>
|
||||
<script>
|
||||
// // 人员统计 在岗率初始化
|
||||
// var guardMap = echarts.init(document.getElementById('onGuardMap'));
|
||||
// guardMap.setOption(guardOption)
|
||||
|
||||
// 风险分级
|
||||
let riskData1 = [
|
||||
{ value: <%=riskData4%>, name: '四级/重大风险', label: { color: '#FF7473' }, itemStyle: { color: '#FF7473' }, labelLine: { lineStyle: { color: '#FF7473' } } },
|
||||
{ value: <%=riskData1%>, name: '一级/低风险', label: { color: '#5C5AFF' }, itemStyle: { color: '#5C5AFF' }, labelLine: { lineStyle: { color: '#5C5AFF' } } },
|
||||
{ value: <%=riskData2%>, name: '三级/较大风险', label: { color: '#FFA502' }, itemStyle: { color: '#FFA502' }, labelLine: { lineStyle: { color: '#FFA502' } } },
|
||||
{ value: <%=riskData3%>, name: '二级/一般风险', label: { color: '#E7EA2E' }, itemStyle: { color: '#E7EA2E' }, labelLine: { lineStyle: { color: '#E7EA2E' } } },
|
||||
]
|
||||
let riskOption1 = {
|
||||
tooltip: {
|
||||
trigger: 'item'
|
||||
},
|
||||
series: [
|
||||
{
|
||||
type: 'pie',
|
||||
radius: ['20%', '60%'],
|
||||
center: ['50%', '50%'],
|
||||
label: {
|
||||
formatter: '{b}\n{c}'
|
||||
},
|
||||
data: riskData1.sort(function (a, b) {
|
||||
return a.value - b.value;
|
||||
}),
|
||||
roseType: 'radius',
|
||||
|
||||
animationType: 'scale',
|
||||
animationEasing: 'elasticOut',
|
||||
animationDelay: function (idx) {
|
||||
return Math.random() * 200;
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
var riskMap = echarts.init(document.getElementById('riskMap'));
|
||||
riskMap.setOption(riskOption1)
|
||||
|
||||
// 劳务数据
|
||||
// X轴数据
|
||||
var laborId_xAxisData = JSON.parse('<%=WorkPostS %>')
|
||||
var laborId_data1 = JSON.parse('<%=InPostCounts %>')
|
||||
var laborId_data2 = JSON.parse('<%=InDutyCounts %>')
|
||||
// Y轴数据
|
||||
var laborId_series = [{
|
||||
name: '在岗',
|
||||
type: 'bar',
|
||||
barWidth: 26,
|
||||
data: laborId_data1,
|
||||
},
|
||||
{
|
||||
name: '在场',
|
||||
type: 'bar',
|
||||
barWidth: 26,
|
||||
data: laborId_data2,
|
||||
barGap: '-100%',
|
||||
}]
|
||||
|
||||
|
||||
var option = {
|
||||
color: ['#d0f5ec', '#12cda2'],
|
||||
grid: {
|
||||
top: '10%',
|
||||
left: '0%',
|
||||
right: '0%',
|
||||
bottom: '3%',
|
||||
containLabel: true
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
showDelay: 0,
|
||||
axisPointer: {
|
||||
type: 'shadow'
|
||||
}
|
||||
},
|
||||
xAxis: {
|
||||
data: laborId_xAxisData,
|
||||
axisLabel: {
|
||||
interval: 0,
|
||||
color: '#179eb3',
|
||||
},
|
||||
axisTick: {
|
||||
show: false,
|
||||
},
|
||||
axisLine: {
|
||||
onZero: true,
|
||||
lineStyle: {
|
||||
color: '#179eb3',
|
||||
width: 1,
|
||||
}
|
||||
},
|
||||
boundaryGap: true
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
axisLabel: {
|
||||
show: true,
|
||||
color: '#179eb3',
|
||||
},
|
||||
axisTick: {
|
||||
show: false,
|
||||
},
|
||||
axisLine: {
|
||||
show: true,
|
||||
onZero: false,
|
||||
lineStyle: {
|
||||
color: '#179eb3',
|
||||
width: 1,
|
||||
}
|
||||
},
|
||||
splitLine: {
|
||||
show: true,
|
||||
lineStyle: {
|
||||
type: 'dashed',
|
||||
color: '#0D3C65',
|
||||
},
|
||||
},
|
||||
splitNumber: 5,
|
||||
},
|
||||
series: laborId_series
|
||||
};
|
||||
if (laborId_xAxisData.length > 5) {
|
||||
option.dataZoom = [{
|
||||
type: 'slider',
|
||||
show: true,
|
||||
startValue: 0,
|
||||
endValue: 4,
|
||||
height: '3',
|
||||
backgroundColor: 'rgba(47,69,84,0)',
|
||||
fillerColor: 'rgba(47,69,84,0)',
|
||||
bottom: '0%',
|
||||
zoomLock: true,
|
||||
moveOnMouseWheel: true,
|
||||
brushSelect: true,
|
||||
showDetail: false,
|
||||
}]
|
||||
}
|
||||
var safeMap = echarts.init(document.getElementById('serviceMap'));
|
||||
option && safeMap.setOption(option)
|
||||
|
||||
|
||||
|
||||
|
||||
// var riskMap = echarts.init(document.getElementById('riskMap'));
|
||||
// riskMap.setOption(riskOption)
|
||||
let issueData1 = [
|
||||
{
|
||||
value: <%=CRectificationRate%>
|
||||
}
|
||||
];
|
||||
let issueOption1 = {
|
||||
title: {
|
||||
text: '整改率',
|
||||
textStyle: {
|
||||
color: '#FFA600 ',
|
||||
fontSize: 0.7368 * basePx,
|
||||
},
|
||||
bottom: 0,
|
||||
left: 'center'
|
||||
},
|
||||
series: [
|
||||
{
|
||||
type: 'gauge',
|
||||
startAngle: 225,
|
||||
endAngle: -45,
|
||||
progress: {
|
||||
show: true,
|
||||
overlap: false,
|
||||
roundCap: true,
|
||||
clip: false,
|
||||
lineStyle: {
|
||||
|
||||
}
|
||||
},
|
||||
pointer: { // 时针
|
||||
show: false
|
||||
},
|
||||
splitLine: {
|
||||
show: false,
|
||||
distance: 0,
|
||||
length: 0.5263 * basePx
|
||||
},
|
||||
axisLine: {
|
||||
roundCap: false,
|
||||
lineStyle: {
|
||||
width: 0.8421 * basePx,
|
||||
color: [[1, '#0E3668']]
|
||||
}
|
||||
},
|
||||
axisTick: { // 刻度
|
||||
show: false
|
||||
},
|
||||
axisLabel: {
|
||||
show: false,
|
||||
distance: 2.6316 * basePx,
|
||||
},
|
||||
itemStyle: {
|
||||
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
{ offset: 0, color: '#EB9002' },
|
||||
{ offset: 1, color: '#404745' }
|
||||
]),
|
||||
},
|
||||
title: {
|
||||
show: true,
|
||||
offsetCenter: [0, '75%'],
|
||||
width: 1.5789 * basePx,
|
||||
height: 0.2632 * basePx,
|
||||
borderRadius: 0.1053 * basePx,
|
||||
shadowBlur: 0.1579 * basePx,
|
||||
shadowColor: '#C88621',
|
||||
backgroundColor: '#C88621',
|
||||
},
|
||||
detail: {
|
||||
fontSize: 1.5789 * basePx,
|
||||
color: '#B78021',
|
||||
formatter: '{value}{a|%}',
|
||||
offsetCenter: [0, 0],
|
||||
rich: {
|
||||
a: {
|
||||
fontSize: 0.8421 * basePx,
|
||||
color: '#B78021'
|
||||
}
|
||||
}
|
||||
},
|
||||
data: issueData1
|
||||
}
|
||||
]
|
||||
};
|
||||
var issueMap = echarts.init(document.getElementById('issueMap'));
|
||||
issueMap.setOption(issueOption1)
|
||||
|
||||
let finishData1 = [
|
||||
{
|
||||
value: <%=CQualifiedRate%>
|
||||
}
|
||||
];
|
||||
let finishOption1 = {
|
||||
title: {
|
||||
text: '合格率',
|
||||
textStyle: {
|
||||
color: '#15EDBB ',
|
||||
fontSize: 0.7368 * basePx,
|
||||
},
|
||||
bottom: 0,
|
||||
left: 'center'
|
||||
},
|
||||
series: [
|
||||
{
|
||||
type: 'gauge',
|
||||
startAngle: 225,
|
||||
endAngle: -45,
|
||||
progress: {
|
||||
show: true,
|
||||
overlap: false,
|
||||
roundCap: true,
|
||||
clip: false,
|
||||
lineStyle: {
|
||||
|
||||
}
|
||||
},
|
||||
pointer: { // 时针
|
||||
show: false
|
||||
},
|
||||
splitLine: {
|
||||
show: false,
|
||||
distance: 0,
|
||||
length: 10
|
||||
},
|
||||
axisLine: {
|
||||
roundCap: false,
|
||||
lineStyle: {
|
||||
width: 0.8421 * basePx,
|
||||
color: [[1, '#0E3668']]
|
||||
}
|
||||
},
|
||||
axisTick: { // 刻度
|
||||
show: false
|
||||
},
|
||||
axisLabel: {
|
||||
show: false,
|
||||
distance: 2.6316 * basePx,
|
||||
},
|
||||
itemStyle: {
|
||||
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
{ offset: 0, color: '#01D4D4' },
|
||||
{ offset: 1, color: '#026974' }
|
||||
]),
|
||||
},
|
||||
title: {
|
||||
show: true,
|
||||
offsetCenter: [0, '75%'],
|
||||
width: 1.5789 * basePx,
|
||||
height: 0.2632 * basePx,
|
||||
borderRadius: 0.1053 * basePx,
|
||||
shadowBlur: 0.1579 * basePx,
|
||||
shadowColor: '#15EDBB ',
|
||||
backgroundColor: '#15EDBB ',
|
||||
},
|
||||
detail: {
|
||||
fontSize: 1.5789 * basePx,
|
||||
color: '#15EDBB ',
|
||||
formatter: '{value}{a|%}',
|
||||
offsetCenter: [0, 0],
|
||||
rich: {
|
||||
a: {
|
||||
fontSize: 0.8421 * basePx,
|
||||
color: '#15EDBB '
|
||||
}
|
||||
}
|
||||
},
|
||||
data: finishData1
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
var finishMap = echarts.init(document.getElementById('finishMap'));
|
||||
finishMap.setOption(finishOption1)
|
||||
|
||||
|
||||
let unfinishedData1 = [
|
||||
{
|
||||
value: <%=FirstPassRate%>
|
||||
}
|
||||
];
|
||||
let unfinishedOption1 = {
|
||||
title: {
|
||||
text: '焊接一次合格率',
|
||||
textStyle: {
|
||||
color: '#15EDBB ',
|
||||
fontSize: 0.7368 * basePx,
|
||||
},
|
||||
bottom: 0,
|
||||
left: 'center'
|
||||
},
|
||||
series: [
|
||||
{
|
||||
type: 'gauge',
|
||||
startAngle: 225,
|
||||
endAngle: -45,
|
||||
progress: {
|
||||
show: true,
|
||||
overlap: false,
|
||||
roundCap: true,
|
||||
clip: false,
|
||||
lineStyle: {
|
||||
|
||||
}
|
||||
},
|
||||
pointer: { // 时针
|
||||
show: false
|
||||
},
|
||||
splitLine: {
|
||||
show: false,
|
||||
distance: 0,
|
||||
length: 10
|
||||
},
|
||||
axisLine: {
|
||||
roundCap: false,
|
||||
lineStyle: {
|
||||
width: 0.8421 * basePx,
|
||||
color: [[1, '#0E3668']]
|
||||
}
|
||||
},
|
||||
axisTick: { // 刻度
|
||||
show: false
|
||||
},
|
||||
axisLabel: {
|
||||
show: false,
|
||||
distance: 2.6316 * basePx,
|
||||
},
|
||||
itemStyle: {
|
||||
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
{ offset: 0, color: '#01D4D4' },
|
||||
{ offset: 1, color: '#026974' }
|
||||
]),
|
||||
},
|
||||
title: {
|
||||
show: true,
|
||||
offsetCenter: [0, '75%'],
|
||||
width: 1.5789 * basePx,
|
||||
height: 0.2632 * basePx,
|
||||
borderRadius: 0.1053 * basePx,
|
||||
shadowBlur: 0.1579 * basePx,
|
||||
shadowColor: '#15EDBB ',
|
||||
backgroundColor: '#15EDBB ',
|
||||
},
|
||||
detail: {
|
||||
fontSize: 1.5789 * basePx,
|
||||
color: '#15EDBB ',
|
||||
formatter: '{value}{a|%}',
|
||||
offsetCenter: [0, 0],
|
||||
rich: {
|
||||
a: {
|
||||
fontSize: 0.8421 * basePx,
|
||||
color: '#15EDBB '
|
||||
}
|
||||
}
|
||||
},
|
||||
data: unfinishedData1
|
||||
}
|
||||
]
|
||||
};
|
||||
var unfinishedMap = echarts.init(document.getElementById('unfinishedMap'));
|
||||
unfinishedMap.setOption(unfinishedOption1)
|
||||
</script>
|
||||
<script>
|
||||
|
||||
// 获取url请求参数
|
||||
function getUrlParam(name) {
|
||||
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
|
||||
var r = window.location.search.substr(1).match(reg); //匹配目标参数
|
||||
if (r != null) return unescape(r[2]); return null; //返回参数值
|
||||
}
|
||||
|
||||
// 切换全屏
|
||||
$('.magnify').click(function () {
|
||||
const element = document.documentElement
|
||||
if (document.fullscreenElement) {
|
||||
// 如果浏览器有这个Function
|
||||
if (document.exitFullscreen) {
|
||||
document.exitFullscreen()
|
||||
} else if (document.webkitCancelFullScreen) {
|
||||
document.webkitCancelFullScreen()
|
||||
} else if (document.mozCancelFullScreen) {
|
||||
document.mozCancelFullScreen()
|
||||
} else if (document.msExitFullscreen) {
|
||||
document.msExitFullscreen()
|
||||
}
|
||||
} else {
|
||||
// 如果浏览器有这个Function
|
||||
if (element.requestFullscreen) {
|
||||
element.requestFullscreen()
|
||||
} else if (element.webkitRequestFullScreen) {
|
||||
element.webkitRequestFullScreen()
|
||||
} else if (element.mozRequestFullScreen) {
|
||||
element.mozRequestFullScreen()
|
||||
} else if (element.msRequestFullscreen) {
|
||||
element.msRequestFullscreen()
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
// 监听全屏变化
|
||||
window.onresize = function () {
|
||||
if (document.fullscreenElement) {
|
||||
$('.nav-center').hide();
|
||||
$('.magnify').text('退出全屏');
|
||||
} else {
|
||||
$('.nav-center').show();
|
||||
$('.magnify').text('全屏');
|
||||
}
|
||||
}
|
||||
|
||||
// 选择项目
|
||||
$('.selected').click(function () {
|
||||
$('.selectedVal').toggle();
|
||||
})
|
||||
|
||||
$('.selectedVal>li').click(function () {
|
||||
$('.selected>span').text($('.selectedVal>li').text()).attr('title', $('.selectedVal>li').text());
|
||||
})
|
||||
|
||||
|
||||
var divProjectImg = '<%=divProjectImg %>'
|
||||
|
||||
function getUnitValues() {
|
||||
$("#divProjectImg").css("background", "url('" + divProjectImg + "') center/100% 100% no-repeat ");
|
||||
}
|
||||
getUnitValues();
|
||||
</script>
|
||||
|
|
@ -0,0 +1,525 @@
|
|||
using BLL;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
|
||||
namespace FineUIPro.Web.common
|
||||
{
|
||||
public partial class mainProject_old : PageBase
|
||||
{
|
||||
#region 项目ID
|
||||
/// <summary>
|
||||
/// 项目ID
|
||||
/// </summary>
|
||||
public string ProjectId
|
||||
{
|
||||
get
|
||||
{
|
||||
return (string)ViewState["ProjectId"];
|
||||
}
|
||||
set
|
||||
{
|
||||
ViewState["ProjectId"] = value;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
this.ProjectId = string.Empty;
|
||||
if (this.CurrUser != null)
|
||||
{
|
||||
this.ProjectId = this.CurrUser.LoginProjectId;
|
||||
}
|
||||
/// 获取安全人工时
|
||||
getPersonWorkTime();
|
||||
///劳务统计
|
||||
getSitePerson();
|
||||
///项目概况
|
||||
getProjectInfo();
|
||||
/// 获取质量问题
|
||||
getCQMSProblem();
|
||||
////ToDO 资质取数
|
||||
this.divQualityWarningNum.InnerHtml = (from x in Funs.DB.QualityAudit_PersonQuality
|
||||
join y in Funs.DB.SitePerson_Person on x.PersonId equals y.PersonId
|
||||
where y.ProjectId == this.ProjectId && y.IsUsed == true && x.LimitDate < DateTime.Now
|
||||
select x).Count().ToString();
|
||||
///产值
|
||||
getOutputValues();
|
||||
///获取天气
|
||||
getWeatherValues();
|
||||
/// 获取风险管控
|
||||
getHazard();
|
||||
|
||||
//获取质量培训人数
|
||||
getIPersonNum();
|
||||
//获取技术交底人数
|
||||
getDesignNum();
|
||||
//获取焊工总数
|
||||
getHJPersonNum();
|
||||
//获取总达因数、完成达因数、总片数、合格片数
|
||||
getTotalDineNum();
|
||||
getCompleteDineNum();
|
||||
getTotalFilmNum();
|
||||
getOkFilmNum();
|
||||
}
|
||||
}
|
||||
#region 质量培训人数
|
||||
private void getIPersonNum()
|
||||
{
|
||||
var IPersonNum = Funs.DB.Comprehensive_InspectionPerson
|
||||
.Where(x => x.IsTrain == true && x.ProjectId == this.ProjectId).Count();
|
||||
this.divIPersonNum.InnerHtml = IPersonNum.ToString();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 技术交底人数
|
||||
private void getDesignNum()
|
||||
{
|
||||
var DesignNum = Funs.DB.Comprehensive_DesignDetails
|
||||
.Where(x => x.ProjectId == this.ProjectId).Select(x => x.JoinPersonNum).ToList().Sum();
|
||||
this.divDesignNum.InnerHtml = DesignNum.ToString();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 焊工总数
|
||||
private void getHJPersonNum()
|
||||
{
|
||||
var HjPersonNum = Funs.DB.BS_Welder.Where(x => x.ProjectId == this.ProjectId && x.WED_IfOnGuard == true)
|
||||
.Count();
|
||||
this.divHjPersonNum.InnerHtml = HjPersonNum.ToString();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 总达因数、完成达因数、总片数、合格片数
|
||||
/// <summary>
|
||||
/// 总达因数
|
||||
/// </summary>
|
||||
private void getTotalDineNum()
|
||||
{
|
||||
this.divTotalDineNum.InnerHtml = Project_HJGLData_HJGLService.GetTotalDineNum(this.ProjectId).ToString();
|
||||
}
|
||||
/// <summary>
|
||||
/// 完成达因数
|
||||
/// </summary>
|
||||
private void getCompleteDineNum()
|
||||
{
|
||||
this.divCompleteDineNum.InnerHtml = Project_HJGLData_HJGLService.GetCompleteDineNum(this.ProjectId).ToString();
|
||||
}
|
||||
/// <summary>
|
||||
/// 总片数
|
||||
/// </summary>
|
||||
private void getTotalFilmNum()
|
||||
{
|
||||
this.divTotalFilmNum.InnerHtml = Project_HJGLData_HJGLService.GetTotalFilmNum(this.ProjectId).ToString();
|
||||
}
|
||||
/// <summary>
|
||||
/// 合格片数
|
||||
/// </summary>
|
||||
private void getOkFilmNum()
|
||||
{
|
||||
this.divOkFilmNum.InnerHtml = Project_HJGLData_HJGLService.GetOKFilmNum(this.ProjectId).ToString();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 待办事项
|
||||
protected string swiper_One
|
||||
{
|
||||
get
|
||||
{
|
||||
var getDataList = Funs.DB.Sp_APP_GetToDoItems(this.CurrUser.LoginProjectId, CurrUser.UserId).ToList();
|
||||
string strNoticeHtml = string.Empty;
|
||||
foreach (var item in getDataList)
|
||||
{
|
||||
string url = item.PCUrl;
|
||||
strNoticeHtml += "<li data-id=\"" + url + "\" notice-id=\"" + item.DataId + "\" class=\"c-item swiper-slide\"><div class=\"tit\" title=\"" + item.MenuName + "\"><div class=\"flex\" ><div class=\"tit-t flex1\">" + item.MenuName + "</div><div class=\"tit-v\">" + string.Format("{0:yyyy-MM-dd}", item.DataTime) + "</div></div></div></li>";
|
||||
}
|
||||
return "<ul class=\"content-ul swiper-wrapper\">" + strNoticeHtml + "</ul>";
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 安全人工时
|
||||
/// <summary>
|
||||
/// 获取安全人工时
|
||||
/// </summary>
|
||||
private void getPersonWorkTime()
|
||||
{
|
||||
this.divSafeWorkTime.InnerHtml = "0000000000";
|
||||
var getMax = from x in Funs.DB.SitePerson_DayReportDetail
|
||||
join y in Funs.DB.SitePerson_DayReport on x.DayReportId equals y.DayReportId
|
||||
where y.ProjectId == this.CurrUser.LoginProjectId
|
||||
select x;
|
||||
int wHours = 0;
|
||||
if (getMax.Count() > 0)
|
||||
{
|
||||
wHours = Convert.ToInt32(getMax.Sum(x => x.PersonWorkTime) ?? 0);
|
||||
}
|
||||
if (wHours > 0)
|
||||
{
|
||||
this.divSafeWorkTime.InnerHtml = ((wHours % 100000000) / 10000000).ToString() + ((wHours % 10000000) / 1000000).ToString() + ((wHours % 1000000) / 100000).ToString()
|
||||
+ ((wHours % 100000) / 10000).ToString() + ((wHours % 10000) / 1000).ToString() + ((wHours % 1000) / 100).ToString() + ((wHours % 100) / 10).ToString() + (wHours % 10).ToString();
|
||||
}
|
||||
|
||||
///整改单
|
||||
var getRectify = from x in Funs.DB.Check_RectifyNotices
|
||||
where x.ProjectId == this.ProjectId && x.States != Const.State_0 && x.States != null
|
||||
select x;
|
||||
int allcout = getRectify.Count();
|
||||
if (allcout > 0)
|
||||
{
|
||||
this.divAllRectify.InnerHtml = allcout.ToString();
|
||||
int ccount = getRectify.Where(x => x.States == Const.State_5).Count();
|
||||
this.divCRectify.InnerHtml = ccount.ToString();
|
||||
this.divUCRectify.InnerHtml = (allcout - ccount).ToString();
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 劳务统计
|
||||
protected string WorkPostS;
|
||||
protected string InPostCounts;
|
||||
protected string InDutyCounts;
|
||||
/// <summary>
|
||||
/// 劳务统计
|
||||
/// </summary>
|
||||
private void getSitePerson()
|
||||
{
|
||||
int AllCount = 0;
|
||||
int MCount = 0;
|
||||
//var getallin = APIPageDataService.getPersonInOutNum(this.ProjectId, DateTime.Now.AddDays(-1));
|
||||
DateTime dateValue = DateTime.Now.AddDays(-1);
|
||||
List<Model.PageDataPersonInOutItem> getallin = new List<Model.PageDataPersonInOutItem>();
|
||||
var getInMaxs = from x in Funs.DB.SitePerson_Person
|
||||
join y in Funs.DB.Base_WorkPost on x.WorkPostId equals y.WorkPostId
|
||||
where x.ProjectId == this.CurrUser.LoginProjectId && x.IsUsed == true
|
||||
select new Model.PageDataPersonInOutItem
|
||||
{
|
||||
PersonId = x.PersonId,
|
||||
PostType = y.PostType,
|
||||
WorkPostId = x.WorkPostId,
|
||||
};
|
||||
if (getInMaxs.Count() > 0)
|
||||
{
|
||||
getallin = getInMaxs.Distinct().ToList();
|
||||
}
|
||||
AllCount = getallin.Count();
|
||||
if (AllCount > 0)
|
||||
{
|
||||
this.divALLPerson.InnerHtml = AllCount.ToString();
|
||||
MCount = getallin.Where(x => x.PostType == Const.PostType_1).Count();
|
||||
/////管理人数
|
||||
this.divGLPerson.InnerHtml = MCount.ToString();
|
||||
/////作业人数
|
||||
this.divZYPerson.InnerHtml = (AllCount - MCount).ToString();
|
||||
}
|
||||
|
||||
WorkPostS = "[]";
|
||||
InPostCounts = "[]";
|
||||
InDutyCounts = "[]";
|
||||
List<int> InPostCountList = new List<int>();
|
||||
List<int> InDutyCountList = new List<int>();
|
||||
List<string> worksList = new List<string>();
|
||||
//if (this.CurrUser.UserId != Const.hfnbdId)
|
||||
//{
|
||||
var getPersons = Funs.DB.SitePerson_Person.Where(x => x.ProjectId == this.ProjectId && x.IsUsed == true && x.InTime <= DateTime.Now
|
||||
&& !x.OutTime.HasValue);
|
||||
if (getPersons.Count() > 0)
|
||||
{
|
||||
var getWorkIds = getPersons.Where(x => x.WorkPostId != null).Select(x => x.WorkPostId).Distinct();
|
||||
if (getWorkIds.Count() > 0)
|
||||
{
|
||||
foreach (var item in getWorkIds)
|
||||
{
|
||||
worksList.Add(WorkPostService.getWorkPostNameById(item));
|
||||
int isPost = getPersons.Where(x => x.WorkPostId == item).Count();
|
||||
InPostCountList.Add(isPost);
|
||||
int inDuty = 0;
|
||||
if (getallin.Count() > 0)
|
||||
{
|
||||
inDuty = getallin.Where(x => x.WorkPostId == item).Count();
|
||||
}
|
||||
InDutyCountList.Add(inDuty);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
worksList.Add(" ");
|
||||
InPostCountList.Add(0);
|
||||
InDutyCountList.Add(0);
|
||||
}
|
||||
//}
|
||||
|
||||
WorkPostS = JsonConvert.SerializeObject(worksList);
|
||||
InPostCounts = JsonConvert.SerializeObject(InPostCountList);
|
||||
InDutyCounts = JsonConvert.SerializeObject(InDutyCountList);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 项目概况
|
||||
protected string divProjectNameTitle;
|
||||
protected string divProjectAddressTitle;
|
||||
protected string divProjectMoneyTitle;
|
||||
protected string divOwnUnitTitle;
|
||||
protected string divSGUnitTitle;
|
||||
protected string divJLUnitTitle;
|
||||
protected string divProjectImg;
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
private void getProjectInfo()
|
||||
{
|
||||
divProjectNameTitle = "";
|
||||
divProjectAddressTitle = "";
|
||||
divProjectMoneyTitle = "";
|
||||
divOwnUnitTitle = "";
|
||||
divSGUnitTitle = "";
|
||||
divJLUnitTitle = "";
|
||||
divProjectImg = "../res/indexv2/assets/image/index6/center-bg.jpeg";
|
||||
var project = ProjectService.GetProjectByProjectId(this.ProjectId);
|
||||
if (project != null)
|
||||
{
|
||||
this.divProjectName.InnerHtml = project.ShortName;
|
||||
divProjectNameTitle = project.ProjectName;
|
||||
if (!string.IsNullOrEmpty(project.ProjectAddress))
|
||||
{
|
||||
this.divProjectAddress.InnerHtml = project.ProjectAddress.Length > 8 ? project.ProjectAddress.Substring(0, 8) + "..." : project.ProjectAddress;
|
||||
divProjectAddressTitle = project.ProjectAddress;
|
||||
}
|
||||
string unit_yz = ProjectService.getProjectUnitNameByUnitType(project.ProjectId, Const.ProjectUnitType_4);
|
||||
if (!string.IsNullOrEmpty(unit_yz))
|
||||
{
|
||||
this.divOwnUnit.InnerHtml = unit_yz.Length > 8 ? unit_yz.Substring(0, 8) + "..." : unit_yz;
|
||||
divOwnUnitTitle = unit_yz;
|
||||
}
|
||||
string unit_JL = ProjectService.getProjectUnitNameByUnitType(project.ProjectId, Const.ProjectUnitType_3);
|
||||
if (!string.IsNullOrEmpty(unit_JL))
|
||||
{
|
||||
this.divJLUnit.InnerHtml = unit_JL.Length > 8 ? unit_JL.Substring(0, 8) + "..." : unit_JL;
|
||||
divJLUnitTitle = unit_JL;
|
||||
}
|
||||
|
||||
string unit_FB = ProjectService.getProjectUnitNameByUnitType(project.ProjectId, Const.ProjectUnitType_2);
|
||||
if (!string.IsNullOrEmpty(unit_FB))
|
||||
{
|
||||
this.divSGUnit.InnerHtml = unit_FB.Length > 8 ? unit_FB.Substring(0, 8) + "..." : unit_FB + "...";
|
||||
}
|
||||
|
||||
var getSGName = from x in Funs.DB.Project_ProjectUnit
|
||||
join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
|
||||
where x.ProjectId == project.ProjectId && x.UnitType == Const.ProjectUnitType_2
|
||||
select y.UnitName;
|
||||
foreach (var item in getSGName)
|
||||
{
|
||||
divSGUnitTitle += item + ",";
|
||||
}
|
||||
this.divProjectMoney.InnerHtml = divProjectMoneyTitle = project.ProjectMoney.ToString() + "万元";
|
||||
if (project.EndDate.HasValue)
|
||||
{
|
||||
this.divEndDate.InnerHtml = string.Format("{0:yyyy-MM-dd}", project.EndDate);
|
||||
int endDays = (project.EndDate.Value - DateTime.Now).Days;
|
||||
if (endDays >= 0)
|
||||
{
|
||||
this.divRemainingDays.InnerHtml = endDays.ToString() + "<span>天</span>";
|
||||
}
|
||||
if (project.StartDate.HasValue)
|
||||
{
|
||||
int pdays = (project.EndDate.Value - project.StartDate.Value).Days;
|
||||
if (pdays >= 0)
|
||||
{
|
||||
this.divProjectDays.InnerHtml = pdays.ToString() + "<span>天</span>";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var getImag = Funs.DB.AttachFile.FirstOrDefault(x => x.ToKeyId == project.ProjectId);
|
||||
if (getImag != null && !string.IsNullOrEmpty(getImag.AttachUrl))
|
||||
{
|
||||
string url = getImag.AttachUrl.Replace('\\', '/');
|
||||
string firtstUrl = Funs.GetStrListByStr(url, ',').FirstOrDefault();
|
||||
if (!string.IsNullOrEmpty(firtstUrl))
|
||||
{
|
||||
string atturl = Funs.RootPath + firtstUrl.Replace(';', ' ').Trim();
|
||||
if (File.Exists(atturl))
|
||||
{
|
||||
divProjectImg = "../" + firtstUrl.Replace(';', ' ').Trim();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 获取质量问题
|
||||
///整改率
|
||||
protected double CRectificationRate;
|
||||
///合格率
|
||||
protected double CQualifiedRate;
|
||||
/// 焊接一次合格率
|
||||
protected double FirstPassRate;
|
||||
/// <summary>
|
||||
/// 获取质量问题
|
||||
/// </summary>
|
||||
private void getCQMSProblem()
|
||||
{
|
||||
CRectificationRate = 0;
|
||||
CQualifiedRate = 0;
|
||||
FirstPassRate = 0;
|
||||
var getJointCheckDetail = from x in Funs.DB.Check_JointCheckDetail
|
||||
join y in Funs.DB.Check_JointCheck on x.JointCheckId equals y.JointCheckId
|
||||
where y.ProjectId == this.ProjectId
|
||||
select x;
|
||||
var getCheckControl = from x in Funs.DB.Check_CheckControl
|
||||
where x.ProjectId == this.ProjectId
|
||||
select x;
|
||||
///问题总数
|
||||
int AllCount = getJointCheckDetail.Count() + getCheckControl.Count();
|
||||
this.divCQMSAllNum.InnerHtml = AllCount.ToString();
|
||||
if (AllCount > 0)
|
||||
{
|
||||
///问题完成数
|
||||
var getJOk = getJointCheckDetail.Where(x => x.State == "6").Count();
|
||||
var getCOk = getCheckControl.Where(x => x.State == "7").Count();
|
||||
int CCount = getJOk + getCOk;
|
||||
this.divCQMSCAllNum.InnerHtml = CCount.ToString();
|
||||
this.divCQMSUCAllNum.InnerHtml = (AllCount - CCount).ToString();
|
||||
if (CCount > 0)
|
||||
{
|
||||
CRectificationRate = Math.Round(CCount * 1.0 / AllCount * 100, 1);
|
||||
}
|
||||
}
|
||||
|
||||
//var getSpotCheckDetail = from x in Funs.DB.Check_SpotCheckDetail
|
||||
// // join z in Funs.DB.Check_SpotCheck on x.SpotCheckCode equals z.SpotCheckCode
|
||||
// join y in Funs.DB.WBS_ControlItemAndCycle on x.ControlItemAndCycleId equals y.ControlItemAndCycleId
|
||||
// where y.ProjectId == this.ProjectId && x.IsOK != null
|
||||
// && y.ControlPoint != "C" && y.ControlPoint != "CR"
|
||||
// //&& z.ProjectId == this.ProjectId
|
||||
// select x;
|
||||
//int AllSpotCount = getSpotCheckDetail.Count();
|
||||
//if (AllSpotCount > 0)
|
||||
//{
|
||||
// int okSpotCount = getSpotCheckDetail.Where(x => x.IsOK == true).Count();
|
||||
// if (okSpotCount > 0)
|
||||
// {
|
||||
// CQualifiedRate = Math.Round(okSpotCount * 1.0 / AllSpotCount * 100, 1);
|
||||
// }
|
||||
//}
|
||||
|
||||
var inspectionManagements = from x in Funs.DB.ProcessControl_InspectionManagement where x.ProjectId == this.ProjectId select x;
|
||||
if (inspectionManagements.Count() > 0)
|
||||
{
|
||||
int okInspectionManagements = inspectionManagements.Where(x => x.IsOnceQualified == true).Count();
|
||||
if (okInspectionManagements > 0)
|
||||
{
|
||||
CQualifiedRate = Math.Round(okInspectionManagements * 1.0 / inspectionManagements.Count() * 100, 1);
|
||||
}
|
||||
}
|
||||
|
||||
///焊接一次合格率
|
||||
var getJots = from x in Funs.DB.HJGL_Batch_NDEItem
|
||||
join y in Funs.DB.HJGL_Batch_BatchTrustItem on x.TrustBatchItemId equals y.TrustBatchItemId
|
||||
join z in Funs.DB.HJGL_Batch_PointBatchItem on y.PointBatchItemId equals z.PointBatchItemId
|
||||
join a in Funs.DB.HJGL_Batch_NDE on x.NDEID equals a.NDEID
|
||||
where z.PointDate != null && z.PointState == "1" && y.RepairRecordId == null
|
||||
&& a.ProjectId == this.ProjectId
|
||||
select x;
|
||||
int allHJCount = getJots.Count();
|
||||
if (allHJCount > 0)
|
||||
{
|
||||
var getOk = getJots.Where(x => x.CheckResult == "1");
|
||||
int okHJCount = getOk.Count();
|
||||
if (okHJCount > 0)
|
||||
{
|
||||
FirstPassRate = Math.Round(okHJCount * 1.0 / allHJCount * 100, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 产值统计
|
||||
protected string SubUnitNames;
|
||||
protected string OutputValues;
|
||||
private void getOutputValues()
|
||||
{
|
||||
SubUnitNames = "[]";
|
||||
OutputValues = "[]";
|
||||
List<string> UnitNameList = new List<string>();
|
||||
List<int> OutputValueList = new List<int>();
|
||||
var getUnits = from x in Funs.DB.Project_ProjectUnit
|
||||
join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
|
||||
where x.ProjectId == this.ProjectId && x.UnitType == Const.ProjectUnitType_2
|
||||
select new { x.UnitId, y.ShortUnitName };
|
||||
if (getUnits.Count() > 0)
|
||||
{
|
||||
Random ro = new Random();
|
||||
foreach (var item in getUnits)
|
||||
{
|
||||
UnitNameList.Add(item.ShortUnitName ?? " ");
|
||||
int OutputValue = ro.Next(100);////获取分包单位产值
|
||||
OutputValueList.Add(OutputValue);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
UnitNameList.Add(" ");
|
||||
OutputValueList.Add(0);
|
||||
}
|
||||
SubUnitNames = JsonConvert.SerializeObject(UnitNameList);
|
||||
OutputValues = JsonConvert.SerializeObject(OutputValueList);
|
||||
}
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// 获取天气
|
||||
/// </summary>
|
||||
private void getWeatherValues()
|
||||
{
|
||||
var getW = WeatherService.GetWeather(this.ProjectId);
|
||||
if (getW != null)
|
||||
{
|
||||
this.divInfo.InnerHtml = getW.WeatherRef;
|
||||
this.divTEMP.InnerHtml = getW.AllTem;
|
||||
this.divHJ1.InnerHtml = getW.CurrTem;
|
||||
this.divHJ3.InnerHtml = getW.Humidity;
|
||||
this.divHJ5.InnerHtml = getW.Power;
|
||||
|
||||
this.divHJ4.InnerHtml = getW.Aqi;
|
||||
this.divHJ6.InnerHtml = getW.Aqi;
|
||||
}
|
||||
}
|
||||
|
||||
#region 风险管控
|
||||
protected string riskData1;
|
||||
protected string riskData2;
|
||||
protected string riskData3;
|
||||
protected string riskData4;
|
||||
/// <summary>
|
||||
/// 获取风险管控
|
||||
/// </summary>
|
||||
private void getHazard()
|
||||
{
|
||||
var getHazards = from x in Funs.DB.Hazard_HazardSelectedItem
|
||||
join y in Funs.DB.Base_RiskLevel on x.HazardLevel equals y.RiskLevelId
|
||||
where x.ProjectId == this.ProjectId
|
||||
select new { x.HazardSelectedItemId, y.RiskLevel };
|
||||
riskData1 = getHazards.Count(x => x.RiskLevel == 1).ToString();
|
||||
riskData2 = getHazards.Count(x => x.RiskLevel == 2).ToString();
|
||||
riskData3 = getHazards.Count(x => x.RiskLevel == 3).ToString();
|
||||
riskData4 = getHazards.Count(x => x.RiskLevel == 4).ToString();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,368 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.common
|
||||
{
|
||||
|
||||
|
||||
public partial class mainProject_old
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Head1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlHead Head1;
|
||||
|
||||
/// <summary>
|
||||
/// divSafeWorkTime 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divSafeWorkTime;
|
||||
|
||||
/// <summary>
|
||||
/// divALLPerson 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divALLPerson;
|
||||
|
||||
/// <summary>
|
||||
/// divZYPerson 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divZYPerson;
|
||||
|
||||
/// <summary>
|
||||
/// divGLPerson 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divGLPerson;
|
||||
|
||||
/// <summary>
|
||||
/// divQualityWarningNum 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divQualityWarningNum;
|
||||
|
||||
/// <summary>
|
||||
/// divWorkWarningNum 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divWorkWarningNum;
|
||||
|
||||
/// <summary>
|
||||
/// divMechanicsWarningNum 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divMechanicsWarningNum;
|
||||
|
||||
/// <summary>
|
||||
/// divCQMSWarningNum 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divCQMSWarningNum;
|
||||
|
||||
/// <summary>
|
||||
/// divProjectName 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divProjectName;
|
||||
|
||||
/// <summary>
|
||||
/// divProjectAddress 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divProjectAddress;
|
||||
|
||||
/// <summary>
|
||||
/// divProjectMoney 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divProjectMoney;
|
||||
|
||||
/// <summary>
|
||||
/// divOwnUnit 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divOwnUnit;
|
||||
|
||||
/// <summary>
|
||||
/// divSGUnit 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divSGUnit;
|
||||
|
||||
/// <summary>
|
||||
/// divJLUnit 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divJLUnit;
|
||||
|
||||
/// <summary>
|
||||
/// divProjectDays 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divProjectDays;
|
||||
|
||||
/// <summary>
|
||||
/// divEndDate 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divEndDate;
|
||||
|
||||
/// <summary>
|
||||
/// divRemainingDays 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divRemainingDays;
|
||||
|
||||
/// <summary>
|
||||
/// divCQMSAllNum 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divCQMSAllNum;
|
||||
|
||||
/// <summary>
|
||||
/// divCQMSCAllNum 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divCQMSCAllNum;
|
||||
|
||||
/// <summary>
|
||||
/// divCQMSUCAllNum 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divCQMSUCAllNum;
|
||||
|
||||
/// <summary>
|
||||
/// divIPersonNum 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divIPersonNum;
|
||||
|
||||
/// <summary>
|
||||
/// divDesignNum 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divDesignNum;
|
||||
|
||||
/// <summary>
|
||||
/// divHjPersonNum 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divHjPersonNum;
|
||||
|
||||
/// <summary>
|
||||
/// divTotalDineNum 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divTotalDineNum;
|
||||
|
||||
/// <summary>
|
||||
/// divCompleteDineNum 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divCompleteDineNum;
|
||||
|
||||
/// <summary>
|
||||
/// divTotalFilmNum 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divTotalFilmNum;
|
||||
|
||||
/// <summary>
|
||||
/// divOkFilmNum 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divOkFilmNum;
|
||||
|
||||
/// <summary>
|
||||
/// divAllRectify 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divAllRectify;
|
||||
|
||||
/// <summary>
|
||||
/// divCRectify 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divCRectify;
|
||||
|
||||
/// <summary>
|
||||
/// divUCRectify 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divUCRectify;
|
||||
|
||||
/// <summary>
|
||||
/// divHJ1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divHJ1;
|
||||
|
||||
/// <summary>
|
||||
/// divHJ2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divHJ2;
|
||||
|
||||
/// <summary>
|
||||
/// divHJ6 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divHJ6;
|
||||
|
||||
/// <summary>
|
||||
/// divTEMP 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divTEMP;
|
||||
|
||||
/// <summary>
|
||||
/// divInfo 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divInfo;
|
||||
|
||||
/// <summary>
|
||||
/// divHJ3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divHJ3;
|
||||
|
||||
/// <summary>
|
||||
/// divHJ4 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divHJ4;
|
||||
|
||||
/// <summary>
|
||||
/// divHJ5 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divHJ5;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,200 @@
|
|||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="main_old.aspx.cs" Inherits="FineUIPro.Web.common.main_old" %>
|
||||
|
||||
<!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>智慧施工管理信息系统</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;
|
||||
}
|
||||
</style>
|
||||
<style type="text/css">
|
||||
.f-tabstrip-header-clip {
|
||||
width: 100%;
|
||||
height: 35px;
|
||||
background: rgb(14,17,60);
|
||||
}
|
||||
|
||||
.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;*/
|
||||
}
|
||||
|
||||
.f-tab-header.f-state-active {
|
||||
}
|
||||
|
||||
.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, .f-widget-header, .f-tree-headerstyle .f-panel-body {
|
||||
background-color: #dfe4f1;
|
||||
color: #333;
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
.f-menu-item-text, .f-tree-cell-text, .f-widget-content a, .f-qtip-content {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.f-corner-all {
|
||||
background-color: #dfe4f1;
|
||||
}
|
||||
|
||||
.f-tab-header .f-panel-title-text {
|
||||
color: #1AB1FF;
|
||||
}
|
||||
|
||||
.f-state-hover.f-tree-node a {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.f-state-default, .f-widget-content .f-state-default, .f-widget-header .f-state-default {
|
||||
//border-color: transparent;
|
||||
}
|
||||
|
||||
.bgbtn2 {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
left: 0;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.f-tabstrip-align-left .f-tab-header.f-first {
|
||||
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;
|
||||
}
|
||||
|
||||
.f-tabstrip-connected > .f-tabstrip-header .f-tab-header.f-state-active {
|
||||
background-color: #0e113c !important;
|
||||
border-width: 0 !important;
|
||||
}
|
||||
|
||||
.f-tabstrip-connected > .f-tabstrip-header .f-tab-header.f-state-hover {
|
||||
background-color: #0e113c !important;
|
||||
border-width: 0 !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:TabStrip ID="mainTabStrip" CssClass="centerregion" RegionPosition="Center" ShowTabHeader="true"
|
||||
OnTabIndexChanged="mainTabStrip_TabIndexChanged" AutoPostBack="true" ShowBorder="true" EnableTabCloseMenu="true" runat="server">
|
||||
<Tabs>
|
||||
<%--<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>
|
||||
<f:Tab ID="Tab3" Title="质量焊接"
|
||||
EnableIFrame="true" IFrameUrl="~/common/mainMenu_HJGL2.aspx" runat="server">
|
||||
</f:Tab>
|
||||
<%--<f:Tab ID="Tab4" Title="实业"
|
||||
EnableIFrame="true" IFrameUrl="~/common/mainProjectSY.aspx" runat="server">
|
||||
</f:Tab>--%>
|
||||
</Tabs>
|
||||
</f:TabStrip>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
using BLL;
|
||||
using System;
|
||||
|
||||
namespace FineUIPro.Web.common
|
||||
{
|
||||
public partial class main_old : PageBase
|
||||
{
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
|
||||
var thisUnit = CommonService.GetIsThisUnit();
|
||||
if (thisUnit != null && thisUnit.CollCropCode== "913700001630777743")
|
||||
{
|
||||
Tab3.Hidden=true;
|
||||
//Tab4.Hidden=true;
|
||||
}
|
||||
if(this.SysType == "SHIYE")
|
||||
{
|
||||
this.mainTabStrip.ActiveTabIndex = 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void mainTabStrip_TabIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (this.mainTabStrip.ActiveTabIndex == 2)
|
||||
{
|
||||
this.SysType = "SHIYE";
|
||||
}
|
||||
else
|
||||
{
|
||||
this.SysType = "GONGCHENG";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,80 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.common
|
||||
{
|
||||
|
||||
|
||||
public partial class main_old
|
||||
{
|
||||
|
||||
/// <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>
|
||||
/// mainTabStrip 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TabStrip mainTabStrip;
|
||||
|
||||
/// <summary>
|
||||
/// Tab1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Tab Tab1;
|
||||
|
||||
/// <summary>
|
||||
/// Tab2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Tab Tab2;
|
||||
|
||||
/// <summary>
|
||||
/// Tab3 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Tab Tab3;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,901 +0,0 @@
|
|||
<%@ 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: "mainnew.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>
|
||||
|
|
@ -1,219 +0,0 @@
|
|||
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 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 };
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.common
|
||||
{
|
||||
|
||||
|
||||
public partial class mainnew
|
||||
{
|
||||
}
|
||||
}
|
||||
|
|
@ -416,7 +416,7 @@ namespace FineUIPro.Web
|
|||
{
|
||||
this.leftPanel.Hidden = true;
|
||||
this.XmlDataSource1.DataFile = "common/Menu_Personal.xml";
|
||||
this.Tab1.IFrameUrl = "~/common/mainnew.aspx";
|
||||
this.Tab1.IFrameUrl = "~/common/main.aspx";
|
||||
}
|
||||
|
||||
UserService.UpdateLastUserInfo(this.CurrUser.UserId, type, true, string.Empty);
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
|
|
@ -40,19 +40,19 @@ html::-webkit-scrollbar {
|
|||
}
|
||||
|
||||
|
||||
.bg {
|
||||
.bg{
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
background-image: url(../res/images/bj.jpg);
|
||||
background-image: url(../images/bj.jpg);
|
||||
background-repeat: no-repeat;
|
||||
background-position: left top;
|
||||
background-position: left top ;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
.bg1{
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
background-image: url(../res/images/bj.jpg);
|
||||
background-image: url(../images/bj.jpg);
|
||||
background-repeat: no-repeat;
|
||||
background-position: left top ;
|
||||
background-size: 100% 100%;
|
||||
|
|
@ -66,9 +66,9 @@ html::-webkit-scrollbar {
|
|||
|
||||
@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');
|
||||
src: url('../font/iconfont.woff2?t=1744614833234') format('woff2'),
|
||||
url('../font/iconfont.woff?t=1744614833234') format('woff'),
|
||||
url('../font/iconfont.ttf?t=1744614833234') format('truetype');
|
||||
}
|
||||
|
||||
.iconfont {
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
header {
|
||||
width: 100%;
|
||||
height: 1rem;
|
||||
background-image: url(../res/images/01/top.png);
|
||||
background-image: url(../images/01/top.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: left top;
|
||||
background-size: 100% 0.7125rem;
|
||||
|
|
@ -17,18 +17,19 @@ header {
|
|||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
}
|
||||
.logo-img {
|
||||
.logo-img{
|
||||
width: 1.9375rem;
|
||||
height: 0.5rem;
|
||||
background-image: url(../res/images/logo.png);
|
||||
background-image: url(../images/logo.png);
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
|
||||
}
|
||||
.refresh-img {
|
||||
.refresh-img{
|
||||
margin-left: 0.125rem;
|
||||
background: url('../res/images/sprite.png') no-repeat 0 0;
|
||||
width: 27px;
|
||||
height: 26px;
|
||||
background: url('../images/sprite.png') no-repeat 0 0;
|
||||
width: 27px;
|
||||
height: 26px;
|
||||
}
|
||||
.navs{
|
||||
width: 100%;
|
||||
|
|
@ -50,18 +51,18 @@ header {
|
|||
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);
|
||||
}
|
||||
.navs>.nav-l{
|
||||
background-image: url(../images/nav01.png);
|
||||
}
|
||||
.navs>.nav-l-active{
|
||||
background-image: url(../images/nav02.png);
|
||||
}
|
||||
.navs>.nav-r{
|
||||
background-image: url(../images/nav03.png);
|
||||
}
|
||||
.navs>.nav-r-active{
|
||||
background-image: url(../images/nav04.png);
|
||||
}
|
||||
.timer{
|
||||
height: 0.425rem;
|
||||
width: 2.375rem;
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1 @@
|
|||
.z-line {margin-top: 0.125rem;width: 100%;height: 0.1rem;position: relative;}.xm-plan {display: flex;flex-direction: row;justify-content: flex-start;align-items: flex-start;height: 100%;width: auto;}.xm-plan::-webkit-scrollbar {display: none;}.block4-main>div::-webkit-scrollbar {display: none;}.xm-plan>.z-plan-item {height: 100%;min-width: 1.25rem;}.z-dot {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);height: 0.25rem;width: 0.25rem;border-radius: 50%;display: flex;align-items: center;justify-content: center;}.z-dot-inner {height: 0.125rem;width: 0.125rem;border-radius: 50%;}.closed>.z-line {background-color: #12CDA2;}.closed>.z-line>.z-dot {background-color: rgba(0, 255, 255, .3);}.closed>.z-line>.z-dot>.z-dot-inner {background-color: #00FFFF;}.closed>h6 {margin-top: 0.25rem;text-align: center;font-size: 0.175rem;color: #02C8B0;}.closed>p {margin-top: 0.1875rem;text-align: center;font-size: 0.175rem;color: #ffffff;}.undone>.z-line {background-color: #FF7474;}.undone>.z-line>.z-dot {background-color: rgba(255, 116, 116, .3);}.undone>.z-line>.z-dot>.z-dot-inner {background-color: #FF7474;}.undone>h6 {margin-top: 0.25rem;text-align: center;font-size: 0.175rem;color: #FF7474;}.undone>p {margin-top: 0.1875rem;text-align: center;font-size: 0.175rem;color: #FF7474;}.info, .video {position: relative;padding: 0.125rem;box-shadow: 0 0 0.125rem #429BD3 inset;}.info>img {width: 100%;height: 100%;display: block;vertical-align: middle;}.infoandvideo {display: grid;grid-template-columns: 6rem 1fr;column-gap: 0.25rem;}.info-box {padding: 0 0.25rem;position: absolute;bottom: 0.125rem;left: 0.125rem;right: 0.125rem;height: 0.75rem;display: flex;flex-direction: row;justify-content: space-between;align-items: center;background-color: rgba(0, 0, 0, .4);}.info-row>p {padding: 0.05rem 0;text-align: center;color: #ffffff;font-size: 0.2rem;}.video {padding: 0.125rem;}.video>h5 {text-align: center;padding-bottom: 0.125rem;font-weight: bold;font-size: 0.225rem;color: #E4FBFF;background: linear-gradient(180deg, #ffffff 17%, #8CEEFF 100%);-webkit-background-clip: text;-webkit-text-fill-color: transparent;}.video-box {height: 1.6875rem;width: 100%;}.video-box>video {width: 100%;height: 100%;background-color: rgba(0, 0, 0, 1);}.video>p {background: #123052;position: absolute;height: 0.325rem;left: 0.125rem;right: 0.125rem;display: flex;flex-direction: row;justify-content: space-between;align-items: center;font-size: 0.15rem;color: #7ECEF7;padding: 0 0.125rem;}.o-box>i {background-image: url(../images/02/l01.png);width: 0.6375rem;height: 0.575rem;background-repeat: no-repeat;background-position: center;background-size: 100% 100%;}.o-box {height: 100%;display: flex;flex-direction: column;justify-content: space-between;align-items: center;}.o-box>h5>span:first-child {font-size: 0.2rem;color: #C2D5E7;}.o-box>h5>span:last-child {margin-left: 0.125rem;font-weight: bold;font-size: 16px;background: linear-gradient(180deg, #FFFFFF 17%, #FCC349 100%);-webkit-background-clip: text;-webkit-text-fill-color: transparent;}.o-box>h4>span:first-child {font-weight: bold;font-size: 0.25rem;background: linear-gradient(180deg, #FFFFFF 0%, #26A3D1 100%);-webkit-background-clip: text;-webkit-text-fill-color: transparent;}.o-box>h4>span:last-child {margin-left: 0.125rem;font-weight: bold;font-size: 16px;background: linear-gradient(180deg, #FFFFFF 17%, #FCC349 100%);-webkit-background-clip: text;-webkit-text-fill-color: transparent;}#org1{display: grid;grid-template-columns: 1.75rem 1fr;column-gap: 0.25rem;}.o-box1{display: flex;flex-direction: column;justify-content: space-around;align-items: flex-start;}.o-box1>.org-row1>.row1-inner>h6{font-weight: bold;margin-left: 0.125rem;background: linear-gradient(180deg, #FFFFFF 17%, #FCC349 100%);-webkit-background-clip: text;-webkit-text-fill-color: transparent;}
|
||||
Loading…
Reference in New Issue