570 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			570 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
|  | <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="JDStatistics.aspx.cs" Inherits="FineUIPro.Web.DataShow.JDStatistics" Async="true" %> | |||
|  | 
 | |||
|  | <!DOCTYPE html> | |||
|  | <html> | |||
|  | <head id="Head1" runat="server"> | |||
|  |     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | |||
|  |     <title>首页</title> | |||
|  |     <link href="../res/index/css/reset.css" rel="stylesheet" /> | |||
|  |     <link href="../res/index/css/home.css" rel="stylesheet" /> | |||
|  |     <link href="../res/index/css/swiper-3.4.2.min.css" rel="stylesheet" /> | |||
|  |     <style type="text/css"> | |||
|  |         * { | |||
|  |             box-sizing: border-box; | |||
|  |         } | |||
|  | 
 | |||
|  |         .flexV { | |||
|  |             flex-direction: column; | |||
|  |         } | |||
|  | 
 | |||
|  |         .wrap { | |||
|  |             height: 100%; | |||
|  |             padding: 15px; | |||
|  |             /*background-color: #EEEED1;*/ | |||
|  |             background-color: #FFFFFF; | |||
|  |         } | |||
|  | 
 | |||
|  |         .iteml { | |||
|  |             margin-left: 5px; | |||
|  |         } | |||
|  | 
 | |||
|  |         .itemb { | |||
|  |             margin-bottom: 5px; | |||
|  |         } | |||
|  | 
 | |||
|  |         .bottom-wrap { | |||
|  |             padding: 0; | |||
|  |             margin-bottom: 5px; | |||
|  |         } | |||
|  | 
 | |||
|  |             .bottom-wrap:last-child { | |||
|  |                 margin-bottom: 0; | |||
|  |             } | |||
|  | 
 | |||
|  |         .bw-b-bottom { | |||
|  |             width: 100%; | |||
|  |             height: 100%; | |||
|  |         } | |||
|  | 
 | |||
|  |         .bw-b-bottom-up { | |||
|  |             border-radius: 0; | |||
|  |             height: 100%; | |||
|  |             margin: 0; | |||
|  |             box-shadow: none; | |||
|  |         } | |||
|  | 
 | |||
|  |         .bw-item-content { | |||
|  |             padding: 5px; | |||
|  |         } | |||
|  | 
 | |||
|  |         .top { | |||
|  |             width: 100%; | |||
|  |         } | |||
|  | 
 | |||
|  |             .top .item { | |||
|  |             } | |||
|  | 
 | |||
|  |         .bw-b { | |||
|  |             width: 50%; | |||
|  |         } | |||
|  | 
 | |||
|  |         .bw-b-bottom-up { | |||
|  |         } | |||
|  | 
 | |||
|  |         .tab-wrap { | |||
|  |             left: auto; | |||
|  |             right: 15px; | |||
|  |             top: 5px; | |||
|  |             font-size: 12px; | |||
|  |         } | |||
|  | 
 | |||
|  |         .tab .t-item { | |||
|  |             width: auto; | |||
|  |             padding: 5px 10px; | |||
|  |             color: #363636; | |||
|  |         } | |||
|  | 
 | |||
|  |         .tit-item { | |||
|  |             padding: 0 10px; | |||
|  |             justify-content: space-between; | |||
|  |             font-size: 12px; | |||
|  |         } | |||
|  | 
 | |||
|  |         .tab-wrap .tab .t-item { | |||
|  |             color: #1C1C1C; | |||
|  |         } | |||
|  | 
 | |||
|  |         .tip-item { | |||
|  |             margin-left: 10px; | |||
|  |             align-items: center; | |||
|  |             font-size: 10px; | |||
|  |         } | |||
|  | 
 | |||
|  |         .tip { | |||
|  |             width: 25px; | |||
|  |             height: 13px; | |||
|  |             background-color: #258F76; | |||
|  |             border-radius: 2px; | |||
|  |             margin-right: 5px; | |||
|  |         } | |||
|  | 
 | |||
