From 46b274e6b5d0bd7f2afe46a8adeac4faaa446dc9 Mon Sep 17 00:00:00 2001
From: ZZJ <zzjdsg2300@163.com>
Date: 星期三, 29 九月 2021 17:59:18 +0800
Subject: [PATCH] 系统设置/维护v0

---
 src/pages/vindicate/index/App.vue |  269 ++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 250 insertions(+), 19 deletions(-)

diff --git a/src/pages/vindicate/index/App.vue b/src/pages/vindicate/index/App.vue
index eb915de..90e6935 100644
--- a/src/pages/vindicate/index/App.vue
+++ b/src/pages/vindicate/index/App.vue
@@ -1,5 +1,5 @@
 <template>
-  <div class="container">
+  <div class="container" v-if="!showWelcome">
     <div class="container-left">
       <div
         class="left-card"
@@ -13,11 +13,61 @@
         <span class="card-text">{{ item.name }}</span>
       </div>
     </div>
-    <systemClean v-if="activePage == 1" style="width: 100%" :free="free" :full="full" @refreshPercent="getLeftPer"></systemClean>
-    <updateSettings v-if="activePage == 0" style="width: 100%"></updateSettings>
+    <systemClean v-if="activePage == 1" style="width: 100%" :free="free" :full="full" @refreshPercent="getLeftPer" ref="view_1"></systemClean>
+    <updateSettings v-if="activePage == 0" style="width: 100%" ref="view_0"></updateSettings>
     <!-- <back-up v-if="activePage == 3" style="width: 100%"></back-up> -->
-    <restartSettings v-if="activePage == 2" style="width: 100%"></restartSettings>
-    <sysInfo v-if="activePage == 3" style="width: 100%"></sysInfo>
+    <restartSettings v-if="activePage == 2" style="width: 100%" ref="view_2"></restartSettings>
+    <sysInfo v-if="activePage == 3" style="width: 100%" ref="view_3"></sysInfo>
+  </div>
+
+    <div class="welcome-page" v-else ref="curPage">
+    <div
+      class="search-box"
+      :class="showRecomand ? 'border-change' : ''"
+      @click.stop
+    >
+      <!-- @blur="showRecomand = false" -->
+      <el-input
+        class="search-input"
+        placeholder="鏌ユ壘璁剧疆"
+        size="mini"
+        @focus="showRecomand = true"
+        clearable
+        @input="filterRecomand"
+        :suffix-icon="showRecomand && searchText.length ? '' : 'el-icon-search'"
+        v-model="searchText"
+      >
+      </el-input>
+
+      <div class="search-res" v-if="showRecomand">
+        <div
+          class="res-bar"
+          v-for="(item, index) in searchArrForShow"
+          :key="index"
+          @click="pickQuick(item.addr)"
+        >
+          {{ item.name }}
+        </div>
+        <div class="no-res-bar" v-if="searchArrForShow.length == 0">
+          娌℃湁鎵惧埌涓� {{ searchText }} 鐩稿叧鐨勭粨鏋�
+        </div>
+      </div>
+      <div class="dummy-end" v-if="showRecomand" style="height: 14px"></div>
+    </div>
+    <div class="nav-items">
+      <div
+        class="nav-child"
+        @click="openWelcome(i)"
+        v-for="(item, i) in menuArr"
+        :key="i"
+      >
+        <div class="child-info">
+          <!-- <span class="icon iconfont welcome-icon">{{ item.icon }}</span> -->
+          <img :src="item.img_black" alt="" />
+          <span class="welcome-title">{{ item.name }}</span>
+        </div>
+      </div>
+    </div>
   </div>
 </template>
 
@@ -47,9 +97,19 @@
         { name: "閲嶅惎璁剧疆" ,img_black:"/images/vindicate/閲嶅惎璁剧疆-榛�.png", img_white:"/images/vindicate/閲嶅惎璁剧疆-鐧�.png",},
         { name: "绯荤粺淇℃伅" ,img_black:"/images/vindicate/绯荤粺淇℃伅-榛�.png", img_white:"/images/vindicate/绯荤粺淇℃伅-鐧�.png",},
       ],
+      searchArr: [
+        { name: "绯荤粺璁剧疆", addr: [0] },
+        { name: "绯荤粺鏇存柊", addr: [0, 0] },
+        { name: "鏇存柊璁剧疆", addr: [0, 1] },
+        { name: "绯荤粺娓呯悊", addr: [1] },
+        { name: "閲嶅惎璁剧疆", addr: [2] },
+        { name: "绯荤粺淇℃伅", addr: [3] },
+      ],
       activePage: 0,
       free: 0,
       full: 0,
+      showWelcome:true,
+      searchText:'',
     };
   },
   created() {
@@ -78,10 +138,190 @@
         this.full = res.data.all
       })
     },
+    pickQuick(addr) {
+      if (addr.length == 1) {
+        this.openWelcome(addr[0]);
+      } else {
+        this.openWelcome(addr[0]);
+        this.$nextTick(() => {
+          if (addr[0] == 1) {
+            // addr[1] == 0
+            //   ? this.changeSwitch("isNtp")
+            //   : this.changeSwitch("isManual");
+            return;
+          }
+          this.$refs[`view_${addr[0]}`].openRight(addr[1]);
+        });
+      }
+    },
+    openWelcome(i) {
+      this.showWelcome = false;
+      this.openMenu(1,i);
+    },
   },
