'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 }) }]);