Explorar el Código

bug修复,新增指标说明静态排版

ming hace 3 años
padre
commit
aa564d2a95

+ 44 - 23
src/router/index.js

@@ -31,30 +31,51 @@ export const constantRoutes = [{
 ]
 export const asyncRoutes = [
 
-    // {
-    //       path: '/',
-    //       component: Layout,
-    //       redirect: '/index',
-    //       meta: {
-    //           title: '首页',
-    //           icon: 'home',
-    //           affix: true,
-    //       },
-    //       children: [{
-    //           path: 'index',
-    //           name: 'Index',
-    //           component: () =>
-    //               import ('@/views/index'),
-    //           meta: {
-    //               title: '首页',
-    //               icon: 'home',
-    //               affix: true,
-    //           },
-    //       }, ],
-    //   },
     {
         path: '/',
+        component: Layout,
         redirect: '/index',
+        meta: {
+            title: '首页',
+            icon: 'home',
+            affix: true,
+        },
+        children: [{
+            path: 'index',
+            name: 'Index',
+            component: () =>
+                import ('@/views/index'),
+            meta: {
+                title: '首页',
+                icon: 'home',
+                affix: true,
+            },
+        }, ],
+    },
+    // {
+    //     path: '/',
+    //     redirect: '/index',
+    //     meta: {
+    //         title: '告警管理',
+    //         icon: 'alarmManage',
+    //         affix: true,
+    //     },
+    //     component: Layout,
+    //     children: [{
+    //         meta: {
+    //             title: '告警管理',
+    //             icon: 'alarmManage',
+    //             affix: true,
+    //         },
+    //         path: 'index',
+    //         component: () =>
+    //             import ('@/views/alarmManage/index'),
+
+    //     }, ]
+    // },
+    {
+        path: '/alarmManage',
+        redirect: '/alarmManage/index',
         meta: {
             title: '告警管理',
             icon: 'alarmManage',
@@ -65,9 +86,9 @@ export const asyncRoutes = [
             meta: {
                 title: '告警管理',
                 icon: 'alarmManage',
-                affix: true,
+                // affix: true,
             },
-            path: 'index',
+            path: 'alarmManage',
             component: () =>
                 import ('@/views/alarmManage/index'),
 

+ 5 - 4
src/views/dataManage/chainAnalysis/index.vue

@@ -130,10 +130,11 @@ export default defineComponent({
     const typeSrarch = ref(0)
     const treeCheckedList = ref([])
     const valueCalculation = ref()
-    const dateTime = ref([
-      new Date(2021, 9, 1, 10, 10),
-      new Date(2021, 9, 30, 10, 10),
-    ])
+    // const dateTime = ref([
+    //   new Date(2021, 9, 1, 10, 10),
+    //   new Date(2021, 9, 30, 10, 10),
+    // ])
+    const dateTime = ref('')
     const ecahrtsData = ref({})
     const echartsDataCurrent = ref([])
     const echartsDataBefore = ref([])

+ 12 - 1
src/views/dataManage/demandAnalysis/index.vue

@@ -108,7 +108,8 @@ export default defineComponent({
     const tableData=ref([])
     const deviceBoxData = ref([])
     const deviceChecked = ref([])
-    const dateTime = ref(new Date())
+    // const dateTime = ref(new Date())
+    const dateTime = ref('')
     const typeSrarch = ref(1)
     const flag = ref(false)
     const echartsData = ref({})
@@ -160,6 +161,16 @@ export default defineComponent({
         })
     }
     function searchData() {
+      if (!dateTime.value) {
+        ElNotification({
+          title: '提示',
+          message: '请选择时间',
+          type: 'warning',
+        })
+        return
+      }
+
+
       if (deviceChecked.value.length > 0) {
         // alert(1)
         // store.commit('TimeAll_function', dateTime.value)

+ 13 - 2
src/views/dataManage/energyReport/index.vue

@@ -132,7 +132,8 @@ export default defineComponent({
     const store = useStore()
     // const showTree = ref(true)
     // const timer=ref('')
-    const dateTime = ref([new Date(2021, 10, 1), new Date(2021, 10, 30)])
+    // const dateTime = ref([new Date(2021, 10, 1), new Date(2021, 10, 30)])
+    const dateTime = ref('')
     const typeSrarch = ref(1)
     const flag = ref(false)
     const echartsData = ref({})
@@ -210,6 +211,16 @@ export default defineComponent({
     // }
 
     function searchData() {
+      if (!dateTime.value) {
+        ElNotification({
+          title: '提示',
+          message: '请选择开始和结束时间',
+          type: 'warning',
+        })
+        return
+      }
+
+
       if (deviceChecked.value.length > 0) {
         store.commit('TimeAll_function', dateTime.value)
         const time = store.state.Time_Data
@@ -355,7 +366,7 @@ export default defineComponent({
       display: flex;
       margin: 15px 0px 15px 15px;
       .energHaeder {
-        width: 70%;
+        // width: 70%;
         display: flex;
         .energDivTwo {
           font-weight: 600;

+ 3 - 0
src/views/powerQuality/realTimeMonitoring/index.vue

@@ -29,12 +29,15 @@ import loopMonitor from "./loopMonitor";
 import realScore from "./realScore";
 
 
+
+
 export default {
   name: "VariableList",
   components: {
     loopMonitor,
     realScore,
 
+
   },
 
   data() {

+ 37 - 5
src/views/powerQuality/realTimeMonitoring/realScore.vue

@@ -50,7 +50,7 @@
           </el-button>
         </div>
       </div>
-      <div class="right descIcon">
+      <div class="right descIcon " @click="descripDialog()">
         <img src="@/assets/images/descIcon.png" alt="" />
         指标说明
       </div>
@@ -243,11 +243,24 @@
     <dialog-chartOne
       :dialogTitle="dialogTitle"
       @closeDialog="closeDialog"
-      :flag="showDialog2"
+      :flag="showDialog"
       :echartsAllData="echartsAllData"
       :echartsTitle="echartsTitle"
     ></dialog-chartOne>
     <!--弹框组件结束-----------------------end-->
+
+
+    <!--指标说明弹框组件开始-----------------------start-->
+    <descrip-dialog
+      :dialogTitle="dialogTitle"
+      :itemInfo="tableItem"
+      @closeDialog="closeDialog"
+      :flag="showDialog2"
+      class="descripDialog"
+    ></descrip-dialog>
+    <!--指标说明弹框组件结束-----------------------end-->
+
+
   </div>
 </template>
 
@@ -255,6 +268,7 @@
 import radarChart from './realScoreComponent/radarChart.vue'
 import pieChart from './realScoreComponent/pieChart.vue'
 import dialogChartOne from './realScoreComponent/dialogChartOne'
+import descripDialog from './realScoreComponent/descripDialog'
 import { useStore } from 'vuex'
 import { defineComponent, onMounted, ref } from 'vue'
 import * as api from '@/api/powerQuality/realScore.js'
@@ -267,6 +281,9 @@ export default defineComponent({
     radarChart,
     pieChart,
     dialogChartOne,
+    descripDialog
+
+    
   },
   setup() {
     const store = useStore()
@@ -288,7 +305,8 @@ export default defineComponent({
     const deviceCode = ref('')
 
     const dialogTitle = ref('')
-    const showDialog2 = ref(false)
+    const showDialog = ref(false)
+    const showDialog2 = ref(true)
 
     const echartsAllData = ref([])
     const echartsTitle = ref('')
@@ -489,12 +507,19 @@ export default defineComponent({
     // 点击表格弹框图表
     function oneClick(params) {
       dialogTitle.value = deviceCode.value
-      showDialog2.value = true
+      showDialog.value = true
       rtRealScore(params)
     }
 
+     // 查看视频
+    const descripDialog = () => {
+      dialogTitle.value = '指标说明'
+      showDialog2.value = true
+    }
+
     // 关闭操作
     const closeDialog = () => {
+      showDialog.value = false
       showDialog2.value = false
       
     }
@@ -517,12 +542,15 @@ export default defineComponent({
       nowTime,
       deviceCode,
       closeDialog,
+      showDialog,
       showDialog2,
       dialogTitle,
       echartsAllData,
       echartsTitle,
       rtRealScore,
-      linkDevice
+      linkDevice,
+
+      descripDialog
     }
   },
 })
@@ -530,6 +558,10 @@ export default defineComponent({
  
 <style scoped lang="scss">
 
+.descripDialog{
+  
+}
+
 .el-row {
   margin-bottom: 20px;
   &:last-child {

+ 192 - 0
src/views/powerQuality/realTimeMonitoring/realScoreComponent/descripDialog.vue

@@ -0,0 +1,192 @@
+<template>
+  <div class="descripDialog">
+    <el-dialog
+      :title="dialogTitle"
+      v-model="dialogVisible"
+      width="600px"
+      @close="closeDialog(0)"
+      @open="open"
+    >
+      <div style="width: 100%; ">
+        <el-tabs v-model="activeName" @tab-click="handleClick">
+          <el-tab-pane label="判定标准" name="first">
+            <div class="desBlock">
+              <h3>【电压】</h3>
+              <span>电压偏差国标:</span>
+              <span>35KV及以上正、负偏差的绝对值之和不超过标称电压的10%;</span>
+              <span>20kv及以下电压偏差为标称电压的±7%;</span>
+              <span>400V及以下电压偏差为标称电压的+7%、-10%;</span>
+              <span>标称电压=额定电压,其数值为线电压</span>
+              <span>比如:额定电压为380V,电压偏差的上限 和 下限分别为235.4V 和 198V</span>
+            </div>
+            <div class="desBlock">
+              <h3>【频率】</h3>
+              <span>频率超限范围:50±0.2(Hz)</span>
+            </div>
+            <div class="desBlock">
+              <h3>【功率因数】</h3>
+              <span>功率因数超限范围:用户可配置功率因数标准值</span>
+            </div>
+            <div class="desBlock">
+              <h3>【三相不平衡】</h3>
+              <span>三相不平衡度超限范围:15%</span>
+            </div>
+            <div class="desBlock">
+              <h3>【电流负载率】</h3>
+              <span>电流负载率超限范围:用户可配置电流负载率门限值</span>
+              <span>电流负载率=电流/额定电流</span>
+            </div>
+             <div class="desBlock">
+              <h3>【单项结论】</h3>
+              <span>合格率:(测点数-超限数)/测点数×100%</span>
+              <span>合格率>=95% 「合格」</span>
+              <span>合格率95% 「不合格」</span>
+            </div>
+            
+          </el-tab-pane>
+          <el-tab-pane label="配置内容" name="second">
+            <div class="desBlock">
+              <h3>【站点级配置】</h3>
+              <p>请在 站点管理->电能质量评分配置中配置 或 联系运维管理员:</p>
+              <span>电能质量各要素权重、功率因数标准值</span>
+            </div>
+            <div class="desBlock">
+              <h3>【设备级配置】</h3>
+              <p>请在 站点管理->监控设备中配置 或 联系运维管理员:</p>
+              <span>额定电压、额定电流、电流负载率门限、电能质量分析</span>
+              <span>如果设备没有配置额定电压,电压/谐波畸变率分析项可能没有数据</span>
+              <span>如果设备不勾选电能质量分析,该设备不参与电能质量分析</span>
+            </div>
+            <div class="desBlock">
+              <h3>【变量级配置】</h3>
+              <p>请在 站点管理->变量列表中配置 或 联系运维管理员:配置下列变量,且需要指定变量的变量属性</p>
+              <span>A/B/C相电压</span>
+              <span>A/B/C相电流</span>
+              <span>功率因数</span>
+              <span>频率</span>
+              <span>有功/无功功率</span>
+              <span>有功/无功电度</span>
+              <span>电压三相不平衡度</span>
+              <span>电流三相不平衡度</span>
+              <span>A/B/C相电压相角</span>
+              <span>A/B/C相电流相角</span>
+              <span>A/B/C相电压总谐波畸变率</span>
+              <span>A/B/C相电流总谐波畸变率</span>
+              <span>2~31次A/B/C相电压谐波含量或有效值 (可二选一)</span>
+              <span>2~31次A/B/C相电流谐波含量或有效值 (可二选一)</span>
+              <span>如果变量没有指定变量属性 或 变量没有数据,分析项可能没有数据</span>
+            </div>
+          </el-tab-pane>
+         
+        </el-tabs>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+// import { useStore } from 'vuex'
+import { defineComponent, ref, watchEffect } from 'vue'
+// import * as api from '@/api/siteManage/watchDog.js'
+// import { ElMessage } from 'element-plus'
+
+export default defineComponent({
+  name: 'DescripDialog',
+  emits: ['closeDialog'],
+  props: {
+    flag: Boolean,
+    dialogTitle: String,
+    itemInfo: Object,
+  },
+  setup(props, context) {
+    context
+    // const store = useStore()
+    const dialogVisible = ref(false)
+
+    const activeName=ref('first')
+
+
+    // open(): Dialog弹窗打开之前做的事
+    const open = () => {
+
+      console.log('siteList.value')
+    
+    }
+
+   
+
+    // 关闭弹框
+    const closeDialog = () => {
+      context.emit('closeDialog', false)
+      dialogVisible.value = false
+    }
+
+    watchEffect((fn, options) => {
+      fn, options
+      dialogVisible.value = props.flag
+    })
+
+
+    function handleClick(tab, event) {
+      console.log(tab, event)
+    }
+   
+
+    return {
+      closeDialog,
+      dialogVisible,
+    
+      open,
+
+      handleClick,
+      activeName,
+    }
+  },
+})
+</script>
+ 
+<style scoped lang="scss">
+.el-input,
+.el-select {
+  width: 240px;
+}
+
+// label样式
+.el-form-item__label {
+  width: 150px;
+}
+.el-form-item__content {
+  margin-left: 150px;
+}
+.desBlock {
+  padding:15px 0;
+  border-bottom:1px solid rgba(0,0,0,0.06);
+  h3{
+    margin:0 0 10px  0;
+    position:relative;
+    span{
+      position:absolute;
+      right:0;
+      font-size:14px;
+      color:#409eff;
+      cursor:pointer
+    }
+  }
+  p{
+    // margin-bottom:0px;
+  }
+  span{
+    display:block;
+    color:#7e93a6
+  }
+}
+</style>
+<style>
+.descripDialog .el-dialog__body{
+  padding-top:0
+}
+.descripDialog .el-overlay-dialog {
+  /* left: auto !important; */
+  /* bottom: auto !important; */
+}
+</style>