代码提交

This commit is contained in:
luoshiwen 2023-02-21 14:08:21 +08:00
commit 0978f5d2bf
8 changed files with 102 additions and 102 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -128,7 +128,7 @@ export default {
},
},
mounted() {
this.drawBar()
},
watch: {
typeValue: {

View File

@ -1,5 +1,7 @@
<template><div id="lineChart" ref="lineChart" style="width: 100%; height: 300px"></div></template>
<template>
<div id="lineChart" ref="lineChart" style="width: 100%; height: 300px"></div>
</template>
<script>
export default {
name: 'lineChart', //线
@ -31,7 +33,7 @@ export default {
typeValue: {
type: Object,
default() {
return {}
return {};
}
}
},
@ -51,29 +53,26 @@ export default {
show: true
},
series: []
};
},
created() {
// console.log( this.componentName + '-' + this.chartName + '-' + '线','40');
},
methods: {
drawLine() {
let myChart = this.$echarts.getInstanceByDom(this.$refs.lineChart)
let myChart = this.$echarts.getInstanceByDom(this.$refs.lineChart);
if (myChart == null) {
myChart = this.$echarts.init(this.$refs.lineChart)
myChart = this.$echarts.init(this.$refs.lineChart);
}
let option = {
title: {
show: true,
text: this.componentName + '-' + this.chartName + '-' + '曲线图',
textStyle: {
lineHeight: '30',
lineHeight: '30'
}
},
legend:{},
grid: {
left: '2%',
right: '4%',
@ -133,36 +132,37 @@ export default {
// window.onresize = () => { //
// myChart.resize();
// };
window.addEventListener('resize', function () {
window.addEventListener('resize', function() {
myChart.resize();
});
}
},
mounted() {
this.drawLine();
},
watch: {
list: {
handler(newVal) {
if (newVal && this.status == '触发' || this.status == '周期时刻') {
if ((newVal && this.status == '触发') || this.status == '周期时刻') {
// x
this.xData = newVal.map((val) => {
this.xData = newVal.map(val => {
return val.time;
});
this.series = [{
name: '',
type: 'line',
symbolSize: 6,
smooth: true,
itemStyle: {
color: '#fb864b',
borderColor: '#fb864b',
// borderWidth: 2
},
data: []
}]
this.series = [
{
name: '',
type: 'line',
symbolSize: 6,
smooth: true,
itemStyle: {
color: '#fb864b',
borderColor: '#fb864b'
// borderWidth: 2
},
data: []
}
];
// y
if (this.title == '类型') {
@ -170,129 +170,112 @@ export default {
formatter: '{a} {b}:{c}个',
show: true,
confine: true
}
this.series[0].name = '总量'
};
this.series[0].name = '总量';
//
let arr = newVal.map(function (ele) {
let arr = newVal.map(function(ele) {
if (ele.type_data != null) {
return ele.type_data
return ele.type_data;
}
})
var mapN = []
});
var mapN = [];
for (var t = 0; t < arr.length; t++) {
for (var i = 0; i < arr[t].length; i++) {
mapN.push(arr[t][i])
mapN.push(arr[t][i]);
}
}
var lineArr = []
var lineArr = [];
// 线
if (this.typeValue) {
this.typeValue.type_data.forEach(ele => {
lineArr.push({
name: ele.name,
type: 'line',
data: [],
smooth: true
})
})
});
});
}
//
mapN.forEach(ele => {
if (ele.name == "机动车") {
lineArr[0].data.push(ele.quantity)
if (ele.name == '机动车') {
lineArr[0].data.push(ele.quantity);
} else if (ele.name == '非机动车') {
lineArr[1].data.push(ele.quantity)
lineArr[1].data.push(ele.quantity);
} else {
lineArr[2].data.push(ele.quantity)
lineArr[2].data.push(ele.quantity);
}
})
});
for (let j = 0; j < lineArr.length; j++) {
this.series.push(lineArr[j])
this.series.push(lineArr[j]);
}
//
let mapNR1 = []
newVal.map(function (ele) {
let mapNR1 = [];
newVal.map(function(ele) {
if (ele.type_data != null) {
var sum = ele.type_data.reduce(function (prev, cur) {
var sum = ele.type_data.reduce(function(prev, cur) {
return cur.quantity + prev;
}, 0);
mapNR1.push(sum)
mapNR1.push(sum);
}
})
});
// console.log("mapNR1", mapNR1)
this.series[0].data = mapNR1
this.series[0].data = mapNR1;
} else if (this.title == '速度') {
this.tooltip = {
formatter: '{a} {b}:{c}km/h',
show: true,
confine: true
}
this.series[0].data = newVal.map((val) => {
};
this.series[0].data = newVal.map(val => {
return val.speed;
});
} else if (this.title == '流量') {
this.tooltip = {
formatter: '{a} {b}:{c}辆',
show: true,
confine: true
}
this.series[0].data = newVal.map((ele) => {
return ele.in_flow + ele.out_flow
};
this.series[0].data = newVal.map(ele => {
return ele.in_flow + ele.out_flow;
});
} else if (this.title == '车头时距') {
this.tooltip = {
formatter: '{a} {b}:{c}/s',
show: true,
confine: true
}
this.series[0].data = newVal.map((val) => {
};
this.series[0].data = newVal.map(val => {
return val.ave_speed;
});
} else if (this.title == '排队数') {
this.series[0].data = newVal.map((val) => {
this.series[0].data = newVal.map(val => {
return val.n_queue;
});
} else if (this.title == '检测数') {
this.series[0].data = newVal.map((val) => {
this.series[0].data = newVal.map(val => {
return val.n_stay;
});
} else if (this.title == '延误') {
this.series[0].data = newVal.map((val) => {
});
this.series[0].data = newVal.map(val => {});
} else if (this.title == '拥堵') {
this.series[0].data = newVal.map((val) => {
});
this.series[0].data = newVal.map(val => {});
}
if (this.$refs.lineChart) {
this.$nextTick(() => {
this.drawLine();
})
});
}
}
},
immediate: true
},
typeValue: {
handler(newVal) {
}
handler(newVal) {}
}
}
};
</script>
<style scoped></style>
<style scoped></style>

View File

@ -1,7 +1,5 @@
<template>
<div id="pieChart" ref="pieChart" style="width:100%;height:300px;"></div>
</template>
<script>
@ -20,8 +18,8 @@ export default {
chartName: {
type: String
},
typeValue:{
type:Object
typeValue: {
type: Object
}
},
@ -31,11 +29,23 @@ export default {
//
legend: [],
// pie
seriesData: []
seriesData: [
{
name: '机动车',
value: 0
},
{
name: '非机动车',
value: 0
}, {
name: '行人',
value: 0
}
]
}
},
created() {
},
methods: {
drawPie() {
@ -49,11 +59,11 @@ export default {
'#FFC722'
];
let option = {
title:{
show:true,
text:this.componentName + '-' + this.chartName + '-' + '饼状图',
textStyle:{
lineHeight:'30',
title: {
show: true,
text: this.componentName + '-' + this.chartName + '-' + '饼状图',
textStyle: {
lineHeight: '30',
}
},
color: color,
@ -111,7 +121,7 @@ export default {
},
},
mounted() {
this.drawPie();
},
watch: {
typeValue: {
@ -120,6 +130,7 @@ export default {
this.legend = newVal.type_data.map(ele => {
return ele.name
});
this.seriesData = []
newVal.type_data.forEach(ele => {
this.seriesData.push({
name: ele.name,
@ -127,13 +138,11 @@ export default {
})
})
this.drawPie()
this.seriesData = []
}
}
}
}
}
</script>
<style scoped>
</style>
<style scoped></style>

View File

@ -69,6 +69,14 @@
</div>
<div v-show="echartArr.includes('表格')">
<div class="tableTitle">
<div class="">
</div>
<div class="tableTime">
</div>
</div>
<div v-if="pageType == '断面'" style="margin-bottom: 20px; border: 1px solid #e4e7ed">
<tableShow :msg="dataArr" :type="triggerType" />
</div>