From c6e06980cccbb86fa224633d3585f9164295bff1 Mon Sep 17 00:00:00 2001 From: wujian <14790700720@163.com> Date: 星期四, 25 一月 2024 16:32:02 +0800 Subject: [PATCH] add 首页 --- jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/controller/BsOrderSchedulingController.java | 14 ++ jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/IBsOrderSchedulingService.java | 2 jcdm-ui/src/views/dashboard/PieChart.vue | 33 +++-- jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/IDaPassingStationCollectionService.java | 2 jcdm-ui/src/api/main/bs/orderScheduling/orderScheduling.js | 7 + jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/controller/DaPassingStationCollectionController.java | 9 + jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/impl/DaPassingStationCollectionServiceImpl.java | 71 +++++++++++ jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/vo/DaPassingStationVO.java | 13 ++ jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/vo/LineChartVO.java | 15 ++ jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/impl/BsOrderSchedulingServiceImpl.java | 59 +++++++++ jcdm-ui/src/views/dashboard/LineChart.vue | 67 ++++------- jcdm-ui/src/api/main/da/passingStationCollection/passingStationCollection.js | 8 + jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/domain/DaPassingStationCollection.java | 7 + 13 files changed, 249 insertions(+), 58 deletions(-) diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/controller/BsOrderSchedulingController.java b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/controller/BsOrderSchedulingController.java index b65b7ee..1d65de6 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/controller/BsOrderSchedulingController.java +++ b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/controller/BsOrderSchedulingController.java @@ -4,7 +4,9 @@ import java.util.List; import javax.servlet.http.HttpServletResponse; +import com.jcdm.common.core.domain.R; import com.jcdm.common.utils.StringUtils; +import com.jcdm.main.bs.orderScheduling.vo.LineChartVO; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -49,6 +51,18 @@ return getDataTable(list); } + /** + * 鏌ヨ涓嬬嚎鏁伴噺 + */ + @PreAuthorize("@ss.hasPermi('bs:orderScheduling:list')") + @GetMapping("/getOffLineNum") + public TableDataInfo getOffLineNum(BsOrderScheduling bsOrderScheduling) + { + + List<LineChartVO> vo = bsOrderSchedulingService.getOffLineNum(); + return getDataTable(vo); + } + @PreAuthorize("@ss.hasPermi('bs:orderScheduling:list')") @GetMapping("/list2") public TableDataInfo list2(BsOrderScheduling bsOrderScheduling) diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/IBsOrderSchedulingService.java b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/IBsOrderSchedulingService.java index 37788ab..7f413db 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/IBsOrderSchedulingService.java +++ b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/IBsOrderSchedulingService.java @@ -2,6 +2,7 @@ import java.util.List; import com.jcdm.main.bs.orderScheduling.domain.BsOrderScheduling; +import com.jcdm.main.bs.orderScheduling.vo.LineChartVO; /** * 璁㈠崟鎺掍骇Service鎺ュ彛 @@ -26,6 +27,7 @@ * @return 璁㈠崟鎺掍骇闆嗗悎 */ public List<BsOrderScheduling> selectBsOrderSchedulingList(BsOrderScheduling bsOrderScheduling); + public List<LineChartVO> getOffLineNum(); /** * 鏂板璁㈠崟鎺掍骇 diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/impl/BsOrderSchedulingServiceImpl.java b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/impl/BsOrderSchedulingServiceImpl.java index 83b3669..94ad69c 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/impl/BsOrderSchedulingServiceImpl.java +++ b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/service/impl/BsOrderSchedulingServiceImpl.java @@ -1,14 +1,26 @@ package com.jcdm.main.bs.orderScheduling.service.impl; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import com.jcdm.common.utils.DateUtils; +import com.jcdm.common.utils.StringUtils; import com.jcdm.main.bs.orderScheduling.Query.PrepareOnlineQuery; import com.jcdm.main.bs.orderScheduling.domain.BsOrderScheduling; import com.jcdm.main.bs.orderScheduling.mapper.BsOrderSchedulingMapper; import com.jcdm.main.bs.orderScheduling.service.IBsOrderSchedulingService; +import com.jcdm.main.bs.orderScheduling.vo.LineChartVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * 璁㈠崟鎺掍骇Service涓氬姟灞傚鐞� @@ -51,6 +63,53 @@ return bsOrderSchedulingMapper.selectBsOrderSchedulingList(bsOrderScheduling); } + @Override + public List<LineChartVO> getOffLineNum() + { + List<LineChartVO> result = new ArrayList<>(); + BsOrderScheduling bsOrderScheduling = new BsOrderScheduling(); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + LocalDateTime now = LocalDateTime.now(); + LocalDateTime startTime = LocalDateTime.of(now.getYear(),now.getMonthValue(),now.getDayOfMonth(),8,0,0); + LocalDateTime endTime = LocalDateTime.of(now.getYear(),now.getMonthValue(),now.plusDays(1).getDayOfMonth(),22,0,0); + String s1 = startTime.format(formatter); + String s2 = endTime.format(formatter); + bsOrderScheduling.setStartTime(s1); + bsOrderScheduling.setEndTime(s2); + List<BsOrderScheduling> todayList = bsOrderSchedulingMapper.selectBsOrderSchedulingList(bsOrderScheduling); + todayList = todayList.stream().filter(x -> ObjectUtil.isNotEmpty(x.getCvtOfflineTime())).collect(Collectors.toList()); + if (CollUtil.isNotEmpty(todayList)){ + List<String> allModel = todayList.stream().map(BsOrderScheduling::getModel).distinct().collect(Collectors.toList()); + Map<String, List<BsOrderScheduling>> collect = new HashMap<>(); + for (String s : allModel) { + LineChartVO vo = new LineChartVO(); + List<Integer> arr = new ArrayList<>(); + vo.setName(s); + collect = todayList.stream().filter(x -> s.equals(x.getModel())).collect(Collectors.groupingBy(item -> new SimpleDateFormat("yyyy-MM-dd HH").format(item + .getCvtOfflineTime()))); + Map<Integer,Integer> temp = new HashMap<>(); + if (CollUtil.isNotEmpty(collect)){ + for (String string : collect.keySet()) { + int size = collect.get(string).size(); + String s3 = string.split(StringUtils.SPACE)[1]; + if (StringUtils.isNotEmpty(s3)){ + int i = Integer.parseInt(s3); + temp.put(i,size); + } + } + } + for (int i = 8; i < 23; i++) { + arr.add(temp.getOrDefault(i, 0)); + } + vo.setData(arr); + vo.setType("line"); + result.add(vo); + } + + } + return result; + } + /** * 鏌ヨ鍚堢涓婄嚎鍒楄〃 diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/vo/LineChartVO.java b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/vo/LineChartVO.java new file mode 100644 index 0000000..e5c57bd --- /dev/null +++ b/jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/vo/LineChartVO.java @@ -0,0 +1,15 @@ +package com.jcdm.main.bs.orderScheduling.vo; + +import lombok.Data; + +import java.util.List; + +@Data +public class LineChartVO { + + private String name; + + private String type; + + private List<Integer> data; +} diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/controller/DaPassingStationCollectionController.java b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/controller/DaPassingStationCollectionController.java index 6e67eda..8405255 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/controller/DaPassingStationCollectionController.java +++ b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/controller/DaPassingStationCollectionController.java @@ -8,6 +8,7 @@ import com.jcdm.main.bs.orderScheduling.domain.BsOrderScheduling; import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection; import com.jcdm.main.da.passingStationCollection.service.IDaPassingStationCollectionService; +import com.jcdm.main.da.passingStationCollection.vo.DaPassingStationVO; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -50,6 +51,14 @@ return getDataTable(list); } + @PreAuthorize("@ss.hasPermi('da:passingStationCollection:list')") + @GetMapping("/getTopProcess") + public TableDataInfo getTopProcess() + { + DaPassingStationCollection daPassingStationCollection = new DaPassingStationCollection(); + List<DaPassingStationVO> list = daPassingStationCollectionService.getTopProcess(daPassingStationCollection); + return getDataTable(list); + } /** * 鏌ヨ浜у搧杩囩珯閲囬泦鍒楄〃 */ diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/domain/DaPassingStationCollection.java b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/domain/DaPassingStationCollection.java index a61ca36..2a9ee55 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/domain/DaPassingStationCollection.java +++ b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/domain/DaPassingStationCollection.java @@ -1,7 +1,10 @@ package com.jcdm.main.da.passingStationCollection.domain; import java.util.Date; + +import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.jcdm.common.annotation.Excel; @@ -13,6 +16,7 @@ * @author yyt * @date 2023-12-12 */ +@Data public class DaPassingStationCollection extends BaseEntity { private static final long serialVersionUID = 1L; @@ -91,6 +95,9 @@ @Excel(name = "鑺傛媿鏃堕棿") private String beatTime; + @TableField(exist = false) + private Long beatTimeLong; + private Long[] ids; public Long[] getIds() { diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/IDaPassingStationCollectionService.java b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/IDaPassingStationCollectionService.java index cb8845e..28ebf58 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/IDaPassingStationCollectionService.java +++ b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/IDaPassingStationCollectionService.java @@ -2,6 +2,7 @@ import com.jcdm.main.bs.orderScheduling.domain.BsOrderScheduling; import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection; +import com.jcdm.main.da.passingStationCollection.vo.DaPassingStationVO; import java.util.List; @@ -28,6 +29,7 @@ * @return 浜у搧杩囩珯閲囬泦闆嗗悎 */ public List<DaPassingStationCollection> selectDaPassingStationCollectionList(DaPassingStationCollection daPassingStationCollection); + public List<DaPassingStationVO> getTopProcess(DaPassingStationCollection daPassingStationCollection); /** diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/impl/DaPassingStationCollectionServiceImpl.java b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/impl/DaPassingStationCollectionServiceImpl.java index 3b5fbe4..8c46a12 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/impl/DaPassingStationCollectionServiceImpl.java +++ b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/service/impl/DaPassingStationCollectionServiceImpl.java @@ -1,19 +1,24 @@ package com.jcdm.main.da.passingStationCollection.service.impl; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; -import java.util.ArrayList; -import java.util.List; +import java.util.*; +import java.util.stream.Collectors; +import cn.hutool.core.collection.CollUtil; import com.jcdm.common.constant.Constants; import com.jcdm.common.utils.DateUtils; +import com.jcdm.common.utils.StringUtils; import com.jcdm.main.bs.orderScheduling.domain.BsOrderScheduling; import com.jcdm.main.bs.orderScheduling.mapper.BsOrderSchedulingMapper; import com.jcdm.main.bs.orderScheduling.service.IBsOrderSchedulingService; import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection; import com.jcdm.main.da.passingStationCollection.mapper.DaPassingStationCollectionMapper; import com.jcdm.main.da.passingStationCollection.service.IDaPassingStationCollectionService; +import com.jcdm.main.da.passingStationCollection.vo.DaPassingStationVO; import com.jcdm.main.rm.repairRecord.domain.RmRepairRecord; import com.jcdm.main.rm.repairRecord.mapper.RmRepairRecordMapper; import org.springframework.beans.factory.annotation.Autowired; @@ -65,6 +70,68 @@ return daPassingStationCollectionMapper.selectDaPassingStationCollectionList(daPassingStationCollection); } + @Override + public List<DaPassingStationVO> getTopProcess(DaPassingStationCollection daPassingStationCollection) + { + + List<DaPassingStationVO> result = new ArrayList<>(); + List<DaPassingStationCollection> list = daPassingStationCollectionMapper.selectDaPassingStationCollectionList(daPassingStationCollection); + //绛涢櫎鑺傛媿涓虹┖鐨勬暟鎹� + list = list.stream().filter(x -> StringUtils.isNotEmpty(x.getBeatTime())).collect(Collectors.toList()); + //鍋氱瓫閫夋搷浣� + if (CollUtil.isNotEmpty(list)){ + for (DaPassingStationCollection passingStationCollection : list) { + if (StringUtils.isNotEmpty(passingStationCollection.getBeatTime())){ + Long aLong = Long.valueOf(passingStationCollection.getBeatTime()); + passingStationCollection.setBeatTimeLong(aLong); + }else { + passingStationCollection.setBeatTimeLong(0L); + } + } + Map<String, Double> collect = list.stream().collect(Collectors.groupingBy(DaPassingStationCollection::getLocationCode, Collectors.averagingLong(DaPassingStationCollection::getBeatTimeLong))); + //鎺掑簭 + List<Map.Entry<String,Double>> entryList = new ArrayList<>(collect.entrySet()); + Collections.sort(entryList, new Comparator<Map.Entry<String, Double>>() { + @Override + public int compare(Map.Entry<String, Double> o1, Map.Entry<String, Double> o2) { + double v = o2.getValue() - o1.getValue(); + return (int) v; + } + }); + LinkedHashMap<String, Double> linkedHashMap = new LinkedHashMap<String, Double>(); + int i = 1; + double sum = 0; + for (Map.Entry<String,Double> e : entryList + ) { + if (i<6){ + sum = sum + e.getValue(); + linkedHashMap.put(e.getKey(),e.getValue()); + i++; + } + + } + //璁$畻鏁版嵁 + if (CollUtil.isNotEmpty(linkedHashMap)){ + for (String s : linkedHashMap.keySet()) { + DaPassingStationVO vo = new DaPassingStationVO(); + BigDecimal divide = BigDecimal.valueOf(linkedHashMap.get(s)).divide(BigDecimal.valueOf(sum),4, RoundingMode.HALF_UP); + vo.setName(s); + vo.setValue(divide); + result.add(vo); + } + } + +// Map<String, List<DaPassingStationCollection>> collect = list.stream().collect(Collectors.groupingBy(DaPassingStationCollection::getLocationCode)); +// for (String key:collect.keySet()){ +// List<DaPassingStationCollection> list1 = collect.get(key); +// if (CollUtil.isNotEmpty(list1)) { +// Double collect1 = list1.stream().collect(Collectors.averagingLong(DaPassingStationCollection::getBeatTimeLong)); +// } +// } + } + return result; + } + /** * 鑾峰彇棣栭〉鍗曟棩绱閲忎骇鏁版嵁 * @param fieldName bs diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/vo/DaPassingStationVO.java b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/vo/DaPassingStationVO.java new file mode 100644 index 0000000..d75b8c5 --- /dev/null +++ b/jcdm-main/src/main/java/com/jcdm/main/da/passingStationCollection/vo/DaPassingStationVO.java @@ -0,0 +1,13 @@ +package com.jcdm.main.da.passingStationCollection.vo; + +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class DaPassingStationVO { + + private String name; + + private BigDecimal value; +} diff --git a/jcdm-ui/src/api/main/bs/orderScheduling/orderScheduling.js b/jcdm-ui/src/api/main/bs/orderScheduling/orderScheduling.js index 6ab9b97..6081324 100644 --- a/jcdm-ui/src/api/main/bs/orderScheduling/orderScheduling.js +++ b/jcdm-ui/src/api/main/bs/orderScheduling/orderScheduling.js @@ -8,6 +8,13 @@ params: query }) } +//鏌ヨ褰撳ぉ鐢熶骇鏁版嵁 +export function getOffLineNum() { + return request({ + url: '/bs/orderScheduling/getOffLineNum', + method: 'get' + }) +} export function listOrderScheduling2(query) { return request({ url: '/bs/orderScheduling/list2', diff --git a/jcdm-ui/src/api/main/da/passingStationCollection/passingStationCollection.js b/jcdm-ui/src/api/main/da/passingStationCollection/passingStationCollection.js index a253eab..12110e3 100644 --- a/jcdm-ui/src/api/main/da/passingStationCollection/passingStationCollection.js +++ b/jcdm-ui/src/api/main/da/passingStationCollection/passingStationCollection.js @@ -8,7 +8,13 @@ params: query }) } - +//鏌ヨ棣栭〉top浜旀暟鎹� +export function getTopProcess() { + return request({ + url: '/da/passingStationCollection/getTopProcess', + method: 'get' + }) +} // 涓嶅垎椤垫煡璇骇鍝佽繃绔欓噰闆嗗垪琛� export function noPageList(query) { return request({ diff --git a/jcdm-ui/src/views/dashboard/LineChart.vue b/jcdm-ui/src/views/dashboard/LineChart.vue index 4ab1c09..37320d2 100644 --- a/jcdm-ui/src/views/dashboard/LineChart.vue +++ b/jcdm-ui/src/views/dashboard/LineChart.vue @@ -6,6 +6,7 @@ import * as echarts from 'echarts' require('echarts/theme/macarons') // echarts theme import resize from './mixins/resize' +import { getOffLineNum } from "@/api/main/bs/orderScheduling/orderScheduling"; export default { mixins: [resize], @@ -33,7 +34,9 @@ }, data() { return { - chart: null + chart: null, + data: [], + legendTitle: [], } }, watch: { @@ -45,9 +48,8 @@ } }, mounted() { - this.$nextTick(() => { - this.initChart() - }) + this.getData() + }, beforeDestroy() { if (!this.chart) { @@ -57,6 +59,19 @@ this.chart = null }, methods: { + getData(){ + getOffLineNum().then(res => { + if (res.code === 200){ + this.data = res.rows + this.data.forEach(x => { + this.legendTitle.push(x.name) + }) + this.$nextTick(() => { + this.initChart() + }) + } + }) + }, initChart() { this.chart = echarts.init(this.$el, 'macarons') this.setOptions(this.chartData) @@ -68,7 +83,7 @@ left: 'left' // 鏍囬浣嶇疆 }, xAxis: { - data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], + data: ['8:00', '9:00', '10:00','11:00', '12:00', '13:00', '14:00', '15:00', '16:00', '17:00', '18:00', '19:00', '20:00','21:00','22:00'], boundaryGap: false, axisTick: { show: false @@ -94,46 +109,12 @@ } }, legend: { - data: ['expected', 'actual'] + data: this.legendTitle }, - series: [{ - name: 'expected', itemStyle: { - normal: { - color: '#FF005A', - lineStyle: { - color: '#FF005A', - width: 2 - } - } - }, - smooth: true, - type: 'line', - data: expectedData, - animationDuration: 2800, - animationEasing: 'cubicInOut' - }, - { - name: 'actual', - smooth: true, - type: 'line', - itemStyle: { - normal: { - color: '#3888fa', - lineStyle: { - color: '#3888fa', - width: 2 - }, - areaStyle: { - color: '#f3f8ff' - } - } - }, - data: actualData, - animationDuration: 2800, - animationEasing: 'quadraticOut' - }] + series: this.data }) } - } + }, + } </script> diff --git a/jcdm-ui/src/views/dashboard/PieChart.vue b/jcdm-ui/src/views/dashboard/PieChart.vue index b831efc..35fb6af 100644 --- a/jcdm-ui/src/views/dashboard/PieChart.vue +++ b/jcdm-ui/src/views/dashboard/PieChart.vue @@ -6,6 +6,7 @@ import * as echarts from 'echarts' require('echarts/theme/macarons') // echarts theme import resize from './mixins/resize' +import { getTopProcess } from "@/api/main/da/passingStationCollection/passingStationCollection"; export default { mixins: [resize], @@ -25,13 +26,14 @@ }, data() { return { - chart: null + chart: null, + data: [], + title:[], } }, mounted() { - this.$nextTick(() => { - this.initChart() - }) + this.getData() + }, beforeDestroy() { if (!this.chart) { @@ -41,6 +43,19 @@ this.chart = null }, methods: { + getData(){ + getTopProcess().then(res => { + if (res.code === 200){ + this.data = res.rows + this.data.forEach(x => { + this.title.push(x.name) + }) + this.$nextTick(() => { + this.initChart() + }) + } + }) + }, initChart() { this.chart = echarts.init(this.$el, 'macarons') @@ -60,7 +75,7 @@ left: 'left', // left: 'center', // bottom: '10',//宸︿晶楂樺害 - data: ['OP460', 'OP090', 'OP660', 'OP650', 'OP730'] + data: this.title }, series: [ { @@ -72,13 +87,7 @@ // length: 10 // 璋冩暣鏍囩绾跨殑闀垮害 // }, center: ['50%', '60%'], - data: [ - { value: 5, name: 'OP460' }, - { value: 9, name: 'OP090' }, - { value: 5, name: 'OP660' }, - { value: 5, name: 'OP650' }, - { value: 7, name: 'OP730' } - ], + data: this.data, label: { formatter: '{b}: {c} ({d}%)' }, -- Gitblit v1.9.3