From 04dbab8f2971802c3bf5eb38605dd15a96655f34 Mon Sep 17 00:00:00 2001
From: 安宇轩1 <11369407+an-yuxuan-1@user.noreply.gitee.com>
Date: 星期三, 27 十一月 2024 10:24:18 +0800
Subject: [PATCH] 分系统状态监控

---
 se-index/src/assets/images/ConditionMonitoring/edit.png      |    0 
 se-index/src/router/index.js                                 |    5 
 se-index/src/assets/images/ConditionMonitoring/left.png      |    0 
 se-index/src/assets/images/ConditionMonitoring/default.png   |    0 
 se-index/src/components/ConditionMonitoring.vue              |  410 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 se-index/src/components/door.vue                             |    2 
 se-index/src/assets/images/ConditionMonitoring/highlight.png |    0 
 se-index/src/assets/images/ConditionMonitoring/right.png     |    0 
 se-index/src/assets/images/ConditionMonitoring/bg.png        |    0 
 se-index/src/assets/images/ConditionMonitoring/delete.png    |    0 
 se-index/src/components/InferentialTaskControl.vue           |    2 
 11 files changed, 417 insertions(+), 2 deletions(-)

diff --git a/se-index/src/assets/images/ConditionMonitoring/bg.png b/se-index/src/assets/images/ConditionMonitoring/bg.png
new file mode 100644
index 0000000..e763c0d
--- /dev/null
+++ b/se-index/src/assets/images/ConditionMonitoring/bg.png
Binary files differ
diff --git a/se-index/src/assets/images/ConditionMonitoring/default.png b/se-index/src/assets/images/ConditionMonitoring/default.png
new file mode 100644
index 0000000..00a5515
--- /dev/null
+++ b/se-index/src/assets/images/ConditionMonitoring/default.png
Binary files differ
diff --git a/se-index/src/assets/images/ConditionMonitoring/delete.png b/se-index/src/assets/images/ConditionMonitoring/delete.png
new file mode 100644
index 0000000..b09250b
--- /dev/null
+++ b/se-index/src/assets/images/ConditionMonitoring/delete.png
Binary files differ
diff --git a/se-index/src/assets/images/ConditionMonitoring/edit.png b/se-index/src/assets/images/ConditionMonitoring/edit.png
new file mode 100644
index 0000000..21793c7
--- /dev/null
+++ b/se-index/src/assets/images/ConditionMonitoring/edit.png
Binary files differ
diff --git a/se-index/src/assets/images/ConditionMonitoring/highlight.png b/se-index/src/assets/images/ConditionMonitoring/highlight.png
new file mode 100644
index 0000000..95ee440
--- /dev/null
+++ b/se-index/src/assets/images/ConditionMonitoring/highlight.png
Binary files differ
diff --git a/se-index/src/assets/images/ConditionMonitoring/left.png b/se-index/src/assets/images/ConditionMonitoring/left.png
new file mode 100644
index 0000000..afc4552
--- /dev/null
+++ b/se-index/src/assets/images/ConditionMonitoring/left.png
Binary files differ
diff --git a/se-index/src/assets/images/ConditionMonitoring/right.png b/se-index/src/assets/images/ConditionMonitoring/right.png
new file mode 100644
index 0000000..f61f523
--- /dev/null
+++ b/se-index/src/assets/images/ConditionMonitoring/right.png
Binary files differ
diff --git a/se-index/src/components/ConditionMonitoring.vue b/se-index/src/components/ConditionMonitoring.vue
new file mode 100644
index 0000000..0cdb416
--- /dev/null
+++ b/se-index/src/components/ConditionMonitoring.vue
@@ -0,0 +1,410 @@
+<template>
+  <div class="box">
+    <el-row :gutter="10">
+      <el-col class="left" :span="4">
+        <div style="padding-top: 20px">
+          <div
+            @click="change(item)"
+            v-for="(item, index) in dataArr"
+            :key="'butBox' + index"
+            class="butBox"
+            :style="focus == item ? highlightImg : defaultImg"
+          >
+            {{ item }}
+          </div>
+        </div>
+      </el-col>
+      <el-col class="right" :span="20">
+        <div style="height: 100%">
+          <div class="boxTop">
+            <div style="margin:20px 20px">
+            <el-table :data="table1.data">
+              <el-table-column width="100" label="骞冲彴鏍囧織" prop="logo" align="center" >
+                <template><div class="bg"></div></template>
+              </el-table-column>
+              <el-table-column width="200" label="骞冲彴鍚嶇О" prop="name" align="center" ></el-table-column>
+              <el-table-column width="100" label="骞冲彴绫诲瀷" prop="type" align="center" >
+                <template slot-scope="scope"><div class="type">{{scope.row.type}}</div></template>
+              </el-table-column>
+              <el-table-column min-width="350" label="骞冲彴涓婚〉" prop="url" align="center" ></el-table-column>
+              <el-table-column width="200" label="骞冲彴鎻忚堪" prop="describe" align="center" ></el-table-column>
+              <el-table-column width="100" label="鍒涘缓鑰�" prop="create" align="center" ></el-table-column>
+              <el-table-column width="180" label="鍒涘缓鏃堕棿" prop="createTime" align="center" ></el-table-column>
+              <el-table-column width="100" label="鍛婅璁剧疆" prop="giveAlarm" align="center" >
+                <template slot-scope="scope">
+                  <el-switch
+                  v-model="scope.row.giveAlarm"
+                  active-color="#0CB8FF"
+                  inactive-color="#ff4949">
+                </el-switch></template>
+              </el-table-column>
+              <el-table-column width="80" label="缂栬緫" align="center">
+                <template slot-scope="scope">
+                  <div class="edit" @click="handleClick(scope.row)"></div>
+                </template>
+              </el-table-column>
+              <el-table-column label="鍒犻櫎" width="80" align="center">
+                <template slot-scope="scope">
+                  <div class="delete" @click="handleClick(scope.row)"></div>
+                </template>
+              </el-table-column>
+            </el-table>
+            </div>
+          </div>
+          <div class="boxBottom">
+            <el-row :gutter="30">
+              <el-col :span="12"> 
+                <div  class="box1">
+                    <div class="title">{{focus}}</div>
+                    <div class="group">
+                        <div class="text">鍚仠鐘舵��</div>
+                        <div class="status">姝e父鍚姩</div>
+                    </div>
+                    <div class="group">
+                        <div class="text">閾炬帴鐘舵��</div>
+                        <div class="status">姝e父閾炬帴</div>
+                    </div>
+                    <div class="group">
+                        <div class="text">鏁呴殰鏃堕棿</div>
+                        <div class="status">鏃犳晠闅�</div>
+                    </div>
+                    <div class="group">
+                        <div class="text">鏇存柊鏃堕棿</div>
+                        <div>2024-11-01 11:08:48</div>
+                    </div>
+                <div class="log">
+                    <div class="logTitle">寮傚父鏃ュ織</div>
+                    <div class="logText">8C-11-C 11:35:(6 00 DE0- bierntomhya;ahi.:mn.nf;, imaint:ga:he搴楁埛:famu:"sn,sac:1:</div>
+                    <div class="logText">8C-11-C 11:35:(6 00 DE0- bierntomhya;ahi.:mn.nf;, imaint:ga:he搴楁埛:famu:"sn,sac:1:</div>
+                </div>
+                </div>
+              </el-col>
+              <el-col style="overflow:auto;" :span="12">
+                <el-table :data="table2.data">
+                  <el-table-column align="center" label="搴忓彿" type="index" width="60">
+                  </el-table-column>
+                  <el-table-column
+                    v-for="(item, index) in table2.tableTh"
+                    :key="index"
+                    :label="item.label"
+                    :prop="item.prop"
+                    align="center"
+                  >
+                  </el-table-column>
+                  <el-table-column label="鎿嶄綔" min-width="60" align="center">
+                    <template slot-scope="scope">
+                      <el-button
+                        type="primary"
+                        @click="handleClick(scope.row)"
+                        size="small"
+                        >妫�楠�</el-button
+                      >
+                    </template>
+                  </el-table-column>
+                </el-table>
+              </el-col>
+            </el-row>
+          </div>
+        </div>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "ConditionMonitoring",
+  data() {
+    return {
+      focus: "浣滄垬姒傚康寮�鍙戜笌楠岃瘉骞冲彴",
+      highlightImg: {
+        backgroundImage: `url(${require("@/assets/images/ConditionMonitoring/highlight.png")})`,
+      },
+      defaultImg: {
+        backgroundImage: `url(${require("@/assets/images/ConditionMonitoring/default.png")})`,
+      },
+      dataArr: [
+        "浣滄垬姒傚康寮�鍙戜笌楠岃瘉骞冲彴",
+        "浣滄垬绯荤粺璁捐涓庤瘎浼板钩鍙�",
+        "浣滄垬鏂规鎺ㄦ紨涓庡垎鏋愬钩鍙�",
+        "鎴樻硶鍒涙柊涓庝綔鎴樿繍鐢ㄧ爺绌跺钩鍙�",
+        "鎴樼暐缁煎悎闆嗘垚鐮旇鍘�",
+        "鎬佸娍鏄剧ず鍒嗙郴缁�",
+        "缁煎悎绠℃帶鍒嗙郴缁�",
+        "鏁版嵁绠$悊鍒嗙郴缁�",
+        "浠跨湡璧勬簮绠$悊绯荤粺",
+      ],
+      table2: {
+        data: [
+          {
+            subsystemName: "浣滄垬姒傚康寮�鍙戜笌楠岃瘉骞冲彴",
+            interactionStatus: "姝e父",
+            updateTime: "2024-01-26",
+          },
+          {
+            subsystemName: "浣滄垬绯荤粺璁捐涓庤瘎浼板钩鍙�",
+            interactionStatus: "姝e父",
+            updateTime: "2024-01-26",
+          },
+          {
+            subsystemName: "浣滄垬鏂规鎺ㄦ紨涓庡垎鏋愬钩鍙�",
+            interactionStatus: "姝e父",
+            updateTime: "2024-01-26",
+          },
+          {
+            subsystemName: "鎴樻硶鍒涙柊涓庝綔鎴樿繍鐢ㄧ爺绌跺钩鍙�",
+            interactionStatus: "姝e父",
+            updateTime: "2024-01-26",
+          },
+          {
+            subsystemName: "鎴樼暐缁煎悎闆嗘垚鐮旇鍘�",
+            interactionStatus: "姝e父",
+            updateTime: "2024-01-26",
+          },
+          {
+            subsystemName: "鎬佸娍鏄剧ず鍒嗙郴缁�",
+            interactionStatus: "姝e父",
+            updateTime: "2024-01-26",
+          },
+          {
+            subsystemName: "缁煎悎绠℃帶鍒嗙郴缁�",
+            interactionStatus: "姝e父",
+            updateTime: "2024-01-26",
+          },
+          {
+            subsystemName: "鏁版嵁绠$悊鍒嗙郴缁�",
+            interactionStatus: "姝e父",
+            updateTime: "2024-01-26",
+          },
+          {
+            subsystemName: "浠跨湡璧勬簮绠$悊绯荤粺",
+            interactionStatus: "姝e父",
+            updateTime: "2024-01-26",
+          },
+        ],
+        tableTh: [
+          {
+            label: "鍒嗙郴缁熷悕绉�",
+            prop: "subsystemName",
+          },
+          {
+            label: "浜や簰鐘舵��",
+            prop: "interactionStatus",
+          },
+          {
+            label: "鏇存柊鏃堕棿",
+            prop: "updateTime",
+          },
+        ],
+      },
+      table1: {
+        data: [
+          {
+            name: "浣滄垬姒傚康寮�鍙戜笌楠岃瘉骞冲彴",
+            type: "榛樿搴旂敤",
+            url: "http://10.64.33.1859080/imcloud2/e/space/task?id=1762040579103117314",
+            describe: "",
+            create:"绠$悊鍛�",
+            createTime: "2024-02-26 17:03:06",
+            giveAlarm: true,
+          }
+        ],
+      },
+    };
+  },
+  methods: {
+    change(value) {
+      this.focus = value;
+      this.table1.data.name = value
+      this.table1 = {
+        data: [
+          {
+            name: value,
+            type: "榛樿搴旂敤",
+            url: "http://10.64.33.1859080/imcloud2/e/space/task?id=1762040579103117314",
+            describe: "",
+            create:"绠$悊鍛�",
+            createTime: "2024-02-26 17:03:06",
+            giveAlarm: true,
+          }
+        ],
+      }
+    },
+    handleClick(row) {},
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.box {
+  width: 100%;
+  height: 100%;
+  .el-row {
+    height: 100%;
+    padding: 0 20px 20px;
+    .el-col {
+      height: 100%;
+    }
+  }
+  .left {
+    background-size: 100% 100%;
+    background-image: url("~@/assets/images/ConditionMonitoring/left.png");
+    .butBox {
+      width: 90%;
+      margin: 0px auto 30px;
+      text-align: center;
+      height: 40px;
+      line-height: 40px;
+      font-size: 18px;
+      cursor: pointer;
+      background-size: 100% 100%;
+      color: #fff;
+    }
+  }
+  .right {
+    background-image: url("~@/assets/images/ConditionMonitoring/right.png");
+    background-size: 100% 100%;
+    .boxTop {
+      width: 100%;
+      height: 20%;
+      // margin-bottom: 20px;
+      .type{
+        width: 75px;
+        height: 25px;
+        line-height: 22px;
+        background: #066932;
+        color: #22C707;
+        box-shadow: 0px 2px 6px 0px rgba(0,0,0,0.35);
+        border-radius: 4px;
+        border: 1px solid #FFFFFF;
+        margin:0 auto;
+      }
+      .bg{
+        width: 50px;
+        height: 50px;
+        margin:0 auto;
+        background-image: url("~@/assets/images/ConditionMonitoring/bg.png");
+        background-size: 100% 100%;
+      }
+      .edit{
+        width: 38px;
+        height: 38px;
+        margin:0 auto;
+        background-image: url("~@/assets/images/ConditionMonitoring/edit.png");
+        background-size: 100% 100%;
+      }
+      .delete{
+        width: 38px;
+        height: 38px;
+        margin:0 auto;
+        background-image: url("~@/assets/images/ConditionMonitoring/delete.png");
+        background-size: 100% 100%;
+      }
+    }
+    .boxBottom {
+      width: 100%;
+      height: 78%;
+      .box1{
+        width: 100%;
+        height: 100%;
+        background-color: #2D4C9E;
+            color: #fff;
+        .title{
+            padding-top:20px;
+            margin-bottom:10px;
+            font-size: 24px;
+            margin-left:15px;
+        }
+        .group{
+            display: flex;
+            line-height: 37px;
+            height: 37px;
+            font-size: 20px;
+            font-weight: 400;
+            margin-bottom:4px;
+            .text{
+                width: 130px;
+                text-align: center;
+            }
+            .status{
+                width: 115px;
+                // height:37px;
+                text-align: center;
+                background-color: #00E572;
+            }
+        }
+        .log{
+            width: 88%;
+            height: 56%;
+            background-color: #181C40;
+            margin:20px auto 0;
+            padding:10px 20px;
+            .logTitle{
+                width: auto;
+                height: 30px;
+                // font-family: Source Han Sans SC;
+                font-weight: 400;
+                font-size: 24px;
+                color: #0CB8FF;
+                // line-height: 10px;
+            }
+            .logText{
+                line-height: 30px;
+                width: 100%;
+                overflow: hidden;
+            }
+        }
+      }
+    }
+  }
+}
+/deep/ .el-table {
+  background-color: rgba(0, 0, 0, 0);
+  .computeNode {
+    background-image: url("~@/assets/images/InferentialTaskControl/computeNode.png");
+    background-size: 100% 100%;
+    width: 35px;
+    height: 35px;
+    margin: 0 auto;
+  }
+  thead {
+    tr {
+      th {
+        background-color: #1C305F;
+        border-bottom: 0px;
+        .cell {
+          font-weight: 400;
+          font-size: 18px;
+          color: #fff;
+          text-shadow: 0px 0px 2px #00fbff;
+        }
+      }
+    }
+  }
+  tbody {
+    tr {
+      background-color: rgba(0, 0, 0, 0);
+      td {
+        background-color: #181C40;
+        border-bottom: 0px;
+        .cell {
+          font-size: 16px;
+          color: #fff;
+        }
+      }
+    }
+    tr:hover {
+    //   border: 2px solid #4b96dd;
+      td {
+        background-color: #2d468b;
+        .cell {
+          color: #fff;
+        }
+      }
+    }
+  }
+}
+/deep/ .el-table::before {
+  height: 0px;
+}
+</style>
\ No newline at end of file
diff --git a/se-index/src/components/InferentialTaskControl.vue b/se-index/src/components/InferentialTaskControl.vue
index 2571927..f6518fa 100644
--- a/se-index/src/components/InferentialTaskControl.vue
+++ b/se-index/src/components/InferentialTaskControl.vue
@@ -223,7 +223,7 @@
   height: 85%;
   background-image: url("~@/assets/images/InferentialTaskControl/bg.png");
   background-size: 100% 100%;
-  margin: 5% 5% 0;
+  margin: 0 5% 0;
   padding: 10px 1% 20px;
 }
 /deep/ .el-form-item__label {
diff --git a/se-index/src/components/door.vue b/se-index/src/components/door.vue
index 78d11e6..bc38c8c 100644
--- a/se-index/src/components/door.vue
+++ b/se-index/src/components/door.vue
@@ -37,7 +37,7 @@
             },
             {
               name: "鍒嗙郴缁熺姸鎬佺洃鎺�",
-              url: ""
+              url: "/home/ConditionMonitoring"
             }
           ]
         },
diff --git a/se-index/src/router/index.js b/se-index/src/router/index.js
index 8f57c4a..daf1c6d 100644
--- a/se-index/src/router/index.js
+++ b/se-index/src/router/index.js
@@ -42,6 +42,11 @@
         name:'鎺ㄦ紨浠诲姟鎺у埗',
         component: () => import("@/components/InferentialTaskControl.vue")
       },
+      {
+        path: "ConditionMonitoring",
+        name:'鍒嗙郴缁熺姸鎬佺洃鎺�',
+        component: () => import("@/components/ConditionMonitoring.vue")
+      },
     ]
   }
 ];

--
Gitblit v1.9.3