张家口产业监测
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

609 lines
14 KiB

/**
* 查询综合概况
*/
function queryCompositeDetail_hotel() {
$.ajax({
type : 'POST',
url : _CTX + "/indexcompositeinfo/queryCompositeInfo.do?hstype=2&compositetime="+composite_time+"&datetype="+date_type,
dataType : 'json',
success : function(data) {
var composite_detail_good = [];
var composite_detail_middle = [];
var composite_detail_bad = [];
var composite_detail_total = [];
if (data.length>0) {
$("#total").html(data[0].total);
$("#goodNum").html('好评'+data[0].good);
$("#badNum").html('差评'+data[0].bad);
$("#grade").html(data[0].grade+'分');
$("#grade_avg").html(data[0].grade+'分');
for(var i=data.length-1;i>=0;i--){
composite_detail_good.push(data[i].good);
composite_detail_middle.push(data[i].middle);
composite_detail_bad.push(data[i].bad);
composite_detail_total.push(data[i].total);
}
}else{
$("#total").html(0);
$("#goodNum").html('好评0');
$("#badNum").html('差评0');
$("#grade").html('0分');
$("#grade_avg").html('0分');
}
if(date_type != "YEAR"){
showComposite_hotel(composite_detail_good, composite_detail_middle, composite_detail_bad, composite_detail_total);
}else{
showComposite_year_hotel(composite_detail_good, composite_detail_middle, composite_detail_bad, composite_detail_total);
}
}
});
}
//显示 综合概况 柱状图--月份或季度
function showComposite_hotel(composite_detail_good, composite_detail_middle, composite_detail_bad, composite_detail_total) {
var dom = document.getElementById("composite_detail");
var composite_chart = echarts.init(dom);
var num = 0;
var option = {
color: ['#36c1a9', '#dea61e', '#e46b4f'],
tooltip : {
trigger: 'axis',
axisPointer : { // 坐标轴指示器,坐标轴触发有效
type : 'shadow' // 默认为直线,可选为:'line' | 'shadow'
}
},
legend: {
data: ['好评','中评','差评'],
textStyle:{
color: '#FFFFFF'
}
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis: {
type: 'value',
axisLabel:{
show: true,
textStyle:{
color: '#FFFFFF'
}
}
},
yAxis: {
type: 'category',
data: ['同比','环比','当前'],
axisLabel:{
show: true,
textStyle:{
color: '#FFFFFF'
}
}
},
series: [
{
name: '好评',
type: 'bar',
stack: '总量',
label: {
normal: {
show: false
}
},
data: composite_detail_good
},
{
name: '中评',
type: 'bar',
stack: '总量',
label: {
normal: {
show: false
}
},
data: composite_detail_middle
},
{
name: '差评',
type: 'bar',
stack: '总量',
label: {
normal: {
show: true,
position: 'right',
formatter: function(params) {
var data = composite_detail_total[num];
num++;
return data;
}
},
},
data: composite_detail_bad
}
]
};
if (option && typeof option === "object") {
composite_chart.setOption(option, true);
}
}
//显示 综合概况 柱状图--年
function showComposite_year_hotel(composite_detail_good, composite_detail_middle, composite_detail_bad, composite_detail_total) {
var dom = document.getElementById("composite_detail");
var composite_chart = echarts.init(dom);
var num = 0;
var option = {
color: ['#36c1a9', '#dea61e', '#e46b4f'],
tooltip : {
trigger: 'axis',
axisPointer : { // 坐标轴指示器,坐标轴触发有效
type : 'shadow' // 默认为直线,可选为:'line' | 'shadow'
}
},
legend: {
data: ['好评','中评','差评'],
textStyle:{
color: '#FFFFFF'
}
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis: {
type: 'value',
axisLabel:{
show: true,
textStyle:{
color: '#FFFFFF'
}
}
},
yAxis: {
type: 'category',
data: ['同比','当前'],
axisLabel:{
show: true,
textStyle:{
color: '#FFFFFF'
}
}
},
series: [ {
name: '好评',
type: 'bar',
stack: '总量',
label: {
normal: {
show: false
}
},
data: composite_detail_good
}, {
name: '中评',
type: 'bar',
stack: '总量',
label: {
normal: {
show: false
}
},
data: composite_detail_middle
}, {
name: '差评',
type: 'bar',
stack: '总量',
label: {
normal: {
show: true,
position: 'right',
formatter: function(params) {
var data = composite_detail_total[num];
num++;
return data;
}
},
},
data: composite_detail_bad
} ]
};
if (option && typeof option === "object") {
composite_chart.setOption(option, true);
}
}
/**
* 查询游客关注维度
*/
function queryPeopleDimension_hotel(){
$.ajax({
type : 'POST',
url : _CTX + "/indexhotelgood/queryHotelDimension.do?starttime="+starttime+"&endtime="+endtime,
dataType : 'json',
success : function(data) {
var positiveArr = [];//正面
var positiveSpotArr = [];//正面百分比
var negativeArr = [];//负面
var negativeSpotArr = [];//负面百分比
var my_indicator = [];//显示名称
if (data.length>0) {
var f_dimension_name = data[0].dname + ',' + data[1].dname + ',' + data[2].dname;
$("#f_dimension_name").html(f_dimension_name);
$("#good_dimension_name").html(f_dimension_name);
var s_dimension_name = data[data.length-1].dname + ',' + data[data.length-2].dname;
$("#s_dimension_name").html(s_dimension_name);
$("#bed_dimension_name").html(s_dimension_name);
for (var i = 0; i < data.length; i++) {
positiveArr.push(data[i].znum);
positiveSpotArr.push(data[i].zRate);
negativeArr.push(data[i].fnum);
negativeSpotArr.push(data[i].fRate);
my_indicator.push({text : data[i].dname, max : 100});
}
}else{
$("#f_dimension_name").html('');
$("#good_dimension_name").html('');
$("#s_dimension_name").html('');
$("#bed_dimension_name").html('');
}
showPeopleDimension_hotel(positiveArr, positiveSpotArr, negativeArr, negativeSpotArr, my_indicator);
}
});
}
//显示游客关注维度 雷达图
function showPeopleDimension_hotel(positiveArr, positiveSpotArr, negativeArr, negativeSpotArr, my_indicator) {
var dom = document.getElementById("people_dimension");
var people_dimension_chart = echarts.init(dom);
var option = {
tooltip : {
formatter: function (params) {
var name = params.name;
var show_data_array = [];
var show_data_spot_array = []
if(name == "正面"){
show_data_array = positiveArr;
show_data_spot_array = positiveSpotArr;
}else{
show_data_array = negativeArr;
show_data_spot_array = negativeSpotArr;
}
var data_name = '';
for(var i=0;i<show_data_array.length;i++){
data_name += my_indicator[i].text+':'+show_data_array[i]+'('+show_data_spot_array[i]+'%)<br/>';
}
return name + '<br/>' + data_name
}
},
legend : {
type: 'scroll',
orient: 'vertical',
data : ['正面', '负面'],
top: '20%',
left: '0.5%',
textStyle : {
color : '#fff'
},
},
color : [ '#ec9e05', '#46dff3' ], // 调色盘颜色列表。
radar : [ {
indicator : my_indicator,
center : [ '50%', '50%' ],
radius: '60%',
shape : 'polygon',
name : {
formatter : '{value}',
textStyle : {
color : '#fff'
}
},
splitArea : {
areaStyle : {
color : [ '#0E2A43',
'#0E2A43', '#0E2A43',
'#0E2A43', '#0E2A43'
],
shadowColor : 'rgba(0, 0, 0, 0.3)',
shadowBlur : 10
}
},
axisLine : {
lineStyle : {
color : 'rgba(255, 255, 255, 0.5)'
}
},
splitLine : {
lineStyle : {
color : 'rgba(255, 255, 255, 0.5)'
}
}
} ],
series : [ {
name : '雷达图',
type : 'radar',
data : [ {
name : '正面',
value : positiveSpotArr,
}, {
name : '负面',
value : negativeSpotArr,
symbol : 'rect',
symbolSize : 0,
areaStyle : {
normal : {
color : 'rgba(255, 255, 255, 0.5)'
}
},
} ]
} ]
};
if (option && typeof option === "object") {
people_dimension_chart.setOption(option, true);
}
}
/**
* 查询正面评论热词
*/
function queryPositiveWord_hotel(){
$.ajax({
type : 'POST',
url : _CTX + "/network/queryHotWords.do?n_type=2&n_state=1&starttime="+starttime+"&endtime="+endtime,
dataType : 'json',
success : function(data) {
var netWordArr = [];
if (data.length>0) {
var words = '';
var i = 0;
for (; i < data.length; i++) {
netWordArr.push({value : data[i].nNum, name : data[i].nWord});
words += data[i].nWord
}
$("#good_words").html('<strong class="col_qing">'+words+'</strong>成为本季度游客<strong class="col_huang">好评</strong>使用频率最高的'+i+'个词');
}else{
$("#good_words").html('');
}
showPositiveWord_hotel(netWordArr);
}
});
}
//显示正面评论热词 词云图
function showPositiveWord_hotel(netWordArr){
var dom = document.getElementById("positive_word");
var positive_word_chart = echarts.init(dom);
var option = {
tooltip : {},
series : [ {
type : 'wordCloud',
gridSize : 2,
sizeRange : [ 12, 50 ],
rotationRange : [ -90, 90 ],
shape : 'pentagon',
width : 600,
height : 400,
drawOutOfBound : true,
textStyle : {
normal : {
color : function() {
return 'rgb(' + [
Math.round(Math.random() * 160),
Math.round(Math.random() * 160),
Math.round(Math.random() * 160)
].join(',') + ')';
}
},
emphasis : {
shadowBlur : 10,
shadowColor : '#333'
}
},
data : netWordArr
} ]
};
if (option && typeof option === "object") {
positive_word_chart.setOption(option, true);
}
}
/**
* 查询负面评论热词
*/
function queryNegativeWord_hotel(){
$.ajax({
type : 'POST',
url : _CTX + "/network/queryHotWords.do?n_type=2&n_state=2&starttime="+starttime+"&endtime="+endtime,
dataType : 'json',
success : function(data) {
var netWordArr = [];
if (data.length>0) {
var words = '';
var i = 0;
for (; i < data.length; i++) {
netWordArr.push({value : data[i].nNum, name : data[i].nWord});
words += data[i].nWord;
}
$("#bed_words").html('<strong class="col_qing">'+words+'</strong>成为本季度游客<strong class="col_huang">差评</strong>使用频率最高的'+i+'个词');
}else{
$("#bed_words").html('');
}
showNegativeWord_hotel(netWordArr);
}
});
}
//显示负面评论热词 词云图
function showNegativeWord_hotel(netWordArr){
var dom = document.getElementById("negative_word");
var positive_word_chart = echarts.init(dom);
var option = {
tooltip : {},
series : [ {
type : 'wordCloud',
gridSize : 2,
sizeRange : [ 12, 50 ],
rotationRange : [ -90, 90 ],
shape : 'pentagon',
width : 600,
height : 400,
drawOutOfBound : true,
textStyle : {
normal : {
color : function() {
return 'rgb(' + [
Math.round(Math.random() * 160),
Math.round(Math.random() * 160),
Math.round(Math.random() * 160)
].join(',') + ')';
}
},
emphasis : {
shadowBlur : 10,
shadowColor : '#333'
}
},
data : netWordArr
} ]
};
if (option && typeof option === "object") {
positive_word_chart.setOption(option, true);
}
}
//显示评价来源分析-柱状图
function showCriticismSource_hotel(xAxisData, seriesData, backgroundData, colorData){
var dom = document.getElementById("criticism_source");
var criticism_source_chart = echarts.init(dom);
var option = {
grid : {
left : '0%',
right : '0%',
top : '5%',
height : '80%',
},
xAxis : [ {
type : 'category',
data : xAxisData,
axisLine : {
show : false
},
axisTick : {
show : false
},
axisLabel : {
show : true,
color : '#ccc',
}
} ],
yAxis : [ {
type : 'value',
show : false,
}, {
type : 'value',
show : false,
} ],
series : [ {
name : '',
type : 'bar',
barWidth : '30%',
label : {
normal : {
show : true,
position : 'top',
color : colorData,
formatter : '{c}'
}
},
itemStyle : {
normal : {
barBorderRadius : 5, //柱状角成椭圆形
/*color : new echarts.graphic.LinearGradient(
0, 0, 0, 1, [ {
offset : 0,
color : '#00feff'
}, {
offset : 0.5,
color : '#027eff'
}, {
offset : 1,
color : '#0286ff'
} ]
)*/
//每个柱子的颜色即为colorList数组里的每一项,如果柱子数目多于colorList的长度,则柱子颜色循环使用该数组
color : function(params) {
//有几个柱子, 就有几个颜色值
/*var colorList = [
[ '#f36847', '#203a66' ],
[ '#ddad35', '#203a66' ],
[ '#636daa', '#203a66' ],
[ '#00feff', '#203a66' ],
[ '#00feff', '#203a66' ],
[ '#00feff', '#203a66' ],
[ '#00feff', '#203a66' ],
[ '#00feff', '#203a66' ],
[ '#00feff', '#203a66' ],
[ '#00feff', '#203a66' ]
];*/
var colorList = [];
for (var i = 0; i < colorData.length; i++) {
var singleColor = [];
singleColor.push(colorData[i]);
singleColor.push('#203a66');
colorList.push(singleColor);
}
var index = params.dataIndex;
return new echarts.graphic.LinearGradient(0, 0, 0, 1,
[ {
offset : 0,
color : colorList[index][0]
}, {
offset : 1,
color : colorList[index][1]
} ]
);
},
}
},
data : seriesData,
}, {
name : '背景',
type : 'bar',
barWidth : '40%',
barGap : '-115%',
data : backgroundData,
itemStyle : {
normal : {
color : 'rgba(255,255,255,0.1)'
}
},
} ]
};
if (option && typeof option === "object") {
criticism_source_chart.setOption(option, true);
}
}