1118-gaofei-焊接首页
This commit is contained in:
parent
0aa91d6a8f
commit
ed3517280a
|
@ -42,8 +42,9 @@
|
||||||
<Prefer32Bit>false</Prefer32Bit>
|
<Prefer32Bit>false</Prefer32Bit>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Apache.NMS.ActiveMQ">
|
<Reference Include="Apache.NMS.ActiveMQ, Version=1.7.2.4108, Culture=neutral, PublicKeyToken=82756feee3957618, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Apache.NMS.ActiveMQ.1.7.2\lib\net40\Apache.NMS.ActiveMQ.dll</HintPath>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
|
<HintPath>bin\Debug\Apache.NMS.ActiveMQ.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="EmitMapper, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
<Reference Include="EmitMapper, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\EmitMapper.1.0.0\lib\EmitMapper.dll</HintPath>
|
<HintPath>..\packages\EmitMapper.1.0.0\lib\EmitMapper.dll</HintPath>
|
||||||
|
|
|
@ -57,7 +57,8 @@
|
||||||
</Target>
|
</Target>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="Apache.NMS, Version=1.8.0.0, Culture=neutral, PublicKeyToken=82756feee3957618, processorArchitecture=MSIL">
|
<Reference Include="Apache.NMS, Version=1.8.0.0, Culture=neutral, PublicKeyToken=82756feee3957618, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Apache.NMS.1.8.0\lib\net40\Apache.NMS.dll</HintPath>
|
<SpecificVersion>False</SpecificVersion>
|
||||||
|
<HintPath>bin\Apache.NMS.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Apache.NMS.ActiveMQ, Version=1.7.2.4108, Culture=neutral, PublicKeyToken=82756feee3957618, processorArchitecture=MSIL">
|
<Reference Include="Apache.NMS.ActiveMQ, Version=1.7.2.4108, Culture=neutral, PublicKeyToken=82756feee3957618, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\Apache.NMS.ActiveMQ.1.7.2\lib\net40\Apache.NMS.ActiveMQ.dll</HintPath>
|
<HintPath>..\packages\Apache.NMS.ActiveMQ.1.7.2\lib\net40\Apache.NMS.ActiveMQ.dll</HintPath>
|
||||||
|
|
|
@ -12,32 +12,41 @@
|
||||||
* {
|
* {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
|
|
||||||
.pd {
|
.pd {
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.pd10 {
|
.pd10 {
|
||||||
padding: 10px !important;
|
padding: 10px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.flexV {
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
.wrap {
|
.wrap {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
padding: 15px;
|
padding: 15px;
|
||||||
}
|
}
|
||||||
.bw-item-content{
|
|
||||||
padding: 0;
|
.iteml {
|
||||||
|
margin-left: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.itemb {
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
.bottom-wrap {
|
.bottom-wrap {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin-bottom:0;
|
margin-bottom: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.bottom-wrap:last-child {
|
.bottom-wrap:last-child {
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
.top {
|
|
||||||
display: flex;
|
|
||||||
display: -webkit-flex;
|
|
||||||
overflow: hidden;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
.bw-b-bottom {
|
.bw-b-bottom {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
@ -50,133 +59,142 @@
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.bw-item-content {
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.top {
|
||||||
|
display: flex;
|
||||||
|
display: -webkit-flex;
|
||||||
|
overflow: hidden;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.top .item {
|
||||||
|
}
|
||||||
|
|
||||||
|
.bw-b {
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bw-b-bottom-up {
|
||||||
|
}
|
||||||
|
|
||||||
.tab-wrap {
|
.tab-wrap {
|
||||||
left: auto;
|
left: auto;
|
||||||
right: 15px;
|
right: 15px;
|
||||||
top: 8px;
|
top: 5px;
|
||||||
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
.tab-wrap .tab{
|
|
||||||
border-radius:0 !important;
|
.tab .t-item {
|
||||||
border: none!important;
|
|
||||||
box-shadow: none !important;
|
|
||||||
}
|
|
||||||
.tab-wrap .tab .active {
|
|
||||||
color: rgba(0,162,233, 1);
|
|
||||||
background-color: transparent !important;
|
|
||||||
}
|
|
||||||
.tab-wrap .tab .t-item {
|
|
||||||
width: auto;
|
width: auto;
|
||||||
|
padding: 5px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tit-item {
|
||||||
|
padding: 0 10px;
|
||||||
|
color: #fff;
|
||||||
|
justify-content: space-between;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tip-item {
|
||||||
|
margin-left: 10px;
|
||||||
|
align-items: center;
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
padding: 2px;
|
|
||||||
}
|
}
|
||||||
.itemlr{
|
|
||||||
margin: 0 5px 5px 0;
|
.tip {
|
||||||
}
|
width: 25px;
|
||||||
.mgb{
|
height: 13px;
|
||||||
margin-bottom: 5px;
|
background-color: #258F76;
|
||||||
}
|
border-radius: 2px;
|
||||||
.flex4 {
|
margin-right: 5px;
|
||||||
-webkit-flex: 4;
|
|
||||||
/* Chrome */
|
|
||||||
-ms-flex: 4; /* IE 10 */
|
|
||||||
flex: 4;
|
|
||||||
/* NEW, Spec - Opera 12.1, Firefox 20+ */
|
|
||||||
/*-webkit-box-flex: 3; /* OLD - iOS 6-, Safari 3.1-6 */
|
|
||||||
-moz-box-flex: 4;
|
|
||||||
/* OLD - Firefox 19- */
|
|
||||||
}
|
|
||||||
.flex6 {
|
|
||||||
-webkit-flex: 6;
|
|
||||||
/* Chrome */
|
|
||||||
-ms-flex: 6; /* IE 10 */
|
|
||||||
flex: 6;
|
|
||||||
/* NEW, Spec - Opera 12.1, Firefox 20+ */
|
|
||||||
/*-webkit-box-flex: 3; /* OLD - iOS 6-, Safari 3.1-6 */
|
|
||||||
-moz-box-flex: 6;
|
|
||||||
/* OLD - Firefox 19- */
|
|
||||||
}
|
|
||||||
.flex9 {
|
|
||||||
-webkit-flex: 9;
|
|
||||||
/* Chrome */
|
|
||||||
-ms-flex: 9; /* IE 10 */
|
|
||||||
flex: 9;
|
|
||||||
/* NEW, Spec - Opera 12.1, Firefox 20+ */
|
|
||||||
/*-webkit-box-flex: 3; /* OLD - iOS 6-, Safari 3.1-6 */
|
|
||||||
-moz-box-flex: 9;
|
|
||||||
/* OLD - Firefox 19- */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.info-wrap {
|
.info-wrap {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
padding: 5px 10px;
|
padding: 5px 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.info-wrap .info-item {
|
.info-wrap .info-item {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin: 0 20px;
|
margin: 0 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.info-wrap .info-item .title {
|
.info-wrap .info-item .title {
|
||||||
margin-bottom: 5px;
|
margin-bottom: 5px;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.tip-next {
|
||||||
|
background-color: #92BF55;
|
||||||
|
}
|
||||||
|
|
||||||
.info-wrap .info-item .item {
|
.info-wrap .info-item .item {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background-color: #267AA4;
|
background-color: #267AA4;
|
||||||
border-radius:15px;
|
border-radius: 25px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-around;
|
justify-content: space-around;
|
||||||
}
|
}
|
||||||
|
|
||||||
.info-wrap .info-item .item .i-num {
|
.info-wrap .info-item .item .i-num {
|
||||||
color: #F48A5C;
|
color: #F48A5C;
|
||||||
font-size:28px;
|
font-size: 48px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.info-wrap .info-item .item .i-num-c {
|
.info-wrap .info-item .item .i-num-c {
|
||||||
color: #C1DF8E;
|
color: #C1DF8E;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div class="wrap flex">
|
<div class="wrap flex flexV">
|
||||||
<div class="bottom-wrap flex1">
|
<div class="bottom-wrap flex1">
|
||||||
<div class="top flexV">
|
<div class="top flex">
|
||||||
<div class="item flex4 itemlr">
|
<div class="item flex1 flex flexV">
|
||||||
<div class="bw-b-bottom">
|
<div class="bw-b-bottom" style="margin-bottom: 5px;">
|
||||||
<div class="bw-b-bottom-up">
|
<div class="bw-b-bottom-up">
|
||||||
<div class="info-wrap flex">
|
<div class="info-wrap flex">
|
||||||
<div class="info-item flex flexV flex1">
|
<div class="info-item flex flexV flex1">
|
||||||
<div class="title">一次合格率</div>
|
<div class="title">一次合格率</div>
|
||||||
<div class="item flex1 flex flexV">
|
<div class="item flex1 flex flexV">
|
||||||
<div class="specialNum i-num">87</div>
|
<div runat="server" id="divFirstOKRate" class="specialNum i-num">87</div>
|
||||||
<div style="font-size: 10px">单位:%</div>
|
<div style="font-size: 10px">单位:%</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="info-item flex flexV flex1">
|
|
||||||
<div class="title">焊工总人数</div>
|
|
||||||
<div class="item flex1 flex flexV">
|
|
||||||
<div class="specialNum i-num i-num-c">176</div>
|
|
||||||
<div style="font-size:10px">单位:人</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<%--<div class="bw-item-content flex">
|
|
||||||
<div class="flex1 pd" >
|
|
||||||
<div id='one' style="width: 100%; height: 100%;"></div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="flex1 pd" >
|
<div class="item flex2 iteml">
|
||||||
<div id='one1' style="width: 100%; height: 100%;"></div>
|
<div class="bw-b-bottom">
|
||||||
|
<div class="bw-b-bottom-up">
|
||||||
|
<div class="tab-wrap">
|
||||||
|
<div class="tab" data-value="3">
|
||||||
|
<div class="t-item active">按分包商</div>
|
||||||
|
<div class="spline"></div>
|
||||||
|
<div class="t-item ">按装置</div>
|
||||||
</div>
|
</div>
|
||||||
</div>--%>
|
</div>
|
||||||
|
<div class="bw-item-content flex1 pdtb0">
|
||||||
|
<div id='four' style="width: 100%; height: 100%;"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="item flex6 itemlr">
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="bottom-wrap flex1">
|
||||||
|
<div class="top flex">
|
||||||
|
<div class="item flex1">
|
||||||
<div class="bw-b-bottom">
|
<div class="bw-b-bottom">
|
||||||
<div class="bw-b-bottom-up">
|
<div class="bw-b-bottom-up">
|
||||||
<div class="tab-wrap" style="right: 5px;">
|
<div class="tab-wrap" style="right: 5px;">
|
||||||
<div class="tab" data-value="4">
|
|
||||||
<div class="t-item active">按达因量</div>
|
|
||||||
<div class="t-item ">按焊口数</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="bw-item-content">
|
<div class="bw-item-content">
|
||||||
<div id='two' style="width: 100%; height: 100%;"></div>
|
<div id='two' style="width: 100%; height: 100%;"></div>
|
||||||
|
@ -184,70 +202,17 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="item flex2 iteml">
|
||||||
<div class="item flex9 itemlr">
|
|
||||||
<div class="bw-b-bottom">
|
|
||||||
<div class="bw-b-bottom-up">
|
|
||||||
<div class="tab-wrap" style="right:5px;">
|
|
||||||
<div class="tab" data-value="4">
|
|
||||||
<div class="t-item active">按分包商</div>
|
|
||||||
<div class="t-item ">按单位工程</div>
|
|
||||||
<div class="t-item">按材质类别</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="bw-item-content">
|
|
||||||
<div id='five' style="width: 100%; height: 100%;"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="bottom-wrap flex3">
|
|
||||||
<div class="top flexV">
|
|
||||||
<div class="item flex1 mgb">
|
|
||||||
<div class="bw-b-bottom">
|
|
||||||
<div class="bw-b-bottom-up">
|
|
||||||
<div class="tab-wrap">
|
|
||||||
<div class="tab" data-value="3">
|
|
||||||
<div class="t-item active">按分包商</div>
|
|
||||||
<div class="t-item ">按单位工程</div>
|
|
||||||
<div class="t-item">按材质类别</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="bw-item-content pd10">
|
|
||||||
<div id='four' style="width: 100%; height: 100%;"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="item flex1 mgb">
|
|
||||||
<div class="bw-b-bottom">
|
|
||||||
<div class="bw-b-bottom-up">
|
|
||||||
<div class="tab-wrap">
|
|
||||||
<div class="tab" data-value="3">
|
|
||||||
<div class="t-item active">按分包商</div>
|
|
||||||
<div class="t-item ">按单位工程</div>
|
|
||||||
<div class="t-item">按材质类别</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="bw-item-content pd10">
|
|
||||||
<div id='six' style="width: 100%; height: 100%;"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="item flex1 mgb">
|
|
||||||
<div class="bw-b-bottom">
|
<div class="bw-b-bottom">
|
||||||
<div class="bw-b-bottom-up">
|
<div class="bw-b-bottom-up">
|
||||||
<div class="tab-wrap">
|
<div class="tab-wrap">
|
||||||
<div class="tab" data-value="2">
|
<div class="tab" data-value="2">
|
||||||
<div class="t-item active">按分包商</div>
|
<div class="t-item active">按分包商</div>
|
||||||
<div class="t-item ">按单位工程</div>
|
<div class="spline"></div>
|
||||||
<div class="t-item">按材质类别</div>
|
<div class="t-item">按装置</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bw-item-content pd10">
|
<div class="bw-item-content">
|
||||||
<div id='three' style="width: 100%; height: 100%;"></div>
|
<div id='three' style="width: 100%; height: 100%;"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -324,6 +289,7 @@
|
||||||
//category_One('one1', 76, '项目焊工总人数', '{value}人');
|
//category_One('one1', 76, '项目焊工总人数', '{value}人');
|
||||||
</script>
|
</script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
|
||||||
function category_two(id, xArr, data) {
|
function category_two(id, xArr, data) {
|
||||||
// 基于准备好的dom,初始化echarts实例
|
// 基于准备好的dom,初始化echarts实例
|
||||||
var myChart = echarts.init(document.getElementById(id))
|
var myChart = echarts.init(document.getElementById(id))
|
||||||
|
@ -375,8 +341,8 @@
|
||||||
show: false
|
show: false
|
||||||
},
|
},
|
||||||
data: [
|
data: [
|
||||||
{ value: 35, name: '已完成' },
|
{ value: data.num1, name: '已完成' },
|
||||||
{ value: 10, name: '未完成' }
|
{ value: data.num2, name: '未完成' }
|
||||||
],
|
],
|
||||||
itemStyle: {
|
itemStyle: {
|
||||||
normal: {
|
normal: {
|
||||||
|
@ -409,29 +375,163 @@
|
||||||
//itemStyle: { normal: { color: 'rgba(200,201,10, 1)' } }
|
//itemStyle: { normal: { color: 'rgba(200,201,10, 1)' } }
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
category_two('two', xArr, data)
|
var two =<%=Two %>;
|
||||||
|
category_two('two', xArr, two)
|
||||||
</script>
|
</script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
function category_Three(id, xArr, series, title) {
|
function category_Three(id, xArr, data, num) {
|
||||||
// 基于准备好的dom,初始化echarts实例
|
// 基于准备好的dom,初始化echarts实例
|
||||||
var myChart = echarts.init(document.getElementById(id))
|
var myChart = echarts.init(document.getElementById(id))
|
||||||
// 指定图表的配置项和数据
|
// 指定图表的配置项和数据
|
||||||
var option = {
|
var option = {
|
||||||
title: {
|
title: {
|
||||||
// left:'center',
|
// left:'center',
|
||||||
text: title,
|
text: '焊接完成量',
|
||||||
textStyle: {
|
textStyle: {
|
||||||
fontSize: 12,
|
|
||||||
color: '#fff',
|
color: '#fff',
|
||||||
fontWeight:'300'
|
fontWeight: 'normal',
|
||||||
|
fontSize: 12
|
||||||
},
|
},
|
||||||
show: true
|
show: true
|
||||||
},
|
},
|
||||||
tooltip: {},
|
tooltip: {},
|
||||||
legend: {
|
legend: {
|
||||||
//data: ['销量'],
|
left: '10%',
|
||||||
|
show: true,
|
||||||
|
textStyle: {//图例文字的样式
|
||||||
|
color: '#ffffff',
|
||||||
|
fontSize: 10,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
xAxis: {
|
||||||
|
axisTick: {
|
||||||
show: false
|
show: false
|
||||||
},
|
},
|
||||||
|
axisLine: {
|
||||||
|
lineStyle: {
|
||||||
|
color: 'rgba(255, 255, 255, 0.3)',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
axisLabel: {
|
||||||
|
show: true,
|
||||||
|
textStyle: {
|
||||||
|
color: 'rgba(255, 255, 255, 0.8)'
|
||||||
|
},
|
||||||
|
interval: 0,
|
||||||
|
formatter: function (value) {
|
||||||
|
var ret = "";//拼接加\n返回的类目项
|
||||||
|
var maxLength = num;//每项显示文字个数
|
||||||
|
var valLength = value.length;//X轴类目项的文字个数
|
||||||
|
var rowN = Math.ceil(valLength / maxLength); //类目项需要换行的行数
|
||||||
|
if (rowN > 1)//如果类目项的文字大于maxLength,
|
||||||
|
{
|
||||||
|
for (var i = 0; i < rowN; i++) {
|
||||||
|
var temp = "";//每次截取的字符串
|
||||||
|
var start = i * maxLength;//开始截取的位置
|
||||||
|
var end = start + maxLength;//结束截取的位置
|
||||||
|
//这里也可以加一个是否是最后一行的判断,但是不加也没有影响,那就不加吧
|
||||||
|
//temp = value.substring(start, end) + "\n";
|
||||||
|
temp = value.substring(start, end) + (i == rowN - 1 ? "" : "\n");
|
||||||
|
ret += temp; //凭借最终的字符串
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
type: 'category',
|
||||||
|
data: xArr,
|
||||||
|
boundaryGap: [0, 0.01],
|
||||||
|
},
|
||||||
|
yAxis: {
|
||||||
|
axisTick: {
|
||||||
|
show: false
|
||||||
|
},
|
||||||
|
axisLine: {
|
||||||
|
show: false,
|
||||||
|
lineStyle: {
|
||||||
|
color: 'rgba(255, 255, 255, 0.3)'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
axisLabel: {
|
||||||
|
show: true,
|
||||||
|
textStyle: {
|
||||||
|
color: 'rgba(255, 255, 255, 0.8)'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
series: data,
|
||||||
|
grid: {
|
||||||
|
top: '20%',
|
||||||
|
left: '0%',
|
||||||
|
right: '0%',
|
||||||
|
bottom: '0%',
|
||||||
|
containLabel: true,
|
||||||
|
backgroundColor: 'rgba(0,162,233, 0.01)',
|
||||||
|
// borderColor: 'rgba(0,162,233, 1)'
|
||||||
|
},
|
||||||
|
backgroundColor: 'rgba(0,162,233, 0.01)',
|
||||||
|
textStyle: {
|
||||||
|
color: 'rgba(255, 255, 255, 0.3)'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 使用刚指定的配置项和数据显示图表。
|
||||||
|
myChart.setOption(option)
|
||||||
|
}
|
||||||
|
var three =<%=Three %>;
|
||||||
|
//var xArr = ["分包1", "分包2", "分包3", "分包4", "分包5", "分包6", "分包7", "分包8", "分包9"]
|
||||||
|
var xArr = three.categories
|
||||||
|
var data = [
|
||||||
|
{
|
||||||
|
name: '已完成',
|
||||||
|
type: 'bar',
|
||||||
|
stack: '总量',
|
||||||
|
barWidth: 40,
|
||||||
|
//data: [3, 5, 8, 10, 6, 4, 5, 9, 12],
|
||||||
|
data: three.series[0].data,
|
||||||
|
itemStyle: { normal: { color: 'rgba(162,63,21, 1)' } }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '未完成',
|
||||||
|
type: 'bar',
|
||||||
|
stack: '总量',
|
||||||
|
barWidth: 40,
|
||||||
|
//data: [2, 7, 5, 9, 12, 9, 2, 8, 10],
|
||||||
|
data: three.series[1].data,
|
||||||
|
itemStyle: { normal: { color: 'rgba(206,143,135,1)' } }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
category_Three('three', xArr, data, three.xFontNum)
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
function line(id, xArr, data) {
|
||||||
|
// 基于准备好的dom,初始化echarts实例
|
||||||
|
var myChart = echarts.init(document.getElementById(id))
|
||||||
|
// 指定图表的配置项和数据
|
||||||
|
var option = {
|
||||||
|
title: {
|
||||||
|
//left: 'center',
|
||||||
|
text: '一次合格率',
|
||||||
|
textStyle: {
|
||||||
|
color: '#fff',
|
||||||
|
fontWeight: 'normal',
|
||||||
|
fontSize: 12
|
||||||
|
},
|
||||||
|
show: true
|
||||||
|
},
|
||||||
|
tooltip: {
|
||||||
|
formatter: '{a}<br />{b}: {c}%'
|
||||||
|
},
|
||||||
|
legend: {
|
||||||
|
show: true,
|
||||||
|
textStyle: {
|
||||||
|
color: '#fff'
|
||||||
|
},
|
||||||
|
left: '10%',
|
||||||
|
},
|
||||||
xAxis: {
|
xAxis: {
|
||||||
axisTick: {
|
axisTick: {
|
||||||
show: false
|
show: false
|
||||||
|
@ -464,21 +564,22 @@
|
||||||
show: true,
|
show: true,
|
||||||
textStyle: {
|
textStyle: {
|
||||||
color: 'rgba(255, 255, 255, 0.8)'
|
color: 'rgba(255, 255, 255, 0.8)'
|
||||||
}
|
},
|
||||||
|
formatter: '{value} %'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
series: series,
|
series: data,
|
||||||
grid: {
|
grid: {
|
||||||
top: '25%',
|
top: '15%',
|
||||||
left: '0%',
|
left: '10',
|
||||||
right: '0%',
|
right: '10',
|
||||||
bottom: '0%',
|
bottom: '0%',
|
||||||
containLabel: true,
|
containLabel: true,
|
||||||
backgroundColor: 'rgba(0,162,233, 0.01)',
|
backgroundColor: 'rgba(0,162,233, 0.01)',
|
||||||
// borderColor: 'rgba(0,162,233, 1)'
|
// borderColor: 'rgba(0,162,233, 1)'
|
||||||
},
|
},
|
||||||
itemStyle: {
|
itemStyle: {
|
||||||
color: 'rgba(200,201,10, 1)'
|
//color: 'rgba(200,201,10, 1)'
|
||||||
},
|
},
|
||||||
backgroundColor: 'rgba(0,162,233, 0.01)',
|
backgroundColor: 'rgba(0,162,233, 0.01)',
|
||||||
textStyle: {
|
textStyle: {
|
||||||
|
@ -489,26 +590,23 @@
|
||||||
// 使用刚指定的配置项和数据显示图表。
|
// 使用刚指定的配置项和数据显示图表。
|
||||||
myChart.setOption(option)
|
myChart.setOption(option)
|
||||||
}
|
}
|
||||||
var xArr = ["类别1", "类别2", "类别3", "类别4", "类别5", "类别6", "类别7", "类别8", "类别9"]
|
var four =<%=Four %>;
|
||||||
var data = [12, 5, 28, 43, 22, 11, 23, 50, 8]
|
var xArr1 = four.categories
|
||||||
var series = [{
|
var data1 = [{
|
||||||
name: '数量',
|
name: '分包1',
|
||||||
type: 'bar',
|
type: 'line',
|
||||||
barWidth: 40,
|
data: [76, 86, 96],
|
||||||
data: data,
|
}, {
|
||||||
itemStyle: { normal: { color: 'rgba(236,157,27, 1)' } }
|
name: '分包2',
|
||||||
}];
|
type: 'line',
|
||||||
|
data: [56, 66, 76],
|
||||||
category_Three('three', xArr, series, '焊工业绩分析')
|
}, {
|
||||||
|
name: '分包3',
|
||||||
var series1 = [{
|
type: 'line',
|
||||||
name: '数量',
|
data: [51, 61, 71],
|
||||||
type: 'bar',
|
}]
|
||||||
barWidth: 40,
|
var data2 = four.series3
|
||||||
data: data,
|
line('four', xArr1, data2)
|
||||||
itemStyle: { normal: { color: 'rgba(57,178,210, 1)' } }
|
|
||||||
}];
|
|
||||||
category_Three('four', xArr, series1, '焊接一次合格率')
|
|
||||||
</script>
|
</script>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
function category_five(id, xArr, data) {
|
function category_five(id, xArr, data) {
|
||||||
|
@ -748,126 +846,66 @@
|
||||||
//category_One('one', xArr, data)
|
//category_One('one', xArr, data)
|
||||||
}
|
}
|
||||||
else if (value == 2) {
|
else if (value == 2) {
|
||||||
var xArr = ["分包一", "分包二", "分包三"]
|
var three =<%=Three %>;
|
||||||
|
var three2 =<%=Three2 %>;
|
||||||
|
if (index == 0) {
|
||||||
|
var xArr = three.categories
|
||||||
var data = [
|
var data = [
|
||||||
{
|
{
|
||||||
name: '计划值',
|
name: '已完成',
|
||||||
type: 'bar',
|
type: 'bar',
|
||||||
|
stack: '总量',
|
||||||
barWidth: 40,
|
barWidth: 40,
|
||||||
data: [0.23, 0.35, 0.42],
|
data: three.series[0].data,
|
||||||
//itemStyle: { normal: { color: 'rgba(200,201,10, 1)' } }
|
itemStyle: { normal: { color: 'rgba(162,63,21, 1)' } }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '实际值',
|
name: '未完成',
|
||||||
type: 'bar',
|
type: 'bar',
|
||||||
|
stack: '总量',
|
||||||
barWidth: 40,
|
barWidth: 40,
|
||||||
data: [0.2, 0.28, 0.35],
|
data: three.series[1].data,
|
||||||
//itemStyle: { normal: { color: 'rgba(231,236,114,.9)' } }
|
itemStyle: { normal: { color: 'rgba(206,143,135,1)' } }
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '累计计划值',
|
|
||||||
type: 'line',
|
|
||||||
smooth: true,
|
|
||||||
data: [0.23, 0.58, 1],
|
|
||||||
//itemStyle: { normal: { color: 'rgba(200,201,10, 1)' } }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '累计实际值',
|
|
||||||
type: 'line',
|
|
||||||
smooth: true,
|
|
||||||
data: [0.2, 0.48, 0.83],
|
|
||||||
//itemStyle: { normal: { color: 'rgba(200,201,10, 1)' } }
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
if (index == 2) {
|
category_Three('three', xArr, data, three.xFontNum)
|
||||||
xArr = ["单位工程一", "单位工程二", "单位工程三"]
|
}
|
||||||
data = [
|
else if (index == 2) {
|
||||||
|
var xArr = three2.categories
|
||||||
|
var data = [
|
||||||
{
|
{
|
||||||
name: '计划值',
|
name: '已完成',
|
||||||
type: 'bar',
|
type: 'bar',
|
||||||
|
stack: '总量',
|
||||||
barWidth: 40,
|
barWidth: 40,
|
||||||
data: [0.20, 0.33, 0.47],
|
data: three2.series[0].data,
|
||||||
//itemStyle: { normal: { color: 'rgba(200,201,10, 1)' } }
|
itemStyle: { normal: { color: 'rgba(162,63,21, 1)' } }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '实际值',
|
name: '未完成',
|
||||||
type: 'bar',
|
type: 'bar',
|
||||||
|
stack: '总量',
|
||||||
barWidth: 40,
|
barWidth: 40,
|
||||||
data: [0.15, 0.25, 0.33],
|
data: three2.series[1].data,
|
||||||
//itemStyle: { normal: { color: 'rgba(231,236,114,.9)' } }
|
itemStyle: { normal: { color: 'rgba(206,143,135,1)' } }
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '累计计划值',
|
|
||||||
type: 'line',
|
|
||||||
smooth: true,
|
|
||||||
data: [0.20, 0.53, 1],
|
|
||||||
//itemStyle: { normal: { color: 'rgba(200,201,10, 1)' } }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '累计实际值',
|
|
||||||
type: 'line',
|
|
||||||
smooth: true,
|
|
||||||
data: [0.15, 0.4, 0.73],
|
|
||||||
//itemStyle: { normal: { color: 'rgba(200,201,10, 1)' } }
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
category_Three('three', xArr, data, three2.xFontNum)
|
||||||
}
|
}
|
||||||
else if (index == 4) {
|
|
||||||
xArr = ["建筑", "安装"]
|
|
||||||
data = [
|
|
||||||
{
|
|
||||||
name: '计划值',
|
|
||||||
type: 'bar',
|
|
||||||
barWidth: 40,
|
|
||||||
data: [0.45, 0.55],
|
|
||||||
//itemStyle: { normal: { color: 'rgba(200,201,10, 1)' } }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '实际值',
|
|
||||||
type: 'bar',
|
|
||||||
barWidth: 40,
|
|
||||||
data: [0.36, 0.43],
|
|
||||||
//itemStyle: { normal: { color: 'rgba(231,236,114,.9)' } }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '累计计划值',
|
|
||||||
type: 'line',
|
|
||||||
smooth: true,
|
|
||||||
data: [0.45, 1],
|
|
||||||
//itemStyle: { normal: { color: 'rgba(200,201,10, 1)' } }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '累计实际值',
|
|
||||||
type: 'line',
|
|
||||||
smooth: true,
|
|
||||||
data: [0.36, 0.79],
|
|
||||||
//itemStyle: { normal: { color: 'rgba(200,201,10, 1)' } }
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
category_Two('two', xArr, data)
|
|
||||||
}
|
}
|
||||||
else if (value == 3) {
|
else if (value == 3) {
|
||||||
var data = [{ value: 10, name: '分包一' },
|
var four =<%=Four %>;
|
||||||
{ value: 5, name: '分包二' },
|
var four2 =<%=Four2 %>;
|
||||||
{ value: 15, name: '分包三' },
|
if (index == 0) {
|
||||||
{ value: 25, name: '分包四' },
|
var xArr1 = four.categories
|
||||||
{ value: 20, name: '分包五' },
|
var data2 = four.series3
|
||||||
{ value: 35, name: '分包六' }];
|
line('four', xArr1, data2)
|
||||||
if (index == 2) {
|
|
||||||
data = [{ value: 25, name: '单位工程一' },
|
|
||||||
{ value: 35, name: '单位工程二' },
|
|
||||||
{ value: 30, name: '单位工程三' }];
|
|
||||||
}
|
}
|
||||||
else if (index == 4) {
|
else if (index == 2) {
|
||||||
data = [{ value: 45, name: '建筑' },
|
var xArr1 = four2.categories
|
||||||
{ value: 55, name: '安装' }];
|
var data2 = four2.series3
|
||||||
|
line('four', xArr1, data2)
|
||||||
}
|
}
|
||||||
else if (index == 6) {
|
|
||||||
data = [{ value: 35, name: '质量不合格' },
|
|
||||||
{ value: 65, name: '质量缺陷' }];
|
|
||||||
}
|
|
||||||
pie('three', data)
|
|
||||||
}
|
}
|
||||||
else if (value == 4) {
|
else if (value == 4) {
|
||||||
var xArr = ["主项一", "主项二", "主项三", "主项四", "主项五"]
|
var xArr = ["主项一", "主项二", "主项三", "主项四", "主项五"]
|
||||||
|
|
|
@ -4,6 +4,8 @@ using System.Linq;
|
||||||
using System.Web;
|
using System.Web;
|
||||||
using System.Web.UI;
|
using System.Web.UI;
|
||||||
using System.Web.UI.WebControls;
|
using System.Web.UI.WebControls;
|
||||||
|
using BLL;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
namespace FineUIPro.Web
|
namespace FineUIPro.Web
|
||||||
{
|
{
|
||||||
|
@ -11,7 +13,203 @@ namespace FineUIPro.Web
|
||||||
{
|
{
|
||||||
protected void Page_Load(object sender, EventArgs e)
|
protected void Page_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
if (!IsPostBack)
|
||||||
|
{
|
||||||
|
var firstOKRates = from x in Funs.DB.HJGL_FirstOKRate where x.ProjectId == this.CurrUser.LoginProjectId && x.Type == "unit" orderby x.Months descending select x;
|
||||||
|
var units = firstOKRates.Where(x => x.Type == "unit").Select(x => x.Name).Distinct();
|
||||||
|
if (firstOKRates.Count() > 0)
|
||||||
|
{
|
||||||
|
int totalNum = 0, oKNum = 0;
|
||||||
|
foreach (var item in units)
|
||||||
|
{
|
||||||
|
var f = firstOKRates.FirstOrDefault(x => x.Name == item); //取每个单位最后一个月的一次合格率数据进行汇总
|
||||||
|
if (f != null)
|
||||||
|
{
|
||||||
|
totalNum += f.TotalNum ?? 0;
|
||||||
|
oKNum += f.OKNum ?? 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (totalNum > 0)
|
||||||
|
{
|
||||||
|
var a = Convert.ToDouble(oKNum);
|
||||||
|
var b = Convert.ToDouble(totalNum);
|
||||||
|
this.divFirstOKRate.InnerHtml = Convert.ToDouble(decimal.Round(decimal.Parse((a / b * 100).ToString()), 2)).ToString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.divFirstOKRate.InnerHtml = "0";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#region 项目焊接工程量统计
|
||||||
|
protected string Two
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
Model.Num num = new Model.Num();
|
||||||
|
var finishRates = from x in Funs.DB.HJGL_FinishRate where x.ProjectId == this.CurrUser.LoginProjectId && x.Type == "unit" select x;
|
||||||
|
int totalNum = 0, finishNum = 0;
|
||||||
|
foreach (var item in finishRates)
|
||||||
|
{
|
||||||
|
totalNum += item.TotalNum ?? 0;
|
||||||
|
finishNum += item.FinishNum ?? 0;
|
||||||
|
}
|
||||||
|
int notFinishNum = totalNum - finishNum;
|
||||||
|
num.num1 = finishNum;
|
||||||
|
num.num2 = notFinishNum;
|
||||||
|
return JsonConvert.SerializeObject(num);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 一次合格率
|
||||||
|
protected string Four
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
List<Model.SingleSerie2> series = new List<Model.SingleSerie2>();
|
||||||
|
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
||||||
|
List<string> listCategories = new List<string>();
|
||||||
|
businessColumn.title = "一次合格率";
|
||||||
|
var views = (from x in Funs.DB.HJGL_FirstOKRate where x.ProjectId == this.CurrUser.LoginProjectId && x.Type == "unit" orderby x.Months select x).ToList();
|
||||||
|
var months = views.Select(x => x.Months).Distinct().ToList();
|
||||||
|
var units = views.Select(x => x.Name).Distinct().ToList();
|
||||||
|
for (int i = 0; i < months.Count; i++)
|
||||||
|
{
|
||||||
|
listCategories.Add(string.Format("{0:yyyy-MM}", views[i].Months));
|
||||||
|
}
|
||||||
|
for (int i = 0; i < units.Count; i++)
|
||||||
|
{
|
||||||
|
Model.SingleSerie2 s = new Model.SingleSerie2();
|
||||||
|
s.name = units[i];
|
||||||
|
s.type = "line";
|
||||||
|
List<double?> listdata = new List<double?>();
|
||||||
|
for (int j = 0; j < months.Count; j++)
|
||||||
|
{
|
||||||
|
var item = views.FirstOrDefault(x => x.Name == units[i] && x.Months == months[j]);
|
||||||
|
if (item != null)
|
||||||
|
{
|
||||||
|
listdata.Add(Convert.ToDouble(item.Rate.Replace("%", "")));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
listdata.Add(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
s.data = listdata;
|
||||||
|
series.Add(s);
|
||||||
|
}
|
||||||
|
businessColumn.categories = listCategories;
|
||||||
|
businessColumn.series3 = series;
|
||||||
|
return JsonConvert.SerializeObject(businessColumn);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected string Four2
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
List<Model.SingleSerie2> series = new List<Model.SingleSerie2>();
|
||||||
|
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
||||||
|
List<string> listCategories = new List<string>();
|
||||||
|
businessColumn.title = "一次合格率";
|
||||||
|
var views = (from x in Funs.DB.HJGL_FirstOKRate where x.ProjectId == this.CurrUser.LoginProjectId && x.Type == "device" orderby x.Months select x).ToList();
|
||||||
|
var months = views.Select(x => x.Months).Distinct().ToList();
|
||||||
|
var devices = views.Select(x => x.Name).Distinct().ToList();
|
||||||
|
for (int i = 0; i < months.Count; i++)
|
||||||
|
{
|
||||||
|
listCategories.Add(string.Format("{0:yyyy-MM}", views[i].Months));
|
||||||
|
}
|
||||||
|
for (int i = 0; i < devices.Count; i++)
|
||||||
|
{
|
||||||
|
Model.SingleSerie2 s = new Model.SingleSerie2();
|
||||||
|
s.name = devices[i];
|
||||||
|
s.type = "line";
|
||||||
|
List<double?> listdata = new List<double?>();
|
||||||
|
for (int j = 0; j < months.Count; j++)
|
||||||
|
{
|
||||||
|
var item = views.FirstOrDefault(x => x.Name == devices[i] && x.Months == months[j]);
|
||||||
|
if (item != null)
|
||||||
|
{
|
||||||
|
listdata.Add(Convert.ToDouble(item.Rate.Replace("%", "")));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
listdata.Add(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
s.data = listdata;
|
||||||
|
series.Add(s);
|
||||||
|
}
|
||||||
|
businessColumn.categories = listCategories;
|
||||||
|
businessColumn.series3 = series;
|
||||||
|
return JsonConvert.SerializeObject(businessColumn);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region 焊接完成量
|
||||||
|
protected string Three
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
|
||||||
|
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
||||||
|
List<string> listCategories = new List<string>();
|
||||||
|
businessColumn.title = "焊接完成量";
|
||||||
|
businessColumn.xFontNum = 18;
|
||||||
|
var views = (from x in Funs.DB.HJGL_FinishRate where x.ProjectId == this.CurrUser.LoginProjectId && x.Type == "unit" orderby x.Code select x).ToList();
|
||||||
|
Model.SingleSerie s = new Model.SingleSerie();
|
||||||
|
Model.SingleSerie s2 = new Model.SingleSerie();
|
||||||
|
List<double> listdata = new List<double>();
|
||||||
|
List<double> listdata2 = new List<double>();
|
||||||
|
foreach (var item in views)
|
||||||
|
{
|
||||||
|
listCategories.Add(item.Name);
|
||||||
|
listdata.Add(item.FinishNum ?? 0);
|
||||||
|
listdata2.Add((item.TotalNum ?? 0) - (item.FinishNum ?? 0));
|
||||||
|
}
|
||||||
|
s.data = listdata;
|
||||||
|
s2.data = listdata2;
|
||||||
|
series.Add(s);
|
||||||
|
series.Add(s2);
|
||||||
|
businessColumn.categories = listCategories;
|
||||||
|
businessColumn.series = series;
|
||||||
|
return JsonConvert.SerializeObject(businessColumn);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected string Three2
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
|
||||||
|
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
||||||
|
List<string> listCategories = new List<string>();
|
||||||
|
businessColumn.title = "焊接完成量";
|
||||||
|
businessColumn.xFontNum = 18;
|
||||||
|
var views = (from x in Funs.DB.HJGL_FinishRate where x.ProjectId == this.CurrUser.LoginProjectId && x.Type == "device" orderby x.Code select x).ToList();
|
||||||
|
Model.SingleSerie s = new Model.SingleSerie();
|
||||||
|
Model.SingleSerie s2 = new Model.SingleSerie();
|
||||||
|
List<double> listdata = new List<double>();
|
||||||
|
List<double> listdata2 = new List<double>();
|
||||||
|
foreach (var item in views)
|
||||||
|
{
|
||||||
|
listCategories.Add(item.Name);
|
||||||
|
listdata.Add(item.FinishNum ?? 0);
|
||||||
|
listdata2.Add((item.TotalNum ?? 0) - (item.FinishNum ?? 0));
|
||||||
|
}
|
||||||
|
s.data = listdata;
|
||||||
|
s2.data = listdata2;
|
||||||
|
series.Add(s);
|
||||||
|
series.Add(s2);
|
||||||
|
businessColumn.categories = listCategories;
|
||||||
|
businessColumn.series = series;
|
||||||
|
return JsonConvert.SerializeObject(businessColumn);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -20,5 +20,14 @@ namespace FineUIPro.Web {
|
||||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::System.Web.UI.HtmlControls.HtmlHead Head1;
|
protected global::System.Web.UI.HtmlControls.HtmlHead Head1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// divFirstOKRate 控件。
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// 自动生成的字段。
|
||||||
|
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divFirstOKRate;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,5 +16,6 @@ namespace Model
|
||||||
public List<SingleSerie> series { get; set; }
|
public List<SingleSerie> series { get; set; }
|
||||||
|
|
||||||
public List<SingleSerie> series2 { get; set; }
|
public List<SingleSerie> series2 { get; set; }
|
||||||
|
public List<SingleSerie2> series3 { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -71204,7 +71204,7 @@ namespace Model
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_QualifiedProjectCode", DbType="NVarChar(50)")]
|
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_QualifiedProjectCode", DbType="NVarChar(500)")]
|
||||||
public string QualifiedProjectCode
|
public string QualifiedProjectCode
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
|
@ -245489,7 +245489,7 @@ namespace Model
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Address", DbType="NVarChar(2000)")]
|
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Address", DbType="NVarChar(200)")]
|
||||||
public string Address
|
public string Address
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
|
@ -245553,7 +245553,7 @@ namespace Model
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkAreaName", DbType="NVarChar(MAX)", UpdateCheck=UpdateCheck.Never)]
|
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkAreaName", DbType="NVarChar(200)")]
|
||||||
public string WorkAreaName
|
public string WorkAreaName
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
|
@ -327152,7 +327152,7 @@ namespace Model
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Address", DbType="NVarChar(2000)")]
|
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Address", DbType="NVarChar(200)")]
|
||||||
public string Address
|
public string Address
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
|
@ -327168,7 +327168,7 @@ namespace Model
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkAreaName", DbType="NVarChar(MAX)", UpdateCheck=UpdateCheck.Never)]
|
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkAreaName", DbType="NVarChar(200)")]
|
||||||
public string WorkAreaName
|
public string WorkAreaName
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
|
@ -334640,7 +334640,7 @@ namespace Model
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Name", DbType="NVarChar(100)")]
|
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Name", DbType="NVarChar(102)")]
|
||||||
public string Name
|
public string Name
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
|
|
|
@ -184,6 +184,7 @@
|
||||||
<Compile Include="PieData.cs" />
|
<Compile Include="PieData.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
<Compile Include="SingleSerie.cs" />
|
<Compile Include="SingleSerie.cs" />
|
||||||
|
<Compile Include="SingleSerie2.cs" />
|
||||||
<Compile Include="SpSysMenuItem.cs" />
|
<Compile Include="SpSysMenuItem.cs" />
|
||||||
<Compile Include="SpSysUserItem.cs" />
|
<Compile Include="SpSysUserItem.cs" />
|
||||||
<Compile Include="APIItem\ResponeData.cs" />
|
<Compile Include="APIItem\ResponeData.cs" />
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Model
|
||||||
|
{
|
||||||
|
public class SingleSerie2
|
||||||
|
{
|
||||||
|
public string name { get; set; }
|
||||||
|
public string type { get; set; }
|
||||||
|
public List<double?> data { get; set; }
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue