| | |
| | | <img src="/cockpitPage/machine-top.png" alt="" /> |
| | | <div class="top-title"> |
| | | <span>机器开机率</span> |
| | | <span class="top-rate">{{ "60%" }}</span> |
| | | <span class="top-rate">{{ startupRate + "%" }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="chart" ref="chart"></div> |
| | | <div id="main" class="chart" ref="chart"></div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | |
| | | <script> |
| | | //引入echart |
| | | import * as echarts from "echarts"; |
| | | let myChart; |
| | | export default { |
| | | components: {}, |
| | | props: {}, |
| | | props: { |
| | | startupRate: { |
| | | type: String, |
| | | default: "", |
| | | }, |
| | | }, |
| | | data() { |
| | | return {}; |
| | | }, |
| | | mounted() { |
| | | let chartData = [ |
| | | { value: 20, name: "闲置" }, |
| | | { value: 20, name: "维修" }, |
| | | { value: 60, name: "工作" }, |
| | | ]; |
| | | this.pieChart("chart", chartData); |
| | | }, |
| | | mounted() {}, |
| | | watch: {}, |
| | | methods: { |
| | | //在职 |
| | | pieChart(chartName, data) { |
| | | let chartDom = this.$refs[chartName]; |
| | | let myChart = echarts.init(chartDom); |
| | | |
| | | if (myChart != null && myChart != "" && myChart != undefined) { |
| | | myChart.dispose(); //销毁 |
| | | } |
| | | myChart = echarts.init(chartDom); |
| | | let img = "/cockpitPage/machine-chart-bg.png"; |
| | | let height = myChart.getHeight() / 1; |
| | | let width = height + 5; |
| | | let option; |
| | | if (data) { |
| | | option = { |
| | |
| | | { |
| | | type: "image", |
| | | z: 5, |
| | | right: 25, |
| | | style: { |
| | | image: img, |
| | | width: 240, |
| | | height: 245, |
| | | width: width, |
| | | height: height, |
| | | opacity: 0.55, |
| | | }, |
| | | left: "center", |
| | |
| | | label: { |
| | | color: "#01f7fd", |
| | | fontSize: 14, |
| | | padding: [0, -60], |
| | | formatter: function (params) { |
| | | return `{a|${params.name}} {b|${params.value + "%"}}`; |
| | | }, |
| | |
| | | }, |
| | | labelLine: { |
| | | show: true, |
| | | length: 50, |
| | | length: 40, |
| | | color: "blue", |
| | | length2: 70, |
| | | }, |
| | | labelLayout: { |
| | | verticalAlign: "bottom", |
| | | dy: -5, |
| | | }, |
| | | data: data, |
| | | }, |
| | |
| | | }; |
| | | |
| | | option && myChart.setOption(option); |
| | | // window.addEventListener("resize", function () { |
| | | // // var chart = echarts.getInstanceByDom(document.getElementById("main")); |
| | | // let width = myChart.getWidth(); |
| | | // let height = myChart.getHeight(); |
| | | // console.log(width, height, "sssssssssss"); |
| | | // let logo = myChart.getOption().graphic[0].elements[0]; |
| | | // console.log(logo, "fffff"); |
| | | // logo.style.width = width / 2; |
| | | // logo.style.height = height / 2; |
| | | // myChart.setOption({ |
| | | // graphic: [logo], |
| | | // }); |
| | | // myChart.resize(); |
| | | // }); |
| | | } else { |
| | | option = {}; |
| | | myChart.setOption(option, true); |