+  computed:{
+     searchArrForShow() {
+      if (this.searchText == "") {
+        return this.searchArr;
+      } else {
+        return this.searchArr.filter((item) => {
+          return item.name.indexOf(this.searchText.toUpperCase()) > -1;
+        });
+      }
+    },
+  }
 };
 </script>
 <style lang="scss">
+.welcome-page {
+  width: 100%;
+  height: 100%;
+  display: -ms-flexbox;
+  padding: 145px 32px 50px 32px;
+  box-sizing: border-box;
+  background-color: rgba(255, 255, 255, 0.9);
+  backdrop-filter: blur(4px);
+  .border-change {
+    border-radius: 20px !important;
+  }
+  .search-box {
+    width: 332px;
+    z-index: 999;
+    // margin: 55px auto;
+    position: fixed;
+    left: calc(50% - 166px);
+    top: 50px;
+    background: rgba(255, 255, 255, 0.8);
+
+    border: 2px solid #4e94ff;
+    box-sizing: border-box;
+    backdrop-filter: blur(4px);
+    border-radius: 40px;
+    .search-input {
+      font-size: 14px;
+      .el-input--mini .el-input__inner {
+        height: 36px;
+        line-height: 36px;
+      }
+      .el-input--suffix .el-input__inner {
+        padding-right: 40px;
+      }
+      .el-input__inner {
+        background-color: #fff;
+        background-image: none;
+        border-radius: 40px;
+        border: none;
+        box-sizing: border-box;
+        color: #606266;
+        display: inline-block;
+        font-size: 14px;
+        height: 36px;
+        line-height: 36px;
+        outline: 0;
+        padding: 0 20px;
+        -webkit-transition: border-color 0.2s
+          cubic-bezier(0.645, 0.045, 0.355, 1);
+        transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
+        width: 100%;
+        font-weight: bold;
+      }
+      .el-input__suffix {
+        display: flex;
+        align-items: center;
+        padding-right: 10px;
+        .el-input__suffix-inner {
+          border-color: none;
+          .el-icon-circle-close:before {
+            content: "\e79d" !important;
+            font-size: 17px;
+          }
+          .el-icon-search {
+            color: #2f2d3d;
+            font-weight: bold;
+            font-size: 17px;
+          }
+        }
+      }
+    }
+    .search-res {
+      max-height: 240px;
+      overflow: auto;
+      .res-bar {
+        height: 40px;
+        line-height: 40px;
+        text-align: left;
+        box-sizing: border-box;
+        padding: 0 20px;
+        color: #333333;
+        font-size: 14px;
+        cursor: pointer;
+      }
+      .no-res-bar {
+        height: 40px;
+        line-height: 40px;
+        text-align: left;
+        box-sizing: border-box;
+        padding: 0 20px;
+        color: #333333;
+        font-size: 14px;
+      }
+      .res-bar:hover {
+        background: #f5f5f6 10%;
+        font-weight: bold;
+        color: #4e94ff;
+      }
+      // .res-bar:last-child {
+      //   border-radius: 0 0 20px 20px;
+      // }
+    }
+  }
+  .nav-items {
+    .nav-child {
+      box-sizing: border-box;
+      background-color: rgba(251, 251, 255, 0.1);
+      backdrop-filter: blur(4px);
+      float: left;
+      width: 46%;
+      height: 190px;
+      margin: 0 15px;
+      margin-bottom: 30px;
+      border-radius: 15px;
+      display: flex;
+      justify-content: center;
+      align-items: center;
+      cursor: pointer;
+
+      // box-shadow: 2px 2px 4px rgb(226, 226, 226);
+      .child-info {
+        display: flex;
+        flex-direction: column;
+        // justify-content: space-around;
+        height: 100%;
+        .welcome-icon {
+          font-size: 72px;
+        }
+        img {
+          width: 64px;
+          margin: 0 auto;
+          margin-top: 65px;
+          height: 50px;
+        }
+        .welcome-title {
+          font-size: 16px;
+          font-weight: bold;
+          margin-top: 24px;
+          color: #333333;
+        }
+      }
+    }
+    .nav-child:hover {
+      // box-shadow: 4px 4px 12px rgb(218, 218, 218);
+      // transform: translate3d(0, -1px, 0);
+      // transition: all 0.3s;
+    }
+  }
+}
+
 .container {
   height: 100%;
   width: 100%;
@@ -99,6 +339,7 @@
     padding: 17px 10px 0 10px;
     box-sizing: border-box;
     background: #fff;
+    border-top:2px solid #E1E0E6 ;
     .left-card {
       position: relative;
       width: 224px;
@@ -107,7 +348,7 @@
       border-radius: 8px;
       margin-bottom: 4px;
       display: flex;    
-      background-color: #F2F2F7;
+      background-color: #fff;
       align-items: center;
       .icon_white {
         position: absolute;
@@ -131,7 +372,7 @@
     }
     .left-card-active {
       color: #fff;
-      background-color: var(--colorCard);
+      background-color: var(--colorCard) !important;
       .icon_black {
       visibility: hidden;
       }
@@ -145,18 +386,8 @@
     }
    
     .left-card:hover {
-      background-color: var(--colorCard);
-      color: #fff;
-      .iconfont {
-        color: #333333;
-        background-color: #fff;
-      }
-      .icon_black {
-      visibility: hidden;
-      }
-      .icon_white{
-        visibility: visible;
-      }
+      background-color: #F2F2F7;
+      
     }
   }
 

--
Gitblit v1.8.0