Commit 0a550977 by mengxy

工作台代码

parent d9aafc3f
package com.ejweb.modules.workbench.Bean;
/**
* Created by mengxy on 2017/9/11.
*/
public class WorkbenchBean {
//是否管理员
private String isAdmin;
//处理状态
private String processStatus;
//时间段
private String startDate;
private String endDate;
//举报状态
private int repStatusTotal = 0;
private int unProcess = 0;
private int processing = 0;
private int processed = 0;
//举报结果
private int repResultTotal = 0;
private int invalid = 0;
private int complainNum = 0;
private int verified = 0;
//总体
private int total = 0;
private int weChat = 0;
private int oa = 0;
private int supplier = 0;
private int web = 0;
private int offline = 0;
private int email = 0;
private int sunacE = 0;
private int phone = 0;
//举报类型
private int sale = 0;
private int project = 0;
private int cost = 0;
private int forMining = 0;
private int manpower = 0;
private int tenement = 0;
private int complain = 0;
public WorkbenchBean() {
}
public int getRepStatusTotal() {
return repStatusTotal;
}
public int getSupplier() {
return supplier;
}
public void setSupplier(int supplier) {
this.supplier = supplier;
}
public int getOffline() {
return offline;
}
public void setOffline(int offline) {
this.offline = offline;
}
public int getSunacE() {
return sunacE;
}
public void setSunacE(int sunacE) {
this.sunacE = sunacE;
}
public void setRepStatusTotal(int repStatusTotal) {
this.repStatusTotal = repStatusTotal;
}
public int getUnProcess() {
return unProcess;
}
public void setUnProcess(int unProcess) {
this.unProcess = unProcess;
}
public int getProcessing() {
return processing;
}
public void setProcessing(int processing) {
this.processing = processing;
}
public int getProcessed() {
return processed;
}
public void setProcessed(int processed) {
this.processed = processed;
}
public int getRepResultTotal() {
return repResultTotal;
}
public void setRepResultTotal(int repResultTotal) {
this.repResultTotal = repResultTotal;
}
public int getInvalid() {
return invalid;
}
public void setInvalid(int invalid) {
this.invalid = invalid;
}
public int getComplainNum() {
return complainNum;
}
public void setComplainNum(int complainNum) {
this.complainNum = complainNum;
}
public int getVerified() {
return verified;
}
public void setVerified(int verified) {
this.verified = verified;
}
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public int getWeChat() {
return weChat;
}
public void setWeChat(int weChat) {
this.weChat = weChat;
}
public int getOa() {
return oa;
}
public void setOa(int oa) {
this.oa = oa;
}
public int getWeb() {
return web;
}
public void setWeb(int web) {
this.web = web;
}
public int getEmail() {
return email;
}
public void setEmail(int email) {
this.email = email;
}
public int getPhone() {
return phone;
}
public void setPhone(int phone) {
this.phone = phone;
}
public int getSale() {
return sale;
}
public void setSale(int sale) {
this.sale = sale;
}
public int getProject() {
return project;
}
public void setProject(int project) {
this.project = project;
}
public int getCost() {
return cost;
}
public void setCost(int cost) {
this.cost = cost;
}
public int getForMining() {
return forMining;
}
public void setForMining(int forMining) {
this.forMining = forMining;
}
public int getManpower() {
return manpower;
}
public void setManpower(int manpower) {
this.manpower = manpower;
}
public int getTenement() {
return tenement;
}
public void setTenement(int tenement) {
this.tenement = tenement;
}
public int getComplain() {
return complain;
}
public void setComplain(int complain) {
this.complain = complain;
}
public String getStartDate() {
return startDate;
}
public void setStartDate(String startDate) {
this.startDate = startDate;
}
public String getEndDate() {
return endDate;
}
public void setEndDate(String endDate) {
this.endDate = endDate;
}
public String getIsAdmin() {
return isAdmin;
}
public void setIsAdmin(String isAdmin) {
this.isAdmin = isAdmin;
}
public String getProcessStatus() {
return processStatus;
}
public void setProcessStatus(String processStatus) {
this.processStatus = processStatus;
}
}
package com.ejweb.modules.workbench.service;
import com.ejweb.core.service.CrudService;
import com.ejweb.core.utils.DateUtils;
import com.ejweb.modules.report.dao.ReportDao;
import com.ejweb.modules.report.entity.ReportEntity;
import com.ejweb.modules.workbench.Bean.WorkbenchBean;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
/**
* Created by mengxy on 2017/9/11.
*/
@Service
public class WorkbenchService extends CrudService<ReportDao, ReportEntity> {
@Autowired
private ReportDao reportDao;
public WorkbenchBean getWorkbench(WorkbenchBean workbench) throws Exception{
// WorkbenchBean workbench = new WorkbenchBean();
if(StringUtils.isBlank(workbench.getStartDate()) && StringUtils.isBlank(workbench.getEndDate())){
workbench.setEndDate(DateUtils.getDate());
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
c.setTime(df.parse(workbench.getEndDate()));
c.set(Calendar.DATE, c.get(Calendar.DATE)-30);
String startDate = df.format(c.getTime());
workbench.setStartDate(startDate);
}else if(StringUtils.isNotBlank(workbench.getStartDate()) && StringUtils.isBlank(workbench.getEndDate())){
workbench.setEndDate(DateUtils.getDate());
}else if(StringUtils.isBlank(workbench.getStartDate()) && StringUtils.isNotBlank(workbench.getEndDate())){
workbench.setStartDate("2017-09-12");
}
List<HashMap> results = reportDao.getReportResult(workbench);
//举报结果
for (HashMap res:results) {
if(StringUtils.isNotBlank((String) res.get("deal_result"))){
if("1".equals((String) res.get("deal_result"))){
//投诉
workbench.setComplainNum(Integer.valueOf(String.valueOf(res.get("COUNT(deal_result)"))));
}else if("2".equals((String) res.get("deal_result"))){
//无效
workbench.setInvalid(Integer.valueOf(String.valueOf(res.get("COUNT(deal_result)"))));
}else if("3".equals((String) res.get("deal_result"))){
//属实
workbench.setVerified(Integer.valueOf(String.valueOf(res.get("COUNT(deal_result)"))));
}
}
}
workbench.setRepResultTotal(workbench.getComplainNum()+workbench.getInvalid()+workbench.getVerified());
List<HashMap> statusList = reportDao.getReportStatus(workbench);
//举报状态
for(HashMap status:statusList){
if(StringUtils.isNotBlank((String) status.get("report_status"))){
if("1".equals(String.valueOf(status.get("report_status")))){
//处理中
workbench.setProcessing(Integer.valueOf(String.valueOf(status.get("COUNT(report_status)"))));
}else if("2".equals(String.valueOf(status.get("report_status")))){
//已处理
workbench.setProcessed(Integer.valueOf(String.valueOf(status.get("COUNT(report_status)"))));
}else if("0".equals(String.valueOf(status.get("report_status")))){
//未处理
workbench.setUnProcess(Integer.valueOf(String.valueOf(status.get("COUNT(report_status)"))));
}
}
}
workbench.setRepStatusTotal(workbench.getUnProcess()+workbench.getProcessing()+workbench.getProcessed());
List<HashMap> types = reportDao.getReportType(workbench);
for (HashMap type:types){
if(StringUtils.isNotBlank((String) type.get("supplement_type"))){
if("1".equals((String) type.get("supplement_type"))){
//营销
workbench.setSale(Integer.valueOf(String.valueOf(type.get("COUNT(supplement_type)"))));
}else if("2".equals((String) type.get("supplement_type"))){
//工程
workbench.setProject(Integer.valueOf(String.valueOf(type.get("COUNT(supplement_type)"))));
}else if("3".equals(String.valueOf(type.get("supplement_type")))){
//成本
workbench.setCost(Integer.valueOf(String.valueOf(type.get("COUNT(supplement_type)"))));
}else if("4".equals(String.valueOf(type.get("supplement_type")))){
//招采
workbench.setForMining(Integer.valueOf(String.valueOf(type.get("COUNT(supplement_type)"))));
}else if("5".equals(String.valueOf(type.get("supplement_type")))){
//人力
workbench.setManpower(Integer.valueOf(String.valueOf(type.get("COUNT(supplement_type)"))));
}else if("6".equals(String.valueOf(type.get("supplement_type")))){
//物业
workbench.setTenement(Integer.valueOf(String.valueOf(type.get("COUNT(supplement_type)"))));
}else if("7".equals(String.valueOf(type.get("supplement_type")))){
//投诉
workbench.setComplain(Integer.valueOf(String.valueOf(type.get("COUNT(supplement_type)"))));
}
}
}
List<HashMap> totals = reportDao.getTotal(workbench);
for (HashMap total:totals){
if(StringUtils.isNotBlank((String) total.get("report_source"))){
if("web".equals((String) total.get("report_source"))){
//官网
workbench.setWeb(Integer.valueOf(String.valueOf(total.get("COUNT(report_source)"))));
}else if("oa".equals((String) total.get("report_source"))){
//融创oa
workbench.setOa(Integer.valueOf(String.valueOf(total.get("COUNT(report_source)"))));
}else if("supplier".equals(String.valueOf(total.get("report_source")))){
//供应商
workbench.setSupplier(Integer.valueOf(String.valueOf(total.get("COUNT(report_source)"))));
}else if("wechat".equals(String.valueOf(total.get("report_source")))){
//微信公众号
workbench.setWeChat(Integer.valueOf(String.valueOf(total.get("COUNT(report_source)"))));
}else if("sunacE:".equals(String.valueOf(total.get("report_source")))){
//融E
workbench.setSunacE(Integer.valueOf(String.valueOf(total.get("COUNT(report_source)"))));
}else if("offline".equals(String.valueOf(total.get("report_source")))){
//线下扫码
workbench.setOffline(Integer.valueOf(String.valueOf(total.get("COUNT(report_source)"))));
}else if("tel".equals(String.valueOf(total.get("report_source")))){
//电话
workbench.setPhone(Integer.valueOf(String.valueOf(total.get("COUNT(report_source)"))));
}else if("email:".equals((String) total.get("report_source"))){
//邮件
workbench.setEmail(Integer.valueOf(String.valueOf(total.get("COUNT(report_source)"))));
}
}
}
workbench.setTotal(workbench.getWeb()+workbench.getOa()+workbench.getSupplier()+workbench.getWeChat()+
workbench.getSunacE()+workbench.getOffline()+workbench.getPhone()+workbench.getEmail());
return workbench;
}
public List<ReportEntity> getRepList(WorkbenchBean benchBean) throws Exception{
return reportDao.getRepList(benchBean);
}
}
package com.ejweb.modules.workbench.web;
import com.alibaba.fastjson.JSONObject;
import com.ejweb.core.base.BaseController;
import com.ejweb.core.utils.StringUtils;
import com.ejweb.modules.report.entity.ReportEntity;
import com.ejweb.modules.report.service.ReportService;
import com.ejweb.modules.sys.entity.User;
import com.ejweb.modules.sys.utils.UserUtils;
import com.ejweb.modules.workbench.Bean.WorkbenchBean;
import com.ejweb.modules.workbench.service.WorkbenchService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
/**
* Created by mengxy on 2017/9/12.
*/
@Controller
@RequestMapping("${adminPath}/workbench")
public class WorkbenchController extends BaseController {
@Autowired
private WorkbenchService workbenchService;
@Autowired
private ReportService reportService;
@RequiresPermissions("workbench:view")
@RequestMapping(value={"list",""})
public String getWorkbench(Model model,WorkbenchBean bean){
WorkbenchBean workbench;
try {
User user = UserUtils.getUser();
bean = getWorkbenchByUser(user, bean);
if(StringUtils.isBlank(bean.getProcessStatus()) || "0".equals(bean.getProcessStatus())){
bean.setProcessStatus("0");
}else if("1".equals(bean.getProcessStatus())){
bean.setProcessStatus("1");
}
List<ReportEntity> repList = workbenchService.getRepList(bean);
model.addAttribute("workbench",bean);
model.addAttribute("repList",repList);
} catch (Exception e) {
e.printStackTrace();
}
return "modules/workbench/workbench";
}
@RequestMapping("/getHighcharts")
@ResponseBody
public JSONObject getHighcharts(WorkbenchBean bean){
JSONObject res = new JSONObject();
try {
User user = UserUtils.getUser();
bean = getWorkbenchByUser(user, bean);
res.put("bench",bean);
//举报状态
res.put("unProcess",bean.getUnProcess());
res.put("processing",bean.getProcessing());
res.put("processed",bean.getProcessed());
//举报结果
res.put("invalid",bean.getInvalid());
res.put("complainNum",bean.getComplainNum());
res.put("verified",bean.getVerified());
res.put("startDate",bean.getStartDate());
res.put("endDate",bean.getEndDate());
//举报类型
res.put("sale",bean.getSale());
res.put("project",bean.getProject());
res.put("cost",bean.getCost());
res.put("forMining",bean.getForMining());
res.put("manpower",bean.getManpower());
res.put("tenement",bean.getTenement());
res.put("complain",bean.getComplain());
res.put("startDate",bean.getStartDate());
res.put("endDate",bean.getEndDate());
} catch (Exception e) {
e.printStackTrace();
}
return res;
}
// @RequestMapping("/getRepResult")
// @ResponseBody
// public JSONObject getRepResult(WorkbenchBean bean){
// JSONObject res = new JSONObject();
// try {
// User user = UserUtils.getUser();
// bean = getWorkbenchByUser(user, bean);
// res.put("invalid",bean.getInvalid());
// res.put("complainNum",bean.getComplainNum());
// res.put("verified",bean.getVerified());
// res.put("startDate",bean.getStartDate());
// res.put("endDate",bean.getEndDate());
// } catch (Exception e) {
// e.printStackTrace();
// }
// return res;
// }
// @RequestMapping("/getRepType")
// @ResponseBody
// public JSONObject getRepType(WorkbenchBean bean){
// JSONObject res = new JSONObject();
// try {
// User user = UserUtils.getUser();
// bean = getWorkbenchByUser(user, bean);
// res.put("sale",bean.getSale());
// res.put("project",bean.getProject());
// res.put("cost",bean.getCost());
// res.put("forMining",bean.getForMining());
// res.put("manpower",bean.getManpower());
// res.put("tenement",bean.getTenement());
// res.put("complain",bean.getComplain());
// res.put("startDate",bean.getStartDate());
// res.put("endDate",bean.getEndDate());
// } catch (Exception e) {
// e.printStackTrace();
// }
// return res;
// }
public WorkbenchBean getWorkbenchByUser(User user,WorkbenchBean bean){
if(user != null) {
try {
//判断登录人的角色
String roleName = reportService.findRole(user);
if (StringUtils.isNotBlank(roleName)) {
if (!roleName.equals("系统管理员")) {
bean.setIsAdmin(user.getId());
}
}
bean = workbenchService.getWorkbench(bean);
} catch (Exception e) {
e.printStackTrace();
}
}
return bean;
}
}
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
<html>
<head>
<title>工作台</title>
<meta name="decorator" content="default"/>
<script src="${pageContext.request.contextPath}/assets/jquery/jquery-1.8.3.js"></script>
<script src="${pageContext.request.contextPath}/assets/highcharts/highcharts.js"></script>
<script src="${pageContext.request.contextPath}/assets/highcharts/exporting.js"></script>
<script src="${pageContext.request.contextPath}/assets/highcharts/highcharts-zh_CN.js"></script>
<script src="${pageContext.request.contextPath}/assets/My97DatePicker/WdatePicker.js"></script>
<script>
$(function () {
var startDate = $("#startDate").val();
var endDate = $("#endDate").val();
var start = startDate.substring(5).replace("-",".");
var end = endDate.substring(5).replace("-",".");
$.ajax({
type: "POST",
dataType: "JSON",
data: {"startDate":startDate,"endDate":endDate},
url: "getHighcharts.action",
success: function (result) {
$('#repStatus').highcharts({
navigation: {
buttonOptions: {
enabled: false
}
},//去掉下载标志
credits: {
text: '',
href: ''
},//去掉版权信息
chart: {
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false,
spacingLeft: 0
},
title: {//主标题
style: { "color": "#333333", "fontSize": "15px" },
text: '举报状态('+start+'-'+end+')'
},
subtitle: {//副标题
align: 'right',
text: '总数&nbsp;:&nbsp;'+result.bench.repStatusTotal+'<br/><br/>未处理&nbsp;:&nbsp;'+result.unProcess+'<br/><br/>核查中&nbsp;:&nbsp;'+result.processing+'<br/><br/>已处理&nbsp;:&nbsp;'+result.processed,
useHTML: true,
verticalAlign: 'top' ,
x: -5 ,
y: 80 ,
},
// legend : {
// align: 'left'
// },
tooltip: {
headerFormat: '{series.name}<br>',
pointFormat: '{point.name}: <b>{point.percentage:.1f}%</b>'
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: false
},
showInLegend: true
}
},
series: [{
type: 'pie',
name: '举报',
data: [
['未处理', result.unProcess],
['核查中', result.processing],
['已处理', result.processed],
// {
// name: 'Chrome',
// y: 12.8,
// sliced: true,
// selected: true
// },
]
}]
});
$('#repType').highcharts({
navigation: {
buttonOptions: {
enabled: false
}
},
credits: {
text: '',
href: ''
},//去掉版权信息
chart: {
type: 'column'
},
title: {
text: ''
},
xAxis: [{
categories: [
'营销',
'工程',
'成本',
'招采',
'人力',
'物业',
'投诉'
],
labels:{
enabled:false
},
crosshair: true
}],
yAxis: {
min: 0,
allowDecimals:false,
title: {
text: '人数'
}
},
tooltip: {
headerFormat: '<span style="font-size:10px"></span><table>',
pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
'<td style="padding:0"><b>{point.y:.0f} </b></td></tr>',
footerFormat: '</table>',
shared: true,
useHTML: true
},
plotOptions: {
column: {
pointPadding: 0.2,
borderWidth: 0
}
},
series: [{
name: '营销',
data: [result.sale]
}, {
name: '工程',
data: [result.project]
}, {
name: '成本',
data: [result.cost]
}, {
name: '招采',
data: [result.forMining]
}, {
name: '人力',
data: [result.manpower]
}, {
name: '物业',
data: [result.tenement]
}, {
name: '投诉',
data: [result.complain]
}
]
});
$('#repResult').highcharts({
navigation: {
buttonOptions: {
enabled: false
}
},//去掉下载标志
credits: {
text: '',
href: ''
},//去掉版权信息
chart: {
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false
},
title: {//主标题
style: { "color": "#333333", "fontSize": "15px" },
text: '举报结果('+start+'-'+end+')'
},
subtitle: {//副标题
align: 'right',
text: '总数&nbsp;:&nbsp;'+result.bench.repResultTotal+'<br/><br/>无效&nbsp;:&nbsp;'+result.invalid+'<br/><br/>投诉&nbsp;:&nbsp;'+result.complainNum+'<br/><br/>属实&nbsp;:&nbsp;'+result.verified,
useHTML: true,
verticalAlign: 'top' ,
x: -5 ,
y: 80 ,
},
tooltip: {
headerFormat: '{series.name}<br>',
pointFormat: '{point.name}: <b>{point.percentage:.1f}%</b>'
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: false
},
showInLegend: true
}
},
series: [{
type: 'pie',
name: '举报',
data: [
['无效', result.invalid],
['投诉', result.complainNum],
['属实', result.verified],
]
}]
});
}
});
});
</script>
</head>
<body>
<form:form id="searchForm" modelAttribute="" action="${ctx}/workbench/list" method="post" class="breadcrumb form-search">
<%--<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>--%>
<%--<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>--%>
<%--<input id="flag" name="flag" type="hidden" value="${flag}"/>--%>
<ul class="ul-form" >
<li><label><h3>工作台</h3></label></li>
<li class="btns" style="float: right">
<label style="width:auto;">
<input id="btnSubmit" class="btn btn-primary" type="submit" value="查询"/>&nbsp;&nbsp;
</label>
</li>
<li style="float: right"><label>至:</label><input id="endDate" name="endDate" readonly="readonly" type="text"
maxlength="200" class="Wdate" style="width: auto" onFocus="WdatePicker({lang:'zh-cn'})" value="${workbench.endDate}" /></li>
<li style="float: right"><label>日期:</label><input id="startDate" name="startDate" readonly="readonly" type="text"
maxlength="200" class="Wdate" style="width: auto" onFocus="WdatePicker({lang:'zh-cn'})" value="${workbench.startDate}" /></li>
</ul>
<ul class="ul-form">
<div>
<div id="repStatus" style="min-width:40%;height:280px;float:left;background-color:#FFFFFF " class="breadcrumb form-search"></div>
<div style="min-width:54%;height:280px;float:right;background-color: #FFFFFF" class="breadcrumb form-search">
<li><h5>总体</h5></li>
<br/><br/>
<table>
<tr height="60">
<td style="width: 10% "></td>
<td style="width: 10%">&nbsp;&nbsp;&nbsp;&nbsp;微信公众号&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${workbench.weChat}</td>
<td style="width: 10%">&nbsp;&nbsp;&nbsp;&nbsp;官网&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${workbench.web}</td>
<td style="width: 10%">&nbsp;&nbsp;&nbsp;&nbsp;融E&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${workbench.sunacE}</td>
</tr>
<tr height="60">
<td style="width: 10%"><h4>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${workbench.total}</h4>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;举报事件</td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;融创OA系统&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${workbench.oa}</td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;线下扫码&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${workbench.offline}</td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;电话&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${workbench.phone}</td>
</tr>
<tr height="60">
<td style="width: 10% "></td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;供应商系统&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${workbench.supplier}</td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;邮件&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${workbench.email}</td>
<td></td>
</tr>
</table>
</div>
</div>
</ul>
<ul class="ul-form">
<div style="background-color: #FFFFFF">
<div id="repResult" style="min-width:40%;height:280px;float:left;background-color:#FFFFFF " class="breadcrumb form-search"></div>
<div id="repType" style="min-width:54%;height:280px;float:right;background-color: #FFFFFF" class="breadcrumb form-search"></div>
</div>
</ul>
</form:form>
<ul class="nav nav-tabs">
<li <c:if test="${workbench.processStatus eq '0'}">class="active"</c:if>><a href="${ctx}/workbench/list?processStatus=0&startDate=${workbench.startDate}&endDate=${workbench.endDate}">未处理举报</a></li>
<li <c:if test="${workbench.processStatus eq '1'}">class="active"</c:if>><a href="${ctx}/workbench/list?processStatus=1&startDate=${workbench.startDate}&endDate=${workbench.endDate}">核查中举报</a></li>
<li style="float: right;"><a href="${ctx}/report/list">查看更多</a></li>
</ul>
<sys:message content="${message}"/>
<table id="contentTable" class="table table-striped table-bordered table-condensed">
<thead>
<tr>
<th>ID</th>
<th>标题</th>
<th>业务类型</th>
<th>被举报公司</th>
<th>举报人</th>
<th>举报人电话</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<c:if test="${repList.size()>0}">
<c:forEach items="${repList}" var="report" varStatus="vs">
<tr>
<td>${vs.index + 1}</td>
<td>${report.supplementTitle}</td>
<td>
<c:if test="${report.supplementType eq '1'}">营销</c:if>
<c:if test="${report.supplementType eq '2'}">工程</c:if>
<c:if test="${report.supplementType eq '3'}">成本</c:if>
<c:if test="${report.supplementType eq '4'}">招采</c:if>
<c:if test="${report.supplementType eq '5'}">人力</c:if>
<c:if test="${report.supplementType eq '6'}">物业</c:if>
<c:if test="${report.supplementType eq '7'}">投诉</c:if>
</td>
<td>${report.supplementCompany}</td>
<td>${report.reportPersonName}</td>
<td>${report.reportPersonTel}</td>
<td>
<a href="${ctx}/report/view?id=${report.id}">查看</a>
</td>
</tr>
</c:forEach>
</c:if>
</tbody>
</table>
<c:if test="${repList.size()=='0'}">
<span style="color: #999999;margin: 20px 0 70px 20px;display: block;">未查询到相关内容</span>
</c:if>
<%-- <c:if test="${page.list.size()>0}">
<div class="pagination">${page}</div>
</c:if>--%>
</body>
</html>
\ No newline at end of file
/*
Highcharts JS v5.0.14 (2017-07-28)
Exporting module
(c) 2010-2017 Torstein Honsi
License: www.highcharts.com/license
*/
(function(k){"object"===typeof module&&module.exports?module.exports=k:k(Highcharts)})(function(k){(function(f){var k=f.defaultOptions,p=f.doc,B=f.Chart,x=f.addEvent,I=f.removeEvent,F=f.fireEvent,r=f.createElement,C=f.discardElement,v=f.css,n=f.merge,D=f.pick,h=f.each,G=f.objectEach,t=f.extend,J=f.isTouchDevice,E=f.win,H=E.navigator.userAgent,K=f.Renderer.prototype.symbols;/Edge\/|Trident\/|MSIE /.test(H);/firefox/i.test(H);t(k.lang,{printChart:"Print chart",downloadPNG:"Download PNG image",downloadJPEG:"Download JPEG image",
downloadPDF:"Download PDF document",downloadSVG:"Download SVG vector image",contextButtonTitle:"Chart context menu"});k.navigation={buttonOptions:{theme:{},symbolSize:14,symbolX:12.5,symbolY:10.5,align:"right",buttonSpacing:3,height:22,verticalAlign:"top",width:24}};n(!0,k.navigation,{menuStyle:{border:"1px solid #999999",background:"#ffffff",padding:"5px 0"},menuItemStyle:{padding:"0.5em 1em",background:"none",color:"#333333",fontSize:J?"14px":"11px",transition:"background 250ms, color 250ms"},menuItemHoverStyle:{background:"#335cad",
color:"#ffffff"},buttonOptions:{symbolFill:"#666666",symbolStroke:"#666666",symbolStrokeWidth:3,theme:{fill:"#ffffff",stroke:"none",padding:5}}});k.exporting={type:"image/png",url:"https://export.highcharts.com/",printMaxWidth:780,scale:2,buttons:{contextButton:{className:"highcharts-contextbutton",menuClassName:"highcharts-contextmenu",symbol:"menu",_titleKey:"contextButtonTitle",menuItems:"printChart separator downloadPNG downloadJPEG downloadPDF downloadSVG".split(" ")}},menuItemDefinitions:{printChart:{textKey:"printChart",
onclick:function(){this.print()}},separator:{separator:!0},downloadPNG:{textKey:"downloadPNG",onclick:function(){this.exportChart()}},downloadJPEG:{textKey:"downloadJPEG",onclick:function(){this.exportChart({type:"image/jpeg"})}},downloadPDF:{textKey:"downloadPDF",onclick:function(){this.exportChart({type:"application/pdf"})}},downloadSVG:{textKey:"downloadSVG",onclick:function(){this.exportChart({type:"image/svg+xml"})}}}};f.post=function(a,b,e){var c=r("form",n({method:"post",action:a,enctype:"multipart/form-data"},
e),{display:"none"},p.body);G(b,function(a,b){r("input",{type:"hidden",name:b,value:a},null,c)});c.submit();C(c)};t(B.prototype,{sanitizeSVG:function(a,b){if(b&&b.exporting&&b.exporting.allowHTML){var e=a.match(/<\/svg>(.*?$)/);e&&e[1]&&(e='\x3cforeignObject x\x3d"0" y\x3d"0" width\x3d"'+b.chart.width+'" height\x3d"'+b.chart.height+'"\x3e\x3cbody xmlns\x3d"http://www.w3.org/1999/xhtml"\x3e'+e[1]+"\x3c/body\x3e\x3c/foreignObject\x3e",a=a.replace("\x3c/svg\x3e",e+"\x3c/svg\x3e"))}a=a.replace(/zIndex="[^"]+"/g,
"").replace(/isShadow="[^"]+"/g,"").replace(/symbolName="[^"]+"/g,"").replace(/jQuery[0-9]+="[^"]+"/g,"").replace(/url\(("|&quot;)(\S+)("|&quot;)\)/g,"url($2)").replace(/url\([^#]+#/g,"url(#").replace(/<svg /,'\x3csvg xmlns:xlink\x3d"http://www.w3.org/1999/xlink" ').replace(/ (NS[0-9]+\:)?href=/g," xlink:href\x3d").replace(/\n/," ").replace(/<\/svg>.*?$/,"\x3c/svg\x3e").replace(/(fill|stroke)="rgba\(([ 0-9]+,[ 0-9]+,[ 0-9]+),([ 0-9\.]+)\)"/g,'$1\x3d"rgb($2)" $1-opacity\x3d"$3"').replace(/&nbsp;/g,
"\u00a0").replace(/&shy;/g,"\u00ad");return a=a.replace(/<IMG /g,"\x3cimage ").replace(/<(\/?)TITLE>/g,"\x3c$1title\x3e").replace(/height=([^" ]+)/g,'height\x3d"$1"').replace(/width=([^" ]+)/g,'width\x3d"$1"').replace(/hc-svg-href="([^"]+)">/g,'xlink:href\x3d"$1"/\x3e').replace(/ id=([^" >]+)/g,' id\x3d"$1"').replace(/class=([^" >]+)/g,'class\x3d"$1"').replace(/ transform /g," ").replace(/:(path|rect)/g,"$1").replace(/style="([^"]+)"/g,function(a){return a.toLowerCase()})},getChartHTML:function(){return this.container.innerHTML},
getSVG:function(a){var b,e,c,w,m,g=n(this.options,a);p.createElementNS||(p.createElementNS=function(a,b){return p.createElement(b)});e=r("div",null,{position:"absolute",top:"-9999em",width:this.chartWidth+"px",height:this.chartHeight+"px"},p.body);c=this.renderTo.style.width;m=this.renderTo.style.height;c=g.exporting.sourceWidth||g.chart.width||/px$/.test(c)&&parseInt(c,10)||600;m=g.exporting.sourceHeight||g.chart.height||/px$/.test(m)&&parseInt(m,10)||400;t(g.chart,{animation:!1,renderTo:e,forExport:!0,
renderer:"SVGRenderer",width:c,height:m});g.exporting.enabled=!1;delete g.data;g.series=[];h(this.series,function(a){w=n(a.userOptions,{animation:!1,enableMouseTracking:!1,showCheckbox:!1,visible:a.visible});w.isInternal||g.series.push(w)});h(this.axes,function(a){a.userOptions.internalKey||(a.userOptions.internalKey=f.uniqueKey())});b=new f.Chart(g,this.callback);a&&h(["xAxis","yAxis","series"],function(c){var d={};a[c]&&(d[c]=a[c],b.update(d))});h(this.axes,function(a){var c=f.find(b.axes,function(b){return b.options.internalKey===
a.userOptions.internalKey}),d=a.getExtremes(),e=d.userMin,d=d.userMax;!c||void 0===e&&void 0===d||c.setExtremes(e,d,!0,!1)});c=b.getChartHTML();c=this.sanitizeSVG(c,g);g=null;b.destroy();C(e);return c},getSVGForExport:function(a,b){var e=this.options.exporting;return this.getSVG(n({chart:{borderRadius:0}},e.chartOptions,b,{exporting:{sourceWidth:a&&a.sourceWidth||e.sourceWidth,sourceHeight:a&&a.sourceHeight||e.sourceHeight}}))},exportChart:function(a,b){b=this.getSVGForExport(a,b);a=n(this.options.exporting,
a);f.post(a.url,{filename:a.filename||"chart",type:a.type,width:a.width||0,scale:a.scale,svg:b},a.formAttributes)},print:function(){var a=this,b=a.container,e=[],c=b.parentNode,f=p.body,m=f.childNodes,g=a.options.exporting.printMaxWidth,d,u;if(!a.isPrinting){a.isPrinting=!0;a.pointer.reset(null,0);F(a,"beforePrint");if(u=g&&a.chartWidth>g)d=[a.options.chart.width,void 0,!1],a.setSize(g,void 0,!1);h(m,function(a,b){1===a.nodeType&&(e[b]=a.style.display,a.style.display="none")});f.appendChild(b);E.focus();
E.print();setTimeout(function(){c.appendChild(b);h(m,function(a,b){1===a.nodeType&&(a.style.display=e[b])});a.isPrinting=!1;u&&a.setSize.apply(a,d);F(a,"afterPrint")},1E3)}},contextMenu:function(a,b,e,c,w,m,g){var d=this,u=d.options.navigation,k=d.chartWidth,q=d.chartHeight,n="cache-"+a,l=d[n],y=Math.max(w,m),z,A;l||(d[n]=l=r("div",{className:a},{position:"absolute",zIndex:1E3,padding:y+"px"},d.container),z=r("div",{className:"highcharts-menu"},null,l),v(z,t({MozBoxShadow:"3px 3px 10px #888",WebkitBoxShadow:"3px 3px 10px #888",
boxShadow:"3px 3px 10px #888"},u.menuStyle)),A=function(){v(l,{display:"none"});g&&g.setState(0);d.openMenu=!1},d.exportEvents.push(x(l,"mouseleave",function(){l.hideTimer=setTimeout(A,500)}),x(l,"mouseenter",function(){clearTimeout(l.hideTimer)}),x(p,"mouseup",function(b){d.pointer.inClass(b.target,a)||A()})),h(b,function(a){"string"===typeof a&&(a=d.options.exporting.menuItemDefinitions[a]);if(f.isObject(a,!0)){var b;a.separator?b=r("hr",null,null,z):(b=r("div",{className:"highcharts-menu-item",
onclick:function(b){b&&b.stopPropagation();A();a.onclick&&a.onclick.apply(d,arguments)},innerHTML:a.text||d.options.lang[a.textKey]},null,z),b.onmouseover=function(){v(this,u.menuItemHoverStyle)},b.onmouseout=function(){v(this,u.menuItemStyle)},v(b,t({cursor:"pointer"},u.menuItemStyle)));d.exportDivElements.push(b)}}),d.exportDivElements.push(z,l),d.exportMenuWidth=l.offsetWidth,d.exportMenuHeight=l.offsetHeight);b={display:"block"};e+d.exportMenuWidth>k?b.right=k-e-w-y+"px":b.left=e-y+"px";c+m+d.exportMenuHeight>
q&&"top"!==g.alignOptions.verticalAlign?b.bottom=q-c-y+"px":b.top=c+m-y+"px";v(l,b);d.openMenu=!0},addButton:function(a){var b=this,e=b.renderer,c=n(b.options.navigation.buttonOptions,a),f=c.onclick,m=c.menuItems,g,d,k=c.symbolSize||12;b.btnCount||(b.btnCount=0);b.exportDivElements||(b.exportDivElements=[],b.exportSVGElements=[]);if(!1!==c.enabled){var h=c.theme,q=h.states,p=q&&q.hover,q=q&&q.select,l;delete h.states;f?l=function(a){a.stopPropagation();f.call(b,a)}:m&&(l=function(){b.contextMenu(d.menuClassName,
m,d.translateX,d.translateY,d.width,d.height,d);d.setState(2)});c.text&&c.symbol?h.paddingLeft=D(h.paddingLeft,25):c.text||t(h,{width:c.width,height:c.height,padding:0});d=e.button(c.text,0,0,l,h,p,q).addClass(a.className).attr({"stroke-linecap":"round",title:b.options.lang[c._titleKey],zIndex:3});d.menuClassName=a.menuClassName||"highcharts-menu-"+b.btnCount++;c.symbol&&(g=e.symbol(c.symbol,c.symbolX-k/2,c.symbolY-k/2,k,k).addClass("highcharts-button-symbol").attr({zIndex:1}).add(d),g.attr({stroke:c.symbolStroke,
fill:c.symbolFill,"stroke-width":c.symbolStrokeWidth||1}));d.add().align(t(c,{width:d.width,x:D(c.x,b.buttonOffset)}),!0,"spacingBox");b.buttonOffset+=(d.width+c.buttonSpacing)*("right"===c.align?-1:1);b.exportSVGElements.push(d,g)}},destroyExport:function(a){var b=a?a.target:this;a=b.exportSVGElements;var e=b.exportDivElements,c=b.exportEvents,f;a&&(h(a,function(a,c){a&&(a.onclick=a.ontouchstart=null,f="cache-"+a.menuClassName,b[f]&&delete b[f],b.exportSVGElements[c]=a.destroy())}),a.length=0);e&&
(h(e,function(a,c){clearTimeout(a.hideTimer);I(a,"mouseleave");b.exportDivElements[c]=a.onmouseout=a.onmouseover=a.ontouchstart=a.onclick=null;C(a)}),e.length=0);c&&(h(c,function(a){a()}),c.length=0)}});K.menu=function(a,b,e,c){return["M",a,b+2.5,"L",a+e,b+2.5,"M",a,b+c/2+.5,"L",a+e,b+c/2+.5,"M",a,b+c-1.5,"L",a+e,b+c-1.5]};B.prototype.renderExporting=function(){var a=this,b=a.options.exporting,e=b.buttons,c=a.isDirtyExporting||!a.exportSVGElements;a.buttonOffset=0;a.isDirtyExporting&&a.destroyExport();
c&&!1!==b.enabled&&(a.exportEvents=[],G(e,function(b){a.addButton(b)}),a.isDirtyExporting=!1);x(a,"destroy",a.destroyExport)};B.prototype.callbacks.push(function(a){a.renderExporting();x(a,"redraw",a.renderExporting);h(["exporting","navigation"],function(b){a[b]={update:function(e,c){a.isDirtyExporting=!0;n(!0,a.options[b],e);D(c,!0)&&a.redraw()}}})})})(k)});
(function(H){var protocol=window.location.protocol;var defaultOptionsZhCn={lang:{contextButtonTitle:'图表导出菜单',decimalPoint:'.',downloadJPEG:"下载JPEG图片",downloadPDF:"下载PDF文件",downloadPNG:"下载PNG文件",downloadSVG:"下载SVG文件",drillUpText:"返回 {series.name}",invalidDate:'无效的时间',loading:'加载中...',months:['一月','二月','三月','四月','五月','六月','七月','八月','九月','十月','十一月','十二月'],noData:"没有数据",numericSymbols:null,printChart:"打印图表",resetZoom:'重置缩放比例',resetZoomTitle:'重置为原始大小',shortMonths:['一月','二月','三月','四月','五月','六月','七月','八月','九月','十月','十一月','十二月'],thousandsSep:',',weekdays:['星期一','星期二','星期三','星期四','星期五','星期六','星期天'],rangeSelectorFrom:'开始时间',rangeSelectorTo:'结束时间',rangeSelectorZoom:'缩放',zoomIn:'缩小',zoomOut:'放大'},global:{useUTC:true,canvasToolsURL:protocol+'//cdn.hcharts.cn/highcharts/modules/canvas-tools.js',VMLRadialGradientURL:protocol+ +'//cdn.hcharts.cn/highcharts/gfx/vml-radial-gradient.png'},title:{text:'图表标题'},tooltip:{dateTimeLabelFormats:{millisecond:'%H:%M:%S.%L',second:'%H:%M:%S',minute:'%H:%M',hour:'%H:%M',day:'%Y-%m-%d',week:'Week from %A, %b %e, %Y',month:'%Y-%m',year:'%Y'}},exporting:{url:protocol+'//export.highcharts.com.cn'},credits:{text:'Highcharts.com.cn',href:'https://www.highcharts.com.cn'},xAxis:{dateTimeLabelFormats:{millisecond:'%H:%M:%S.%L',second:'%H:%M:%S',minute:'%H:%M',hour:'%H:%M',day:'%Y-%m-%d',week:'%e. %b',month:'%Y-%m',year:'%Y'}}};H.setOptions(defaultOptionsZhCn)}(Highcharts));
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment