|
@@ -4,31 +4,43 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
-import { computed, defineComponent, onMounted, ref } from 'vue'
|
|
|
-import { useStore } from 'vuex'
|
|
|
+import { defineComponent, onMounted, ref, watch } from 'vue'
|
|
|
import * as echarts from 'echarts'
|
|
|
|
|
|
export default defineComponent({
|
|
|
name: 'VoltageChart',
|
|
|
- setup() {
|
|
|
- const store = useStore()
|
|
|
+ props: {
|
|
|
+ echartsData: Object,
|
|
|
+ },
|
|
|
+ setup(props) {
|
|
|
let lineChartBanlance = ref(null)
|
|
|
|
|
|
- // 总数
|
|
|
- const total = computed(() => store.state.Home.worksChartData.total)
|
|
|
- // num
|
|
|
- const num = computed(() => store.state.Home.worksChartData.num)
|
|
|
-
|
|
|
// 读取数据 func
|
|
|
const loading = ref(true)
|
|
|
+ const voltageChart=ref({})
|
|
|
+
|
|
|
const getData = async () => {
|
|
|
- // loading.value = true
|
|
|
- // await store.dispatch("Home/queryWorksChartData");
|
|
|
+ var arrOld = props.echartsData
|
|
|
+ let dataTime = arrOld.map((item) => {
|
|
|
+ return item.dataTime
|
|
|
+ })
|
|
|
+ let ua = arrOld.map((item) => {
|
|
|
+ return item.ua
|
|
|
+ })
|
|
|
+ let ub = arrOld.map((item) => {
|
|
|
+ return item.ub
|
|
|
+ })
|
|
|
+ let uc = arrOld.map((item) => {
|
|
|
+ return item.uc
|
|
|
+ })
|
|
|
+
|
|
|
+ voltageChart.value.dataTime = dataTime
|
|
|
+ voltageChart.value.ua = ua
|
|
|
+ voltageChart.value.ub = ub
|
|
|
+ voltageChart.value.uc = uc
|
|
|
loading.value = false
|
|
|
}
|
|
|
-
|
|
|
- onMounted(() => {
|
|
|
- getData()
|
|
|
+ function echarts2() {
|
|
|
let myChart = echarts.init(lineChartBanlance.value)
|
|
|
// 绘制图表
|
|
|
myChart.setOption({
|
|
@@ -39,9 +51,6 @@ export default defineComponent({
|
|
|
bottom: '0',
|
|
|
data: ['A相电压', 'B相电压', 'C相电压'],
|
|
|
},
|
|
|
- // toolbox: {
|
|
|
- // show: false,
|
|
|
- // },
|
|
|
tooltip: {
|
|
|
// show: true
|
|
|
trigger: 'axis',
|
|
@@ -67,39 +76,33 @@ export default defineComponent({
|
|
|
},
|
|
|
},
|
|
|
boundaryGap: false,
|
|
|
- data: [
|
|
|
- '0:00',
|
|
|
- '2:00',
|
|
|
- '4:00',
|
|
|
- '6:00',
|
|
|
- '8:00',
|
|
|
- '10:00',
|
|
|
- '12:00',
|
|
|
- '14:00',
|
|
|
- '16:00',
|
|
|
- '18:00',
|
|
|
- '20:00',
|
|
|
- '22:00',
|
|
|
- '24:00',
|
|
|
- ],
|
|
|
+ data: voltageChart.value.dataTime,
|
|
|
},
|
|
|
yAxis: {
|
|
|
- name: 'V',
|
|
|
+ name: 'kV',
|
|
|
nameTextStyle: {
|
|
|
- color: '#707070',
|
|
|
- fontSize: 14,
|
|
|
+ color: 'black',
|
|
|
+ fontSize: 10,
|
|
|
+ },
|
|
|
+ type: 'value',
|
|
|
+ axisTick: {
|
|
|
+ show: true, //去除刻度线
|
|
|
},
|
|
|
axisLabel: {
|
|
|
- color: '#444',
|
|
|
- fontSize: 14,
|
|
|
+ color: 'black', // 文本颜色
|
|
|
},
|
|
|
-
|
|
|
axisLine: {
|
|
|
- symbolOffset: [0, 4],
|
|
|
- lineStyle: { color: '#444' },
|
|
|
+ show: true, // 去除轴线
|
|
|
+ lineStyle: {
|
|
|
+ color: 'black',
|
|
|
+ },
|
|
|
},
|
|
|
- splitArea: {
|
|
|
- show: false,
|
|
|
+ splitNumber: 5,
|
|
|
+ splitLine: {
|
|
|
+ show: true,
|
|
|
+ lineStyle: {
|
|
|
+ color: '#9d9d9d',
|
|
|
+ },
|
|
|
},
|
|
|
},
|
|
|
|
|
@@ -109,43 +112,58 @@ export default defineComponent({
|
|
|
type: 'line',
|
|
|
symbolSize: 7,
|
|
|
smooth: false,
|
|
|
- data: [
|
|
|
- 10, 2, 12, 0, 5, 10, 2, 12, 0, 5, 10, 2, 12, 0, 5, 10, 2, 12, 0,
|
|
|
- 5, 10, 2, 12, 0, 5,
|
|
|
- ],
|
|
|
+ data: voltageChart.value.ua
|
|
|
},
|
|
|
{
|
|
|
name: 'B相电压',
|
|
|
type: 'line',
|
|
|
symbolSize: 7,
|
|
|
smooth: false,
|
|
|
- data: [
|
|
|
- 10, 2, 12, 0, 7, 8, 9, 7, 19, 7, 8, 9, 7, 19, 7, 8, 9, 7, 19, 7,
|
|
|
- 8, 9, 7, 19, 7, 8, 9, 7, 19,
|
|
|
- ],
|
|
|
+ data: voltageChart.value.ub,
|
|
|
},
|
|
|
{
|
|
|
name: 'C相电压',
|
|
|
type: 'line',
|
|
|
symbolSize: 7,
|
|
|
smooth: false,
|
|
|
- data: [
|
|
|
- 5, 3, 6, 5, 14, 5, 3, 6, 5, 14, 5, 3, 6, 5, 14, 5, 3, 6, 5, 14, 5,
|
|
|
- 3, 6, 5, 14, 5, 3, 6, 5, 14,
|
|
|
- ],
|
|
|
+ data: voltageChart.value.uc,
|
|
|
},
|
|
|
],
|
|
|
})
|
|
|
window.addEventListener('resize', () => {
|
|
|
myChart.resize()
|
|
|
})
|
|
|
+ }
|
|
|
+
|
|
|
+ const writeValue = (val) => {
|
|
|
+ val
|
|
|
+ getData()
|
|
|
+ echarts2()
|
|
|
+ }
|
|
|
+
|
|
|
+ //监听变化
|
|
|
+ watch(
|
|
|
+ () => props.getTableData,
|
|
|
+ (newVal, oldVal, clear) => {
|
|
|
+ // 执行异步任务,并得到关闭异步任务的 id
|
|
|
+ // console.log(newVal)
|
|
|
+ let id = writeValue(newVal, oldVal)
|
|
|
+ // 如果 watch 监听被重复执行了,则会先清除上次未完成的异步任务
|
|
|
+ clear(() => clearTimeout(id))
|
|
|
+ },
|
|
|
+ { lazy: true }
|
|
|
+ )
|
|
|
+
|
|
|
+ onMounted(() => {
|
|
|
+ getData()
|
|
|
+ echarts2()
|
|
|
})
|
|
|
|
|
|
return {
|
|
|
lineChartBanlance,
|
|
|
loading,
|
|
|
- total,
|
|
|
- num,
|
|
|
+ echarts2,
|
|
|
+ voltageChart
|
|
|
}
|
|
|
},
|
|
|
})
|