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

File diff suppressed because one or more lines are too long

View File

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

View File

@ -4,11 +4,12 @@ using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace BLL {
public class MainSevice
namespace BLL
{
public class MainSevice
{
/// <summary>
/// 在建项目集合
/// </summary>
@ -357,4 +358,5 @@ public class MainSevice
}).ToList();
return result;
}
} }
}
}

File diff suppressed because one or more lines are too long

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

File diff suppressed because one or more lines are too long

View File

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

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

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

File diff suppressed because it is too large Load Diff

View File

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

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 302 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

File diff suppressed because it is too large Load Diff

View File

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

File diff suppressed because one or more lines are too long