Explorar o código

bug修复+指标趋势

ming %!s(int64=3) %!d(string=hai) anos
pai
achega
79fdc761b3

+ 4 - 1
src/store/index.js

@@ -49,7 +49,10 @@ export default createStore({
         siteManageLabelCom: '', //站点管理,树结构label传值
 
 
-        realScoreLineDatasAll: '',
+        /**评估报告指标趋势**/
+        realScoreLineObj: [], //图表数据
+        realScoreLineDataTime: [], //图表时间线
+        realScoreLineName: ''
     },
     mutations: {
         /**

+ 2 - 2
src/views/powerQuality/harmonicReport/index.vue

@@ -137,8 +137,8 @@ export default defineComponent({
     const store = useStore()
     const dateType = ref('date')
     const listTabPosition = ref('dayValue')
-    const deviceCode = ref('')
-    // const deviceCode = ref('DA00021026')
+    // const deviceCode = ref('')
+    const deviceCode = ref('DA00021026')
     const deviceList = ref([])
     const dateTime = ref(new Date())
     const tableList = ref([]) //表格子页面数据传递存储

+ 151 - 50
src/views/powerQuality/realTimeMonitoring/realScore.vue

@@ -81,6 +81,7 @@
           :data="getData"
           style="width: 100%"
           :header-cell-style="headCellStyle"
+           :cell-style="cellStyle"
         >
           <el-table-column label="回路" width="" align="center">
             <template #default="scope">
@@ -167,35 +168,41 @@
           <el-table-column label="电流负载率">
             <el-table-column prop="name" label="A相" width="" align="center">
               <template #default="scope">
-                <i
-                  class="smallSquare"
-                  :style="{ background: scope.row.iaLoadQ ? 'green' : 'red' }"
-                ></i>
-                {{ scope.row.iaLoad }}
+                <div @click="oneClick('iaLoad')">
+                  <i
+                    class="smallSquare"
+                    :style="{ background: scope.row.iaLoadQ ? 'green' : 'red' }"
+                  ></i>
+                  {{ scope.row.iaLoad }}
+                </div>
               </template>
             </el-table-column>
             <el-table-column prop="city" label="B相" align="center">
               <template #default="scope">
-                <i
-                  class="smallSquare"
-                  :style="{ background: scope.row.ibLoadQ ? 'green' : 'red' }"
-                ></i>
-                {{ scope.row.ibLoad }}
+                <div @click="oneClick('ibLoad')">
+                  <i
+                    class="smallSquare"
+                    :style="{ background: scope.row.ibLoadQ ? 'green' : 'red' }"
+                  ></i>
+                  {{ scope.row.ibLoad }}
+                </div>
               </template>
             </el-table-column>
             <el-table-column prop="city" label="C相" align="center">
               <template #default="scope">
-                <i
-                  class="smallSquare"
-                  :style="{ background: scope.row.icLoadQ ? 'green' : 'red' }"
-                ></i>
-                {{ scope.row.icLoad }}
+                <div @click="oneClick('icLoad')">
+                  <i
+                    class="smallSquare"
+                    :style="{ background: scope.row.icLoadQ ? 'green' : 'red' }"
+                  ></i>
+                  {{ scope.row.icLoad }}
+                </div>
               </template>
             </el-table-column>
           </el-table-column>
           <el-table-column label="评分" width="" align="center">
             <template #default="scope">
-              <el-button size="mini" type="warning">
+              <el-button size="mini" type="warning" style="cursor:defalut">
                 {{ scope.row.score }}
               </el-button>
             </template>
@@ -260,6 +267,7 @@ export default defineComponent({
     const echartsAllData = ref([])
     const echartsTitle = ref('')
 
+    //自定义表头列样式
     function headCellStyle({ row, column, rowIndex, columnIndex }) {
       row, column
       if (columnIndex !== 0 && columnIndex !== 1 && rowIndex === 0) {
@@ -268,6 +276,14 @@ export default defineComponent({
         return ''
       }
     }
+     //自定义列样式
+    const cellStyle = ({ row, column, rowIndex, columnIndex }) => {
+      row, column, rowIndex,columnIndex
+      // console.log(row, column, rowIndex)
+      if (rowIndex === 0&&columnIndex!=0) {
+        return `cursor:pointer`
+      }
+    }
 
     //设备下拉请求
     function deviceSelect() {
@@ -285,10 +301,7 @@ export default defineComponent({
     function realScore() {
       api.realScore({ deviceCode: deviceCode.value }).then((requset) => {
         if (requset.status === 'SUCCESS') {
-          console.log('requset.data')
-          console.log(requset.data)
           getData.value[0] = requset.data
-          console.log(getData.value)
         } else {
           ElMessage.error(requset.msg)
         }
@@ -296,11 +309,13 @@ export default defineComponent({
       nowTime.value = parseTime(new Date())
     }
 
-
     // 折线图详情总数据请求
-    function rtRealScore(){
-      var start = parseTime(new Date().setHours(0, 0, 0, 0))
-      var end = parseTime(new Date())
+    function rtRealScore(params) {
+
+      // var start = parseTime(new Date().setHours(0, 0, 0, 0))
+      // var end = parseTime(new Date())
+      var start = '2021-12-01 00:00:00'
+      var end = '2021-12-01 09:07:31'
       api
         .rtRealScore({
           deviceCode: 'DA00021026',
@@ -311,7 +326,112 @@ export default defineComponent({
           if (requset.status === 'SUCCESS') {
             echartsAllData.value = requset.data
 
-            store.state.realScoreLineDatasAll= requset.data
+            // 处理数据
+            var arrOld = requset.data
+            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
+            })
+
+            //电流
+            let ia = arrOld.map((item) => {
+              return item.ia
+            })
+            let ib = arrOld.map((item) => {
+              return item.ib
+            })
+            let ic = arrOld.map((item) => {
+              return item.ic
+            })
+
+            // 电流不平衡度
+            let elBalun = arrOld.map((item) => {
+              return item.elBalun*100
+            })
+            // 电压不平衡度
+            let vtBalun = arrOld.map((item) => {
+              return item.vtBalun*100
+            })
+            //电流负载率
+            let iaLoad = arrOld.map((item) => {
+              return item.iaLoad
+            })
+            let ibLoad = arrOld.map((item) => {
+              return item.ibLoad
+            })
+            let icLoad = arrOld.map((item) => {
+              return item.icLoad
+            })
+
+            var echartsObj
+            var lineName
+
+            ia; ib; ic
+
+            switch (params) {
+              case 'cos':
+                echartsObj = [{ name: '功率因数 ( 实时数据 )', data: cos }]
+                lineName=''
+                break
+              case 'ua':
+                echartsObj = [{ name: 'A相电压 ( 实时数据 )', data: ua }]
+                lineName='kV'
+                break
+              case 'ub':
+                echartsObj = [{ name: 'B相电压 ( 实时数据 )', data: ub }]
+                lineName='kV'
+                break
+              case 'uc':
+                echartsObj = [{ name: 'c相电压 ( 实时数据 )', data: uc }]
+                lineName='kV'
+                break
+              case 'elBalun':
+                echartsObj = [{ name: '电流不平衡度 ( 实时数据 )', data: elBalun }]
+                //  echartsObj = [{ name: 'A相电流', data: ia },{ name: 'B相电流', data: ib },{ name: 'C相电流', data: ic }]
+                lineName='%'
+                break
+              case 'vtBalun':
+                echartsObj = [{ name: '电压不平衡度 ( 实时数据 )', data: vtBalun }]
+                lineName='%'
+                break
+              case 'iaLoad':
+                echartsObj = [{ name: 'A相电流负载率 ( 实时数据 )', data: iaLoad }]
+                lineName='%'
+                break
+              case 'ibLoad':
+                echartsObj = [{ name: 'B相电流负载率 ( 实时数据 )', data: ibLoad }]
+                lineName='%'
+                break
+              case 'icLoad':
+                echartsObj = [{ name: 'C相电流负载率 ( 实时数据 )', data: icLoad }]
+                lineName='%'
+                break
+              default:
+            }
+
+            dataTime.value = dataTime
+
+            store.state.realScoreLineDataTime = dataTime
+            store.state.realScoreLineObj = echartsObj
+            store.state.realScoreLineName = lineName
+
+            // console.log('echartsObj')
+            // console.log(echartsObj)
+
           } else {
             ElMessage.error(requset.msg)
           }
@@ -320,32 +440,9 @@ export default defineComponent({
 
     // 点击表格弹框图表
     function oneClick(params) {
-      switch (params) {
-        case 'cos':
-          echartsTitle.value = '功率因数'
-          break
-        case 'ua':
-          echartsTitle.value = 'A相电压'
-          break
-        case 'ub':
-          echartsTitle.value = 'B相电压'
-          break
-        case 'uc':
-          echartsTitle.value = 'C相电压'
-          break
-        // case 'elBalun':
-        //   echartsTitle.value = 'C相电压'
-        //   break
-        // case 'vtBalun':
-        //   echartsTitle.value = 'C相电压'
-        //   break
-        default:
-      }
       dialogTitle.value = deviceCode.value
       showDialog2.value = true
-
-      rtRealScore()
-      
+      rtRealScore(params)
     }
 
     // 关闭操作
@@ -354,7 +451,6 @@ export default defineComponent({
     }
 
     onMounted(() => {
-      console.log(parseTime(new Date()))
       deviceSelect()
       realScore()
     })
@@ -365,6 +461,7 @@ export default defineComponent({
       value4,
       getData,
       headCellStyle,
+      cellStyle,
       deviceSelect,
       deviceList,
       realScore,
@@ -375,13 +472,14 @@ export default defineComponent({
       dialogTitle,
       echartsAllData,
       echartsTitle,
-      rtRealScore
+      rtRealScore,
     }
   },
 })
 </script>
  
 <style scoped lang="scss">
+
 .el-row {
   margin-bottom: 20px;
   &:last-child {
@@ -408,4 +506,7 @@ export default defineComponent({
   padding: 10px 0;
   border: 1px solid #f9fafc;
 }
+.el-button{
+  cursor:default!important
+}
 </style>

+ 3 - 8
src/views/powerQuality/realTimeMonitoring/realScoreComponent/dialogChartOne-ori.vue → src/views/powerQuality/realTimeMonitoring/realScoreComponent/dialogChartOne-ora.vue

@@ -7,14 +7,13 @@
     @open="open"
   >
     <div style="width: 100%; height: 400px">
-      <inner-line-chart></inner-line-chart>
-      <!-- <div shadow="never" class="homeBoxCard" v-loading="loading">
+      <div shadow="never" class="homeBoxCard" v-loading="loading">
         <div
           style="height: 400px"
           ref="lineChartBanlance"
           id="lineChartBanlance"
         />
-      </div> -->
+      </div>
     </div>
   </el-dialog>
 </template>
@@ -22,12 +21,10 @@
 <script>
 import { defineComponent, ref, watchEffect, onMounted, watch } from 'vue'
 import * as echarts from 'echarts'
-import innerLineChart from './innerLineChart'
 
 export default defineComponent({
   name: 'DialogChartOne',
   components: {
-    innerLineChart
   },
   emits: ['closeDialog'],
   props: {
@@ -44,7 +41,6 @@ export default defineComponent({
     const dataTimes = ref([])
 
     const getData = async () => {
-
       var arrOld = props.echartsAllData
       let dataTime = arrOld.map((item) => {
         return item.dataTime
@@ -61,7 +57,6 @@ export default defineComponent({
       let uc = arrOld.map((item) => {
         return item.uc
       })
-
       dataTimes.value = dataTime;
       switch (props.echartsTitle) {
         case '功率因数':
@@ -206,7 +201,7 @@ export default defineComponent({
     const writeValue = (val) => {
       val
       getData()
-      // echarts2()
+      echarts2()
     }
 
     //监听变化

+ 9 - 159
src/views/powerQuality/realTimeMonitoring/realScoreComponent/dialogChartOne.vue

@@ -4,27 +4,22 @@
     v-model="dialogVisible"
     width="800px"
     @close="closeDialog()"
-    @open="open"
   >
-    <div style="width: 100%; height: 400px">
-      <div shadow="never" class="homeBoxCard" v-loading="loading">
-        <div
-          style="height: 400px"
-          ref="lineChartBanlance"
-          id="lineChartBanlance"
-        />
-      </div>
+    <div style="width: 100%; ">
+      <inner-line-chart></inner-line-chart>
+      <!-- <inner-line-chart></inner-line-chart> -->
     </div>
   </el-dialog>
 </template>
 
 <script>
 import { defineComponent, ref, watchEffect, onMounted, watch } from 'vue'
-import * as echarts from 'echarts'
+import innerLineChart from './innerLineChart'
 
 export default defineComponent({
   name: 'DialogChartOne',
   components: {
+    innerLineChart
   },
   emits: ['closeDialog'],
   props: {
@@ -37,155 +32,11 @@ export default defineComponent({
   setup(props, context) {
     context
     const dialogVisible = ref(false)
-    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() {
-      // 新建一个promise对象
-      let newPromise = new Promise((resolve) => {
-        resolve()
-      })
-      //然后异步执行echarts的初始化函数
-      newPromise.then(() => {
-        //	此dom为echarts图标展示dom
-        let myChart = echarts.init(document.getElementById('lineChartBanlance'))
-        myChart.setOption({
-          color: ['#1187FF'],
-          legend: {
-            top: '0',
-            // data: ['电流不平衡度'],
-          },
-          tooltip: {
-            trigger: 'axis',
-            axisPointer: { type: 'cross' },
-          },
-          grid: {
-            left: '20',
-            right: '40',
-            top: '40',
-            bottom: '30',
-            containLabel: true,
-          },
-          xAxis: {
-            axisLabel: {
-              color: '#444',
-              fontSize: 14,
-            },
-            /*改变xy轴颜色*/
-            axisLine: {
-              lineStyle: {
-                color: '#444',
-                width: 1, //这里是为了突出显示加上的
-              },
-            },
-            boundaryGap: false,
-            data: dataTimes.value,
-          },
-          yAxis: {
-            name: '%',
-            nameTextStyle: {
-              color: 'black',
-              fontSize: 10,
-            },
-            type: 'value',
-            axisTick: {
-              show: true, //去除刻度线
-            },
-            axisLabel: {
-              color: 'black', // 文本颜色
-            },
-            axisLine: {
-              show: true, // 去除轴线
-              lineStyle: {
-                color: 'black',
-              },
-            },
-            splitNumber: 5,
-            splitLine: {
-              show: true,
-              lineStyle: {
-                color: '#9d9d9d',
-              },
-            },
-          },
-
-          series: [
-            {
-              name: props.echartsTitle + '实时数据',
-              type: 'line',
-              symbolSize: 7,
-              smooth: false,
-              data: dataList.value,
-              markLine: {
-                //最大值和最小值
-                // data: [
-                //   {
-                //     yAxis: 30,
-                //     label: {
-                //       position: 'middle',
-                //       formatter: '严重三项不平衡',
-                //     },
-                //     lineStyle: {
-                //       width: 2,
-                //       color: '#FF5D1D',
-                //     },
-                //   },
-                //   {
-                //     yAxis: 14,
-                //     label: {
-                //       position: 'middle',
-                //       formatter: '不平衡度',
-                //     },
-                //     lineStyle: {
-                //       width: 2,
-                //       color: '#f2e251',
-                //     },
-                //   },
-                // ],
-              },
-            },
-          ],
-        })
-        window.addEventListener('resize', () => {
-          myChart.resize()
-        })
-      })
-    }
+  
 
     // 关闭弹框
     const closeDialog = () => {
@@ -201,7 +52,6 @@ export default defineComponent({
     const writeValue = (val) => {
       val
       getData()
-      echarts2()
     }
 
     //监听变化
@@ -209,7 +59,7 @@ export default defineComponent({
       () => props.echartsAllData,
       (newVal, oldVal, clear) => {
         // 执行异步任务,并得到关闭异步任务的 id
-        // console.log(newVal)
+    
         let id = writeValue(newVal, oldVal)
         // 如果 watch 监听被重复执行了,则会先清除上次未完成的异步任务
         clear(() => clearTimeout(id))
@@ -222,7 +72,7 @@ export default defineComponent({
     return {
       closeDialog,
       dialogVisible,
-      echarts2,
+    
     }
   },
 })

+ 53 - 82
src/views/powerQuality/realTimeMonitoring/realScoreComponent/innerLineChart.vue

@@ -5,77 +5,52 @@
 </template>
 <script>
 import { useStore } from 'vuex'
-import {  defineComponent, onMounted, ref, watch } from 'vue'
+import { defineComponent, onMounted, ref, watch } from 'vue'
 import * as echarts from 'echarts'
 
 export default defineComponent({
   name: 'lineChartValue',
-  props: {
-  },
+  props: {},
   setup(props) {
     props
-     const store = useStore()
+    const store = useStore()
     let lineChartBanlance = ref(null)
-    const dataTimes=ref([])
-    const dataList = ref([])
+    const dataTimes = ref([])
+    const lineChartArr = ref([])
 
     // 读取数据 func
     const loading = ref(true)
     const getData = async () => {
-  
-      console.log('store.state.realScoreLineDatasAll')
-      console.log(store.state.realScoreLineDatasAll)
-       console.log('store.state.realScoreLineDatasAll')
-
+      dataTimes.value = store.state.realScoreLineDataTime
+      lineChartArr.value = store.state.realScoreLineObj
 
-      var arrOld = store.state.realScoreLineDatasAll
-      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
+      lineChartArr.value.forEach((value) => {
+        value.type = 'line'
+        value.smooth = false
+        value.symbolSize = 7
+        // value.markPoint = {
+        //   data: [
+        //     { type: 'max', name: 'Max' },
+        //     { type: 'min', name: 'Min' },
+        //   ],
+        // }
       })
-      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:
-      }
+
       loading.value = false
     }
-    function echarts2(){
+ 
+    function echarts2() {
       let myChart = echarts.init(lineChartBanlance.value)
+
+      
+
       // 绘制图表
       myChart.setOption({
-        // backgroundColor: "pink",
-        color: ['#f2e251', '#48C964', '#fe8161'],
+        color: ['#1187FF', '#48C964', '#fe8161'],
 
         legend: {
           top: '0',
-         
         },
-        // toolbox: {
-        //   show: false,
-        // },
         tooltip: {
           // show: true
           trigger: 'axis',
@@ -104,8 +79,8 @@ export default defineComponent({
           data: dataTimes.value,
         },
         yAxis: {
-          name: 'A',
-          nameTextStyle: {
+          name: store.state.realScoreLineName,
+          textStyle: {
             color: 'black',
             fontSize: 10,
           },
@@ -131,37 +106,37 @@ export default defineComponent({
           },
         },
 
-        series: [
-          {
-            name: 'A相电流',
-            type: 'line',
-            symbolSize: 7,
-            smooth: false,
-            data:[1,2,6,4,5,58,6,7,8],
-          },
-          {
-            name: 'B相电流',
-            type: 'line',
-            symbolSize: 7,
-            smooth: false,
-             data:[1,2,3,4,9,5,6,7,8],
-          },
-          {
-            name: 'C相电流',
-            type: 'line',
-            symbolSize: 7,
-            smooth: false,
-            data:[1,2,3,4,5,6,6,7,3],
-          },
-        ],
+        // series: [
+        //   {
+        //     name: 'A相电流',
+        //     type: 'line',
+        //     symbolSize: 7,
+        //     smooth: false,
+        //     data: [1, 2, 6, 4, 5, 58, 6, 7, 8],
+        //   },
+        //   {
+        //     name: 'B相电流',
+        //     type: 'line',
+        //     symbolSize: 7,
+        //     smooth: false,
+        //     data: [1, 2, 3, 4, 9, 5, 6, 7, 8],
+        //   },
+        //   {
+        //     name: 'C相电流',
+        //     type: 'line',
+        //     symbolSize: 7,
+        //     smooth: false,
+        //     data: [1, 2, 3, 4, 5, 6, 6, 7, 3],
+        //   },
+        // ],
+        series: lineChartArr.value,
       })
       window.addEventListener('resize', () => {
         myChart.resize()
       })
-
     }
 
-     const writeValue = (val) => {
+    const writeValue = (val) => {
       val
       getData()
       echarts2()
@@ -169,7 +144,7 @@ export default defineComponent({
 
     //监听变化
     watch(
-      () => store.state.realScoreLineDatasAll,
+      () => store.state.realScoreLineObj,
       (newVal, oldVal, clear) => {
         // 执行异步任务,并得到关闭异步任务的 id
         // console.log(newVal)
@@ -180,11 +155,9 @@ export default defineComponent({
       { lazy: true }
     )
 
-
     onMounted(() => {
       // getData()
       // echarts2()
-      
     })
 
     return {
@@ -192,9 +165,7 @@ export default defineComponent({
       loading,
       store,
       dataTimes,
-      dataList
-     
-      
+      lineChartArr,
     }
   },
 })

+ 2 - 2
src/views/powerQuality/unbalanceAnalysis/index.vue

@@ -95,8 +95,8 @@ export default defineComponent({
     const store = useStore()
     const value4 = ref('请选择')
     const region = ref('')
-    const deviceCode = ref('')
-    // const deviceCode = ref('DA00021026')
+    // const deviceCode = ref('')
+    const deviceCode = ref('DA00021026')
     const deviceList = ref([])
     const echartsData = ref([
       // {

+ 2 - 2
src/views/siteManage/variableList/index.vue

@@ -95,12 +95,12 @@
         sortable
       ></el-table-column>
       <el-table-column
-        prop="monitorDeviceName"
+        prop="monitoringEquipment"
         label="监控设备"
         width="150px"
       ></el-table-column>
       <el-table-column
-        prop="deviceName"
+        prop="communicationEquipment"
         label="通信设备"
         width=""
       ></el-table-column>