From f1d079f9c0b3d384090477ca54e0548373d62b57 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Thu, 16 Jan 2025 11:56:39 +0800
Subject: [PATCH] 配置修改

---
 web_src/src/components/ParentPlatformList.vue |  193 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 193 insertions(+), 0 deletions(-)

diff --git a/web_src/src/components/ParentPlatformList.vue b/web_src/src/components/ParentPlatformList.vue
new file mode 100644
index 0000000..61e93fc
--- /dev/null
+++ b/web_src/src/components/ParentPlatformList.vue
@@ -0,0 +1,193 @@
+<template>
+  <div id="app" style="width: 100%">
+    <div class="page-header">
+      <div class="page-title">上级平台列表</div>
+      <div class="page-header-btn">
+        <el-button icon="el-icon-plus" size="mini" style="margin-right: 1rem;" type="primary" @click="addParentPlatform">添加</el-button>
+        <el-button icon="el-icon-refresh-right" circle size="mini" @click="refresh()"></el-button>
+      </div>
+    </div>
+
+    <!--设备列表-->
+    <el-table :data="platformList" style="width: 100%" :height="winHeight">
+      <el-table-column prop="name" label="名称" ></el-table-column>
+      <el-table-column prop="serverGBId" label="平台编号" min-width="200"></el-table-column>
+      <el-table-column label="是否启用" min-width="80" >
+        <template slot-scope="scope">
+          <div slot="reference" class="name-wrapper">
+            <el-tag size="medium" v-if="scope.row.enable">已启用</el-tag>
+            <el-tag size="medium" type="info" v-if="!scope.row.enable">未启用</el-tag>
+          </div>
+        </template>
+      </el-table-column>
+      <el-table-column label="状态" min-width="80" >
+        <template slot-scope="scope">
+          <div slot="reference" class="name-wrapper">
+            <el-tag size="medium" v-if="scope.row.status">在线</el-tag>
+            <el-tag size="medium" type="info" v-if="!scope.row.status">离线</el-tag>
+          </div>
+        </template>
+      </el-table-column>
+      <el-table-column label="地址" min-width="160" >
+        <template slot-scope="scope">
+          <div slot="reference" class="name-wrapper">
+            <el-tag size="medium">{{ scope.row.serverIP}}:{{scope.row.serverPort }}</el-tag>
+          </div>
+        </template>
+      </el-table-column>
+      <el-table-column prop="deviceGBId" label="设备国标编号" min-width="200" ></el-table-column>
+      <el-table-column prop="transport" label="信令传输模式" min-width="120" ></el-table-column>
+      <el-table-column prop="channelCount" label="通道数" min-width="120" ></el-table-column>
+      <el-table-column label="订阅信息" min-width="120"  fixed="right">
+        <template slot-scope="scope">
+          <i v-if="scope.row.alarmSubscribe" style="font-size: 20px" title="报警订阅" class="iconfont icon-gbaojings subscribe-on " ></i>
+          <i v-if="!scope.row.alarmSubscribe" style="font-size: 20px" title="报警订阅" class="iconfont icon-gbaojings subscribe-off " ></i>
+          <i v-if="scope.row.catalogSubscribe" title="目录订阅"  class="iconfont icon-gjichus subscribe-on" ></i>
+          <i v-if="!scope.row.catalogSubscribe" title="目录订阅" class="iconfont icon-gjichus subscribe-off" ></i>
+          <i v-if="scope.row.mobilePositionSubscribe" title="位置订阅" class="iconfont icon-gxunjians subscribe-on" ></i>
+          <i v-if="!scope.row.mobilePositionSubscribe" title="位置订阅" class="iconfont icon-gxunjians subscribe-off" ></i>
+        </template>
+      </el-table-column>
+
+      <el-table-column label="操作" min-width="240" fixed="right">
+        <template slot-scope="scope">
+          <el-button size="medium" icon="el-icon-edit" type="text" @click="editPlatform(scope.row)">编辑</el-button>
+          <el-button size="medium" icon="el-icon-share"  type="text"  @click="chooseChannel(scope.row)">选择通道</el-button>
+          <el-button size="medium" icon="el-icon-delete"  type="text" style="color: #f56c6c" @click="deletePlatform(scope.row)">删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    <el-pagination
+      style="float: right"
+      @size-change="handleSizeChange"
+      @current-change="currentChange"
+      :current-page="currentPage"
+      :page-size="count"
+      :page-sizes="[15, 25, 35, 50]"
+      layout="total, sizes, prev, pager, next"
+      :total="total">
+    </el-pagination>
+    <platformEdit ref="platformEdit" ></platformEdit>
+    <chooseChannelDialog ref="chooseChannelDialog" ></chooseChannelDialog>
+  </div>
+</template>
+
+<script>
+import platformEdit from './dialog/platformEdit.vue'
+import uiHeader from '../layout/UiHeader.vue'
+import chooseChannelDialog from './dialog/chooseChannel.vue'
+export default {
+  name: 'app',
+  components: {
+    platformEdit,
+    uiHeader,
+    chooseChannelDialog
+  },
+  data() {
+    return {
+      platformList: [], //设备列表
+
+      winHeight: window.innerHeight - 260,
+      currentPage:1,
+      count:15,
+      total:0
+    };
+  },
+  computed: {
+
+    getcurrentDeviceChannels: function() {
+
+    }
+  },
+  mounted() {
+    this.initData();
+    this.updateLooper = setInterval(this.initData, 10000);
+  },
+  destroyed() {
+    clearTimeout(this.updateLooper);
+  },
+  methods: {
+    addParentPlatform: function() {
+      this.$refs.platformEdit.openDialog(null, this.initData)
+    },
+    editPlatform: function(platform) {
+      console.log(platform)
+      this.$refs.platformEdit.openDialog(platform, this.initData)
+    },
+    deletePlatform: function(platform) {
+        var that = this;
+        that.$confirm('确认删除?', '提示', {
+              confirmButtonText: '确定',
+              cancelButtonText: '取消',
+              type: 'warning'
+            }).then(() => {
+                that.deletePlatformCommit(platform)
+            })
+    },
+    deletePlatformCommit: function(platform) {
+        var that = this;
+        that.$axios({
+          method: 'delete',
+          url:`/api/platform/delete/${platform.serverGBId}`
+        }).then(function (res) {
+            if (res.data.code === 0) {
+                that.$message({
+                    showClose: true,
+                    message: '删除成功',
+                    type: 'success'
+                });
+                that.initData()
+            }
+        }).catch(function (error) {
+            console.log(error);
+        });
+    },
+    chooseChannel: function(platform) {
+        console.log("platform.name: " + platform.name)
+       this.$refs.chooseChannelDialog.openDialog(platform.serverGBId,platform.deviceGBId, platform.name, platform.catalogId, platform.treeType, this.initData)
+    },
+    initData: function() {
+      this.getPlatformList();
+    },
+    currentChange: function(val){
+      this.currentPage = val;
+      this.getPlatformList();
+    },
+    handleSizeChange: function(val){
+      this.count = val;
+      this.getPlatformList();
+    },
+    getPlatformList: function() {
+      let that = this;
+
+      this.$axios({
+      	method: 'get',
+        url:`/api/platform/query/${that.count}/${that.currentPage}`
+      }).then(function (res) {
+        if (res.data.code === 0) {
+          that.total = res.data.data.total;
+          that.platformList = res.data.data.list;
+        }
+
+      }).catch(function (error) {
+        console.log(error);
+      });
+
+    },
+    refresh: function (){
+      this.initData();
+    }
+
+  }
+};
+</script>
+<style>
+.subscribe-on{
+  color: #409EFF;
+  font-size: 18px;
+}
+.subscribe-off{
+  color: #afafb3;
+  font-size: 18px;
+}
+</style>

--
Gitblit v1.9.3