Parcourir la source

Merge remote-tracking branch 'origin/master'

yue il y a 5 ans
Parent
commit
8a3aa79b9c

+ 2 - 0
src/main/java/com/jeeplus/modules/sg/report/mapper/ReportMapper.java

@@ -17,4 +17,6 @@ import java.util.List;
 public interface ReportMapper extends BaseMapper<Material> {
    List<SgReport> findData();
    List<SgReport> findList(SgReport sgReport);
+   List<SgReport> findUnitData();
+   List<SgReport> findUnitList(SgReport sgReport);
 }

+ 46 - 5
src/main/java/com/jeeplus/modules/sg/report/mapper/xml/ReportMapper.xml

@@ -28,17 +28,58 @@
 		a.status as status
 		from
 		(SELECT id,
-		         department,
-		         if(firstFinish='否' or secondFinish = '否',NOW(),if(secondFinish = '是',secondFinishDate,firstFinishDate) )as da ,
-		          approvalDate ,if(firstFinish='否' or secondFinish = '否','0','1') as status
-		          from project_information) a
+		department,
+		if(firstFinish='否' or secondFinish = '否',NOW(),if(secondFinish = '是',secondFinishDate,firstFinishDate) )as da ,
+		approvalDate ,if(firstFinish='否' or secondFinish = '否','0','1') as status
+		from project_information) a
 		<where>
 			<if test="status != null and status != ''">
 				a.status = #{status} and
 			</if>
 			1=1
 		</where>
-		          ) b   GROUP BY b.department
+		) b   GROUP BY b.department
+
+	</select>
+
+
+	<select id="findUnitData" resultType="SgReport">
+		SELECT a.underCentralized as name ,
+		sum(a.st1) as finishCount,
+		SUM(a.st2) as unfinishCount
+		 from
+	    (SELECT if(t2.underCentralized is null,'未知部门',t2.underCentralized) as underCentralized,
+	            if(t1.firstFinish='否' or t1.secondFinish = '否',0,1) as st1,
+	            if(t1.firstFinish='否' or t1.secondFinish = '否',1,0) as st2
+	            from project_information t1 left join project_append t2 on t1.project_id = t2.project_id) a
+	    GROUP BY a.underCentralized
+	</select>
+
+	<select id="findUnitList" parameterType="SgReport" resultType="SgReport">
+		SELECT b.underCentralized as name,
+		sum(b.level1) as level1,
+		sum(b.level2) as level2,
+		sum(b.level3) as level3,
+		sum(b.level4) as level4 from
+		(SELECT a.id, a.underCentralized,
+		if(DATEDIFF(a.da, a.approvalDate)&lt;=7,1,0) as level1,
+		if(DATEDIFF(a.da, a.approvalDate)&lt;= 14 and DATEDIFF(a.da, a.approvalDate)&gt;7,1,0) as level2,
+		if(DATEDIFF(a.da, a.approvalDate)&lt;= 21 and DATEDIFF(a.da, a.approvalDate)&gt;14,1,0) as level3,
+		if(DATEDIFF(a.da, a.approvalDate)&gt;21 or a.approvalDate is null,1,0) as level4,
+		a.status as status
+		from
+		(SELECT id,
+		if(t2.underCentralized is null,'未知部门',t2.underCentralized) as underCentralized,
+		if(t1.firstFinish='否' or t1.secondFinish = '否',NOW(),if(t1.secondFinish = '是',t1.secondFinishDate,t1.firstFinishDate) )as da ,
+		t1.approvalDate ,if(t1.firstFinish='否' or t1.secondFinish = '否','0','1') as status
+		from project_information t1 left join project_append t2 on t1.project_id = t2.project_id) a
+		<where>
+			<if test="status != null and status != ''">
+				a.status = #{status} and
+			</if>
+			1=1
+		</where>
+		) b   GROUP BY b.underCentralized
 
 	</select>
 

+ 8 - 0
src/main/java/com/jeeplus/modules/sg/report/service/ReportService.java