|  |         .tip-next { | |||
|  |             background-color: #4F4F4F; | |||
|  |         } | |||
|  | 
 | |||
|  |         .myTableClass { | |||
|  |             width: 100%; | |||
|  |             height: 100%; | |||
|  |             overflow: auto; | |||
|  |             margin: 2px 1px; | |||
|  |             border-collapse: collapse; /* 设置表格边框合并 */ | |||
|  |             border: 1px solid #BEBEBE; | |||
|  |             background: #ffffff; | |||
|  |             color: #8B8989; /* 设置表格文字颜色 */ | |||
|  |             text-align: center; /* 设置表格文字居中 */ | |||
|  |             font-size: 14px; | |||
|  |         } | |||
|  | 
 | |||
|  |         .tab-title { | |||
|  |             height: 48px; | |||
|  |             color: #3CB371; | |||
|  |             font-size: 16px; | |||
|  |             font-weight: 700; | |||
|  |         } | |||
|  | 
 | |||
|  |         .tab-header { | |||
|  |             height: 36px; | |||
|  |             color: #1C86EE; | |||
|  |             font-size: 14px; | |||
|  |             font-weight: 600; | |||
|  |         } | |||
|  | 
 | |||
|  |         td, th { | |||
|  |             border: 1px solid #BEBEBE; | |||
|  |         } | |||
|  |     </style> | |||
|  | </head> | |||
|  | <body> | |||
|  |     <div class="wrap flex flexV"> | |||
|  |         <div class="bottom-wrap flex1"> | |||
|  |             <div class="top flex"> | |||
|  |                 <div class="item flex2 iteml"> | |||
|  |                     <div class="bw-b-bottom"> | |||
|  |                         <div class="bw-b-bottom-up"> | |||
|  |                             <div class="bw-item-content"> | |||
|  |                                 <div id='jdqk' style="width: 100%; height: 100%;"></div> | |||
|  |                             </div> | |||
|  |                         </div> | |||
|  |                     </div> | |||
|  |                 </div> | |||
|  |                 <%--   <div class="item flex2 iteml"> | |||
|  |                     <div class="bw-b-bottom"> | |||
|  |                         <div class="bw-b-bottom-up"> | |||
|  |                             <div class="tab-wrap"> | |||
|  |                                 <div class="tab" data-value="2"> | |||
|  |                                     <div class="t-item active">月度计划</div> | |||
|  |                                     <div class="spline"></div> | |||
|  |                                     <div class="t-item">周度计划</div> | |||
|  |                                 </div> | |||
|  |                             </div> | |||
|  |                             <div class="bw-item-content"> | |||
|  |                                 <div id='jdplan' style="width: 100%; height: 100%;"></div> | |||
|  |                             </div> | |||
|  |                         </div> | |||
|  |                     </div> | |||
|  |                 </div>--%> | |||
|  |             </div> | |||
|  |         </div> | |||
|  |         <div class="bottom-wrap flex1"> | |||
|  |             <div class="top flex"> | |||
|  |                 <div class="item flex1 iteml"> | |||
|  |                     <div class="bw-b-bottom"> | |||
|  |                         <div class="bw-b-bottom-up"> | |||
|  |                             <div class="tab-wrap"> | |||
|  |                                 <div class="tab" data-value="2"> | |||
|  |                                     <div class="t-item active">月度计划</div> | |||
|  |                                     <div class="spline"></div> | |||
|  |                                     <div class="t-item">周度计划</div> | |||
|  |                                 </div> | |||
|  |                             </div> | |||
|  |                             <div class="bw-item-content"> | |||
|  |                                 <div id='jdplan' style="width: 100%; height: 100%;"></div> | |||
|  |                             </div> | |||
|  |                             <%--<div class="bw-item-content"> | |||
|  |                                 <div id='four' style="width: 100%; height: 100%;"></div> | |||
|  |                             </div>--%> | |||
|  |                         </div> | |||
|  |                     </div> | |||
|  |                 </div> | |||
|  |             </div> | |||
|  |         </div> | |||
|  |     </div> | |||
|  | </body> | |||
|  | <script type="text/javascript" src="../res/index/js/jquery-3.4.1.min.js"></script> | |||
|  | <script type="text/javascript" src="../res/index/js/swiper-3.4.2.jquery.min.js"></script> | |||
|  | <script type="text/javascript" src="../res/index/js/echarts.min.js"></script> | |||
|  | 
 | |||
