|
@@ -10,7 +10,7 @@
|
|
<!-- <inner-line-chart></inner-line-chart> -->
|
|
<!-- <inner-line-chart></inner-line-chart> -->
|
|
<div shadow="never" class="homeBoxCard" v-loading="loading">
|
|
<div shadow="never" class="homeBoxCard" v-loading="loading">
|
|
<div
|
|
<div
|
|
- style="height: 300px"
|
|
|
|
|
|
+ style="height: 400px"
|
|
ref="lineChartBanlance"
|
|
ref="lineChartBanlance"
|
|
id="lineChartBanlance"
|
|
id="lineChartBanlance"
|
|
/>
|
|
/>
|
|
@@ -21,7 +21,7 @@
|
|
|
|
|
|
<script>
|
|
<script>
|
|
// import { useStore } from 'vuex'
|
|
// import { useStore } from 'vuex'
|
|
-import { defineComponent, ref, watchEffect, onMounted } from 'vue'
|
|
|
|
|
|
+import { defineComponent, ref, watchEffect, onMounted, watch } from 'vue'
|
|
// import * as api from '@/api/siteManage/watchDog.js'
|
|
// import * as api from '@/api/siteManage/watchDog.js'
|
|
// import { ElMessage } from 'element-plus'
|
|
// import { ElMessage } from 'element-plus'
|
|
import * as echarts from 'echarts'
|
|
import * as echarts from 'echarts'
|
|
@@ -38,13 +38,53 @@ export default defineComponent({
|
|
flag: Boolean,
|
|
flag: Boolean,
|
|
dialogTitle: String,
|
|
dialogTitle: String,
|
|
itemInfo: Object,
|
|
itemInfo: Object,
|
|
-
|
|
|
|
|
|
+ echartsAllData: Array,
|
|
|
|
+ echartsTitle: String,
|
|
},
|
|
},
|
|
setup(props, context) {
|
|
setup(props, context) {
|
|
- // let lineChartBanlance = ref(null)
|
|
|
|
context
|
|
context
|
|
const dialogVisible = ref(false)
|
|
const dialogVisible = ref(false)
|
|
const siteList = ref([])
|
|
const siteList = ref([])
|
|
|
|
+ const dataList = ref([])
|
|
|
|
+ const dataTimes = ref([])
|
|
|
|
+
|
|
|
|
+ const getData = async () => {
|
|
|
|
+ var arrOld = props.echartsAllData
|
|
|
|
+ let dataTime = arrOld.map((item) => {
|
|
|
|
+ return item.dataTime
|
|
|
|
+ })
|
|
|
|
+ let cos = arrOld.map((item) => {
|
|
|
|
+ return item.cos
|
|
|
|
+ })
|
|
|
|
+ let ua = arrOld.map((item) => {
|
|
|
|
+ return item.ua
|
|
|
|
+ })
|
|
|
|
+ let ub = arrOld.map((item) => {
|
|
|
|
+ return item.ub
|
|
|
|
+ })
|
|
|
|
+ let uc = arrOld.map((item) => {
|
|
|
|
+ return item.uc
|
|
|
|
+ })
|
|
|
|
+
|
|
|
|
+ dataTimes.value = dataTime;
|
|
|
|
+ switch (props.echartsTitle) {
|
|
|
|
+ case '功率因数':
|
|
|
|
+ dataList.value = cos
|
|
|
|
+
|
|
|
|
+ break
|
|
|
|
+ case 'A相电压':
|
|
|
|
+ dataList.value = ua
|
|
|
|
+ break
|
|
|
|
+ case 'B相电压':
|
|
|
|
+ dataList.value = ub
|
|
|
|
+ break
|
|
|
|
+ case 'C相电压':
|
|
|
|
+ dataList.value = uc
|
|
|
|
+ break
|
|
|
|
+ default:
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
function echarts2() {
|
|
function echarts2() {
|
|
// 新建一个promise对象
|
|
// 新建一个promise对象
|
|
let newPromise = new Promise((resolve) => {
|
|
let newPromise = new Promise((resolve) => {
|
|
@@ -52,16 +92,14 @@ export default defineComponent({
|
|
})
|
|
})
|
|
//然后异步执行echarts的初始化函数
|
|
//然后异步执行echarts的初始化函数
|
|
newPromise.then(() => {
|
|
newPromise.then(() => {
|
|
- alert('promise')
|
|
|
|
// 此dom为echarts图标展示dom
|
|
// 此dom为echarts图标展示dom
|
|
let myChart = echarts.init(document.getElementById('lineChartBanlance'))
|
|
let myChart = echarts.init(document.getElementById('lineChartBanlance'))
|
|
myChart.setOption({
|
|
myChart.setOption({
|
|
color: ['#1187FF'],
|
|
color: ['#1187FF'],
|
|
legend: {
|
|
legend: {
|
|
- bottom: '0',
|
|
|
|
- data: ['电流不平衡度'],
|
|
|
|
|
|
+ top: '0',
|
|
|
|
+ // data: ['电流不平衡度'],
|
|
},
|
|
},
|
|
-
|
|
|
|
tooltip: {
|
|
tooltip: {
|
|
trigger: 'axis',
|
|
trigger: 'axis',
|
|
axisPointer: { type: 'cross' },
|
|
axisPointer: { type: 'cross' },
|
|
@@ -86,8 +124,7 @@ export default defineComponent({
|
|
},
|
|
},
|
|
},
|
|
},
|
|
boundaryGap: false,
|
|
boundaryGap: false,
|
|
- // data: electricChart2.value.dataTime,
|
|
|
|
- data: [1, 2, 3, 4, 5, 6, 7, 8],
|
|
|
|
|
|
+ data: dataTimes.value,
|
|
},
|
|
},
|
|
yAxis: {
|
|
yAxis: {
|
|
name: '%',
|
|
name: '%',
|
|
@@ -119,38 +156,37 @@ export default defineComponent({
|
|
|
|
|
|
series: [
|
|
series: [
|
|
{
|
|
{
|
|
- name: '电流不平衡度',
|
|
|
|
|
|
+ name: props.echartsTitle + '实时数据',
|
|
type: 'line',
|
|
type: 'line',
|
|
symbolSize: 7,
|
|
symbolSize: 7,
|
|
smooth: false,
|
|
smooth: false,
|
|
- // data: electricChart2.value.elBalun,
|
|
|
|
- data: [1, 2, 3, 4, 5, 6, 7, 8],
|
|
|
|
|
|
+ data: dataList.value,
|
|
markLine: {
|
|
markLine: {
|
|
//最大值和最小值
|
|
//最大值和最小值
|
|
- data: [
|
|
|
|
- {
|
|
|
|
- yAxis: 30,
|
|
|
|
- label: {
|
|
|
|
- position: 'middle',
|
|
|
|
- formatter: '严重三项不平衡',
|
|
|
|
- },
|
|
|
|
- lineStyle: {
|
|
|
|
- width: 2,
|
|
|
|
- color: '#FF5D1D',
|
|
|
|
- },
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- yAxis: 14,
|
|
|
|
- label: {
|
|
|
|
- position: 'middle',
|
|
|
|
- formatter: '不平衡度',
|
|
|
|
- },
|
|
|
|
- lineStyle: {
|
|
|
|
- width: 2,
|
|
|
|
- color: '#f2e251',
|
|
|
|
- },
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
|
|
+ // data: [
|
|
|
|
+ // {
|
|
|
|
+ // yAxis: 30,
|
|
|
|
+ // label: {
|
|
|
|
+ // position: 'middle',
|
|
|
|
+ // formatter: '严重三项不平衡',
|
|
|
|
+ // },
|
|
|
|
+ // lineStyle: {
|
|
|
|
+ // width: 2,
|
|
|
|
+ // color: '#FF5D1D',
|
|
|
|
+ // },
|
|
|
|
+ // },
|
|
|
|
+ // {
|
|
|
|
+ // yAxis: 14,
|
|
|
|
+ // label: {
|
|
|
|
+ // position: 'middle',
|
|
|
|
+ // formatter: '不平衡度',
|
|
|
|
+ // },
|
|
|
|
+ // lineStyle: {
|
|
|
|
+ // width: 2,
|
|
|
|
+ // color: '#f2e251',
|
|
|
|
+ // },
|
|
|
|
+ // },
|
|
|
|
+ // ],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
],
|
|
],
|
|
@@ -161,14 +197,6 @@ export default defineComponent({
|
|
})
|
|
})
|
|
}
|
|
}
|
|
|
|
|
|
- // open(): Dialog弹窗打开之前做的事
|
|
|
|
- const open = () => {
|
|
|
|
- // setTimeout(echarts2(), 1000)
|
|
|
|
- echarts2()
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
// 关闭弹框
|
|
// 关闭弹框
|
|
const closeDialog = () => {
|
|
const closeDialog = () => {
|
|
context.emit('closeDialog', false)
|
|
context.emit('closeDialog', false)
|
|
@@ -179,16 +207,33 @@ export default defineComponent({
|
|
fn
|
|
fn
|
|
dialogVisible.value = props.flag
|
|
dialogVisible.value = props.flag
|
|
})
|
|
})
|
|
- onMounted(() => {
|
|
|
|
-
|
|
|
|
- })
|
|
|
|
|
|
+
|
|
|
|
+ const writeValue = (val) => {
|
|
|
|
+ val
|
|
|
|
+ getData()
|
|
|
|
+ echarts2()
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //监听变化
|
|
|
|
+ watch(
|
|
|
|
+ () => props.echartsAllData,
|
|
|
|
+ (newVal, oldVal, clear) => {
|
|
|
|
+ // 执行异步任务,并得到关闭异步任务的 id
|
|
|
|
+ // console.log(newVal)
|
|
|
|
+ let id = writeValue(newVal, oldVal)
|
|
|
|
+ // 如果 watch 监听被重复执行了,则会先清除上次未完成的异步任务
|
|
|
|
+ clear(() => clearTimeout(id))
|
|
|
|
+ },
|
|
|
|
+ { lazy: true }
|
|
|
|
+ )
|
|
|
|
+
|
|
|
|
+ onMounted(() => {})
|
|
|
|
|
|
return {
|
|
return {
|
|
closeDialog,
|
|
closeDialog,
|
|
dialogVisible,
|
|
dialogVisible,
|
|
siteList,
|
|
siteList,
|
|
echarts2,
|
|
echarts2,
|
|
- open,
|
|
|
|
}
|
|
}
|
|
},
|
|
},
|
|
})
|
|
})
|