@@ -24,4 +24,12 @@ public class ReportService {
     public List<SgReport> findList(SgReport sgReport){
         return reportMapper.findList(sgReport);
     }
+
+    public List<SgReport> findUnitData(){
+        return reportMapper.findUnitData();
+    }
+
+    public List<SgReport> findUnitList(SgReport sgReport){
+        return reportMapper.findUnitList(sgReport);
+    }
 }

+ 169 - 4
src/main/java/com/jeeplus/modules/sg/report/web/ReportController.java

@@ -1,5 +1,13 @@
 package com.jeeplus.modules.sg.report.web;
 
+import com.github.abel533.echarts.axis.*;
+import com.github.abel533.echarts.code.Magic;
+import com.github.abel533.echarts.code.Tool;
+import com.github.abel533.echarts.code.Trigger;
+import com.github.abel533.echarts.feature.MagicType;
+import com.github.abel533.echarts.json.GsonOption;
+import com.github.abel533.echarts.series.Bar;
+import com.jeeplus.common.utils.StringUtils;
 import com.jeeplus.core.persistence.Page;
 import com.jeeplus.modules.sg.report.entity.SgReport;
 import com.jeeplus.modules.sg.report.service.ReportService;
@@ -25,20 +33,47 @@ public class ReportController {
 
 
     /**
-     * 项目报表页面
+     * 施工单位项目报表页面
      */
     @RequestMapping(value = {"list", ""})
     public String list(SgReport sgReport, Model model) {
+        String status = sgReport.getStatus();
         model.addAttribute("sgReport", sgReport);
         List<SgReport> list = reportService.findData();
-        List<SgReport> list1 = reportService.findList(sgReport);
+//        List<SgReport> list1 = reportService.findList(sgReport);
         model.addAttribute("list",list);
-        model.addAttribute("list1",list1);
-        model.addAttribute("dataURL", "/echarts/bar/sample3/option");
+//        model.addAttribute("list1",list1);
+        if(StringUtils.isNotBlank(status)) {
+            model.addAttribute("dataURL", "/sg/report/option?status=" + status);
+        }else {
+            model.addAttribute("dataURL", "/sg/report/option");
+        }
         return "modules/sg/report/reportList";
     }
 
     /**
+     * 归口部门项目报表
+     */
+    @RequestMapping("/unitlist")
+    public String list1(SgReport sgReport, Model model) {
+        String status = sgReport.getStatus();
+        model.addAttribute("sgReport", sgReport);
+        List<SgReport> list = reportService.findUnitData();
+//        List<SgReport> list1 = reportService.findList(sgReport);
+        model.addAttribute("list",list);
+//        model.addAttribute("list1",list1);
+        if(StringUtils.isNotBlank(status)) {
+            model.addAttribute("dataURL", "/sg/report/unitoption?status=" + status);
+        }else {
+            model.addAttribute("dataURL", "/sg/report/unitoption");
+        }
+        return "modules/sg/report/reportList1";
+    }
+
+
+
+
+    /**
      * 项目报表数据
      */
     @ResponseBody
@@ -50,4 +85,134 @@ public class ReportController {
         return map;
     }
 
+    @ResponseBody
+    @RequestMapping("option")
+    public GsonOption getOption(HttpServletRequest request){
+        String status = request.getParameter("status");
+        SgReport sgReport = new SgReport();
+        sgReport.setStatus(status);
+        List<SgReport> list = reportService.findList(sgReport);
+        String[] str = new String[list.size()];
+        int[] level1 = new int[list.size()];
+        int[] level2 = new int[list.size()];
+        int[] level3 = new int[list.size()];
+        int[] level4 = new int[list.size()];
+        for(int i=0;i<list.size();i++){
+            str[i] = list.get(i).getName();
+            level1[i] = list.get(i).getLevel1();
+            level2[i] = list.get(i).getLevel2();
+            level3[i] = list.get(i).getLevel3();
+            level4[i] = list.get(i).getLevel4();
+        }
+        GsonOption option = new GsonOption();
+//        option.title("ECharts2 vs ECharts1", "Chrome下测试数据");
+        option.tooltip(Trigger.axis);
+        option.legend(
+                "1-7天", "8-14天", "15-21天",
+                "21天以上");
+        option.toolbox().show(true)
+                .feature(
+                        Tool.mark, Tool.dataView,
+                        new MagicType(Magic.line, Magic.bar),
+                        Tool.restore, Tool.saveAsImage);
+        option.calculable(true);
+        option.grid().y(70).y2(30).x2(60).bottom(120);
+        CategoryAxis categoryAxis = new CategoryAxis();
+        for(int j=0;j<str.length;j++){
+            categoryAxis.data(str[j]);
+        }
+        option.xAxis(
+                categoryAxis.axisLabel(new AxisLabel().rotate(40).interval(0))
+//                new CategoryAxis()
+//                        .axisLine(new AxisLine().show(false))
+//                        .axisTick(new AxisTick().show(false))
+//                        .axisLabel(new AxisLabel().show(false))
+//                        .splitArea(new SplitArea().show(false))
+//                        .axisLine(new AxisLine().show(false))
+//                        .data("Line", "Bar")
+        );
+        option.yAxis(new ValueAxis().axisLabel(new AxisLabel().formatter("{value} 个")));
+        Bar b1 = new Bar("1-7天");
+        b1.itemStyle().normal().color("rgba(193,35,43,0.5)").label().show(true);
+        Bar b2 = new Bar("8-14天");
+        b2.itemStyle().normal().color("rgba(181,195,52,1)").label().show(true).textStyle().color("#27727B");
+        Bar b3 = new Bar("15-21天");
+        b3.itemStyle().normal().color("rgba(252,206,16,1)").label().show(true).textStyle().color("#E87C25");
+        Bar b4 = new Bar("21天以上");
+        b4.itemStyle().normal().color("rgba(193,35,43,1)").label().show(true);
+        for (int k=0;k<list.size();k++){
+            b1.data(level1[k] );
+            b2.data(level2[k] );
+            b3.data(level3[k] );
+            b4.data(level4[k] );
+        }
+        option.series(b1, b2, b3, b4);
+        return option;
+    }
+
+    @ResponseBody
+    @RequestMapping("unitoption")
+    public GsonOption getOption1(HttpServletRequest request){
+        String status = request.getParameter("status");
+        SgReport sgReport = new SgReport();
+        sgReport.setStatus(status);
+        List<SgReport> list = reportService.findUnitList(sgReport);
+        String[] str = new String[list.size()];
+        int[] level1 = new int[list.size()];
+        int[] level2 = new int[list.size()];
+        int[] level3 = new int[list.size()];
+        int[] level4 = new int[list.size()];
+        for(int i=0;i<list.size();i++){
+            str[i] = list.get(i).getName();
+            level1[i] = list.get(i).getLevel1();
+            level2[i] = list.get(i).getLevel2();
+            level3[i] = list.get(i).getLevel3();
+            level4[i] = list.get(i).getLevel4();
+        }
+        GsonOption option = new GsonOption();
+//        option.title("ECharts2 vs ECharts1", "Chrome下测试数据");
+        option.tooltip(Trigger.axis);
+        option.legend(
+                "1-7天", "8-14天", "15-21天",
+                "21天以上");
+        option.toolbox().show(true)
+                .feature(
+                        Tool.mark, Tool.dataView,
+                        new MagicType(Magic.line, Magic.bar),
+                        Tool.restore, Tool.saveAsImage);
+        option.calculable(true);
+        option.grid().y(70).y2(30).x2(60).bottom(120);
+        CategoryAxis categoryAxis = new CategoryAxis();
+        for(int j=0;j<str.length;j++){
+            categoryAxis.data(str[j]);
+        }
+        option.xAxis(
+                categoryAxis.axisLabel(new AxisLabel().rotate(40).interval(0))
+//                new CategoryAxis()
+//                        .axisLine(new AxisLine().show(false))
+//                        .axisTick(new AxisTick().show(false))
+//                        .axisLabel(new AxisLabel().show(false))
+//                        .splitArea(new SplitArea().show(false))
+//                        .axisLine(new AxisLine().show(false))
+//                        .data("Line", "Bar")
+        );
+        option.yAxis(new ValueAxis().axisLabel(new AxisLabel().formatter("{value} 个")));
+        Bar b1 = new Bar("1-7天");
+        b1.itemStyle().normal().color("rgba(193,35,43,0.5)").label().show(true);
+        Bar b2 = new Bar("8-14天");
+        b2.itemStyle().normal().color("rgba(181,195,52,1)").label().show(true).textStyle().color("#27727B");
+        Bar b3 = new Bar("15-21天");
+        b3.itemStyle().normal().color("rgba(252,206,16,1)").label().show(true).textStyle().color("#E87C25");
+        Bar b4 = new Bar("21天以上");
+        b4.itemStyle().normal().color("rgba(193,35,43,1)").label().show(true);
+        for (int k=0;k<list.size();k++){
+            b1.data(level1[k] );
+            b2.data(level2[k] );
+            b3.data(level3[k] );
+            b4.data(level4[k] );
+        }
+        option.series(b1, b2, b3, b4);
+        return option;
+    }
+
 }

