ming 3 år sedan
förälder
incheckning
7bcf43c753

+ 69 - 16
src/views/powerQuality/asseReport/loopReport.vue

@@ -5,14 +5,36 @@
       <div class="left">
         <div>
           <div class="filter-item">
-            设备:
+            选择站点:
             <el-select
-              v-model="region"
+              v-model="store.state.siteId"
               placeholder="请选择"
-              style="width: 200px"
+              style="width: 220px"
+              clearable
+              filterable
+               @change="linkDevice()"
             >
-              <el-option label="设备一" value="1"></el-option>
-              <el-option label="设备二" value="2"></el-option>
+              <el-option
+                v-for="site in store.state.siteList"
+                :key="site"
+                :label="site.siteName"
+                :value="site.id"
+              ></el-option>
+            </el-select>
+          </div>
+          <div class="filter-item" style="margin-right: 20px">
+            选择设备:
+            <el-select
+              v-model="deviceCode"
+              placeholder="请选择"
+              style="width: 150px"
+            >
+              <el-option
+                v-for="device in deviceList"
+                :key="device"
+                :label="device.deviceName"
+                :value="device.deviceCode"
+              ></el-option>
             </el-select>
           </div>
 
@@ -441,24 +463,55 @@
 </template>
 
 <script>
-export default {
+import { useStore } from 'vuex'
+import { defineComponent, onMounted,ref } from 'vue'
+import * as api from '@/api/powerQuality/realScore.js'
+import { ElMessage } from 'element-plus'
+export default defineComponent({
   name: 'LoopReport',
+  components: {
+  },
+  setup() {
+    const store = useStore()
+    
+    const deviceList = ref([])
+    const deviceCode = ref('')
 
-  data() {
+    function linkDevice(){
+      deviceSelect()
+    }
+
+    //设备下拉请求
+    function deviceSelect() {
+      api.deviceListOne({ siteId: store.state.siteId }).then((requset) => {
+        if (requset.status === 'SUCCESS') {
+          deviceList.value = requset.data
+          deviceCode.value = requset.data[0] ? requset.data[0].deviceCode : ''
+        } else {
+          ElMessage.error(requset.msg)
+        }
+      })
+    }
+   
+    onMounted(() => {
+      deviceSelect()
+      
+    })
     return {
+      store,
+      deviceList,
+      deviceCode,
+      linkDevice,
+      deviceSelect,
       value4: '请选择',
-      number: 1,
-      measurType: 1,
-      select: 1,
-      currentPage4: 4,
-      showDialog: false,
-      tabPosition: 'one',
-      input: '',
       region: '',
+     
     }
   },
-  methods: {},
-}
+})
+
+
+
 </script>
  
 <style scoped lang="scss">

+ 78 - 41
src/views/powerQuality/asseReport/scoreReport.vue

@@ -4,19 +4,39 @@
     <div class="filter-container">
       <div class="left">
         <div>
+          <div class="filter-item">
+            选择站点:
+            <el-select
+              v-model="store.state.siteId"
+              placeholder="请选择"
+              style="width: 220px"
+              clearable
+              filterable
+            >
+              <el-option
+                v-for="site in store.state.siteList"
+                :key="site"
+                :label="site.siteName"
+                :value="site.id"
+              ></el-option>
+            </el-select>
+          </div>
+
           <el-button
             class="search-button timeTab"
             @click="num = 0"
             :type="num == 0 ? 'primary' : ''"
-            >按日</el-button
           >
+            按日
+          </el-button>
           <el-button
             class="search-button timeTab"
             @click="num = 1"
             :type="num == 1 ? 'primary' : ''"
             style="margin-left: 0 !important; margin-right: 20px"
-            >按月</el-button
           >
+            按月
+          </el-button>
 
           <div class="filter-item">
             日期:
@@ -25,8 +45,7 @@
               type="dates"
               placeholder="请选择"
               style="width: 200px"
-            >
-            </el-date-picker>
+            ></el-date-picker>
           </div>
 
           <el-button type="primary" class="search-button">搜索</el-button>
@@ -35,18 +54,18 @@
     </div>
     <!-- 筛选end -->
 
-    <el-row :gutter="20" >
-      <el-col :md="24" :lg="7" >
+    <el-row :gutter="20">
+      <el-col :md="24" :lg="7">
         <div class="grid-content bg-purple">
           <div class="blanceChartTit">
             <span>评分</span>
           </div>
-          
-            <radar-chart></radar-chart>
-            <div class="totalScore">总评分:40  
-              <el-button type="danger">不合格</el-button>
-            </div>
-        
+
+          <radar-chart></radar-chart>
+          <div class="totalScore">
+            总评分:40
+            <el-button type="danger">不合格</el-button>
+          </div>
         </div>
         <br />
         <div class="grid-content bg-purple">
@@ -65,20 +84,26 @@
           style="width: 100%"
           :header-cell-style="headCellStyle"
         >
-          <el-table-column prop="huilv" label="回路" width="">
-          </el-table-column>
-          <el-table-column prop="gongLv" label="功率因数" width="">
-          </el-table-column>
+          <el-table-column prop="huilv" label="回路" width=""></el-table-column>
+          <el-table-column
+            prop="gongLv"
+            label="功率因数"
+            width=""
+          ></el-table-column>
 
           <el-table-column label="不平衡度">
             <el-table-column label="电流" width="">
               <template #default="scope">
-                <el-button size="mini" round type="danger">{{ scope.row.dianLiu }}</el-button>
+                <el-button size="mini" round type="danger">
+                  {{ scope.row.dianLiu }}
+                </el-button>
               </template>
             </el-table-column>
             <el-table-column label="电压">
               <template #default="scope">
-                <el-button size="mini" round type="success">{{ scope.row.dianYa }}</el-button>
+                <el-button size="mini" round type="success">
+                  {{ scope.row.dianYa }}
+                </el-button>
               </template>
             </el-table-column>
           </el-table-column>
@@ -97,11 +122,11 @@
             <el-table-column prop="city" label="C相">
               <template #default="scope">
                 <el-button size="mini" round>{{ scope.row.city }}</el-button>
-              </template></el-table-column
-            >
+              </template>
+            </el-table-column>
           </el-table-column>
           <el-table-column label="电流负载率">
-             <el-table-column prop="name" label="A相" width="">
+            <el-table-column prop="name" label="A相" width="">
               <template #default="scope">
                 <el-button size="mini" round>{{ scope.row.name }}</el-button>
               </template>
@@ -114,8 +139,8 @@
             <el-table-column prop="city" label="C相">
               <template #default="scope">
                 <el-button size="mini" round>{{ scope.row.city }}</el-button>
-              </template></el-table-column
-            >
+              </template>
+            </el-table-column>
           </el-table-column>
           <el-table-column label="电流谐波畸变率">
             <el-table-column prop="name" label="A相" width="">
@@ -131,8 +156,8 @@
             <el-table-column prop="city" label="C相">
               <template #default="scope">
                 <el-button size="mini" round>{{ scope.row.city }}</el-button>
-              </template></el-table-column
-            >
+              </template>
+            </el-table-column>
           </el-table-column>
         </el-table>
         <!-- 表格end -->
@@ -142,18 +167,36 @@
 </template>
 
 <script>
+import { useStore } from 'vuex'
+import { defineComponent, onMounted } from 'vue'
 import radarChart from "./scoreReportComponent/radarChart.vue";
 import pieChart from "./scoreReportComponent/pieChart.vue";
-// import scoreReport from "./scoreReport";
-export default {
-  name: "ScoreReport",
+
+export default defineComponent({
+  name: 'ScoreReport',
   components: {
     radarChart,
     pieChart,
   },
+  setup() {
+    const store = useStore()
 
-  data() {
+    function headCellStyle({ row, column, rowIndex, columnIndex }) {
+      row,column
+      if (columnIndex !== 0 && columnIndex !== 1 && rowIndex === 0) {
+        return `text-align:center`;
+      } else {
+        return "";
+      }
+    }
+   
+    onMounted(() => {
+    
+      
+    })
     return {
+      store,
+      headCellStyle,
       num: 0,
       value4: "",
       tableData: [
@@ -167,19 +210,13 @@ export default {
         },
       ],
     };
+     
+    
   },
-  methods: {
-    // 表头行的 style 的回调方法
-    headCellStyle({ row, column, rowIndex, columnIndex }) {
-      row,column
-      if (columnIndex !== 0 && columnIndex !== 1 && rowIndex === 0) {
-        return `text-align:center`;
-      } else {
-        return "";
-      }
-    },
-  },
-};
+})
+
+
+
 </script>
  
 <style scoped lang="scss">

+ 10 - 3
src/views/powerQuality/harmonicReport/index.vue

@@ -4,12 +4,15 @@
     <div class="filter-container">
       <div class="left">
         <div>
-          <!-- <div class="filter-item">
+          <div class="filter-item">
             选择站点:
             <el-select
               v-model="store.state.siteId"
               placeholder="请选择"
-              style="width: 150px"
+              style="width: 220px"
+              clearable
+              filterable
+               @change="linkDevice()"
             >
               <el-option
                 v-for="site in store.state.siteList"
@@ -18,7 +21,7 @@
                 :value="site.id"
               ></el-option>
             </el-select>
-          </div> -->
+          </div>
 
           <div class="filter-item">
             选择设备:
@@ -162,6 +165,9 @@ export default defineComponent({
         data: [],
       },
     ])
+    function linkDevice(){
+      deviceSelect()
+    }
 
     function deviceSelect() {
       api.deviceListOne({ siteId: store.state.siteId }).then((requset) => {
@@ -239,6 +245,7 @@ export default defineComponent({
       listTabsChange,
       listSelect,
       deviceSelect,
+      linkDevice,
 
       store,
       dateType,

+ 244 - 0
src/views/powerQuality/realTimeMonitoring/loopMonitor-ori.vue

@@ -0,0 +1,244 @@
+<template>
+  <div>
+    <!-- 筛选start -->
+    <div class="filter-container">
+      <div class="left">
+        <div>
+          <!-- <div class="filter-item">
+            选择站点:
+            <el-select
+              v-model="store.state.siteId"
+              placeholder="请选择"
+              style="width: 220px"
+              clearable
+              filterable
+            >
+              <el-option
+                v-for="site in store.state.siteList"
+                :key="site"
+                :label="site.siteName"
+                :value="site.id"
+              ></el-option>
+            </el-select>
+          </div> -->
+
+          <div class="filter-item">
+            设备:
+            <el-select
+              v-model="region"
+              placeholder="请选择"
+              style="width: 200px"
+            >
+              <el-option label="设备一" value="1"></el-option>
+              <el-option label="设备二" value="2"></el-option>
+            </el-select>
+          </div>
+          <el-button type="primary" class="search-button">搜索</el-button>
+        </div>
+      </div>
+      <div class="right descIcon">
+        <img src="@/assets/images/descIcon.png" alt="" />
+        指标说明
+      </div>
+    </div>
+    <!-- 筛选end -->
+
+    <el-row :gutter="20" class="mt-20">
+      <!-- 三项不平衡度 -->
+      <el-col :md="24" :lg="8">
+        <div class="grid-content bg-purple loopUnbanlancePanel">
+          <div class="blanceChartTit">
+            <span>三项不平衡度</span>
+          </div>
+          <el-row
+            :gutter="20"
+            style="padding: 20px; border-bottom: 1px solid #d3dce6"
+          >
+            <el-col :span="12" class="loopUnbanlanceCard">
+              <div class="grid-content" style="text-align: center">
+                <loop-radarChart></loop-radarChart>
+              </div>
+            </el-col>
+            <el-col :span="12" class="loopUnbanlanceCard">
+              <div
+                style="
+                  width: 90%;
+                  background: #1187ff;
+                  margin: 0px auto;
+                  text-align: center;
+                  color: #fff;
+                  padding: 10px 0px;
+                "
+              >
+                <div class="mb-10">电压不平衡度</div>
+                <div>100%</div>
+              </div>
+              <ul>
+                <li>
+                  <div>A相电压</div>
+                  <div>
+                    <div class="mb-5">幅值:9.72A</div>
+                    <div>相角:-</div>
+                  </div>
+                </li>
+                <li>
+                  <div>A相电压</div>
+                  <div>
+                    <div class="mb-5">幅值:9.72A</div>
+                    <div>相角:-</div>
+                  </div>
+                </li>
+                <li>
+                  <div>A相电压</div>
+                  <div>
+                    <div class="mb-5">幅值:9.72A</div>
+                    <div>相角:-</div>
+                  </div>
+                </li>
+              </ul>
+            </el-col>
+          </el-row>
+
+          <el-row
+            :gutter="20"
+            style="padding: 20px; border-bottom: 1px solid #d3dce6"
+          >
+            <el-col :span="12" class="loopUnbanlanceCard">
+              <div class="grid-content" style="text-align: center">
+                <loop-radarChart></loop-radarChart>
+              </div>
+            </el-col>
+            <el-col :span="12" class="loopUnbanlanceCard">
+              <div
+                style="
+                  width: 90%;
+                  background: #1187ff;
+                  margin: 0px auto;
+                  text-align: center;
+                  color: #fff;
+                  padding: 10px 0px;
+                "
+              >
+                <div class="mb-10">电流不平衡度</div>
+                <div>100%</div>
+              </div>
+              <ul>
+                <li>
+                  <div>A相电压</div>
+                  <div>
+                    <div class="mb-5">幅值:9.72A</div>
+                    <div>相角:-</div>
+                  </div>
+                </li>
+                <li>
+                  <div>A相电压</div>
+                  <div>
+                    <div class="mb-5">幅值:9.72A</div>
+                    <div>相角:-</div>
+                  </div>
+                </li>
+                <li>
+                  <div>A相电压</div>
+                  <div>
+                    <div class="mb-5">幅值:9.72A</div>
+                    <div>相角:-</div>
+                  </div>
+                </li>
+              </ul>
+            </el-col>
+          </el-row>
+        </div>
+      </el-col>
+      <!-- 三项不平衡度 end -->
+
+      <!-- 谐波 -->
+      <el-col :md="24" :lg="16">
+        <harmonic-panel></harmonic-panel>
+      </el-col>
+      <!-- 谐波 end -->
+    </el-row>
+
+    <el-row :gutter="20" class="mt-20">
+      <!-- 电压start -->
+      <el-col :md="24" :lg="8" class="mb-20">
+        <voltage-panel></voltage-panel>
+      </el-col>
+      <!-- 电压end -->
+
+      <!-- 频率 start-->
+      <el-col :md="24" :lg="8" class="mb-20">
+        <frequency-panel></frequency-panel>
+      </el-col>
+      <!-- 频率 end -->
+
+      <!-- 有功功率 -->
+      <el-col :md="24" :lg="8">
+        <power-panel></power-panel>
+      </el-col>
+      <!-- 有功功率 end -->
+    </el-row>
+  </div>
+</template>
+
+<script>
+import loopRadarChart from './loopMonitorComponent/loopRadarChart'
+
+import harmonicPanel from './loopMonitorComponent/harmonicPanel'
+import voltagePanel from './loopMonitorComponent/voltagePanel'
+import frequencyPanel from './loopMonitorComponent/frequencyPanel'
+import powerPanel from './loopMonitorComponent/powerPanel'
+export default {
+  components: {
+    loopRadarChart,
+    harmonicPanel,
+    voltagePanel,
+    frequencyPanel,
+    powerPanel,
+  },
+  name: 'LoopMonitor',
+
+  data() {
+    return {
+      value4: '请选择',
+      number: 1,
+      measurType: 1,
+      select: 1,
+      currentPage4: 4,
+      showDialog: false,
+      tabPosition: 'one',
+      input: '',
+      region: '',
+    }
+  },
+  methods: {},
+}
+</script>
+ 
+<style lang="scss" scoped>
+.el-row {
+  margin-bottom: 20px;
+  &:last-child {
+    margin-bottom: 0;
+  }
+}
+.el-col {
+  border-radius: 4px;
+}
+.bg-purple-dark {
+  border: 1px solid #99a9bf;
+}
+.bg-purple {
+  border: 1px solid #d3dce6;
+}
+.bg-purple-light {
+  border: 1px solid #e5e9f2;
+}
+.grid-content {
+  border-radius: 4px;
+  min-height: 36px;
+}
+.row-bg {
+  padding: 10px 0;
+  border: 1px solid #f9fafc;
+}
+</style>

+ 157 - 98
src/views/powerQuality/realTimeMonitoring/loopMonitor.vue

@@ -1,142 +1,177 @@
 <template>
   <div>
-     <!-- 筛选start -->
+    <!-- 筛选start -->
     <div class="filter-container">
       <div class="left">
         <div>
           <div class="filter-item">
-            设备:
+            选择站点:
             <el-select
-              v-model="region"
+              v-model="store.state.siteId"
               placeholder="请选择"
-              style="width: 200px"
+              style="width: 220px"
+              clearable
+              filterable
+               @change="linkDevice()"
             >
-              <el-option label="设备一" value="1"></el-option>
-              <el-option label="设备二" value="2"></el-option>
+              <el-option
+                v-for="site in store.state.siteList"
+                :key="site"
+                :label="site.siteName"
+                :value="site.id"
+              ></el-option>
+            </el-select>
+          </div>
+          <div class="filter-item" style="margin-right: 20px">
+            选择设备:
+            <el-select
+              v-model="deviceCode"
+              placeholder="请选择"
+              style="width: 150px"
+            >
+              <el-option
+                v-for="device in deviceList"
+                :key="device"
+                :label="device.deviceName"
+                :value="device.deviceCode"
+              ></el-option>
             </el-select>
           </div>
           <el-button type="primary" class="search-button">搜索</el-button>
         </div>
       </div>
-       <div class="right descIcon">
-        <img src="@/assets/images/descIcon.png" alt=""  >
+      <div class="right descIcon">
+        <img src="@/assets/images/descIcon.png" alt="" />
         指标说明
       </div>
     </div>
     <!-- 筛选end -->
-    
 
-    
     <el-row :gutter="20" class="mt-20">
-
       <!-- 三项不平衡度 -->
-      <el-col   :md="24" :lg="8" >
+      <el-col :md="24" :lg="8">
         <div class="grid-content bg-purple loopUnbanlancePanel">
           <div class="blanceChartTit">
             <span>三项不平衡度</span>
           </div>
-          <el-row :gutter="20" style="padding: 20px; border-bottom: 1px solid #d3dce6;" >
-            <el-col :span="12"  class="loopUnbanlanceCard">
-              <div
-                class="grid-content "
-                style="text-align: center" >
-                 <loop-radarChart></loop-radarChart>
-                </div>
+          <el-row
+            :gutter="20"
+            style="padding: 20px; border-bottom: 1px solid #d3dce6"
+          >
+            <el-col :span="12" class="loopUnbanlanceCard">
+              <div class="grid-content" style="text-align: center">
+                <loop-radarChart></loop-radarChart>
+              </div>
             </el-col>
             <el-col :span="12" class="loopUnbanlanceCard">
-              <div style="width:90%;background:#1187FF;margin:0px auto;text-align:center;color:#fff;padding:10px 0px">
+              <div
+                style="
+                  width: 90%;
+                  background: #1187ff;
+                  margin: 0px auto;
+                  text-align: center;
+                  color: #fff;
+                  padding: 10px 0px;
+                "
+              >
                 <div class="mb-10">电压不平衡度</div>
                 <div>100%</div>
               </div>
               <ul>
                 <li>
-                 <div>A相电压</div>
-                 <div>
-                   <div class="mb-5">幅值:9.72A</div>
-                   <div>相角:-</div>
-                 </div>
+                  <div>A相电压</div>
+                  <div>
+                    <div class="mb-5">幅值:9.72A</div>
+                    <div>相角:-</div>
+                  </div>
                 </li>
                 <li>
-                 <div>A相电压</div>
-                 <div>
-                   <div class="mb-5">幅值:9.72A</div>
-                   <div>相角:-</div>
-                 </div>
+                  <div>A相电压</div>
+                  <div>
+                    <div class="mb-5">幅值:9.72A</div>
+                    <div>相角:-</div>
+                  </div>
                 </li>
                 <li>
-                 <div>A相电压</div>
-                 <div>
-                   <div class="mb-5">幅值:9.72A</div>
-                   <div>相角:-</div>
-                 </div>
+                  <div>A相电压</div>
+                  <div>
+                    <div class="mb-5">幅值:9.72A</div>
+                    <div>相角:-</div>
+                  </div>
                 </li>
               </ul>
             </el-col>
           </el-row>
 
-          <el-row :gutter="20" style="padding: 20px; border-bottom: 1px solid #d3dce6;" >
+          <el-row
+            :gutter="20"
+            style="padding: 20px; border-bottom: 1px solid #d3dce6"
+          >
             <el-col :span="12" class="loopUnbanlanceCard">
-              <div
-                class="grid-content "
-                style="text-align: center" >
-                 <loop-radarChart></loop-radarChart>
-                </div>
+              <div class="grid-content" style="text-align: center">
+                <loop-radarChart></loop-radarChart>
+              </div>
             </el-col>
             <el-col :span="12" class="loopUnbanlanceCard">
-              <div style="width:90%;background:#1187FF;margin:0px auto;text-align:center;color:#fff;padding:10px 0px">
+              <div
+                style="
+                  width: 90%;
+                  background: #1187ff;
+                  margin: 0px auto;
+                  text-align: center;
+                  color: #fff;
+                  padding: 10px 0px;
+                "
+              >
                 <div class="mb-10">电流不平衡度</div>
                 <div>100%</div>
               </div>
               <ul>
                 <li>
-                 <div>A相电压</div>
-                 <div>
-                   <div class="mb-5">幅值:9.72A</div>
-                   <div>相角:-</div>
-                 </div>
+                  <div>A相电压</div>
+                  <div>
+                    <div class="mb-5">幅值:9.72A</div>
+                    <div>相角:-</div>
+                  </div>
                 </li>
                 <li>
-                 <div>A相电压</div>
-                 <div>
-                   <div class="mb-5">幅值:9.72A</div>
-                   <div>相角:-</div>
-                 </div>
+                  <div>A相电压</div>
+                  <div>
+                    <div class="mb-5">幅值:9.72A</div>
+                    <div>相角:-</div>
+                  </div>
                 </li>
                 <li>
-                 <div>A相电压</div>
-                 <div>
-                   <div class="mb-5">幅值:9.72A</div>
-                   <div>相角:-</div>
-                 </div>
+                  <div>A相电压</div>
+                  <div>
+                    <div class="mb-5">幅值:9.72A</div>
+                    <div>相角:-</div>
+                  </div>
                 </li>
               </ul>
             </el-col>
           </el-row>
-
-
         </div>
       </el-col>
-       <!-- 三项不平衡度 end -->
+      <!-- 三项不平衡度 end -->
 
       <!-- 谐波 -->
-      <el-col  :md="24" :lg="16">
+      <el-col :md="24" :lg="16">
         <harmonic-panel></harmonic-panel>
       </el-col>
-       <!-- 谐波 end -->
+      <!-- 谐波 end -->
     </el-row>
 
-
     <el-row :gutter="20" class="mt-20">
-
-     <!-- 电压start -->
+      <!-- 电压start -->
       <el-col :md="24" :lg="8" class="mb-20">
-         <voltage-panel></voltage-panel>
+        <voltage-panel></voltage-panel>
       </el-col>
       <!-- 电压end -->
 
       <!-- 频率 start-->
       <el-col :md="24" :lg="8" class="mb-20">
-        <frequency-panel></frequency-panel>   
+        <frequency-panel></frequency-panel>
       </el-col>
       <!-- 频率 end -->
 
@@ -144,44 +179,69 @@
       <el-col :md="24" :lg="8">
         <power-panel></power-panel>
       </el-col>
-       <!-- 有功功率 end -->
-  
+      <!-- 有功功率 end -->
     </el-row>
-    
   </div>
- 
 </template>
 
-<script> 
-import loopRadarChart from "./loopMonitorComponent/loopRadarChart";
+<script>
+import { useStore } from 'vuex'
+import { defineComponent, onMounted,ref } from 'vue'
+import loopRadarChart from './loopMonitorComponent/loopRadarChart'
 
-import harmonicPanel from "./loopMonitorComponent/harmonicPanel";
-import voltagePanel from "./loopMonitorComponent/voltagePanel";
-import frequencyPanel from "./loopMonitorComponent/frequencyPanel";
-import powerPanel from "./loopMonitorComponent/powerPanel";
-export default {
-   components: { loopRadarChart,harmonicPanel,voltagePanel,frequencyPanel,powerPanel },
-  name: "LoopMonitor",
- 
-  data() {
-   
+import harmonicPanel from './loopMonitorComponent/harmonicPanel'
+import voltagePanel from './loopMonitorComponent/voltagePanel'
+import frequencyPanel from './loopMonitorComponent/frequencyPanel'
+import powerPanel from './loopMonitorComponent/powerPanel'
 
-    return {
-      value4: "请选择",
-      number: 1,
-      measurType: 1,
-      select: 1,
-      currentPage4: 4,
-      showDialog: false,
-      tabPosition: "one",
-      input: "",
-      region: "",
-    }
+import * as api from '@/api/powerQuality/realScore.js'
+import { ElMessage } from 'element-plus'
+
+export default defineComponent({
+  name: 'LoopMonitor',
+  components: {
+    loopRadarChart,
+    harmonicPanel,
+    voltagePanel,
+    frequencyPanel,
+    powerPanel,
   },
-  methods: {
+  setup() {
+    const store = useStore()
+
+    const deviceList = ref([])
+    const deviceCode = ref('')
+
+    function linkDevice(){
+      deviceSelect()
+    }
+
+    //设备下拉请求
+    function deviceSelect() {
+      api.deviceListOne({ siteId: store.state.siteId }).then((requset) => {
+        if (requset.status === 'SUCCESS') {
+          deviceList.value = requset.data
+          deviceCode.value = requset.data[0] ? requset.data[0].deviceCode : ''
+        } else {
+          ElMessage.error(requset.msg)
+        }
+      })
+    }
    
+    onMounted(() => {
+      deviceSelect()
+      
+    })
+    return {
+      store,
+      deviceList,
+      deviceCode,
+      linkDevice,
+      deviceSelect
+     
+    }
   },
-};
+})
 </script>
  
 <style lang="scss" scoped>
@@ -210,6 +270,5 @@ export default {
 .row-bg {
   padding: 10px 0;
   border: 1px solid #f9fafc;
-} 
-
+}
 </style>

+ 24 - 0
src/views/powerQuality/realTimeMonitoring/realScore.vue

@@ -4,6 +4,25 @@
     <div class="filter-container">
       <div class="left">
         <div>
+           <div class="filter-item">
+            选择站点:
+            <el-select
+              v-model="store.state.siteId"
+              placeholder="请选择"
+              style="width: 220px"
+              clearable
+              filterable
+               @change="linkDevice()"
+            >
+              <el-option
+                v-for="site in store.state.siteList"
+                :key="site"
+                :label="site.siteName"
+                :value="site.id"
+              ></el-option>
+            </el-select>
+          </div>
+
           <div class="filter-item" style="margin-right: 20px">
             选择设备:
             <el-select
@@ -285,6 +304,10 @@ export default defineComponent({
       }
     }
 
+    function linkDevice(){
+      deviceSelect()
+    }
+
     //设备下拉请求
     function deviceSelect() {
       api.deviceListOne({ siteId: store.state.siteId }).then((requset) => {
@@ -473,6 +496,7 @@ export default defineComponent({
       echartsAllData,
       echartsTitle,
       rtRealScore,
+      linkDevice
     }
   },
 })

+ 25 - 0
src/views/powerQuality/unbalanceAnalysis/index.vue

@@ -4,6 +4,26 @@
     <div class="filter-container mb-10">
       <div class="left">
         <div>
+
+          <div class="filter-item">
+            选择站点:
+            <el-select
+              v-model="store.state.siteId"
+              placeholder="请选择"
+              style="width: 220px"
+              clearable
+              filterable
+               @change="linkDevice()"
+            >
+              <el-option
+                v-for="site in store.state.siteList"
+                :key="site"
+                :label="site.siteName"
+                :value="site.id"
+              ></el-option>
+            </el-select>
+          </div>
+
           <div class="filter-item">
             设备:
             <el-select
@@ -130,6 +150,10 @@ export default defineComponent({
 
     const dateTime = ref([new Date(2021, 10, 10, 10, 10), new Date()])
 
+    function linkDevice(){
+      deviceSelect()
+    }
+
     async function deviceSelect() {
       await api
         .deviceListOne({ siteId: store.state.siteId })
@@ -196,6 +220,7 @@ export default defineComponent({
       voltageChartData,
 
       dateTime,
+       linkDevice,
     }
   },
 })

+ 15 - 4
src/views/siteManage/variableList/index.vue

@@ -332,6 +332,8 @@ export default defineComponent({
     }
     // 编辑操作
     const editRow = (row) => {
+      console.log('row')
+      console.log(row)
       // tableItem.value = {
       //   dataArea: row.dataArea.toString(),
       //   monitoringEquipment: row.monitoringEquipment,
@@ -339,10 +341,19 @@ export default defineComponent({
 
       // }
 
-      tableItem.value = row
-      tableItem.value.dataArea = row.dataArea.toString()
-      tableItem.value.monitoringEquipment = row.monitoringEquipment
-      tableItem.value.communicationEquipment = row.communicationEquipment
+      tableItem.value = {
+        deviceCode: row.deviceCode,
+        variableName: row.variableName,
+        monitorDeviceName: row.monitorDeviceName,
+        variableCoding: row.variableCoding,
+        monitoringEquipment: row.monitoringEquipment,
+        communicationEquipment: row.communicationEquipment,
+        dataAddress: row.dataAddress,
+        dataType: row.dataType,
+        coefficient: row.coefficient,
+        saveCycle: row.saveCycle,
+        dataArea: row.dataArea.toString(),
+      }
       dialogTitle.value = '编辑'
       showDialog.value = true
     }