This commit is contained in:
2023-09-22 17:36:00 +08:00
parent dece3781ec
commit 9942cdcf6f
49 changed files with 2907 additions and 2375 deletions
@@ -52,17 +52,27 @@
<f:TabStrip ID="TabStrip1" CssClass="f-tabstrip-theme-simple" Height="700px" ShowBorder="true"
TabPosition="Top" MarginBottom="5px" EnableTabCloseMenu="false" runat="server">
<Tabs>
<f:Tab ID="Tab2" Title="按类别" BodyPadding="5px" Layout="Fit" IconFont="Bookmark" runat="server"
<f:Tab ID="Tab2" Title="按类别" BodyPadding="5px" Layout="Fit" IconFont="Bookmark" runat="server"
TitleToolTip="按类别统计">
<Items>
<f:ContentPanel ShowHeader="false" runat="server" ID="cpAccidentTime" Margin="0 0 0 0" >
<f:Panel ID="Panel2" IsFluid="true" runat="server" Height="350px" ShowBorder="true" EnableCollapse="false"
Layout="HBox" ShowHeader="false" >
<Items>
<f:ContentPanel ShowHeader="false" runat="server" ID="cpAccidentTime" Margin="0 0 0 0" BoxFlex="2" >
<div id="divAccidentTime" style=" height: 700px;">
<div id="divAccidentTime" style=" height: 700px; ">
</div>
</div>
</f:ContentPanel>
<f:ContentPanel ShowHeader="false" runat="server" ID="ContentPanel1" Margin="0 0 0 0 " BoxFlex="1" >
<div id="divPie" style="height: 700px;">
</div>
</f:ContentPanel>
</f:ContentPanel>
</Items>
</f:Panel>
</Items>
</f:Tab>
</Tabs>
@@ -92,7 +102,7 @@
},
xAxis: [
{
axisLabel: { interval: 0 },
axisLabel: { interval: 0 },
type: 'category',
data: xAxis
}
@@ -104,7 +114,7 @@
],
series: series
};
debugger;
if (xAxis.length > 5) {
option.dataZoom = [{
type: 'slider',
@@ -126,8 +136,78 @@
myChart.setOption(option);
}
rendChart(<%=legend%>,<%=xAxis%>,<%=series%>)
function pie( title, xArr, data) {
debugger
// 基于准备好的dom,初始化echarts实例
var myChartpie = echarts.init(document.getElementById("divPie"))
// 指定图表的配置项和数据
var option = {
title: [{
text: title,
bottom: '0',
left: 'center',
textStyle: {
color: '#fff',
fontSize: 12,
fontWeight: 300
}
}],
tooltip: {
trigger: 'item',
formatter: '{a} <br/>{b}: {c} ({d})'
},
legend: {
show: true,
left: 'top',
top: 'top',
align: 'left',
data: xArr,
},
color: ['#1D9A78', '#8BC145', '#36AFCE', '#1D6FA9'],
series: [
{
name: title,
type: 'pie',
center: ['50%', '50%'],
radius: ['40%', '70%'],
avoidLabelOverlap: false,
label: {
show: true,
textStyle: {
color: '#333'
},
position: 'inside',
formatter: function (data) { return data.percent.toFixed(0) + ""; }
},
labelLine: {
show: false
},
data: data,
itemStyle: {
normal: {
//opacity: 0.7,
borderWidth: 3,
borderColor: 'rgba(218,235,234, 1)'
}
}
}
]
}
// 使用刚指定的配置项和数据显示图表。
myChartpie.setOption(option)
}
$(document).ready(function () {
setTimeout(function () {
pie('', <%=xPieAxis%>, <%=seriesPie%>);
rendChart(<%=legend%>,<%=xAxis%>,<%=series%>);
}, 1000);
});
</script>
</html>
@@ -9,26 +9,26 @@ namespace FineUIPro.Web.HSSE.HiddenInspection
{
public partial class RiskAnalysisChart : PageBase
{
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
UnitService.InitUnitByProjectIdUnitTypeDropDownList(this.drpUnit, this.CurrUser.LoginProjectId, Const.ProjectUnitType_2, true);
this.drpRegisterTypes.DataTextField = "RegisterTypesName";
this.drpRegisterTypes.DataValueField = "RegisterTypesId";
this.drpRegisterTypes.DataSource = BLL.HSSE_Hazard_HazardRegisterTypesService.GetHazardRegisterTypesList("1"); //安全巡检类型
this.drpRegisterTypes.DataBind();
Funs.FineUIPleaseSelect(drpRegisterTypes);
}
this.AnalyseData();
}
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
UnitService.InitUnitByProjectIdUnitTypeDropDownList(this.drpUnit, this.CurrUser.LoginProjectId, Const.ProjectUnitType_2, true);
this.drpRegisterTypes.DataTextField = "RegisterTypesName";
this.drpRegisterTypes.DataValueField = "RegisterTypesId";
this.drpRegisterTypes.DataSource = BLL.HSSE_Hazard_HazardRegisterTypesService.GetHazardRegisterTypesList("1"); //安全巡检类型
this.drpRegisterTypes.DataBind();
Funs.FineUIPleaseSelect(drpRegisterTypes);
}
this.AnalyseData();
}
#endregion
#region
@@ -40,17 +40,21 @@ namespace FineUIPro.Web.HSSE.HiddenInspection
protected void BtnAnalyse_Click(object sender, EventArgs e)
{
this.AnalyseData();
PageContext.RegisterStartupScript(@" setTimeout(function () { rendChart(" + legend+","+xAxis+","+series+ ");},1000); ");
PageContext.RegisterStartupScript(@" setTimeout(function () { rendChart(" + legend+","+xAxis+","+series+ "); pie( '',"+ xPieAxis+", "+seriesPie+") ; },1000); ");
}
public string legend = "[]";
public string xAxis="[]";
public string series="[]";
/// <summary>
/// 统计方法
/// </summary>
private void AnalyseData()
public string xPieAxis = "[]";
public string seriesPie = "[]";
/// <summary>
/// 统计方法
/// </summary>
private void AnalyseData()
{
if (this.rblState.SelectedValue == "0")
{
@@ -152,9 +156,56 @@ namespace FineUIPro.Web.HSSE.HiddenInspection
},
data: " + series3 + @"
}]";
}
else
string strSql1 = @" select r.RegisterTypesId,t.RegisterTypesName,
count(*) as allnum,
Sum(case when States= 1 or States is null then 1 else 0 end) as todo,
Sum(case when States= 3 or States =2 then 1 else 0 end) as finish
from HSSE_Hazard_HazardRegister r left join HSSE_Hazard_HazardRegisterTypes t on r.RegisterTypesId=t.RegisterTypesId
where ProjectId=@ProjectId and States != '4' and ProblemTypes = '1'
";
if (!string.IsNullOrEmpty(this.txtStartRectificationTime.Text.Trim()))
{
strSql1 += " and CheckTime >='" + this.txtStartRectificationTime.Text.Trim() + "' ";
}
if (!string.IsNullOrEmpty(this.txtEndRectificationTime.Text.Trim()))
{
strSql1 += " and CheckTime <'" + DateTime.Parse(this.txtEndRectificationTime.Text.Trim()).AddDays(1).ToString("yyyy-MM-dd") + "' ";
}
if (drpUnit.SelectedValue != BLL.Const._Null)
{
strSql1 += " and r.ResponsibleUnit='" + drpUnit.SelectedValue + "' ";
}
if (drpRegisterTypes.SelectedValue != BLL.Const._Null)
{
strSql1 += " and r.RegisterTypesId='" + drpRegisterTypes.SelectedValue + "' ";
}
strSql1 += " group by r.RegisterTypesId,t.RegisterTypesName ";
List<SqlParameter> listStr1 = new List<SqlParameter>();
listStr1.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
SqlParameter[] parameter1 = listStr1.ToArray();
DataTable tb1 = SQLHelper.GetDataTableRunText(strSql1, parameter1);
if (tb1 != null)
{
xPieAxis = "[";
seriesPie = "[";
foreach (DataRow dr in tb1.Rows)
{
xPieAxis += " '" + dr["RegisterTypesName"].ToString() + "' ,";
seriesPie += " { name:'" + dr["RegisterTypesName"].ToString() + "', value:" + dr["allnum"].ToString() + "} ,";
}
xPieAxis=xPieAxis.TrimEnd(',');
seriesPie=seriesPie.TrimEnd(',');
xPieAxis += "]";
seriesPie += "]";
}
}
else
{
string strSql = @" select u.UnitId,u.unitName,r.RegisterTypesId,t.RegisterTypesName,
count(*) as allnum,
@@ -352,11 +403,60 @@ namespace FineUIPro.Web.HSSE.HiddenInspection
}
series = series.TrimEnd(',');
series += "]";
}
string strSql1 = @" select r.RegisterTypesId,t.RegisterTypesName,
count(*) as allnum,
Sum(case when States= 1 or States is null then 1 else 0 end) as todo,
Sum(case when States= 3 or States =2 then 1 else 0 end) as finish
from HSSE_Hazard_HazardRegister r left join HSSE_Hazard_HazardRegisterTypes t on r.RegisterTypesId=t.RegisterTypesId
where ProjectId=@ProjectId and States != '4' and ProblemTypes = '1'
";
if (!string.IsNullOrEmpty(this.txtStartRectificationTime.Text.Trim()))
{
strSql1 += " and CheckTime >='" + this.txtStartRectificationTime.Text.Trim() + "' ";
}
if (!string.IsNullOrEmpty(this.txtEndRectificationTime.Text.Trim()))
{
strSql1 += " and CheckTime <'" + DateTime.Parse(this.txtEndRectificationTime.Text.Trim()).AddDays(1).ToString("yyyy-MM-dd") + "' ";
}
if (drpUnit.SelectedValue != BLL.Const._Null)
{
strSql1 += " and r.ResponsibleUnit='" + drpUnit.SelectedValue + "' ";
}
if (drpRegisterTypes.SelectedValue != BLL.Const._Null)
{
strSql1 += " and r.RegisterTypesId='" + drpRegisterTypes.SelectedValue + "' ";
}
strSql1 += " group by r.RegisterTypesId,t.RegisterTypesName ";
List<SqlParameter> listStr1 = new List<SqlParameter>();
listStr1.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
SqlParameter[] parameter1 = listStr1.ToArray();
DataTable tb1 = SQLHelper.GetDataTableRunText(strSql1, parameter1);
if (tb1 != null)
{
xPieAxis = "[";
seriesPie = "[";
foreach (DataRow dr in tb1.Rows)
{
xPieAxis += " '" + dr["RegisterTypesName"].ToString() + "' ,";
seriesPie += " { name:'" + dr["RegisterTypesName"].ToString() + "', value:" + dr["allnum"].ToString() + "} ,";
}
xPieAxis = xPieAxis.TrimEnd(',');
seriesPie = seriesPie.TrimEnd(',');
xPieAxis += "]";
seriesPie += "]";
}
}
// this.ChartAccidentTime.CreateChart(BLL.ChartControlService.GetDataSourceChart(dtTime, "单位巡检分析", this.drpChartType.SelectedValue, 1130, 450, this.ckbShow.Checked));
//#endregion
@@ -401,18 +501,18 @@ namespace FineUIPro.Web.HSSE.HiddenInspection
protected void drpChartType_SelectedIndexChanged(object sender, EventArgs e)
{
this.AnalyseData();
PageContext.RegisterStartupScript(@"setTimeout(function () { rendChart(" + legend + "," + xAxis + "," + series + ");}, 1000); ");
PageContext.RegisterStartupScript(@" setTimeout(function () { rendChart(" + legend + "," + xAxis + "," + series + "); pie( ''," + xPieAxis + ", " + seriesPie + ") ; },1000); ");
}
}
protected void ckbShow_CheckedChanged(object sender, CheckedEventArgs e)
protected void ckbShow_CheckedChanged(object sender, CheckedEventArgs e)
{
this.AnalyseData();
PageContext.RegisterStartupScript(@"setTimeout(function () { rendChart(" + legend + "," + xAxis + "," + series + ");}, 1000);");
PageContext.RegisterStartupScript(@" setTimeout(function () { rendChart(" + legend + "," + xAxis + "," + series + "); pie( ''," + xPieAxis + ", " + seriesPie + ") ; },1000); ");
}
#endregion
}
}
#endregion
}
}
@@ -11,142 +11,160 @@ namespace FineUIPro.Web.HSSE.HiddenInspection
{
public partial class RiskAnalysisChart
{
public partial class RiskAnalysisChart
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel3;
/// <summary>
/// Panel3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel3;
/// <summary>
/// Form2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form Form2;
/// <summary>
/// Form2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form Form2;
/// <summary>
/// drpUnit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpUnit;
/// <summary>
/// drpUnit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpUnit;
/// <summary>
/// drpRegisterTypes 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpRegisterTypes;
/// <summary>
/// drpRegisterTypes 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpRegisterTypes;
/// <summary>
/// txtStartRectificationTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtStartRectificationTime;
/// <summary>
/// txtStartRectificationTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtStartRectificationTime;
/// <summary>
/// Label3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label Label3;
/// <summary>
/// Label3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label Label3;
/// <summary>
/// txtEndRectificationTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtEndRectificationTime;
/// <summary>
/// txtEndRectificationTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtEndRectificationTime;
/// <summary>
/// rblState 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButtonList rblState;
/// <summary>
/// rblState 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButtonList rblState;
/// <summary>
/// BtnAnalyse 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button BtnAnalyse;
/// <summary>
/// BtnAnalyse 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button BtnAnalyse;
/// <summary>
/// Panel4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel4;
/// <summary>
/// Panel4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel4;
/// <summary>
/// TabStrip1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TabStrip TabStrip1;
/// <summary>
/// TabStrip1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TabStrip TabStrip1;
/// <summary>
/// Tab2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tab Tab2;
/// <summary>
/// Tab2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tab Tab2;
/// <summary>
/// cpAccidentTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel cpAccidentTime;
}
/// <summary>
/// Panel2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel2;
/// <summary>
/// cpAccidentTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel cpAccidentTime;
/// <summary>
/// ContentPanel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel ContentPanel1;
}
}