+ 72 - 105
src/main/webapp/webpage/modules/sg/report/reportList.jsp

@@ -8,6 +8,11 @@
 	<%@ include file="/webpage/include/bootstraptable.jsp"%>
 	<%@ include file="/webpage/include/echarts.jsp"%>
 	<%--<%@include file="reportList.js" %>--%>
+	<style type="text/css">
+		#div1{
+			margin-top: 10px;
+		}
+	</style>
 </head>
 <body>
 	<div class="wrapper wrapper-content">
@@ -16,67 +21,18 @@
 		<h3 class="panel-title">项目报表</h3>
 	</div>
 	<div class="panel-body">
-	
-	<!-- 搜索 -->
-	<%--<div id="search-collapse" class="collapse">--%>
-		<%--<div class="accordion-inner">--%>
-			<%--<form:form id="searchForm" modelAttribute="studentCourse" class="form form-horizontal well clearfix">--%>
-			 <%--<div class="col-xs-12 col-sm-6 col-md-4">--%>
-				<%--<label class="label-item single-overflow pull-left" title="学生:">学生:</label>--%>
-				<%--<sys:gridselect url="${ctx}/test/manytomany/student/data" id="student" name="student.id" value="${studentCourse.student.id}" labelName="student.name" labelValue="${studentCourse.student.name}"--%>
-					<%--title="选择学生" cssClass="form-control required" fieldLabels="姓名" fieldKeys="name" searchLabels="姓名" searchKeys="name" ></sys:gridselect>--%>
-			<%--</div>--%>
-			 <%--<div class="col-xs-12 col-sm-6 col-md-4">--%>
-				<%--<label class="label-item single-overflow pull-left" title="课程:">课程:</label>--%>
-				<%--<sys:gridselect url="${ctx}/test/manytomany/course/data" id="course" name="course.id" value="${studentCourse.course.id}" labelName="course.name" labelValue="${studentCourse.course.name}"--%>
-					<%--title="选择课程" cssClass="form-control required" fieldLabels="课程名" fieldKeys="name" searchLabels="课程名" searchKeys="name" ></sys:gridselect>--%>
-			<%--</div>--%>
-		 <%--<div class="col-xs-12 col-sm-6 col-md-4">--%>
-			<%--<div style="margin-top:26px">--%>
-			  <%--<a  id="search" class="btn btn-primary btn-rounded  btn-bordered btn-sm"><i class="fa fa-search"></i> 查询</a>--%>
-			  <%--<a  id="reset" class="btn btn-primary btn-rounded  btn-bordered btn-sm" ><i class="fa fa-refresh"></i> 重置</a>--%>
-			 <%--</div>--%>
-	    <%--</div>	--%>
-	<%--</form:form>--%>
-	<%--</div>--%>
-	<%--</div>--%>
-	
-	<!-- 工具栏 -->
-	<%--<div id="toolbar">--%>
-			<%--<shiro:hasPermission name="test:manytomany:studentCourse:add">--%>
-				<%--<button id="add" class="btn btn-primary" onclick="add()">--%>
-					<%--<i class="glyphicon glyphicon-plus"></i> 新建--%>
-				<%--</button>--%>
-			<%--</shiro:hasPermission>--%>
-			<%--<shiro:hasPermission name="test:manytomany:studentCourse:edit">--%>
-			    <%--<button id="edit" class="btn btn-success" disabled onclick="edit()">--%>
-	            	<%--<i class="glyphicon glyphicon-edit"></i> 修改--%>
-	        	<%--</button>--%>
-			<%--</shiro:hasPermission>--%>
-			<%--<shiro:hasPermission name="test:manytomany:studentCourse:del">--%>
-				<%--<button id="remove" class="btn btn-danger" disabled onclick="deleteAll()">--%>
-	            	<%--<i class="glyphicon glyphicon-remove"></i> 删除--%>
-	        	<%--</button>--%>
-			<%--</shiro:hasPermission>--%>
-			<%--<shiro:hasPermission name="test:manytomany:studentCourse:import">--%>
-				<%--<button id="btnImport" class="btn btn-info"><i class="fa fa-folder-open-o"></i> 导入</button>--%>
-			<%--</shiro:hasPermission>--%>
-			<%--<shiro:hasPermission name="test:manytomany:studentCourse:export">--%>
-	        		<%--<button id="export" class="btn btn-warning">--%>
-					<%--<i class="fa fa-file-excel-o"></i> 导出--%>
-				<%--</button>--%>
-			 <%--</shiro:hasPermission>--%>
-	                 <%--<shiro:hasPermission name="test:manytomany:studentCourse:view">--%>
-				<%--<button id="view" class="btn btn-default" disabled onclick="view()">--%>
-					<%--<i class="fa fa-search-plus"></i> 查看--%>
-				<%--</button>--%>
-			<%--</shiro:hasPermission>--%>
-		    <%--</div>--%>
+		<div>
+		<ul class="nav nav-tabs">
+			<li role="presentation" class="active"><a href="">按施工单位</a></li>
+			<li role="presentation"><a href="${ctx}/sg/report/unitlist">按归口部门</a></li>
+		</ul>
+		</div>
 		
 	<!-- 表格 -->
 	<%--<table id="reportTable"   data-toolbar="#toolbar"></table>--%>
 
     <!-- context menu -->
