'use strict';
app.controller('reportcatergryCtrl', ["$scope", "$rootScope", "$state", "$timeout", "$interval", "$http", "$cookieStore", "moment", "SweetAlert", "Restangular", "api_hkreport", "api_bpm_data", function($scope, $rootScope, $state, $timeout, $interval, $http, $cookieStore, moment, SweetAlert, Restangular, api_hkreport, api_bpm_data) {
var ROWS = "ROWS";
var COLUMNS = "COLUMNS";
$scope.treeshow = true;
$scope.searchstate = "";
$scope.headers = "请选择事件树形列表!";
var workspace = {};
$scope.parameters = {};
$scope.starttimes = {};
$scope.endtimes = {};
$scope.category = {};
$scope.reportName = "报表";
$scope.allheight = 100;
$scope.isMaskground = false;
$scope.group = [];
//表格
$scope.rRowscatergry = [];
$scope.quikly = [{ name: '自定义', value: 0 }, { name: '近7天', value: 1 }, { name: '近30天', value: 2 }, { name: '近90天', value: 3 }, { name: '近半年', value: 4 }, { name: '近一年', value: 5 }];
// var starttime, endtime
// $scope.starttimes = moment().startOf('month').format('YYYYMMDD');
// $scope.endtimes = moment().format('YYYYMMDD');
function startdata() {
$scope.searchkeys = { 'group': {}, 'quikly': { name: '近7天', value: 1 } };
$scope.starttimes = moment(new Date().getTime() - 86400000 * 7).format('YYYYMMDD');
$scope.endtimes = moment(new Date().getTime() - 86400000).format('YYYYMMDD');
$scope.parameters.paramDateFrom = moment($scope.starttimes, "YYYYMMDD").format("YYYY-MM-DD");
$scope.parameters.paramDateTo = moment($scope.endtimes, "YYYYMMDD").format("YYYY-MM-DD");
}
startdata();
$scope.changeForm = function(paramDateFrom) {
$scope.searchkeys.quikly = { name: '自定义', value: 0 };
$scope.starttimes = moment(paramDateFrom).format('YYYYMMDD');
}
$scope.changeTo = function(paramDateTo) {
$scope.searchkeys.quikly = { name: '自定义', value: 0 };
$scope.endtimes = moment(paramDateTo).format('YYYYMMDD');
}
$scope.open = function($event) {
$event.preventDefault();
$event.stopPropagation();
$scope.opened = !$scope.opened;
};
$scope.endOpen = function($event) {
$event.preventDefault();
$event.stopPropagation();
$scope.startOpened = false;
$scope.endOpened = !$scope.endOpened;
};
$scope.startOpen = function($event) {
$event.preventDefault();
$event.stopPropagation();
$scope.endOpened = false;
$scope.startOpened = !$scope.startOpened;
};
//处理组
// api_user_data.fetchDataList('group', { "idx": 0, "sum": 1000, "group": { "selectType": "nouser" } }).then(function(data) {
// if (data.status == 200) {
// $scope.group = data.list;
// }
// })
function ConvertDateParameter(parameters) {
var result = undefined;
if (angular.isArray(parameters)) {
//
} else {
result = {};
for (var k in parameters) {
if (k.indexOf("Date") > 0) {
if (angular.isDate(parameters[k])) {
result[k] = moment(parameters[k]).format("YYYY-MM-DD");
} else if (angular.isString(parameters[k])) {
result[k] = parameters[k];
}
}
}
}
return result;
}
$scope.restData = function() {
$scope.try_async_loadca();
startdata();
$scope.mdxquery();
}
$scope.mdxquery = function(key) {
var changedate = ConvertDateParameter($scope.parameters)
var fildata = { "start": moment(changedate.paramDateFrom).format("YYYY-MM-DD"), "end": moment(changedate.paramDateTo).format("YYYY-MM-DD") }
if (key && key.category && key.category.id) {
fildata = { "start": moment(changedate.paramDateFrom).format("YYYY-MM-DD"), "end": moment(changedate.paramDateTo).format("YYYY-MM-DD"), "categoryId": key.category.id }
} else {
fildata = { "start": moment(changedate.paramDateFrom).format("YYYY-MM-DD"), "end": moment(changedate.paramDateTo).format("YYYY-MM-DD") }
}
getdata(fildata);
getdatatop3(fildata);
getdatatop5(fildata);
getpiedata(fildata);
getdataareaplace(fildata);
getlistdata(fildata);
// getlistdata({ "start": moment(changedate.paramDateFrom).format("YYYY-MM-DD"), "end": moment(changedate.paramDateTo).format("YYYY-MM-DD") })
// getpiedata({ "start": moment(changedate.paramDateFrom).format("YYYY-MM-DD"), "end": moment(changedate.paramDateTo).format("YYYY-MM-DD") })
// getpiedata({ "end": $scope.parameters.paramDateFrom, "start": $scope.parameters.paramDateTo })
}
$scope.onChangetime = function(key) {
if (key.value == 1) {
$scope.starttimes = moment(new Date().getTime() - 86400000 * 7).format('YYYY-MM-DD');
$scope.endtimes = moment(new Date().getTime() - 86400000).format('YYYY-MM-DD');
$scope.parameters.paramDateFrom = moment($scope.starttimes, "YYYY-MM-DD").format("YYYY-MM-DD");
$scope.parameters.paramDateTo = moment($scope.endtimes, "YYYY-MM-DD").format("YYYY-MM-DD");
} else if (key.value == 2) {
$scope.starttimes = moment(new Date().getTime() - 86400000 * 30).format('YYYY-MM-DD');
$scope.endtimes = moment(new Date().getTime() - 86400000).format('YYYY-MM-DD');
$scope.parameters.paramDateFrom = $scope.starttimes;
$scope.parameters.paramDateTo = $scope.endtimes;
} else if (key.value == 3) {
$scope.starttimes = moment(new Date().getTime() - 86400000 * 90).format('YYYY-MM-DD');
$scope.endtimes = moment(new Date().getTime() - 86400000).format('YYYY-MM-DD');
$scope.parameters.paramDateFrom = $scope.starttimes;
$scope.parameters.paramDateTo = $scope.endtimes;
} else if (key.value == 4) {
$scope.searchstate = "month";
$scope.starttimes = moment((new Date()).setMonth((new Date()).getMonth() - 6)).format('YYYY-MM-DD');
$scope.endtimes = moment(new Date().getTime() - 86400000).format('YYYY-MM-DD');
$scope.parameters.paramDateFrom = $scope.starttimes;
$scope.parameters.paramDateTo = $scope.endtimes;
} else if (key.value == 5) {
$scope.searchstate = "month";
$scope.starttimes = moment((new Date()).setMonth((new Date()).getMonth() - 12)).format('YYYY-MM-DD');
$scope.endtimes = moment(new Date().getTime() - 86400000).format('YYYY-MM-DD');
$scope.parameters.paramDateFrom = $scope.starttimes;
$scope.parameters.paramDateTo = $scope.endtimes;
}
// $scope.starttimes = moment(new Date().getTime() - 86400000 * 7).format('YYYYMMDD');
// $scope.endtimes = moment(new Date().getTime() - 86400000).format('YYYYMMDD');
// $scope.parameters.paramDateFrom = moment($scope.starttimes, "YYYYMMDD").format("YYYY-MM-DD");
// $scope.parameters.paramDateTo = moment($scope.endtimes, "YYYYMMDD").format("YYYY-MM-DD");
// $scope.mdxquery();
}
// $scope.onChangegroup = function(key) {
// }
// $scope.execute = function() {
// api_report.list($scope.token).then(function(response) {
// $scope.select_treedata = $scope.my_data = response;
// });
// }
$scope.searchOptions = function() {
if (angular.isDefined(workspace.query)) {
var queryParameters = workspace.query.parameters;
for (var parm in queryParameters) {
if (parm == 'Week') {
} else {
}
}
}
}
//树形图
// $scope.inspecttype = {};
$scope.my_tree = {};
$scope.try_async_loadca = function() {
$scope.my_dataca = [];
$scope.doing_async = true;
api_bpm_data.fetchDataList('incidentcategory', { "idx": 0, "sum": 1000 }).then(function(response) {
if (response.status == 200) {
var data = response.list;
var objects = [];
for (var i = 0; i < data.length; i++) {
var object = {};
object.id = data[i].id;
object.parent = data[i].parent;
// if (data[i].parent && data[i].parent.id != 0) {
// object.parent = data[i].parent.id;
// }
object.label = data[i].category;
objects.push(object);
}
$scope.my_dataca = convertParentToChildList(objects);
$scope.select_treedataca = angular.copy($scope.my_dataca);
if ($scope.my_dataca.length > 0) {
$scope.doing_async = false;
}
} else {
SweetAlert.swal({
title: "系统错误!",
text: "请刷新重试!",
type: "error"
});
}
});
};
$scope.my_dataca = [];
function convertListToTree(data, treeMap) {
var idToNodeMap = {}; //Keeps track of nodes using id as key, for fast lookup
var root = null; //Initially set our loop to null
var parentNode = null;
//loop over data
for (var i = 0; i < data.length; i++) {
var datum = data[i];
//each node will have children, so let's give it a "children" poperty
datum.children = [];
//add an entry for this node to the map so that any future children can
//lookup the parent
idToNodeMap[datum.id] = datum;
//Does this node have a parent?
if (typeof datum.parent === "undefined" || datum.parent == null) {
//Doesn't look like it, so this node is the root of the tree
root = datum;
treeMap[datum.id] = root;
} else {
//This node has a parent, so let's look it up using the id
parentNode = idToNodeMap[datum.parent.id];
//We don't need this property, so let's delete it.
delete datum.parent;
//Let's add the current node as a child of the parent node.
parentNode.children.push(datum);
}
}
return root;
console.log(root)
}
function convertParentToChildList(data) {
var treeMap = {};
var list = [];
convertListToTree(data, treeMap);
angular.forEach(treeMap, function(item) {
list.push(item);
});
return list;
}
$scope.try_async_loadca();
// $scope.select_treedata = [];
$scope.propTypeOptions = [];
$scope.deselectItem = function(item) {
console.log(item)
console.log($scope)
}
// 故障现象
$scope.onFilterCallback = function(item) {
if (item.children && item.children.length != 0) {
$scope.searchkeys.category = item;
} else if (item.item && item.item.id) {
$scope.searchkeys.category = {};
}
}
//pie 工单解决率
// $scope.pielenddata = ["处理人", "处理人1", "处理人2"];
// $scope.piebodydata = [{ "value": 1, "name": "处理人", "proportion": "25%" }, { "value": 1, "name": "处理人1", "proportion": "25%" }, { "value": 2, "name": "处理人2", "proportion": "50%" }];
$scope.pielenddata = [];
$scope.piebodydata = [];
var domcatergry = document.getElementById("reportcatergry");
var myChartcatergry = echarts.init(domcatergry);
var app = {};
var optioncatergry = null;
myChartcatergry.showLoading({
text: '数据加载中...',
color: '#c23531',
textColor: '#fff',
maskColor: 'rgba(255,255,255,0)',
zlevel: 0
});
myChartcatergry.hideLoading();
optioncatergry = {
title: {
subtext: 0,
text: "故障现象总数(件)",
itemGap: 3,
"x": '24%',
"y": '40%',
textAlign: "center",
"textStyle": {
"fontWeight": 'normal',
"fontSize": 12,
"color": '#333',
},
"subtextStyle": {
"fontWeight": 'normal',
"fontSize": 18,
"color": '#005395',
"lineHeight": 14
},
},
tooltip: {
"backgroundColor": "rgba(0,0,0,9)",
"textStyle": {
"fontSize": 12,
"color": '#f9f9f9',
},
trigger: 'item',
formatter: "{b}: {c} ({d}%)"
},
legend: {
orient: 'vertical',
icon: "circle",
x: '50%',
y: 'center',
itemGap: 10,
itemWidth: 8,
itemHeight: 8,
borderRadius: 4,
textStyle: {
color: ['#49a9ee', '#ffcd61', '#87c966', '#61829d', '#8496A5', '#e6eef4', '#15598F', '#61829d', '#5F9FD1', '#7EAFD6'],
},
data: $scope.pielenddata,
formatter: function(param) {
for (var i = 0; i < $scope.pielenddata.length; i++) {
if ($scope.piebodydata[i].name == param) {
return ' ' + $scope.piebodydata[i].name + ' | ' + $scope.piebodydata[i].value + ' ' + $scope.piebodydata[i].proportion + '%';
}
}
},
textStyle: {
rich: {
white: {
color: "#fff",
fontSize: 12,
padding: [6, 0, 0, 0]
}
}
}
},
series: [{
// name: $scope.startlist.title,
type: 'pie',
radius: ['70%', '85%'],
center: ['25%', '50%'],
color: ['#49a9ee', '#ffcd61', '#87c966', '#61829d', '#8496A5', '#e6eef4', '#15598F', '#61829d', '#5F9FD1', '#7EAFD6'],
hoverAnimation: true,
label: {
normal: {
show: false,
position: 'center'
},
formatter: [
'{a|这段文本采用样式a}',
'{b|这段文本采用样式b}这段用默认样式{x|这段用样式x}'
].join('\n'),
rich: {
a: {
color: 'red',
lineHeight: 10
},
b: {
backgroundColor: {
image: 'xxx/xxx.jpg'
},
height: 40
},
x: {
fontSize: 18,
fontFamily: 'Microsoft YaHei',
borderColor: '#449933',
borderRadius: 4
},
}
},
labelLine: {
normal: {
show: false
}
},
data: $scope.piebodydata
}]
};
if (optioncatergry && typeof optioncatergry === "object") {
myChartcatergry.setOption(optioncatergry, true);
myChartcatergry.hideLoading();
}
function getpiedata(time) {
api_hkreport.incidentreport(time, 'incident_category_proportion').then(function(data) {
$scope.piebodydata = data.lsit;
$scope.pielenddata = [];
angular.forEach($scope.piebodydata, function(item, index) {
$scope.piebodydata[index].name = item.category;
$scope.piebodydata[index].value = item.num;
$scope.pielenddata.push(item.category);
})
optioncatergry.series[0].data = $scope.piebodydata;
optioncatergry.legend.data = $scope.pielenddata;
optioncatergry.title.subtext = data.sum;
myChartcatergry.setOption(optioncatergry, true);
myChartcatergry.hideLoading();
})
}
getpiedata({ "end": $scope.parameters.paramDateTo, "start": $scope.parameters.paramDateFrom })
//end 工单解决率
//折线图
$scope.headerslist = [];
var axilist = [];
var serieslist = [];
var headerlist = [];
var datas = [];
var colorlist = ['#005395', '#49a9ee', '#ffcd62', '#87c966', '#1ea58f'];
var domllcatergry = document.getElementById("liuliangcatergry");
var myChartllcatergry = echarts.init(domllcatergry);
myChartllcatergry.showLoading({
text: '数据加载中...',
color: '#c23531',
textColor: '#fff',
maskColor: 'rgba(255,255,255,0)',
zlevel: 0
});
var app = {};
var optionllcatergry = null;
app.title = '流量';
$scope.llmyData = [];
var zhengliudata = 0;
var huliudata = 0;
$scope.zhengliu = 0;
$scope.huliu = 0;
// var zwmyData = [];
// var hlmyData = [];
var xhuzwmyData = [];
$scope.zhengliu = 0;
$scope.huliu = 0;
optionllcatergry = {
color: ['#D53A35'],
tooltip: {
trigger: 'axis',
//formatter: "{b}
合格率: {c}%"
},
grid: {
top: '10%',
bottom: '15%',
left: '3%',
right: '8%',
containLabel: true
},
xAxis: {
type: 'category',
name: '',
boundaryGap: false,
axisLine: {
show: false,
lineStyle: {
color: '#525252'
}
},
axisTick: {
show: false
},
axisLabel: {
color: '#525252'
},
data: axilist
},
yAxis: {
type: 'value',
name: '',
minInterval: 1,
axisLine: {
show: false,
},
axisTick: {
show: false
},
axisLabel: {
color: '#525252'
},
splitLine: {
lineStyle: {
type: 'dotted',
color: '#AAA' //F3F3F3
}
}
},
"legend": {
"bottom": 0,
// "textStyle": {
// "color": "#e6e9ed"
// },
// "inactiveColor": "#5a626d",
// "data": [
// "全部机型"
// ],
data: headerlist,
"itemGap": 5,
"itemWidth": 16,
"itemHeight": 12,
"pageTextStyle": {
"color": "#e6e9ed"
},
"pageIconSize": 14
},
series: serieslist
};
function getdata(time) {
api_hkreport.incidentreport(time, 'incident_category_trend_hk').then(function(data) {
headerlist = data.incidentCategoryTrend[0]
axilist = data.incidentCategoryTrend[1];
angular.forEach(data.incidentCategoryTrend[2], function(item, index) {
// datas = item;
serieslist[index] = {
name: headerlist[index],
type: 'line',
symbol: 'none',
itemStyle: {
normal: {
color: colorlist[index]
}
},
lineStyle: {
normal: {
width: 2
}
},
data: item
}
})
optionllcatergry.xAxis.data = axilist;
optionllcatergry.legend.data = headerlist;
myChartllcatergry.setOption(optionllcatergry, true);
myChartllcatergry.hideLoading();
})
}
getdata({ "end": $scope.parameters.paramDateTo, "start": $scope.parameters.paramDateFrom })
//bar 事件区域地点TOP3
var domfaultcatergry = document.getElementById("faultcatergry");
var myChartfaultcatergry = echarts.init(domfaultcatergry);
var app = {};
var optionfaultcatergry = null;
app.title = '事件区域地点TOP3';
var XData = [];
var yData = [];
myChartfaultcatergry.showLoading({
text: '数据加载中...',
color: '#c23531',
textColor: '#fff',
maskColor: 'rgba(255,255,255,0)',
zlevel: 0
});
myChartfaultcatergry.hideLoading();
optionfaultcatergry = {
title: {
// text: '(件)故障数量',
x: '10',
y: '0',
textStyle: {
fontWeight: 'normal',
fontSize: 12,
color: "#56c9ff",
}
},
xAxis: {
type: 'value',
axisTick: {
show: false
},
splitLine: {
show: true,
lineStyle: {
type: 'dashed',
color: '#eee'
}
},
splitArea: {
show: false
},
// data: XData,
axisLine: {
show: false,
lineStyle: {
color: '#ddd'
}
},
axisLabel: {
textStyle: {
color: '#999999',
fontSize: 12,
}
},
},
yAxis: {
type: 'category',
data: [],
axisTick: {
show: false
},
splitLine: {
show: false
},
splitArea: {
show: false
},
axisLabel: {
show: true,
textStyle: {
color: '#999999',
fontSize: 12,
}
},
axisLine: {
show: true,
lineStyle: {
color: '#cecece'
}
}
},
grid: {
left: 10,
top: 25,
bottom: 0,
right: 20,
containLabel: true
},
"tooltip": {
"trigger": "item",
"textStyle": {
"fontSize": 12
},
"formatter": "{b0}:{c0}"
},
series: {
type: "bar",
itemStyle: {
normal: {
color: "#005395",
}
},
label: {
normal: {
show: true,
position: 'right',
textStyle: {
// color: '# 56 c9ff '
}
}
},
barWidth: 18,
// barWidth: '30%',
// data: yData
data: [0, 0, 0, 0, 0]
}
};
function getdatatop3(time) {
api_hkreport.incidentreport(time, 'incident_category_area_place_top').then(function(data) {
//柱状图
var barGraph = [];
var baryx = [];
angular.forEach(data.dataList, function(item) {
barGraph.push(item.sum);
baryx.push(item.area + '/' + item.place);
})
optionfaultcatergry.yAxis.data = baryx.reverse();
optionfaultcatergry.series.data = barGraph.reverse();
myChartfaultcatergry.setOption(optionfaultcatergry, true);
myChartfaultcatergry.hideLoading();
})
}
getdatatop3({ "end": $scope.parameters.paramDateTo, "start": $scope.parameters.paramDateFrom })
//bar 故障原因TOP5
var domfaultgu = document.getElementById("faultgu");
var myChartfaultgu = echarts.init(domfaultgu);
var app = {};
var optionfaultgu = null;
app.title = '事件区域地点TOP3';
var XData = [];
var yData = [];
myChartfaultgu.showLoading({
text: '数据加载中...',
color: '#c23531',
textColor: '#fff',
maskColor: 'rgba(255,255,255,0)',
zlevel: 0
});
myChartfaultgu.hideLoading();
optionfaultgu = {
title: {
// text: '(件)故障数量',
x: '10',
y: '0',
textStyle: {
fontWeight: 'normal',
fontSize: 12,
color: "#56c9ff",
}
},
xAxis: {
type: 'value',
axisTick: {
show: false
},
splitLine: {
show: true,
lineStyle: {
type: 'dashed',
color: '#eee'
}
},
splitArea: {
show: false
},
// data: XData,
axisLine: {
show: false,
lineStyle: {
color: '#ddd'
}
},
axisLabel: {
textStyle: {
color: '#999999',
fontSize: 12,
}
},
},
yAxis: {
type: 'category',
data: [],
axisTick: {
show: false
},
splitLine: {
show: false
},
splitArea: {
show: false
},
axisLabel: {
show: true,
textStyle: {
color: '#999999',
fontSize: 12,
}
},
axisLine: {
show: true,
lineStyle: {
color: '#cecece'
}
}
},
grid: {
left: 10,
top: 25,
bottom: 0,
right: 20,
containLabel: true
},
"tooltip": {
"trigger": "item",
"textStyle": {
"fontSize": 12
},
"formatter": "{b0}:{c0}"
},
series: {
type: "bar",
itemStyle: {
normal: {
color: "#87c966",
}
},
label: {
normal: {
show: true,
position: 'right',
textStyle: {
// color: '# 56 c9ff '
}
}
},
barWidth: 18,
// barWidth: '30%',
// data: yData
data: [0, 0, 0, 0, 0]
}
};
function getdatatop5(time) {
api_hkreport.incidentreport(time, 'incident_category_faultcause_top').then(function(data) {
//柱状图
var barGraph = [];
var baryx = [];
angular.forEach(data.dataList, function(item) {
barGraph.push(item.sum);
baryx.push(item.reason);
})
optionfaultgu.yAxis.data = baryx.reverse();
optionfaultgu.series.data = barGraph.reverse();
myChartfaultgu.setOption(optionfaultgu, true);
myChartfaultgu.hideLoading();
})
}
getdatatop5({ "end": $scope.parameters.paramDateTo, "start": $scope.parameters.paramDateFrom })
//区域地点及事件类型趋势分析
//事件数量统计分析
// var titledata = [];
// var serieslist = [];
// var colorlist = ['#005395', '#49a9ee', '#ffcd62', '#87c966', '#1ea58f'];
// var datetime = [];
// $scope.headerslist = [];
// $scope.listsum = [];
var colorlist = ['#005395', '#49a9ee', '#ffcd62', '#87c966', '#1ea58f'];
var datetime = [];
var titledata = [];
var domanalysisca = document.getElementById("analysisca");
var myChartanalysisca = echarts.init(domanalysisca);
var app = {};
var optionanalysisca = null;
app.title = '事件数量统计分析';
var XData = [];
var yData = [];
myChartanalysisca.showLoading({
text: '数据加载中...',
color: '#c23531',
textColor: '#fff',
maskColor: 'rgba(255,255,255,0)',
zlevel: 0
});
myChartanalysisca.hideLoading();
app.title = '堆叠条形图';
optionanalysisca = {
tooltip: {
trigger: 'axis',
axisPointer: { // 坐标轴指示器,坐标轴触发有效
type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
},
formatter: function(datas) {
var allsum = 0;
angular.forEach(datas, function(item) {
allsum += item.data;
})
var res = '';
for (var i = 0; i < datas.length; i++) {
res += datas[i].marker + " " + datas[i].seriesName + ' 总数:' +
datas[i].data + ' 占比:' + (datas[i].data * 100 / allsum).toFixed(2) + '%' + '
'
}
return res
}
},
legend: {
icon: "circle",
bottom: '0%',
data: titledata
},
grid: {
left: '8%',
right: '4%',
bottom: '20%',
top: '5%',
containLabel: false
},
xAxis: {
// axisTick: {
// show: false
// },
splitLine: {
show: false,
},
axisLine: {
lineStyle: {
color: '#ddd'
}
},
splitArea: {
show: false
},
axisLabel: {
textStyle: {
color: '#787878',
fontSize: 12,
}
},
type: 'value'
},
yAxis: {
axisTick: {
show: false
},
axisLabel: {
show: true,
textStyle: {
color: '#6d6d6d',
fontSize: 12,
}
},
axisLine: {
show: true,
lineStyle: {
color: '#ddd'
}
},
splitArea: {
show: false
},
type: 'category',
data: datetime
},
series: serieslist
}
function getdataareaplace(time) {
api_hkreport.incidentreport(time, 'incident_category_area_trend').then(function(data) {
handledata(data);
})
}
getdataareaplace({ "start": moment($scope.parameters.paramDateFrom, "YYYY-MM-DD").format("YYYY"), "end": moment($scope.parameters.paramDateTo, "YYYY-MM-DD").format("YYYY") })
function handledata(data) {
datetime = [];
// $scope.headerslist = data.quantityStatisticsTitle;
// $scope.rRowscatergry = data.quantityStatisticsList;
// angular.forEach($scope.rRowscatergry, function(item, index) {
// $scope.listsum[index] = { 'allzzl': '', 'sum': '', 'date': '', 'all': [] };
// var i = (Object.values($scope.rRowscatergry[0]).length - 3) / 2;
// for (var j = 0; j < i; j++) {
// $scope.listsum[index].category[j] = $scope.rRows[index]['category' + j];
// $scope.listsum[index].zzl[j] = $scope.rRows[index]['zzl' + j];
// $scope.listsum[index].all[j] = { 'category': $scope.rRowscatergry[index]['category' + j], 'zzl': $scope.rRowscatergry[index]['zzl' + j] };
// $scope.listsum[index].allzzl = $scope.rRowscatergry[index].allzzl;
// $scope.listsum[index].sum = $scope.rRowscatergry[index].sum;
// $scope.listsum[index].date = $scope.rRowscatergry[index].date;
// }
// })
angular.forEach(data.data, function(item, index) {
titledata.push(item.category);
datas[index] = [];
angular.forEach(item.data, function(itemtwo, indextwo) {
datas[index][indextwo] = itemtwo.sum;
})
serieslist[index] = {
name: item.category,
type: 'bar',
stack: '总量',
"itemStyle": {
"normal": {
"barBorderRadius": 0,
"color": colorlist[index],
"label": {
"show": false,
"textStyle": {
"color": "#87c966"
},
"position": "insideRight",
formatter: function(p) {
return p.value > 0 ? (p.value) : '';
}
}
}
},
barWidth: 18,
data: datas[index]
}
})
angular.forEach(data.data[0].data, function(item, index) {
datetime[index] = item.area;
})
optionanalysisca.yAxis.data = datetime;
myChartanalysisca.setOption(optionanalysisca, true);
myChartanalysisca.hideLoading();
}
//表格
$scope.rRowscatergry = [];
function getlistdata(time) {
api_hkreport.incidentreport(time, 'incident_category_list').then(function(data) {
$scope.rRowscatergry = data.dataList;
})
}
getlistdata({ "end": $scope.parameters.paramDateTo, "start": $scope.parameters.paramDateFrom })
}]);