| | |
| | | <template> |
| | | <div class="box-container" id="echarts4"></div> |
| | | <!-- 本班/本月产量统计 --> |
| | | <div class="box-container box4" id="echarts4"></div> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | <script> |
| | | let timer = null; |
| | | export default { |
| | | props: { |
| | |
| | | }, |
| | | watch: { |
| | | produceStatisData(val) { |
| | | // 当前班组实际生产数量 currentShiftProduceNum |
| | | // 测试用: |
| | | // val.currentShiftProduceNum = 280; |
| | | // val.currentShiftPlanNum = 300; |
| | | |
| | | // 当前班组实际生产数量 currentShiftProduceNum |
| | | // 当前班组计划生产数量 currentShiftPlanNum |
| | | var num1 = val.currentShiftProduceNum; //实际生产数量 |
| | | var num2 = val.currentShiftPlanNum - val.currentShiftProduceNum; //计划生产数量 |
| | | if(val.currentShiftPlanNum == 0){ //分母为0 显示0% |
| | | num1 = 0 |
| | | num2 = 10 |
| | | if (val.currentShiftPlanNum == 0) { |
| | | //分母为0 显示0% |
| | | num1 = 0; |
| | | num2 = 10; |
| | | } |
| | | this.$set(this.option.series[0], "data", [ |
| | | // { value: 1 }, //实际生产数量 1/ (9+1) = 10% |
| | | // { value: 9 }, |
| | | { value: num1 }, //实际生产数量 |
| | | { value: num2 }, |
| | | // { value: 1 }, //实际生产数量 1/ (9+1) = 10% |
| | | // { value: 9 }, |
| | | { |
| | | value: num1, |
| | | }, //实际生产数量 |
| | | { |
| | | value: num2, |
| | | }, |
| | | ]); |
| | | var num3 = val.currentMonthProduceNum; |
| | | var num4 = val.currentMonthPlanNum - val.currentMonthProduceNum; |
| | | if(val.currentMonthPlanNum == 0 ){ //分母为0 显示0% |
| | | num3 = 0 |
| | | num4 = 10 |
| | | var num3 = val.currentMonthProduceNum; |
| | | var num4 = val.currentMonthPlanNum - val.currentMonthProduceNum; |
| | | if (val.currentMonthPlanNum == 0) { |
| | | //分母为0 显示0% |
| | | num3 = 0; |
| | | num4 = 10; |
| | | } |
| | | this.$set(this.option.series[1], "data", [ |
| | | { value: num3 }, |
| | |
| | | mounted() { |
| | | this.myChart = this.$echarts.init(document.getElementById("echarts4")); |
| | | this.option = { |
| | | color: ["#00f6fe", "#c4c3d6"], |
| | | color: ["#00f6fe", "transparent"], |
| | | // 插入背景图 |
| | | // graphic: [ |
| | | // { |
| | | // type: "image", |
| | | // id: "background1", |
| | | // left: "13px", // 根据环形图的位置调整 |
| | | // top: "61px", // 根据环形图的位置调整 |
| | | // z: -10, |
| | | // bounding: "raw", |
| | | // origin: [0, 0], |
| | | // style: { |
| | | // image: require(`@/assets/images/quan.png`), // 第一个环形图的背景图片路径 |
| | | // width: 100, |
| | | // height: 100, |
| | | // }, |
| | | // }, |
| | | // { |
| | | // type: "image", |
| | | // id: "background2", |
| | | // left: "131px", // 根据环形图的位置调整 |
| | | // top: "61px", // 根据环形图的位置调整 |
| | | // z: -10, |
| | | // bounding: "raw", |
| | | // origin: [0, 0], |
| | | // style: { |
| | | // image: require(`@/assets/images/quan.png`), // 第一个环形图的背景图片路径 |
| | | // width: 100, |
| | | // height: 100, |
| | | // }, |
| | | // }, |
| | | // ], |
| | | series: [ |
| | | { |
| | | name: "Access From", |
| | | type: "pie", |
| | | // radius: ["25%", "40%"], |
| | | radius: ["30%", "37%"],//环变细 |
| | | center: ["26%", "47%"], |
| | | avoidLabelOverlap: false, |
| | | // padAngle: 5, //环与环之间的间隙 |
| | | radius: ["29%", "36%"], //环变细 |
| | | center: ["25%", "49%"], |
| | | // avoidLabelOverlap: false, |
| | | label: { |
| | | show: false, |
| | | position: "center", |
| | | formatter: `{d}%`, |
| | | formatter: function (params) { |
| | | return params.percent < 1 |
| | | ? params.percent + "%" |
| | | : Math.floor(params.percent) + "%"; // 四舍五入到整数 |
| | | }, |
| | | color: "#fff", |
| | | fontSize: 12, |
| | | }, |
| | | |
| | | emphasis: { //饼图中间的字体大小 |
| | | emphasis: { |
| | | //饼图中间的字体大小 |
| | | scale: false, |
| | | label: { |
| | | show: true, |
| | | fontSize: 15, |
| | | fontSize: 22, |
| | | color: "#19d8d0", |
| | | fontWeight: "normal", |
| | | }, |
| | | }, |
| | |
| | | { |
| | | name: "Access From", |
| | | type: "pie", |
| | | // padAngle: 5, //环与环之间的间隙 |
| | | // radius: ["25%", "40%"], |
| | | radius: ["30%", "37%"],//环变细 |
| | | center: ["74%", "47%"], |
| | | avoidLabelOverlap: false, |
| | | radius: ["29%", "36%"], //环变细 |
| | | center: ["74%", "49%"], |
| | | // avoidLabelOverlap: false, |
| | | label: { |
| | | show: false, |
| | | position: "center", |
| | | formatter: `{d}%`, |
| | | formatter: function (params) { |
| | | return params.percent < 1 |
| | | ? params.percent + "%" |
| | | : Math.floor(params.percent) + "%"; // 四舍五入到整数 |
| | | }, |
| | | color: "#fff", |
| | | fontSize: 12, |
| | | }, |
| | |
| | | scale: false, |
| | | label: { |
| | | show: true, |
| | | fontSize: 15, //饼图中间的字体大小 |
| | | fontSize: 22, |
| | | color: "#19d8d0", |
| | | fontWeight: "normal", |
| | | }, |
| | | }, |
| | |
| | | ], |
| | | }; |
| | | this.myChart.setOption(this.option); |
| | | const that=this |
| | | window.addEventListener('resize',()=>{ |
| | | const that = this; |
| | | window.addEventListener("resize", () => { |
| | | that.myChart.resize(); |
| | | }) |
| | | }); |
| | | // this.getData(); |
| | | this.defineEvent(); |
| | | // this.selectPie(); |
| | |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style> |
| | | #echarts4{ |
| | | transform: scaleY(2); |
| | | } |
| | | </style> |
| | | |
| | | <style> |
| | | #echarts4 { |
| | | transform: scaleY(2); |
| | | } |
| | | </style> |