+		<div id="div1">
 		<table class="table table-bordered">
 
             <thead>
@@ -99,62 +55,73 @@
 				</c:forEach>
 			</tr>
 			</thead>
-
-
 		</table>
+		</div>
 
-		<table class="table table-bordered">
+		<%--<table class="table table-bordered">--%>
 
-			<thead>
-			<tr>
-				<th> </th>
-				<c:forEach items="${list1}" var="data" varStatus="index">
-					<th>${data.name}</th>
-				</c:forEach>
-			</tr>
-			<tr>
-				<th>1-7天</th>
-				<c:forEach items="${list1}" var="data" varStatus="index">
-					<th>${data.level1}</th>
-				</c:forEach>
-			</tr>
-			<tr>
-				<th>8-14天</th>
-				<c:forEach items="${list1}" var="data" varStatus="index">
-					<th>${data.level2}</th>
-				</c:forEach>
-			</tr>
-			<tr>
-				<th>15-21天</th>
-				<c:forEach items="${list1}" var="data" varStatus="index">
-					<th>${data.level3}</th>
-				</c:forEach>
-			</tr>
-			<tr>
-				<th>21天以上</th>
-				<c:forEach items="${list1}" var="data" varStatus="index">
-					<th>${data.level4}</th>
-				</c:forEach>
-			</tr>
+			<%--<thead>--%>
+			<%--<tr>--%>
+				<%--<th> </th>--%>
+				<%--<c:forEach items="${list1}" var="data" varStatus="index">--%>
+					<%--<th>${data.name}</th>--%>
+				<%--</c:forEach>--%>
+			<%--</tr>--%>
+			<%--<tr>--%>
+				<%--<th>1-7天</th>--%>
+				<%--<c:forEach items="${list1}" var="data" varStatus="index">--%>
+					<%--<th>${data.level1}</th>--%>
+				<%--</c:forEach>--%>
+			<%--</tr>--%>
+			<%--<tr>--%>
+				<%--<th>8-14天</th>--%>
+				<%--<c:forEach items="${list1}" var="data" varStatus="index">--%>
+					<%--<th>${data.level2}</th>--%>
+				<%--</c:forEach>--%>
+			<%--</tr>--%>
+			<%--<tr>--%>
+				<%--<th>15-21天</th>--%>
+				<%--<c:forEach items="${list1}" var="data" varStatus="index">--%>
+					<%--<th>${data.level3}</th>--%>
+				<%--</c:forEach>--%>
+			<%--</tr>--%>
+			<%--<tr>--%>
+				<%--<th>21天以上</th>--%>
+				<%--<c:forEach items="${list1}" var="data" varStatus="index">--%>
+					<%--<th>${data.level4}</th>--%>
+				<%--</c:forEach>--%>
+			<%--</tr>--%>
 