|  | <script type="text/javascript"> | |||
|  |     // 进度情况 | |||
|  |     createJDQK() | |||
|  |     function createJDQK() { | |||
|  |         let type = [<%=ProjectMc %>] | |||
|  |         // 计划月进度 | |||
|  |         let value = [<%=ProjectJd%>] | |||
|  |         let value1 = [<%=ProjectJd%>] | |||
|  | 
 | |||
|  |         let opt = { | |||
|  |             title: [{ | |||
|  |                 text: '进度情况', | |||
|  |                 textStyle: { | |||
|  |                     color: '#1C1C1C', | |||
|  |                     fontSize: 16, | |||
|  |                     fontWeight: 700 | |||
|  |                 }, | |||
|  |                 show: true | |||
|  |             }], | |||
|  |             grid: { | |||
|  |                 top: 48, | |||
|  |                 left: 48, | |||
|  |                 right: 48, | |||
|  |                 bottom: 48, | |||
|  |             }, | |||
|  |             tooltip: { | |||
|  |                 formatter: '{b}: {c}' | |||
|  |             }, | |||
|  |             legend: { | |||
|  |                 top: 30, | |||
|  |                 data: [ | |||
|  |                     { | |||
|  |                         name: "进度统计", | |||
|  |                         textStyle: { | |||
|  |                             color: '#2FC4AC' | |||
|  |                         } | |||
|  |                     }, | |||
|  |                     { | |||
|  |                         name: "进度百分比", | |||
|  |                         textStyle: { | |||
|  |                             color: '#E29C18' | |||
|  |                         } | |||
|  |                     }, | |||
|  |                 ] | |||
|  |             }, | |||
|  |             xAxis: { | |||
|  |                 type: 'category', | |||
|  |                 data: type, | |||
|  |                 axisLine: { | |||
|  |                     lineStyle: { | |||
|  |                         color: '#84D7FE' | |||
|  |                     } | |||
|  |                 }, | |||
|  |                 axisLabel: { | |||
|  |                     interval: 0, | |||
|  |                     rotate: -10, // 如果数据较多时旋转标签以避免重叠 | |||
|  |                     margin: 8, // 设置标签与轴线之间的距离 | |||
|  |                     // align: 'center' | |||
|  |                 }, | |||
|  |                 axisTick: { | |||
|  |                     show: false | |||
|  |                 } | |||
|  |             }, | |||
|  |             yAxis: { | |||
|  |                 type: 'value', | |||
|  |                 axisLine: { | |||
|  |                     lineStyle: { | |||
|  |                         color: '#84D7FE' | |||
|  |                     } | |||
|  |                 }, | |||
|  |                 splitLine: { | |||
|  |                     lineStyle: { | |||
|  |                         color: '#2E87AC', | |||
|  |                         type: 'dashed' | |||
|  |                     } | |||
|  |                 } | |||
|  |             }, | |||
|  |             series: [ | |||
|  |                 { | |||
|  |                     name: '进度统计', | |||
|  |                     data: value, | |||
|  |                     type: 'bar', | |||
|  |                     barWidth: 20, | |||
|  |                     label: { //柱体上显示数值 | |||
|  |                         show: true,//开启显示 | |||
|  |                         position: "top",//在上方显示 | |||
|  |                         textStyle: {//数值样式 | |||
|  |                             fontSize: '14px', | |||
|  |                             color: '#363636' | |||
|  |                         }, | |||
|  |                         formatter: function (params) { | |||
|  |                             // 当数值为0时返回空字符串,不显示标签 | |||
|  |                             return params.value === '0' ? '' : params.value; | |||
|  |                         }, | |||
|  |                     }, | |||
|  |                     itemStyle: { normal: { color: 'rgba(255,0,0, 0.5)' } } | |||
|  |                 }, | |||
|  |                 { | |||
|  |                     name: '进度百分比', | |||
|  |                     data: value1, | |||
|  |                     type: 'line', | |||
|  |                     symbol: 'none', | |||
|  |                     itemStyle: { | |||
|  |                         color: '#EDB627' | |||
|  |                     }, | |||
|  |                     areaStyle: { | |||
|  |                         normal: { | |||
|  |                             color: new echarts.graphic.LinearGradient( | |||
|  |                                 0, | |||
|  |                                 0, | |||
|  |                                 0, | |||
|  |                                 1, | |||
|  |                                 [ | |||
|  |                                     { | |||
|  |                                         offset: 0, | |||
|  |                                         color: 'rgba(237, 182, 39, 1)' // 折线底下区域渐变色 | |||
|  |                                     }, | |||
|  |                                     { | |||
|  |                                         offset: 0.8, | |||
|  |                                         color: 'rgba(237, 182, 39, 0)' // 折线底下区域渐变色 | |||
|  |                                     } | |||
|  |                                 ], | |||
|  |                                 false | |||
|  |                             ) | |||
|  |                         } | |||
|  |                     } | |||
|  |                 }, | |||
|  |             ] | |||
|  |         }; | |||
|  |         var myEchart = echarts.init(document.getElementById('jdqk')); | |||
|  |         myEchart.setOption(opt); | |||
|  |     } | |||
|  | </script> | |||
|  | <script type="text/javascript"> | |||
|  |     function categoryJDPlan(id, xArr, data, num) { | |||
|  |         // 基于准备好的dom,初始化echarts实例 | |||
|  |         var myChart = echarts.init(document.getElementById(id)) | |||
|  |         // 指定图表的配置项和数据 | |||
|  |         var option = { | |||
|  |             title: { | |||
|  |                 // left:'center', | |||
|  |                 text: '项目进度计划', | |||
|  |                 textStyle: { | |||
|  |                     color: '#1C1C1C', | |||
|  |                     fontSize: 16, | |||
|  |                     fontWeight: 700 | |||
|  |                 }, | |||
|  |                 show: true | |||
|  |             }, | |||
|  |             tooltip: {}, | |||
|  |             legend: { | |||
|  |                 //left: '80%', | |||
|  |                 show: true, | |||
|  |                 textStyle: {//图例文字的样式 | |||
|  |                     color: '#363636', | |||
|  |                     fontSize: 12, | |||
|  |                 } | |||
|  |             }, | |||
|  |             xAxis: { | |||
|  |                 type: 'category', | |||
|  |                 data: xArr, | |||
|  |                 axisLine: { | |||
|  |                     lineStyle: { | |||
|  |                         color: '#84D7FE' | |||
|  |                     } | |||
|  |                 }, | |||
|  |                 axisLabel: { | |||
|  |                     interval: 0, | |||
|  |                     rotate: -10, // 如果数据较多时旋转标签以避免重叠 | |||
|  |                     margin: 8, // 设置标签与轴线之间的距离 | |||
|  |                     // align: 'center' | |||
|  |                 }, | |||
|  |                 axisTick: { | |||
|  |                     show: false | |||
|  |                 }, | |||
|  |             }, | |||
|  |             yAxis: { | |||
|  |                 type: 'value', | |||
|  |                 axisLine: { | |||
|  |                     //show: false, | |||
|  |                     lineStyle: { | |||
|  |                         color: '#84D7FE' | |||
|  |                     } | |||
|  |                 }, | |||
|  |                 splitLine: { | |||
|  |                     lineStyle: { | |||
|  |                         color: '#2E87AC', | |||
|  |                         type: 'dashed' | |||
|  |                     } | |||
|  |                 }, | |||
|  |             }, | |||
|  |             series: data, | |||
|  |             grid: { | |||
|  |                 top: 48, | |||
|  |                 left: 48, | |||
|  |                 right: 48, | |||
|  |                 bottom: 48, | |||
|  |             }, | |||
|  |         } | |||
|  | 
 | |||
|  |         // 使用刚指定的配置项和数据显示图表。 | |||
|  |         myChart.setOption(option) | |||
|  |     } | |||
|  |     var jdplan =<%=MonthJD %>; | |||
|  |     var xArr = jdplan.categories | |||
|  |     var data = [ | |||
|  |         { | |||
|  |             name: '未完成', | |||
|  |             type: 'bar', | |||
|  |             stack: '总量', | |||
|  |             barWidth: 30, | |||
|  |             data: jdplan.series[0].data, | |||
|  |             label: { //柱体上显示数值 | |||
|  |                 show: true,//开启显示 | |||
|  |                 position: ['35%', '50%'],//在上方显示 | |||
|  |                 textStyle: {//数值样式 | |||
|  |                     fontSize: '20px', | |||
|  |                     color: '#363636' | |||
|  |                 }, | |||
|  |                 formatter: function (params) { | |||
|  |                     // 当数值为0时返回空字符串,不显示标签 | |||
|  |                     return params.value === 0 ? '' : params.value; | |||
|  |                 }, | |||
|  |             }, | |||
|  |             itemStyle: { normal: { color: 'rgba(255,0,0, 0.5)' } } | |||
|  |         }, | |||
|  |         { | |||
|  |             name: '已完成', | |||
|  |             type: 'bar', | |||
|  |             stack: '总量', | |||
|  |             barWidth: 30, | |||
|  |             data: jdplan.series[1].data, | |||
|  |             label: { //柱体上显示数值 | |||
|  |                 show: true,//开启显示 | |||
|  |                 position: ['35%', '50%'],//在上方显示 | |||
|  |                 textStyle: {//数值样式 | |||
|  |                     fontSize: '20px', | |||
|  |                     color: '#363636' | |||
|  |                 }, | |||
|  |                 formatter: function (params) { | |||
|  |                     // 当数值为0时返回空字符串,不显示标签 | |||
|  |                     return params.value === 0 ? '' : params.value; | |||
|  |                 }, | |||
|  |             }, | |||
|  |             itemStyle: { normal: { color: 'rgba(0,100,0,0.8)' } } | |||
|  |         } | |||
|  |     ] | |||
|  |     categoryJDPlan('jdplan', xArr, data, jdplan.xFontNum) | |||
|  |     //categoryJDPlan('four', xArr, data, jdplan.xFontNum) | |||
|  | </script> | |||
|  | 
 | |||
