@ -125,7 +125,6 @@
< li >
< p > 时段:< / p >
< select id = "year2" name = "year" >
<!-- <option value="2024">2024</option> -->
< option th:each = "y:${yearList}" th:text = "${y}" th:value = "${y}" > < / option >
< / select >
< select id = "dateSearch2" name = "dateSearch" onchange = "timeType2()" >
@ -162,13 +161,6 @@
< a class = "btn btn-warning btn-sm" onclick = "downloadC2()" > < i class = "fa fa-share-square-o" > < / i > 导出< / a >
< / li >
< / ul >
<!-- <ul>
< li id = "complaintB" th:fragment = "complaintB" >
< p th:text = "|${year}年|" > < / p >
< p th:text = "|投诉数量 ${Number3}|" > < / p >
< p th:text = "|占比总计 ${dou}|" > < / p >
< / li >
< / ul > -->
< div class = "static-content" style = "margin: 1% 0;" >
< ul >
< li id = "complaintB" th:fragment = "complaintB" >
@ -176,18 +168,39 @@
< p > < label th:text = "投诉数量" > < / label > < b th:text = "${Number3}" > < / b > < / p >
< p > < / i > < label th:text = "占比总计" > < / label > < b th:text = "${dou}" > < / b > < / p >
< / li >
< / ul >
< ul >
< li style = "margin-top: 7px;" >
< p > 类型:< / p >
< select id = "qy" name = "qy" th:with = "type=${@dict.getType('address_type')}" onchange = "searchComplaint2()" >
< option value = "type" > 投诉类型< / option >
< option value = "" > 全市< / option >
< option th:each = "dict : ${type}" th:text = "${dict.dictLabel}" th:value = "${dict.dictValue}" > < / option >
< / select >
< / li >
< / ul >
< / div >
< / div >
< / form >
< div class = "cont-two" >
< div class = "cont-two" id = "cont-two-1" >
< table id = "bootstrap-table2" style = "width: 750px;" > < / table >
<!-- <div id="container" style="width: 600px;height:450px;"></div> -->
< div class = "chart-box" >
< h3 class = "chart-title" > 投诉类型数量及占比< / h3 >
< div id = "echartComplaint" style = "width: 600px;height:450px;" > < / div >
< div id = "echartComplaint1" style = "width: 600px;height:450px;" > < / div >
< / div >
< / div >
< div class = "cont-two" id = "cont-two-2" >
< table id = "bootstrap-table3" style = "width: 750px;" > < / table >
< div class = "chart-box" >
< h3 class = "chart-title" > 投诉企业所属区域数量及占比< / h3 >
< div id = "echartComplaint2" style = "width: 600px;height:450px;" > < / div >
< / div >
< / div >
< div class = "cont-two" id = "cont-two-3" >
< table id = "bootstrap-table4" style = "width: 750px;" > < / table >
< div class = "chart-box" >
< h3 class = "chart-title" > 投诉企业所属街道数量及占比< / h3 >
< div id = "echartComplaint3" style = "width: 600px;height:450px;" > < / div >
< / div >
< / div >
< / div >
@ -200,7 +213,9 @@
var prefix = ctx + "code/complaintStatic";
var caseType=[[${@dict.getType('caseType')}]];
/*var myChart = echarts.init(document.getElementById('container'));*/
var myChart = echarts.init(document.getElementById('echartComplaint'));
var myChart1 = echarts.init(document.getElementById('echartComplaint1'));
var myChart2 = echarts.init(document.getElementById('echartComplaint2'));
var myChart3 = echarts.init(document.getElementById('echartComplaint3'));
var pieData;
var deptName;
window.onload = function () {
@ -211,6 +226,10 @@
$('#detail').hide();
rTable1();
rTable2();
$('#cont-two-1').show();
$('#cont-two-2').hide();
$('#cont-two-3').hide();
rTable2();
}
$(function() {
var options1 = {
@ -226,38 +245,11 @@
columns: [
{
field : 'complaintDepartment',
title : '被投诉对象'
title : '被投诉对象',
align : 'left',
width : 1050,
},
/*{
field : 'complaintType',
title : '投诉类型',
formatter:function (value,row,index) {
console.log(row.complaintDepartment);
var rowName=row.complaintDepartment;
var cName=document.getElementById('cType').value
if(cName==null||cName==""||cName==undefined){
if(row.complaintDepartment==null||row.complaintDepartment==""||row.complaintDepartment==undefined){
return '< span style = "cursor: pointer;color: blue;" ONCLICK = "sComplaint(\'' + '空' + '\')" > '+'全部'+'< / span > ';
}else {
return '< span style = "cursor: pointer;color: blue;" ONCLICK = "sComplaint(\'' + row.complaintDepartment + '\')" > '+'全部'+'< / span > ';
}
}
for(let i=0;i< caseType.length ; i + + ) {
if(cName==caseType[i].dictValue){
if(row.complaintDepartment==null||row.complaintDepartment==""||row.complaintDepartment==undefined){
return '< span style = "cursor: pointer;color: blue;" ONCLICK = "sComplaint(\'' + '空' + '\')" > '+caseType[i].dictLabel+'< / span > ';
}else {
return '< span style = "cursor: pointer;color: blue;" ONCLICK = "sComplaint(\'' + row.complaintDepartment + '\')" > '+caseType[i].dictLabel+'< / span > ';
}
}
}
if(row.complaintDepartment==null||row.complaintDepartment==""||row.complaintDepartment==undefined){
return '< span style = "cursor: pointer;color: blue;" ONCLICK = "sComplaint(\'' + '空' + '\')" > '+cName+'< / span > ';
}else {
return '< span style = "cursor: pointer;color: blue;" ONCLICK = "sComplaint(\'' + row.complaintDepartment + '\')" > '+cName+'< / span > ';
}
}
},*/
{
field : 'total',
title : '投诉数量',
@ -271,25 +263,13 @@
});
$(function() {
var options2 = {
//url: prefix + "/list2",
modalName: "投诉类型统计",
//method: 'post',
/*queryParams: function (params) {
return {
dateSearch:params.dateSearch,
month:params.month,
quarter:params.quarter,
year:params.year
};
},
queryParamsType:"",*/
sidePagination: "server",
showHeader: true,
showFooter: false,
showColumns: false,
showRefresh: false,
showToggle: false,
//quarterBoolean:quarterBoolean,
columns: [
{
field : 'name',
@ -307,6 +287,58 @@
}
$("#bootstrap-table2").bootstrapTable(options2);
});
$(function() {
var options = {
modalName: "投诉企业所属区域统计",
sidePagination: "server",
showHeader: true,
showFooter: false,
showColumns: false,
showRefresh: false,
showToggle: false,
columns: [
{
field : 'name',
title : '投诉企业所属区域'
},
{
field : 'numInt',
title : '投诉数量'
},
{
field : 'percentage',
title : '占比'
},
]
}
$("#bootstrap-table3").bootstrapTable(options);
});
$(function() {
var options = {
modalName: "投诉企业所属街道统计",
sidePagination: "server",
showHeader: true,
showFooter: false,
showColumns: false,
showRefresh: false,
showToggle: false,
columns: [
{
field : 'name',
title : '投诉企业所属街道'
},
{
field : 'numInt',
title : '投诉数量'
},
{
field : 'percentage',
title : '占比'
},
]
}
$("#bootstrap-table4").bootstrapTable(options);
});
$(function() {
var options3 = {
modalName: "类型显示",
@ -346,13 +378,6 @@
}
return string;
}else{
/*let list=["http://localhost:8080/","D:/code/zdxt/zdxtLawEnforcementCode/lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/template/a6c39541059498889daec9d3acd601a.png","/profile//2024/01/11/35082e876f84a21f40f075adf4f0da30.png"];
let string='';
if (list.length > 0) {
for (let i = 0; i < list.length ; i + + ) {
string = string + '< img style = "cursor: pointer;" src = "' + list[i] + '" @ click = "openPicture(\''+list[i]+'\')" > < / img > ';
}
}*/
return null;
}
}
@ -380,10 +405,18 @@
function dataMake(res){
var newData=[];
for(let i=0;i< res.length ; i + + ) {
let d={};
d.name=res[i].name;
d.value=res[i].numInt;
d.percentage=res[i].percentage;
/*if(res[i].numInt>0) {
let d = {};
d.name = res[i].name;
d.value = res[i].numInt;
d.percentage = res[i].percentage;
console.log(d)
newData.push(d);
}*/
let d = {};
d.name = res[i].name;
d.value = res[i].numInt;
d.percentage = res[i].percentage;
console.log(d)
newData.push(d);
}
@ -413,9 +446,27 @@
})
}
function searchComplaint2 () {
rTable2();
var qy = document.getElementById("qy");
console.log(qy.value)
if(qy.value==""){
$('#cont-two-1').hide();
$('#cont-two-2').show();
$('#cont-two-3').hide();
rTable3();
}else if(qy.value=="type"){
$('#cont-two-1').show();
$('#cont-two-2').hide();
$('#cont-two-3').hide();
rTable2();
}else{
$('#cont-two-1').hide();
$('#cont-two-2').hide();
$('#cont-two-3').show();
rTable4();
}
var currentId=$('form').eq(1).attr('id');
var params = $.common.formToJSON(currentId);
params.qy=qy.value;
$.ajax({
url:prefix+'/searchType2',
type:'GET',
@ -455,14 +506,26 @@
trigger: 'item',
formatter: '{b}: {c} ({d}%)'
},
color: ['#1f74f1', '#79e24a', '#41d5d3', '#f59036', '#fed100', '#ababac'],
/*color: ['#1f74f1', '#79e24a', '#41d5d3', '#f59036', '#fed100', '#ababac'],*/
color: [
'#9aa690', '#f4d1d7', '#c2cedc', '#e6d6d9',
'#686789', '#91a0a5', '#b57c82', '#feecd8',
'#ab545a', '#9fabb9', '#ecced0', '#8a95a9',
'#858FAC', '#B1722D',
],
series: [{
top: '5%',
left: '20%',
/*top: '5%',
left: '20%',*/
top:'-7%',
type: 'pie',
name: '名称',
radius: ['28%', '36%'],
center: ['50%', '30%'],
/*radius: ['28%', '36%'],
center: ['50%', '30%'],*/
radius:'65%',
itemStyle:{
borderWidth:2, //设置border的宽度有多大
borderColor:'#fff',
},
label: {
formatter: '{b}: {c} ({d}%)',
borderWidth: 1,
@ -481,7 +544,130 @@
data: pieData,
}]
}
myChart.setOption(option3);
myChart1.setOption(option3);
},
error:function (xhr,status,error){
console.error("请求失败:",status,error);
}
})
}
function rTable3(){
var currentId=$('form').eq(1).attr('id')
var params = $.common.formToJSON(currentId);
params.qy=null;
$.ajax({
url: prefix + "/qyComplaintList",
method: 'post',
data:params,
success:function (response){
$('#bootstrap-table3').bootstrapTable('load', response);
pieData=dataMake(response.rows);
console.log(pieData);
var option = {
tooltip: {
trigger: 'item',
formatter: '{b}: {c} ({d}%)'
},
/*color: ['#1f74f1', '#79e24a', '#41d5d3', '#f59036', '#fed100', '#ababac'],*/
color: [
'#9aa690', '#f4d1d7', '#c2cedc', '#e6d6d9',
'#686789', '#91a0a5', '#b57c82', '#feecd8',
'#ab545a', '#9fabb9', '#ecced0', '#8a95a9',
'#858FAC', '#B1722D',
],
series: [{
/*top: '5%',
left: '20%',*/
top:'-7%',
type: 'pie',
name: '名称',
/*radius: ['28%', '36%'],
center: ['50%', '30%'],*/
radius:'65%',
itemStyle:{
borderWidth:2, //设置border的宽度有多大
borderColor:'#fff',
},
label: {
formatter: '{b}: {c} ({d}%)',
borderWidth: 1,
borderRadius: 4,
color: '#4F4F4F',
fontFamily: 'PingFangSC-Regular',
fontSize: '14',
rich: {
a: {
color: '#4F4F4F',
lineHeight: 18,
align: 'center'
}
}
},
data: pieData,
}]
}
myChart2.setOption(option);
},
error:function (xhr,status,error){
console.error("请求失败:",status,error);
}
})
}
function rTable4(){
var currentId=$('form').eq(1).attr('id')
var params = $.common.formToJSON(currentId);
$.ajax({
url: prefix + "/jdComplaintList",
method: 'post',
data:params,
success:function (response){
$('#bootstrap-table4').bootstrapTable('load', response);
pieData=dataMake(response.rows);
console.log(pieData);
var option = {
tooltip: {
trigger: 'item',
formatter: '{b}: {c} ({d}%)'
},
/*color: ['#1f74f1', '#79e24a', '#41d5d3', '#f59036', '#fed100', '#ababac'],*/
color: [
'#9aa690', '#f4d1d7', '#c2cedc', '#e6d6d9',
'#686789', '#91a0a5', '#b57c82', '#feecd8',
'#ab545a', '#9fabb9', '#ecced0', '#8a95a9',
'#858FAC', '#B1722D',
],
series: [{
/*top: '5%',
left: '20%',*/
top:'-7%',
type: 'pie',
name: '名称',
/*radius: ['28%', '36%'],
center: ['50%', '30%'],*/
radius:'65%',
itemStyle:{
borderWidth:2, //设置border的宽度有多大
borderColor:'#fff',
},
label: {
formatter: '{b}: {c} ({d}%)',
borderWidth: 1,
borderRadius: 4,
color: '#4F4F4F',
fontFamily: 'PingFangSC-Regular',
fontSize: '14',
rich: {
a: {
color: '#4F4F4F',
lineHeight: 18,
align: 'center'
}
}
},
data: pieData,
}]
}
myChart3.setOption(option);
},
error:function (xhr,status,error){
console.error("请求失败:",status,error);
@ -559,9 +745,30 @@
}
function complaintRest2(){
$('form').eq(1).trigger("reset");
searchComplaint2()
timeType2();
document.getElementById("qy").value="type";
searchComplaint2();
}
/*function typeMake(){
var qy = document.getElementById("qy");
console.log(qy.value)
if(qy.value==""){
$('#cont-two-1').hide();
$('#cont-two-2').show();
$('#cont-two-3').hide();
rTable3();
}else if(qy.value=="type"){
$('#cont-two-1').show();
$('#cont-two-2').hide();
$('#cont-two-3').hide();
rTable2();
}else{
$('#cont-two-1').hide();
$('#cont-two-2').hide();
$('#cont-two-3').show();
rTable4();
}
}*/
function downloadC1(){
var currentId=$('form').eq(0).attr('id');
var params = $.common.formToJSON(currentId);
@ -589,24 +796,64 @@
var currentId=$('form').eq(1).attr('id');
var params = $.common.formToJSON(currentId);
delete params.dateSearch;
$.ajax({
type: "POST",
data: JSON.stringify(params),
contentType: 'application/json',
//设置响应类型
xhrFields: {responseType: "blob"},
url: prefix+"/export2",
success: function (result) {
const link = document.createElement('a');
let blob = new Blob([result], {type: 'application/vnd.ms-excel'});
link.style.display = 'none';
link.href = URL.createObjectURL(blob);
link.setAttribute('download', "投诉类型统计.xls");
document.body.appendChild(link);
link.click();
document.body.removeChild(link)
}
})
if(document.getElementById("qy").value=="type") {
$.ajax({
type: "POST",
data: JSON.stringify(params),
contentType: 'application/json',
//设置响应类型
xhrFields: {responseType: "blob"},
url: prefix + "/export2",
success: function (result) {
const link = document.createElement('a');
let blob = new Blob([result], {type: 'application/vnd.ms-excel'});
link.style.display = 'none';
link.href = URL.createObjectURL(blob);
link.setAttribute('download', "投诉类型统计.xls");
document.body.appendChild(link);
link.click();
document.body.removeChild(link)
}
})
}else if(document.getElementById("qy").value==""){
$.ajax({
type: "POST",
data: JSON.stringify(params),
contentType: 'application/json',
//设置响应类型
xhrFields: {responseType: "blob"},
url: prefix + "/export3",
success: function (result) {
const link = document.createElement('a');
let blob = new Blob([result], {type: 'application/vnd.ms-excel'});
link.style.display = 'none';
link.href = URL.createObjectURL(blob);
link.setAttribute('download', "投诉企业所属区域统计.xls");
document.body.appendChild(link);
link.click();
document.body.removeChild(link)
}
})
}else{
$.ajax({
type: "POST",
data: JSON.stringify(params),
contentType: 'application/json',
//设置响应类型
xhrFields: {responseType: "blob"},
url: prefix + "/export4",
success: function (result) {
const link = document.createElement('a');
let blob = new Blob([result], {type: 'application/vnd.ms-excel'});
link.style.display = 'none';
link.href = URL.createObjectURL(blob);
link.setAttribute('download', "投诉企业所属街道统计.xls");
document.body.appendChild(link);
link.click();
document.body.removeChild(link)
}
})
}
}
< / script >