-			</thead>
+			<%--</thead>--%>
 
 
-		</table>
-		<%--<div id="main" style="width: 100%;height: 100%"></div>--%>
-		<%--<script type="text/javascript">--%>
-			<%--// 基于准备好的dom,初始化echarts实例4--%>
-			<%--var myChart = echarts.init(document.getElementById('main'));--%>
-			<%--window.onresize = myChart.resize;--%>
-			<%--$(function () {--%>
+		<%--</table>--%>
+		<div class="btn-group" role="group" aria-label="...">
+			<div class="btn-group" role="group">
+				<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+					项目状态
+					<span class="caret"></span>
+				</button>
+				<ul class="dropdown-menu">
+					<li><a href="${ctx}/sg/report?status=1">完成</a></li>
+					<li><a href="${ctx}/sg/report?status=0">未完成</a></li>
+				</ul>
+			</div>
+		</div>
+		<div id="main" style="width: 100%;height: 400px"></div>
+		<script type="text/javascript">
+			// 基于准备好的dom,初始化echarts实例4
+			var myChart = echarts.init(document.getElementById('main'));
+			window.onresize = myChart.resize;
 
-				<%--jp.get("${ctx}${dataURL}", function (option) {--%>
-					<%--// 指定图表的配置项和数据--%>
-					<%--// 使用刚指定的配置项和数据显示图表。--%>
-					<%--myChart.setOption(option);--%>
-				<%--})--%>
-			<%--})--%>
-		<%--</script>--%>
+			$(function () {
+				jp.get("${ctx}${dataURL}", function (option) {
+					// 指定图表的配置项和数据
+					// 使用刚指定的配置项和数据显示图表。
+					myChart.setOption(option);
+				})
+			})
+		</script>
 	</div>
 	</div>
 	</div>

