diff --git a/src/views/quality/monitoring/qualityStatistics/components/graphs/line.vue b/src/views/quality/monitoring/qualityStatistics/components/graphs/line.vue
index 3f3978a8..10366b3f 100644
--- a/src/views/quality/monitoring/qualityStatistics/components/graphs/line.vue
+++ b/src/views/quality/monitoring/qualityStatistics/components/graphs/line.vue
@@ -16,15 +16,19 @@ export default {
name: 'LineDataChart',
components: {},
props: {
- xProps: {
- type: Array,
- default: () => [],
- },
- legend: {
- type: Array,
- default: () => [],
- }
- },
+ xProps: {
+ type: Array,
+ default: () => [],
+ },
+ legend: {
+ type: Array,
+ default: () => [],
+ },
+ series: {
+ type: Array,
+ default: () => [],
+ },
+ },
data() {
return {
chart: null,
@@ -51,89 +55,50 @@ export default {
// '产线8',
// '产线9',
// ],
- series: [
- {
- name: '检测内容1',
- type: 'line',
- data: [120, 132, 101, 134, 90, 230, 210, 120, 132],
- },
- {
- name: '检测内容2',
- type: 'line',
- data: [220, 182, 191, 234, 290, 330, 310, 220, 182],
- },
- {
- name: '检测内容3',
- type: 'line',
- data: [150, 232, 201, 154, 190, 330, 410, 150, 232],
- },
- {
- name: '检测内容4',
- type: 'line',
- data: [320, 332, 301, 334, 390, 330, 320, 332, 301],
- },
- {
- name: '检测内容5',
- type: 'line',
- data: [820, 932, 901, 934, 1290, 1330, 1320, 932, 901],
- },
- {
- name: '检测内容6',
- type: 'line',
- data: [920, 932, 901, 934, 1290, 1330, 1320, 932, 901],
- },
- {
- name: '检测内容7',
- type: 'line',
- data: [1020, 932, 901, 934, 1290, 1330, 1320, 932, 901],
- },
- {
- name: '检测内容8',
- type: 'line',
- data: [1120, 932, 901, 934, 1290, 1330, 1320, 932, 901],
- },
- {
- name: '检测总数',
- type: 'line',
- data: [1220, 932, 901, 934, 1290, 1330, 1320, 932, 901],
- },
- {
- name: '比例%',
- type: 'line',
- data: [1320, 932, 901, 934, 1290, 1330, 1320, 932, 901],
- },
- ],
+ // series: [
+ // {
+ // name: 'a',
+ // type: 'line',
+ // data: [120, 132, 101, 134, 90, 230, 210, 120, 132],
+ // },
+ // {
+ // name: 'lkj',
+ // type: 'line',
+ // data: [220, 182, 191, 234, 290, 330, 310, 220, 182],
+ // },
+ // {
+ // name: '测试11',
+ // type: 'line',
+ // data: [150, 232, 201, 154, 190, 330, 410, 150, 232],
+ // },
+ // {
+ // name: '测试22',
+ // type: 'line',
+ // data: [320, 332, 301, 334, 390, 330, 320, 332, 301],
+ // },
+ // ],
};
},
- computed: {},
- mounted() {
- this.init();
- },
- methods: {
- init() {
- if (!this.chart) this.chart = echarts.init(this.$refs['line-chart']);
- this.setOption();
- },
- setOption(option) {
- console.log("legend", this.legend)
- const defaultOption = {
+ computed: {
+ config() {
+ return {
// title: {
// text: '折线图',
// },
- grid: {
- top: '24%',
- left: '3%',
- right: '5%',
- bottom: '5%',
- containLabel: true,
- },
+ grid: {
+ top: '24%',
+ left: '3%',
+ right: '5%',
+ bottom: '5%',
+ containLabel: true,
+ },
tooltip: {
trigger: 'axis',
},
legend: {
data: this.legend,
- top: '5%',
- icon: 'circle'
+ top: '5%',
+ icon: 'circle',
},
// toolbox: {
// feature: {
@@ -148,9 +113,30 @@ export default {
yAxis: {
type: 'value',
},
- series: this.series
+ series: this.series,
};
- this.chart.setOption(defaultOption);
+ },
+ },
+ mounted() {
+ this.init();
+ },
+ watch: {
+ config(val) {
+ this.$nextTick(() => {
+ this.init();
+ });
+ },
+ },
+ methods: {
+ init() {
+ if (!this.chart) this.chart = echarts.init(this.$refs['line-chart']);
+
+ this.$nextTick(() => {
+ this.setOption();
+ });
+ },
+ setOption() {
+ this.chart.setOption(this.config);
},
},
};
diff --git a/src/views/quality/monitoring/qualityStatistics/graphPage.vue b/src/views/quality/monitoring/qualityStatistics/graphPage.vue
index 49ed1936..4aa9a981 100644
--- a/src/views/quality/monitoring/qualityStatistics/graphPage.vue
+++ b/src/views/quality/monitoring/qualityStatistics/graphPage.vue
@@ -11,10 +11,7 @@
-
+
@@ -42,35 +39,40 @@ export default {
data() {
return {
legend: [],
+ series: [],
};
},
- computed: {},
+ mounted() {
+ this.buildLegend();
+
+ this.$nextTick(() => {
+ this.series = this.lineData.list.map(this.buildSeries);
+ console.log('this.series', this.series);
+ });
+ },
methods: {
buildSeries(item) {
- if (!this.legend.length) this.buildLegend();
- const data = [];
- this.legend.forEach((key) => {
- console.log('key item.key', item, key, item[key]);
- if (item[key] == null) item[key] = null;
- data.push(item[key]);
- });
- console.log('buildSeries', {
+ console.log('this.list', this.lineData.list, this.lineData.xProps);
+ const seriesItem = {
name: item.inspectionContent,
type: 'line',
- data: data,
- });
- return {
- name: item.inspectionContent,
- type: 'line',
- data: data,
+ data: [],
};
+
+ this.lineData.xProps.forEach((prop) => {
+ if (prop in item) {
+ seriesItem.data.push(item[prop]);
+ } else {
+ seriesItem.data.push(null);
+ }
+ });
+
+ return seriesItem;
},
buildLegend() {
this.legend = this.lineData.list
.map((item) => item.inspectionContent)
.sort();
- // this.legend.push('检测总数', '比例%')
- console.log('buliding legend', this.legend);
},
},
};