From 5ea910a9712f1409ecee60ee9fff3c95a97dd8dc Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期一, 30 九月 2024 15:53:54 +0800
Subject: [PATCH] 监测工具

---
 src/api/platform/online-util.js |   10 +++
 src/views/tool/online/index.vue |  118 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 128 insertions(+), 0 deletions(-)

diff --git a/src/api/platform/online-util.js b/src/api/platform/online-util.js
new file mode 100644
index 0000000..8425020
--- /dev/null
+++ b/src/api/platform/online-util.js
@@ -0,0 +1,10 @@
+import request from '@/utils/request'
+
+//
+export function check(query) {
+  return request({
+    url: '/system/util/online',
+    method: 'get',
+    params: query
+  })
+}
diff --git a/src/views/tool/online/index.vue b/src/views/tool/online/index.vue
new file mode 100644
index 0000000..0111d58
--- /dev/null
+++ b/src/views/tool/online/index.vue
@@ -0,0 +1,118 @@
+<template>
+  <div class="app-container">
+    <el-tabs v-model="active" @tab-click="changeActive">
+      <el-tab-pane label="鍦ㄧ嚎妫�娴�" name="1">
+        <el-form :model="form" :inline="true">
+          <el-form-item label="鍥芥爣鐮侊細">
+            <el-input v-model="form.serialNumber"/>
+          </el-form-item>
+          <el-form-item>
+            <el-button @click="check" type="primary">妫�娴�</el-button>
+          </el-form-item>
+        </el-form>
+        <div v-loading="loading" v-if="result.status">
+          <div class="row">
+            <div>妫�娴嬬粨鏋滐細</div>
+            <div>{{ result.status }}</div>
+          </div>
+          <div style="margin-top: 100px">
+            <div v-if="result.img">
+              <div>鍥剧墖锛�</div>
+              <div>
+                <el-image
+                  style="width: 100px; height: 100px"
+                  :src="result.img"
+                  fit="fill">
+                </el-image>
+              </div>
+            </div>
+            <div v-else>
+              <div>鍙栧浘澶辫触</div>
+            </div>
+          </div>
+
+        </div>
+      </el-tab-pane>
+      <el-tab-pane label="ping" name="2">
+        <el-form :model="form" :inline="true">
+          <el-form-item label="ip锛�">
+            <el-input v-model="form.ip"/>
+          </el-form-item>
+          <el-form-item>
+            <el-button @click="check" type="primary">妫�娴�</el-button>
+          </el-form-item>
+        </el-form>
+        <div v-if="result.status" v-loading="loading"  class="row">
+          <div>妫�娴嬬粨鏋滐細</div>
+          <div>{{ result.status }}</div>
+        </div>
+      </el-tab-pane>
+    </el-tabs>
+  </div>
+</template>
+
+<script>
+import {check} from "@/api/platform/online-util";
+
+export default {
+  name: "index",
+  data() {
+    return {
+      loading: false,
+      active: '1',
+      form: {
+        serialNumber: '',
+        ip: '',
+        type: '1',
+      },
+      result: {
+        status: '',
+        img: '',
+      },
+    }
+  },
+  methods: {
+    changeActive(tab) {
+      this.result = {
+        status: '',
+        img: '',
+      },
+      this.form.type = tab.name
+      if (this.form.type === '1') {
+        this.form.ip = ''
+      }
+      if (this.form.type === '2') {
+        this.form.serialNumber = ''
+      }
+    },
+    check() {
+      if (this.form.type === '1' && !this.form.serialNumber) {
+        this.$message.error("璇峰~鍐欐纭殑鍥芥爣鐮�")
+        return
+      }
+      if (this.form.type === '2' && !this.form.ip) {
+        this.$message.error("璇峰~鍐欐纭殑ip")
+        return
+      }
+      this.form.serialNumber = this.form.serialNumber.replace(/^\s+|\s+$/g, '')
+      this.form.ip = this.form.ip.replace(/^\s+|\s+$/g, '')
+      this.loading = true
+      check(this.form).then(res => {
+        this.result = res.data
+        this.loading = false
+      })
+    }
+  }
+}
+</script>
+
+<style scoped>
+.row {
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+}
+.app-container {
+  color: #5b5b5b;
+}
+</style>

--
Gitblit v1.8.0