+ 129 - 0
src/main/webapp/webpage/modules/sg/report/reportList1.jsp

@@ -0,0 +1,129 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>项目报表</title>
+	<meta http-equiv="Content-type" content="text/html; charset=utf-8">
+	<meta name="decorator" content="ani"/>
+	<%@ include file="/webpage/include/bootstraptable.jsp"%>
+	<%@ include file="/webpage/include/echarts.jsp"%>
+	<%--<%@include file="reportList.js" %>--%>
+	<style type="text/css">
+		#div1{
+			margin-top: 10px;
+		}
+	</style>
+</head>
+<body>
+	<div class="wrapper wrapper-content">
+	<div class="panel panel-primary">
+	<div class="panel-heading">
+		<h3 class="panel-title">项目报表</h3>
+	</div>
+	<div class="panel-body">
+		<div>
+		<ul class="nav nav-tabs">
+			<li role="presentation"><a href="${ctx}/sg/report/">按施工单位</a></li>
+			<li role="presentation" class="active"><a href="#">按归口部门</a></li>
+		</ul>
+		</div>
+		
+	<!-- 表格 -->
+	<%--<table id="reportTable"   data-toolbar="#toolbar"></table>--%>
+
+    <!-- context menu -->
+		<div id="div1">
+		<table class="table table-bordered">
+
+            <thead>
+			<tr>
+				<th> </th>
+				<c:forEach items="${list}" var="data" varStatus="index">
+				<th>${data.name}</th>
+				</c:forEach>
+			</tr>
+			<tr>
+				<th>完成</th>
+				<c:forEach items="${list}" var="data" varStatus="index">
+				<th>${data.finishCount}</th>
+				</c:forEach>
+			</tr>
+			<tr>
+				<th>未完成</th>
+				<c:forEach items="${list}" var="data" varStatus="index">
+				<th>${data.unfinishCount}</th>
+				</c:forEach>
+			</tr>
+			</thead>
+		</table>
+		</div>
+
+		<%--<table class="table table-bordered">--%>
+
+			<%--<thead>--%>
+			<%--<tr>--%>
+				<%--<th> </th>--%>
+				<%--<c:forEach items="${list1}" var="data" varStatus="index">--%>
+					<%--<th>${data.name}</th>--%>
+				<%--</c:forEach>--%>
+			<%--</tr>--%>
+			<%--<tr>--%>
+				<%--<th>1-7天</th>--%>
+				<%--<c:forEach items="${list1}" var="data" varStatus="index">--%>
+					<%--<th>${data.level1}</th>--%>
+				<%--</c:forEach>--%>
+			<%--</tr>--%>
+			<%--<tr>--%>
+				<%--<th>8-14天</th>--%>
+				<%--<c:forEach items="${list1}" var="data" varStatus="index">--%>
+					<%--<th>${data.level2}</th>--%>
+				<%--</c:forEach>--%>
+			<%--</tr>--%>
+			<%--<tr>--%>
+				<%--<th>15-21天</th>--%>
+				<%--<c:forEach items="${list1}" var="data" varStatus="index">--%>
+					<%--<th>${data.level3}</th>--%>
+				<%--</c:forEach>--%>
+			<%--</tr>--%>
+			<%--<tr>--%>
+				<%--<th>21天以上</th>--%>
+				<%--<c:forEach items="${list1}" var="data" varStatus="index">--%>
+					<%--<th>${data.level4}</th>--%>
+				<%--</c:forEach>--%>
+			<%--</tr>--%>
+
+			<%--</thead>--%>
+
+
+		<%--</table>--%>
+		<div class="btn-group" role="group" aria-label="...">
+			<div class="btn-group" role="group">
+				<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+					项目状态
+					<span class="caret"></span>
+				</button>
+				<ul class="dropdown-menu">
+					<li><a href="${ctx}/sg/report/unitlist?status=1">完成</a></li>
+					<li><a href="${ctx}/sg/report/unitlist?status=0">未完成</a></li>
+				</ul>
+			</div>
+		</div>
+		<div id="main" style="width: 100%;height: 400px"></div>
+		<script type="text/javascript">
+			// 基于准备好的dom,初始化echarts实例4
+			var myChart = echarts.init(document.getElementById('main'));
+			window.onresize = myChart.resize;
+
+			$(function () {
+				jp.get("${ctx}${dataURL}", function (option) {
+					// 指定图表的配置项和数据
+					// 使用刚指定的配置项和数据显示图表。
+					myChart.setOption(option);
+				})
+			})
+		</script>
+	</div>
+	</div>
+	</div>
+</body>
+</html>