liyangzheng 2 vuotta sitten
vanhempi
commit
9d401c83f5
2 muutettua tiedostoa jossa 148 lisäystä ja 50 poistoa
  1. 0 1
      src/utils/request.js
  2. 148 49
      src/views/dashboard/index.vue

+ 0 - 1
src/utils/request.js

@@ -15,7 +15,6 @@ const service = axios.create({
 service.interceptors.request.use(
   config => {
     let user = localStorage.getItem("userInfo")
-    console.log(user,'user');
     if (user) {
       user = JSON.parse(user)
       let userToken = user.sessionid

+ 148 - 49
src/views/dashboard/index.vue

@@ -12,7 +12,8 @@
                         <button @click="detailsModal = true">测试打开模态框</button>
                         <!-- 详细信息 -->
                         <div>
-                            <el-dialog :visible.sync="detailsModal" @opened="openDialog" @close="closeDialog" width="98%" top="1vh" :height="ceshi">
+                            <el-dialog :visible.sync="detailsModal" @opened="openDialog" @close="closeDialog" width="98%"
+                                top="1vh" :height="ceshi">
                                 <div class="detailsTittle">
                                     <span>xxx-详细信息</span>
                                 </div>
@@ -38,9 +39,10 @@
                                                 </p>
                                             </template>
                                         </div>
-                                        <AssociationVue v-if="insideOrOutside == '1'" :relation="thisRelation" ref="association" @getLineArr = "getLineArr"></AssociationVue>
+                                        <AssociationVue v-if="false" :relation="thisRelation" ref="association"
+                                            @getLineArr="getLineArr"></AssociationVue>
                                         <!-- 输入输出控制块 -->
-                                        <div v-if="insideOrOutside == '2'">
+                                        <div v-if="insideOrOutside">
                                             <!-- 导航栏 -->
                                             <div>
                                                 <!-- 导航栏 -->
@@ -55,6 +57,10 @@
                                                 </div>
                                                 <!-- 内容栏 -->
                                                 <div class="informationBox">
+                                                    <!-- 关联图 -->
+                                                    <div class="mashionBox" v-if="meshBox">
+
+                                                    </div>
                                                     <!-- sv发送盒子 -->
                                                     <div class="svgoBox" v-if="svgoBox">
                                                         <!-- 上层表格 -->
@@ -304,6 +310,90 @@
                                                             </el-table>
                                                         </div>
                                                     </div>
+                                                    <!-- goose接收盒子 -->
+                                                    <div class="svgoBox" v-if="gooseout">
+                                                        <!-- 上层表格 -->
+                                                        <div class="svgoTop">
+                                                            <el-table :data="gooseoutlist"
+                                                                style="width: 100%;margin: 0 auto;margin-top: 20px;"
+                                                                :header-cell-style="{ background: ' #F3F5FA ', color: ' black ' }"
+                                                                @row-click="sgList">
+                                                                <el-table-column label="序号" width="180">
+                                                                    <template slot-scope="scope">
+                                                                        <span>{{ scope.$index + 1 }}</span>
+                                                                    </template>
+                                                                </el-table-column>
+                                                                <el-table-column prop="attr_name" label="控制块名称" width="180">
+                                                                </el-table-column>
+                                                                <el-table-column prop="attr_dat_set" label="数据集"
+                                                                    width="180">
+                                                                    <template slot-scope="scope">
+                                                                        <span>{{ [scope.row.attr_dat_set] }}</span>
+                                                                    </template>
+                                                                </el-table-column>
+                                                                <el-table-column label="APPID">
+                                                                    <template slot-scope="scope">
+                                                                        <span>{{ scope.row.address.APPID }}</span>
+                                                                    </template>
+                                                                </el-table-column>
+                                                                <el-table-column label="MAC地址">
+                                                                    <template slot-scope="scope">
+                                                                        <span>{{ scope.row.address.MAC_Address }}</span>
+                                                                    </template>
+                                                                </el-table-column>
+                                                                <el-table-column label="VLAN_ID">
+                                                                    <template slot-scope="scope">
+                                                                        <span>{{ scope.row.address.VLAN_ID }}</span>
+                                                                    </template>
+                                                                </el-table-column>
+                                                            </el-table>
+                                                        </div>
+                                                        <!-- 下层表格 -->
+                                                        <p>MSV子端详情列表</p>
+                                                        <div class="svgoSon">
+                                                            <el-table :data="goosegoson"
+                                                                style="width: 100%;margin: 0 auto;margin-top: 20px;"
+                                                                :header-cell-style="{ background: ' #F3F5FA ', color: ' black ' }">
+                                                                <el-table-column label="序号" width="100">
+                                                                    <template slot-scope="scope">
+                                                                        <span>{{ scope.$index + 1 }}</span>
+                                                                    </template>
+                                                                </el-table-column>
+                                                                <el-table-column prop="do_desc" label="内部子端描述" width="240">
+                                                                </el-table-column>
+                                                                <el-table-column prop="attr_dat_set" label="内部子端地址"
+                                                                    width="200">
+                                                                    <template slot-scope="scope">
+                                                                        <span>
+                                                                            {{
+                                                                                scope.row.ld_inst && scope.row.ln_class
+                                                                                ? scope.row.ld_inst + '/' + scope.row.ld_inst +
+                                                                                scope.row.ln_class + '.' + scope.row.do_name
+                                                                                : ''
+                                                                            }}
+                                                                        </span>
+                                                                    </template>
+                                                                </el-table-column>
+                                                                <el-table-column label="外部IED名称">
+                                                                    <template slot-scope="scope">
+                                                                        <span>
+                                                                            {{
+                                                                                scope.row.out_ied_name && scope.row.out_ied_desc
+                                                                                ? scope.row.out_ied_name + '.' +
+                                                                                scope.row.out_ied_desc
+                                                                                : ''
+                                                                            }}
+                                                                        </span>
+                                                                    </template>
+                                                                </el-table-column>
+                                                                <el-table-column label="外部端子描述">
+                                                                    <template slot-scope="scope">
+                                                                        <span>{{ scope.row.out_do_desc }}</span>
+                                                                    </template>
+                                                                </el-table-column>
+                                                            </el-table>
+                                                        </div>
+                                                    </div>
                                                 </div>
                                             </div>
                                         </div>
@@ -326,8 +416,8 @@ import { forGround } from "@/api/basic/basic"
 import AssociationVue from './components/Association.vue'
 import { svgo, svout, gooseSun, gooseOut, allinPic, svgoSon } from "@/api/inandout/inandout"
 export default {
-    components:{AssociationVue},
-    name:'Dashboard',
+    components: { AssociationVue },
+    name: 'Dashboard',
     data() {
         return {
             detailsModal: false,
@@ -368,7 +458,7 @@ export default {
             ceshi: "500px",
             modelLeftList: [],//模态框内列表
             stationCid: "",
-            insideOrOutside: '1',//输入输出控制块盒子
+            insideOrOutside: false,//输入输出控制块盒子
             inOrOutList: [
                 {
                     name: "关联图",
@@ -391,9 +481,9 @@ export default {
                     class: "gooseout"
                 }
             ],
-            lineArr : [], //leaderline数据
-            relationList:{},//终端列表
-            thisRelation:{}, //当前选中终端
+            lineArr: [], //leaderline数据
+            relationList: {},//终端列表
+            thisRelation: {}, //当前选中终端
             iedName: "",
             svgoList: [],//sv发送列表
             svgoListson: [],//sv发送子列表
@@ -410,10 +500,10 @@ export default {
             goosegoson: [],//goose发送子端
             gooseoutson: [],//goose接收子端
             ifout: "",//判断是否为sv接收
+            meshBox: false,//关联图显示与否
+            meshList:{},//关联图数据
         };
-           
-        
-        },
+    },
 
 
     mounted() {
@@ -427,14 +517,6 @@ export default {
     methods: {
         goUrl(item, index) {
             this.selectedIndex = index;
-            console.log(item,'item1');
-            this.insideOrOutside = index+1
-            // if(item.name == "输入输出控制块"){
-            //     this.insideOrOutside = true
-            // }else{
-            //     this.insideOrOutside = false
-            // }
-            console.log(item, 'item1');
             if (item.name == "输入输出控制块") {
                 this.insideOrOutside = true
             } else {
@@ -445,7 +527,7 @@ export default {
         // 拿到首页左侧站点
         async forMesTo() {
             let res = await forGround({ pid: "0" })
-            this.modelLeftList = res.data
+            // this.modelLeftList = res.data
         },
         // 根据站点id拿到站点信息
         async getAllIedLink() {
@@ -464,36 +546,21 @@ export default {
             this.iedName = row.ied_name
             let res = await svgo({ scd_id: this.stationCid, ied_name: this.iedName })
             let resp = await svout({ scd_id: this.stationCid, ied_name: this.iedName })
+            let gos = await gooseOut({ scd_id: this.stationCid, ied_name: this.iedName })
+            let mesh = await allinPic({ scd_id: this.stationCid, ied_name: this.iedName, reset: 1 })
+            // sv接收
             this.svgoList = res.data.SampledValueControl
             this.goosegoson = resp.data
+            // goose接收
             this.goosegolist = res.data.GSEControl
+            // goose发送
+            this.gooseoutlist = gos.data
+            // 关联图
+            this.meshList = mesh.data
         },
         // 输入与输出控制块切换盒子
         boxChange(row, num) {
             this.selectedIndexOne = num
-
-            },
-        // 获取终端信息列表
-        async getRelationlist(){
-            let res = await getiedmse({scd_id:'8000003'})
-            this.relationList = res.data
-            this.thisRelation = this.relationList['CE1101']
-            console.log('thisRelation = ',this.thisRelation);
-        },
-        // 拿到子组件的leaderline数据
-        getLineArr(arr){
-            this.lineArr =  arr
-        },
-         // 打开dialog时画leaderline
-        openDialog(){
-            this.$refs.association.setLeaderline()
-        },
-        // 关闭dialog时删除leaderline
-        closeDialog(){
-            console.log('lineArr',this.lineArr);
-             this.lineArr.forEach((item) => {
-             item.remove();
-            });
             if (row.name === "SV发送") {
                 this.ifout = ''
                 this.svgoListson = []
@@ -515,23 +582,55 @@ export default {
             } else {
                 this.goosego = false
             }
+            if (row.name == 'GOOSE接收') {
+                this.ifout = ''
+                this.svgoListson = []
+                this.gooseout = true
+            } else {
+                this.gooseout = false
+            }
+            if (row.name == '关联图') {
+                this.ifout = ''
+                this.svgoListson = []
+                this.meshBox = true
+            } else {
+                this.meshBox = false
+            }
+        },
+        // 获取终端信息列表
+        async getRelationlist() {
+            let res = await getiedmse({ scd_id: '8000003' })
+            this.relationList = res.data
+            this.thisRelation = this.relationList['CE1101']
+        },
+        // 拿到子组件的leaderline数据
+        getLineArr(arr) {
+            this.lineArr = arr
+        },
+        // 打开dialog时画leaderline
+        openDialog() {
+            // this.$refs.association.setLeaderline()
+        },
+        // 关闭dialog时删除leaderline
+        closeDialog() {
+            this.lineArr.forEach((item) => {
+                item.remove();
+            });
         },
         // 表格一行点击事件
         async sgList(row, event, column) {
             this.svgoId = row.node_id
-            console.log(this.ifout, 'ifout');
             if (this.ifout !== "SV接收") {
                 let res = await svgoSon({ scd_id: this.stationCid, ied_name: this.iedName, ctrlid: this.svgoId })
                 this.svgoListson = res.data
             } else {
                 let res = await svout({ scd_id: this.stationCid, ied_name: this.iedName })
                 this.svgoListson = res.data
-                console.log(res, 'rrrrr');
             }
         }
-    
-     }
- }
+
+    }
+}
 </script>
 
 <style scoped>