|  | <script> | |||
|  |     $(".tab .t-item").click(function () { | |||
|  |         var $this = $(this) | |||
|  |         var index = $this.index() | |||
|  |         if ($this.hasClass('active') && index == 0) { | |||
|  |             return | |||
|  |         } | |||
|  |         var $tab = $this.closest(".tab") | |||
|  |         var value = $tab.attr("data-value") | |||
|  |         $tab.find(".t-item").removeClass('active'); | |||
|  |         $this.addClass('active') | |||
|  | 
 | |||
|  |         var monthplan =<%=MonthJD %>; | |||
|  |         var weekplan =<%=WeekJD %>; | |||
|  |         var num = 5; | |||
|  | 
 | |||
|  |         if (value == 2) { | |||
|  |             var xArr = monthplan.categories | |||
|  |             var data = [ | |||
|  |                 { | |||
|  |                     name: '未完成', | |||
|  |                     type: 'bar', | |||
|  |                     stack: '总量', | |||
|  |                     barWidth: 30, | |||
|  |                     data: monthplan.series[0].data, | |||
|  |                     label: { //柱体上显示数值 | |||
|  |                         show: true,//开启显示 | |||
|  |                         position: ['35%', '50%'],//在上方显示 | |||
|  |                         textStyle: {//数值样式 | |||
|  |                             fontSize: '20px', | |||
|  |                             color: '#363636' | |||
|  |                         }, | |||
|  |                         formatter: function (params) { | |||
|  |                             // 当数值为0时返回空字符串,不显示标签 | |||
|  |                             return params.value === 0 ? '' : params.value; | |||
|  |                         }, | |||
|  |                     }, | |||
|  |                     itemStyle: { normal: { color: 'rgba(255,0,0, 0.5)' } } | |||
|  |                 }, | |||
|  |                 { | |||
|  |                     name: '已完成', | |||
|  |                     type: 'bar', | |||
|  |                     stack: '总量', | |||
|  |                     barWidth: 30, | |||
|  |                     data: monthplan.series[1].data, | |||
|  |                     label: { //柱体上显示数值 | |||
|  |                         show: true,//开启显示 | |||
|  |                         position: ['35%', '50%'],//在上方显示 | |||
|  |                         textStyle: {//数值样式 | |||
|  |                             fontSize: '20px', | |||
|  |                             color: '#363636' | |||
|  |                         }, | |||
|  |                         formatter: function (params) { | |||
|  |                             // 当数值为0时返回空字符串,不显示标签 | |||
|  |                             return params.value === 0 ? '' : params.value; | |||
|  |                         }, | |||
|  |                     }, | |||
|  |                     itemStyle: { normal: { color: 'rgba(0,100,0,0.8)' } } | |||
|  |                 } | |||
|  |             ] | |||
|  |             if (index == 2) { | |||
|  |                 xArr = weekplan.categories | |||
|  |                 var data = [ | |||
|  |                     { | |||
|  |                         name: '未完成', | |||
|  |                         type: 'bar', | |||
|  |                         stack: '总量', | |||
|  |                         barWidth: 30, | |||
|  |                         data: weekplan.series[0].data, | |||
|  |                         label: { //柱体上显示数值 | |||
|  |                             show: true,//开启显示 | |||
|  |                             position: ['35%', '50%'],//在上方显示 | |||
|  |                             textStyle: {//数值样式 | |||
|  |                                 fontSize: '20px', | |||
|  |                                 color: '#363636' | |||
|  |                             }, | |||
|  |                             formatter: function (params) { | |||
|  |                                 // 当数值为0时返回空字符串,不显示标签 | |||
|  |                                 return params.value === 0 ? '' : params.value; | |||
|  |                             }, | |||
|  |                         }, | |||
|  |                         itemStyle: { normal: { color: 'rgba(255,0,0, 0.5)' } } | |||
|  |                     }, | |||
|  |                     { | |||
|  |                         name: '已完成', | |||
|  |                         type: 'bar', | |||
|  |                         stack: '总量', | |||
|  |                         barWidth: 30, | |||
|  |                         data: weekplan.series[1].data, | |||
|  |                         label: { //柱体上显示数值 | |||
|  |                             show: true,//开启显示 | |||
|  |                             position: ['35%', '50%'],//在上方显示 | |||
|  |                             textStyle: {//数值样式 | |||
|  |                                 fontSize: '20px', | |||
|  |                                 color: '#363636' | |||
|  |                             }, | |||
|  |                             formatter: function (params) { | |||
|  |                                 // 当数值为0时返回空字符串,不显示标签 | |||
|  |                                 return params.value === 0 ? '' : params.value; | |||
|  |                             }, | |||
|  |                         }, | |||
|  |                         itemStyle: { normal: { color: 'rgba(0,100,0,0.8)' } } | |||
|  |                     } | |||
|  |                 ]; | |||
|  |             } | |||
|  |             categoryJDPlan('jdplan', xArr, data, num); | |||
|  |         } | |||
|  |     }) | |||
|  | </script> | |||
|  | 
 | |||
|  | </html> | |||
|  | 
 |