20250314 中英文切换

This commit is contained in:
2025-03-14 15:29:22 +08:00
parent 0845150840
commit 2782f576b2
19 changed files with 5111 additions and 171 deletions
+61
View File
@@ -4,11 +4,13 @@ using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Configuration;
using System.Data;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading;
using System.Web;
using System.Web.UI;
using static FineUIPro.Web.CQMS.Performance.Performance;
@@ -1299,5 +1301,64 @@ namespace FineUIPro.Web
}
}
#endregion
#region
/// <summary>
/// 语言国际化
/// </summary>
protected override void InitializeCulture()
{
string https = ConfigurationManager.AppSettings["Https"];
if (Request.Cookies["SelectLan"] != null)
{
HttpCookie lanCookie = Request.Cookies["SelectLan"];
//从Session或Cookie里面读取
string language = lanCookie["lan"];
//当前线程的语言采用哪种语言(比如zh,en等)
Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(language);
//决定各种数据类型是如何组织,如数字与日期
Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture(language);
}
else
{
HttpCookie lanCookie = new HttpCookie("SelectLan");
//默认为中文
lanCookie["lan"] = "zh-CN";
lanCookie.Expires = DateTime.Now.AddDays(1);
if (https == "true")
{
lanCookie.Secure = true;
}
Response.Cookies.Add(lanCookie);
}
}
#region
/// <summary>
/// 获取语言
/// </summary>
public string GetLanguage
{
get
{
string lan = "zh-CN";
if (Request.Cookies["SelectLan"] != null)
{
HttpCookie lanCookie = Request.Cookies["SelectLan"];
if (lanCookie["lan"] != null)
{
if (lanCookie["lan"] == "en-US")
{
lan = "en-US";
}
}
}
return lan;
}
}
#endregion
#endregion
}
}
+69 -69
View File
@@ -76,65 +76,65 @@
<div class="side">
<div class="site fx" style="width: 100%;">
<div class="label">
风险预警
<asp:Literal runat="server" Text="<%$ Resources:Lan,RiskEarlyWarning %>" />
</div>
<div class="main">
<div id="fx-map"></div>
<div class="fx-box">
<div class="yj-bars">
<div class="yj-bar">
<div class="lab">资质预警</div>
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,Quawarning %>" /></div>
<div class="num"><%=getEarlyWarningCounts() %></div>
</div>
<div class="yj-bar">
<div class="lab">机械预警</div>
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,MechanicalWarning %>" /></div>
<div class="num"><%=GetJxyjNum() %></div>
</div>
</div>
<div class="wd-box">
<div class="tit">危大工程</div>
<div class="tit"><asp:Literal runat="server" Text="<%$ Resources:Lan,DangerousProject %>" /></div>
<div class="inner">
<div class="inner-box">
<div class="lab">审批完成</div>
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,ApprovalCompleted %>" /></div>
<div class="num"><%=GetCompletedNum() %></div>
</div>
<span></span>
<div class="inner-box">
<div class="lab" style="width: 1rem">培训人次数</div>
<div class="lab" style="width: 1rem"><asp:Literal runat="server" Text="<%$ Resources:Lan,NumberOfTrainees %>" /></div>
<div class="num"><%=GetTrainPersonNum() %></div>
</div>
<span></span>
<div class="inner-box">
<div class="lab">施工个数</div>
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,NumberOfConstructions %>" /></div>
<div class="num"><%=GetConstructionNum() %></div>
</div>
<span></span>
<div class="inner-box">
<div class="lab">完工个数</div>
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,NumberOfCompletions %>" /></div>
<div class="num"><%=GetFinishedNum() %></div>
</div>
</div>
</div>
<div class="wd-box">
<div class="tit">超危大工程</div>
<div class="tit"><asp:Literal runat="server" Text="<%$ Resources:Lan,SuperDangerousProject %>" /></div>
<div class="inner">
<div class="inner-box">
<div class="lab">审批完成</div>
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,ApprovalCompleted %>" /></div>
<div class="num"><%=GetSuperCompletedNum() %></div>
</div>
<span></span>
<div class="inner-box">
<div class="lab" style="width: 1rem;">培训人次数</div>
<div class="lab" style="width: 1rem;"><asp:Literal runat="server" Text="<%$ Resources:Lan,NumberOfTrainees %>" /></div>
<div class="num"><%=GetSuperTrainPersonNum() %></div>
</div>
<span></span>
<div class="inner-box">
<div class="lab">施工个数</div>
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,NumberOfConstructions %>" /></div>
<div class="num"><%=GetSuperConstructionNum() %></div>
</div>
<span></span>
<div class="inner-box">
<div class="lab">完工个数</div>
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,NumberOfCompletions %>" /></div>
<div class="num"><%=GetSuperFinishedNum() %></div>
</div>
</div>
@@ -145,16 +145,16 @@
</div>
<div class="site zl">
<div class="label">
质量概况
<asp:Literal runat="server" Text="<%$ Resources:Lan,QualityProfile %>" />
</div>
<div class="main">
<div class="total">
<div class="glry">
<div class="lab">质量培训累计人员</div>
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,QualityTraining %>" /></div>
<div class="num" id="divCqmsPxNum" runat="server">1307</div>
</div>
<div class="glry">
<div class="lab">施工方案审批量</div>
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,ConPlanReviewBatch %>" /></div>
<div class="num" id="div_sgfaSpl" runat="server">5217</div>
</div>
</div>
@@ -167,23 +167,23 @@
</div>
<div class="site zy">
<div class="label">
作业许可
<asp:Literal runat="server" Text="<%$ Resources:Lan,WorkPermit %>" />
</div>
<div class="total">
<div class="zyp">
<div class="lab">动火</div>
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,LoseOneSTemper %>" /></div>
<div class="num"><%=getWrokCount0() %>/<%=getALLWrokCount0() %></div>
</div>
<div class="zyp">
<div class="lab">高处</div>
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,altitude %>" /></div>
<div class="num"><%=getWrokCount1() %>/<%=getALLWrokCount1() %></div>
</div>
<div class="zyp">
<div class="lab">吊装</div>
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,altitude %>" /></div>
<div class="num"><%=getWrokCount2() %>/<%=getALLWrokCount2() %></div>
</div>
<div class="zyp">
<div class="lab">其他</div>
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,other %>" /></div>
<div class="num"><%=getWrokCount3() %>/<%=getALLWrokCount3() %></div>
</div>
</div>
@@ -206,54 +206,54 @@
<div class="c-site">
<div class="num-box">
<div class="num" id="divSafeWorkTime" runat="server">1656059</div>
<div class="lab">累计安全人工时</div>
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,SafetyLaborHours %>" /></div>
</div>
<div class="num-box">
<div class="num" id="divSafeWorkTimeMonth" runat="server">0</div>
<div class="lab">本月安全人工时</div>
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_SafeWorkHoursThisMonth %>" /></div>
</div>
<div class="num-box">
<div class="num" id="divSafePersonNum" runat="server">1161</div>
<div class="lab">安全培训累计人员</div>
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_TotalSafeTrainingPersonnel %>" /></div>
</div>
<div class="num-box">
<div class="num" id="divSafeManagePersonNum" runat="server">3</div>
<div class="lab">安全管理人员</div>
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_SafeManagementPersonnel %>" /></div>
</div>
<div class="num-box">
<div class="num" runat="server" id="divWS">4564</div>
<div class="lab">未遂事件</div>
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_NearMissIncidents %>" /></div>
</div>
</div>
<div class="aqyh">
<div class="an-boxs">
<div>整改数据</div>
<div><asp:Literal runat="server" Text="<%$ Resources:Lan,RectificationData %>" /></div>
<div>
<div class="dot">
<div class="dot-c" style="background: #4F97F9;"></div>
</div>
<p>总数</p>
<p><asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_TotalRectificationData %>" /></p>
<p style="color: #4F97F9;" runat="server" id="div_zgsj">265</p>
</div>
<div>
<div class="dot">
<div class="dot-c" style="background: #12CDA2;"></div>
</div>
<p>已完成</p>
<p><asp:Literal runat="server" Text="<%$ Resources:Lan,completed %>" /></p>
<p style="color: #12CDA2;" runat="server" id="div_zgywc">265</p>
</div>
<div>
<div class="dot">
<div class="dot-c" style="background: #FF7474;"></div>
</div>
<p>未完成</p>
<p><asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_UncompletedRectification %>" /></p>
<p style="color: #FF7474;" runat="server" id="div_zgwwc">12</p>
</div>
<div>
<div class="dot">
<div class="dot-c" style="background: #FFD130;"></div>
</div>
<p>整改率</p>
<p><asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_RectificationRate %>" /></p>
<p style="color: #FFD130;" runat="server" id="div_zgwcl">100%</p>
</div>
</div>
@@ -290,24 +290,24 @@
<div class="ht-boxs">
<div class="ht-box">
<div class="label">合同工期</div>
<div class="label"><asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_ContractDuration %>" /></div>
<div class="value" id="divProjectDays" runat="server">0<span>天</span></div>
</div>
<div class="ht-box">
<div class="label">合同到期时间</div>
<div class="label"><asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_ContractExpiryDate %>" /></div>
<div class="value" id="divEndDate" runat="server"></div>
</div>
<div class="ht-box">
<div class="label">合同剩余</div>
<div class="label"><asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_ContractRemaining %>" /></div>
<div class="value" id="divRemainingDays" runat="server">0<span>天</span></div>
</div>
</div>
</div>
<div class="site aqtj">
<div class="gjl">关键事项准点率 <span><%=gjsxRate %></span></div>
<div class="gjl"><asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_KeyMattersTimelinessRate %>" /> <span><%=gjsxRate %></span></div>
<div class="label">
进度统计
<asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_ProgressStatistics %>" />
</div>
<div class="main">
<%-- <div id="aq-map"></div>--%>
@@ -318,24 +318,24 @@
<div class="side">
<div class="site gz">
<div class="label">
工作台面
<asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_Workbench %>" />
</div>
<div class="main">
<div class="total">
<div class="zg" style="cursor: pointer;" runat="server" onclick="showGztm(0)" id="div_Gzgjsx">
<div class="lab">关键事项</div>
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_KeyMatters %>" /></div>
<div class="num" id="div_gjsx" runat="server">0</div>
</div>
<div class="zg" style="cursor: pointer" runat="server" onclick="showGztm(1)" id="div_Gzdbsx">
<div class="lab">待办事项</div>
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_PendingMatters %>" /></div>
<div class="num" id="div_dbsx" runat="server">0</div>
</div>
<div class="zg" style="cursor: pointer" runat="server" onclick="showGztm(2)" id="div_Gzgrlc">
<div class="lab">个人流程</div>
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_PersonalProcess %>" /></div>
<div class="num" id="div_grlc" runat="server">0</div>
</div>
<div class="zg">
<div class="lab">已办任务</div>
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_CompletedTasks %>" /></div>
<div class="num" id="div_ybrw" runat="server">0</div>
</div>
</div>
@@ -358,19 +358,19 @@
</div>
<div class="site p-ry" style="height: 3.75rem;">
<div class="label">
人员信息
<asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_PersonnelInformation %>" />
</div>
<div class="total">
<div class="rs">
<div class="lab">当前现场人数</div>
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,CurrentPersonnel %>" /></div>
<div class="num" id="div_xcrs" runat="server">0</div>
</div>
<div class="rs">
<div class="lab">作业人员总数</div>
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_TotalWorkers %>" /></div>
<div class="num" runat="server" id="div_zyxcrs">0</div>
</div>
<div class="rs">
<div class="lab">管理人员总数</div>
<div class="lab"><asp:Literal runat="server" Text="<%$ Resources:Lan,managersCount %>" /></div>
<div class="num" runat="server" id="div_glxcrs">0</div>
</div>
</div>
@@ -378,28 +378,28 @@
</div>
<div class="site cltj">
<div class="label">
材料统计
<asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_MaterialLabel %>" />
</div>
<div class="main" style="padding: .1875rem .25rem;">
<div class="cl-tab">
<div class="cl-btn cl-btn-act" id="span_gdcl" onclick="clOnclick(0)" style="cursor:pointer">管道材料</div>
<div class="cl-btn" onclick="clOnclick(1)" id="span_sbcl" style="cursor:pointer">设备材料</div>
<div class="cl-btn cl-btn-act" id="span_gdcl" onclick="clOnclick(0)" style="cursor:pointer"><asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_MaterialLabel %>" /></div>
<div class="cl-btn" onclick="clOnclick(1)" id="span_sbcl" style="cursor:pointer"><asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_PipeMaterials %>" /></div>
</div>
<div class="table">
<div class="row" id="div_cldhHead">
<div class="th-p">材料类别</div>
<div class="th-p">设计量</div>
<div class="th-p"><asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_MaterialCategory %>" /></div>
<div class="th-p"><asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_DesignQuantity %>" /></div>
<div class="th-p">
<p>采购量</p>
<p><span>采购量</span><span>百分比</span></p>
<p><asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_PurchaseQuantity %>" /></p>
<p><span><asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_PurchaseQuantity %>" /></span><span><asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_Percentage %>" /></span></p>
</div>
<div class="th-p">
<p>到货量</p>
<p><span>已到货</span><span>百分比</span></p>
<p><asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_ArrivalQuantity %>" /></p>
<p><span><asp:Literal runat="server" Text="<%$ Resources:Lan,HaveArrived %>" /></span><span><asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_Percentage %>" /></span></p>
</div>
<div class="th-p">
<p>领料量</p>
<p><span>已领料</span><span>百分比</span></p>
<p><asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_IssueQuantity %>" /></p>
<p><span><asp:Literal runat="server" Text="<%$ Resources:Lan,MaterialReceived %>" /></span><span><asp:Literal runat="server" Text="<%$ Resources:Lan,mainProject2_Percentage %>" /></span></p>
</div>
</div>
<div class="t-body" id="div_cldhList">
@@ -1787,9 +1787,9 @@
weekData.forEach(e => {
createZL(e)
})--%>
createZL({ name: '质量问题整改率', value1: <%=zlallNumber%>, value2: <%=zlfinishNumber%>, el: 'zl-map1' })
createZL({ name: '一次共检合格率', value1: <%=zlgjallNumber%>, value2: <%=zlgjfinishNumber%>, el: 'zl-map2' })
createZL({ name: '焊接一次合格率', value1: <%=hjallNumber%>, value2: <%=hjfinishNumber%>, el: 'zl-map3' })
createZL({ name: '<%=QualityRate%>', value1: <%=zlallNumber%>, value2: <%=zlfinishNumber%>, el: 'zl-map1' })
createZL({ name: '<%=OnePassRate%>', value1: <%=zlgjallNumber%>, value2: <%=zlgjfinishNumber%>, el: 'zl-map2' })
createZL({ name: '<%=OnePassRateOfWelding%>', value1: <%=hjallNumber%>, value2: <%=hjfinishNumber%>, el: 'zl-map3' })
function createZL(obj) {
let AOption1 = {
title: [{
@@ -1803,7 +1803,7 @@
}
}, {
// text: `总计:${obj.value1} | 完成:${obj.value2}`,
text: [`{a|总计}{b|${obj.value1}}{c||}{a|完成}{d|${obj.value2}}`],
text: [`{a|<%=total%>}{b|${obj.value1}}{c||}{a|<%=completed%>}{d|${obj.value2}}`],
top: '80%',
left: 'center',
textStyle: {
@@ -1958,10 +1958,10 @@
function createFXMap() {
const list = [
{ TypeName: "重大风险", ValueAmount: <%=riskData4%> },
{ TypeName: "低风险", ValueAmount: <%=riskData1%> },
{ TypeName: "一般风险", ValueAmount: <%=riskData3%> },
{ TypeName: "较大风险", ValueAmount: <%=riskData2%> },
{ TypeName: "<%=majorRisk%>", ValueAmount: <%=riskData4%> },
{ TypeName: "<%=LowRisk%>", ValueAmount: <%=riskData1%> },
{ TypeName: "<%=GeneralRisk%>", ValueAmount: <%=riskData3%> },
{ TypeName: "<%=GreaterRisk%>", ValueAmount: <%=riskData2%> },
]
@@ -1999,7 +1999,7 @@
}
}
}, {
text: '重大风险',
text: '<%=majorRisk%>',
top: 110,
left: 'center',
textStyle: {
@@ -2282,7 +2282,7 @@
var two =<%=Tree %>
var xArr1 = two.categories
var data1 = [{
name: '计划值',
name: '<%=PlannedValue%>',
type: 'bar',
//smooth: true,
data: two.series[0].data,
@@ -2299,7 +2299,7 @@
//color: 'rgba(200,201,10, 1)'
}
}, {
name: '实际值',
name: '<%=ActualValue%>',
type: 'bar',
//smooth: true,
data: two.series[2].data,
@@ -2313,7 +2313,7 @@
formatter: '{c}',
},
}, {
name: '累计计划值',
name: '<%=Cumulative_planned_value%>',
type: 'line',
//smooth: true,
data: two.series[1].data,
@@ -2330,7 +2330,7 @@
//color: 'rgba(200,201,10, 1)'
}
}, {
name: '累计实际值',
name: '<%=Cumulative_actual_value%>',
type: 'line',
//smooth: true,
data: two.series[3].data,
@@ -132,6 +132,8 @@ namespace FineUIPro.Web.common
//材料到货
getCldh();
getCNEN();//中英文翻译
}
}
@@ -1236,5 +1238,40 @@ namespace FineUIPro.Web.common
}
}
#endregion
/// <summary>
/// 中英文
/// </summary>
protected string QualityRate = string.Empty;//质量问题整改率
protected string OnePassRate = string.Empty;//一次共检合格率
protected string OnePassRateOfWelding = string.Empty;//焊接一次合格率
protected string total = string.Empty;//总计
protected string completed = string.Empty;//已完成
protected string majorRisk = string.Empty;//重大风险
protected string LowRisk = string.Empty;//低风险
protected string GeneralRisk = string.Empty;//一般风险
protected string GreaterRisk = string.Empty;//较大风险
protected string PlannedValue = string.Empty;//计划值
protected string ActualValue = string.Empty;//实际值
protected string Cumulative_planned_value = string.Empty;//累计计划值
protected string Cumulative_actual_value = string.Empty;//累计实际值
private void getCNEN()
{
QualityRate = Resources.Lan.QualityRate;
OnePassRate = Resources.Lan.OnePassRate;
OnePassRateOfWelding = Resources.Lan.OnePassRateOfWelding;
total = Resources.Lan.total;
completed = Resources.Lan.completed;
majorRisk = Resources.Lan.MajorRisk;
LowRisk = Resources.Lan.LowRisk;
GeneralRisk = Resources.Lan.GeneralRisk;
GreaterRisk = Resources.Lan.GreaterRisk;
PlannedValue = Resources.Lan.PlannedValue;
ActualValue = Resources.Lan.ActualValue;
Cumulative_planned_value = Resources.Lan.Cumulative_planned_value;
Cumulative_actual_value = Resources.Lan.Cumulative_actual_value;
}
}
}
+9 -9
View File
@@ -317,15 +317,15 @@ namespace FineUIPro.Web.common
if (getAllPersonInOutList.Count() > 0)
{
//cout1 = getAllPersonInOutList.Sum(x => (long)x.WorkHours);
foreach (var pid in pids)
{
var q1 = getAllPersonInOutList.Where(x => x.ProjectId == pid).OrderByDescending(x => x.InOutDate);
var q2 = getAllPersonInOutList.Where(x => x.ProjectId == pid).OrderBy(x => x.InOutDate);
if (q1.Count() > 0)
{
cout1 += (q1.First().WorkHours ?? 0) - (q2.First().WorkHours ?? 0);
}
}
//foreach (var pid in pids)
//{
// var q1 = getAllPersonInOutList.Where(x => x.ProjectId == pid).OrderByDescending(x => x.InOutDate);
// var q2 = getAllPersonInOutList.Where(x => x.ProjectId == pid).OrderBy(x => x.InOutDate);
// if (q1.Count() > 0)
// {
// cout1 += (q1.First().WorkHours ?? 0) - (q2.First().WorkHours ?? 0);
// }
//}
}
}