|
@@ -4,8 +4,8 @@
|
|
|
<Echart
|
|
|
:options="options"
|
|
|
id="centerLeft1ALLChart"
|
|
|
- height="350px"
|
|
|
- width="500px"
|
|
|
+ height="400px"
|
|
|
+ width="600px"
|
|
|
ref="column-board"
|
|
|
></Echart>
|
|
|
</div>
|
|
@@ -15,9 +15,8 @@
|
|
|
import Echart from '@/common/echart'
|
|
|
//import { formatDate } from '../../../../utils/index.js'
|
|
|
export default {
|
|
|
- data () {
|
|
|
+ data () {
|
|
|
return {
|
|
|
- timing :null,
|
|
|
options:{
|
|
|
tooltip: {
|
|
|
trigger: 'axis',
|
|
@@ -25,92 +24,87 @@ export default {
|
|
|
type: 'shadow'
|
|
|
}
|
|
|
},
|
|
|
- legend: {
|
|
|
- textStyle: {
|
|
|
- fontSize: 18
|
|
|
- },
|
|
|
- itemWidth: 29,
|
|
|
- itemHeight: 19
|
|
|
- },
|
|
|
+ legend: {},
|
|
|
grid: {
|
|
|
- left: '0%',
|
|
|
- right: '0%',
|
|
|
+ left: '3%',
|
|
|
+ right: '4%',
|
|
|
bottom: '3%',
|
|
|
containLabel: true
|
|
|
},
|
|
|
xAxis: [
|
|
|
{
|
|
|
type: 'category',
|
|
|
+ data:[],
|
|
|
axisLabel: {
|
|
|
- show: false,
|
|
|
- fontSize: 16,
|
|
|
- fontWeight: "bold"
|
|
|
+ fontSize: 13
|
|
|
}
|
|
|
}
|
|
|
],
|
|
|
yAxis: [
|
|
|
{
|
|
|
type: 'value',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ type: 'value',
|
|
|
+ name: 'rate',
|
|
|
+ min: 0,
|
|
|
+ max: 100,
|
|
|
+ interval: 20,
|
|
|
axisLabel: {
|
|
|
- fontSize: 16
|
|
|
+ formatter: '{value}%'
|
|
|
}
|
|
|
- },
|
|
|
-
|
|
|
+ }
|
|
|
],
|
|
|
series: [
|
|
|
{
|
|
|
- name: '计划数',
|
|
|
+ name: '车间产出',
|
|
|
type: 'bar',
|
|
|
- barWidth: 70,
|
|
|
- emphasis: {
|
|
|
- focus: 'series'
|
|
|
- },
|
|
|
- data:[],
|
|
|
- label: {
|
|
|
- show: true,
|
|
|
- position: 'top',
|
|
|
- fontSize:14,
|
|
|
- fontWeight: "bold"
|
|
|
- },
|
|
|
- },
|
|
|
- {
|
|
|
- name: '投入数',
|
|
|
- type: 'bar',
|
|
|
- barWidth: 70,
|
|
|
+ barWidth: 30,
|
|
|
+ stack: 'Ad',
|
|
|
emphasis: {
|
|
|
focus: 'series'
|
|
|
},
|
|
|
data:[],
|
|
|
- label: {
|
|
|
- show: true,
|
|
|
- position: 'top',
|
|
|
- color:'#fff'
|
|
|
+ itemStyle: {
|
|
|
+ color: '#40BF7F' //fac858
|
|
|
},
|
|
|
+ //data: [220, 232, 221, 234, 290, 230, 220]
|
|
|
},
|
|
|
{
|
|
|
- name: '产出数',
|
|
|
+ name: '计划剩余',
|
|
|
type: 'bar',
|
|
|
stack: 'Ad',
|
|
|
- barWidth: 70,
|
|
|
+ barWidth: 15,
|
|
|
data:[],
|
|
|
+ //data: [12, 22, 32, 12, 32, 12, 32],
|
|
|
emphasis: {
|
|
|
focus: 'series'
|
|
|
},
|
|
|
- label: {
|
|
|
- show: true,
|
|
|
- position: 'top',
|
|
|
- color:'#fff'
|
|
|
- }
|
|
|
+ itemStyle: {
|
|
|
+ color: '#DFA22D' //fac858
|
|
|
+ },
|
|
|
+
|
|
|
},
|
|
|
{
|
|
|
- name: '不良数',
|
|
|
- type: 'bar',
|
|
|
- barWidth: 70,
|
|
|
+ name: '计划达成率%',
|
|
|
+ type: 'line',
|
|
|
data:[],
|
|
|
- label: {
|
|
|
- show: true,
|
|
|
- position: 'top',
|
|
|
- color:'#fff'
|
|
|
+ yAxisIndex: 1,
|
|
|
+ //data: [92, 92,92, 72, 82, 62, 62],
|
|
|
+ tooltip: {
|
|
|
+ valueFormatter: function (value) {
|
|
|
+ return value + '%';
|
|
|
+ }
|
|
|
+ },
|
|
|
+ itemStyle: {
|
|
|
+ normal: {
|
|
|
+ barBorderRadius: 5,
|
|
|
+ color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
|
|
+ { offset: 0, color: "rgba(0,161,26,0.8)" },
|
|
|
+ { offset: 0.2, color: "rgba(0,161,26,0.5)" },
|
|
|
+ { offset: 1, color: "rgba(0,161,26,0.2)" }
|
|
|
+ ])
|
|
|
+ }
|
|
|
},
|
|
|
emphasis: {
|
|
|
focus: 'series'
|
|
@@ -134,52 +128,50 @@ export default {
|
|
|
this.getdata();
|
|
|
this.refreshdata();
|
|
|
},
|
|
|
- beforeDestroy () {
|
|
|
- clearInterval(this.timing)
|
|
|
- },
|
|
|
methods: {
|
|
|
refreshdata() {
|
|
|
- this.timing = setInterval(() => {
|
|
|
+ setInterval(() => {
|
|
|
this.getdata(); //获取-数据
|
|
|
}, 30000);
|
|
|
},
|
|
|
async getdata() {
|
|
|
//20220211 -+formatDate(new Date()
|
|
|
- var caller = 'MAKEQTY';
|
|
|
- if (sessionStorage.getItem('li_code') == '所有'){
|
|
|
- caller = 'MAKEQTY!ALL';
|
|
|
- }
|
|
|
- await this.$http.get("kanban/datalist.action?caller="+caller+"&_noc=1&page=1&pageSize=100",{
|
|
|
- params: {
|
|
|
- condition: "1=1",
|
|
|
- }
|
|
|
- }).then((result)=>{
|
|
|
- let dataList = JSON.parse(result.data.data);
|
|
|
- let series0 = new Array();
|
|
|
- let series1 = new Array();
|
|
|
- let series2 = new Array();
|
|
|
- let series3 = new Array();
|
|
|
- let xAxis0 = new Array();
|
|
|
- for (let index = 0; index < dataList.length; index++) {
|
|
|
- const element = dataList[index];
|
|
|
- xAxis0.push(element.inqty);
|
|
|
- series0.push(element.planqty);
|
|
|
- //投入
|
|
|
- series1.push(element.inqty);
|
|
|
- //产出
|
|
|
- series2.push(element.outqty);
|
|
|
- //不良
|
|
|
- series3.push(element.ngqty);
|
|
|
- }
|
|
|
- this.options.xAxis[0].data = xAxis0;
|
|
|
- this.options.series[0].data = series0;
|
|
|
- this.options.series[1].data = series1;
|
|
|
- this.options.series[2].data = series2;
|
|
|
- this.options.series[3].data = series3;
|
|
|
- },(result)=>{
|
|
|
- console.error(result)
|
|
|
- }
|
|
|
- );
|
|
|
+ this.options.xAxis[0].data = [];
|
|
|
+ this.options.series[0].data = [];
|
|
|
+ this.options.series[1].data =[];
|
|
|
+ this.options.series[2].data = [];
|
|
|
+
|
|
|
+ await this.$http.get("kanban/datalist.action?caller=MAKEQTY!TOTAL&_noc=1&page=1&pageSize=100&condition=1=1")
|
|
|
+ .then((result)=>{
|
|
|
+ let dataList = JSON.parse(result.data.data);
|
|
|
+ let xAxis0 = new Array();
|
|
|
+ let series0 = new Array();
|
|
|
+ let series1 = new Array();
|
|
|
+ let series2 = new Array();
|
|
|
+ for (let index = 0; index < dataList.length; index++) {
|
|
|
+ const element = dataList[index];
|
|
|
+ if(index%2 == 0) {
|
|
|
+ xAxis0.push(element.v_wccode);
|
|
|
+ }else{
|
|
|
+ xAxis0.push('\n'+element.v_wccode);
|
|
|
+ }
|
|
|
+ //投入
|
|
|
+ // series0.push(element.v_inqty);
|
|
|
+ //产出
|
|
|
+ series0.push(element.outqty);
|
|
|
+ //不良
|
|
|
+ series1.push(element.remain);
|
|
|
+ //良率
|
|
|
+ series2.push(element.rate);
|
|
|
+ }
|
|
|
+ this.options.xAxis[0].data = xAxis0;
|
|
|
+ this.options.series[0].data = series0;
|
|
|
+ this.options.series[1].data = series1;
|
|
|
+ this.options.series[2].data = series2;
|
|
|
+ },(result)=>{
|
|
|
+ console.error(result)
|
|
|
+ }
|
|
|
+ );
|
|
|
}
|
|
|
}
|
|
|
}
|