From 6a5962fe9544005dba620b00fb36c25fe2da4e76 Mon Sep 17 00:00:00 2001
From: heyujie <516346543@qq.com>
Date: 星期二, 16 十一月 2021 15:24:46 +0800
Subject: [PATCH] 后端没修改的情况下添加默认背景图

---
 src/pages/vindicate/views/updateSettings.vue |  524 +++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 424 insertions(+), 100 deletions(-)

diff --git a/src/pages/vindicate/views/updateSettings.vue b/src/pages/vindicate/views/updateSettings.vue
index dac6c1f..aeb3ad3 100644
--- a/src/pages/vindicate/views/updateSettings.vue
+++ b/src/pages/vindicate/views/updateSettings.vue
@@ -1,6 +1,6 @@
 <template>
   <div class="all">
-    <div class="cluster-content">
+    <div class="update-set-content">
       <div class="cluster-center" ref="left">
         <div
           class="menu-item"
@@ -17,41 +17,95 @@
       </div>
       <div class="cluster-right">
         <div class="net-set" v-if="activePage == 0">
-          <el-radio-group v-model="radio2" size="medium">
+          <!-- <el-radio-group
+            v-model="radio2"
+            size="medium"
+            fill="rgba(61, 104, 225, 1)"
+          >
             <el-radio-button label="妫�鏌ユ洿鏂�"></el-radio-button>
             <el-radio-button label="涓婁紶鏇存柊"></el-radio-button>
-          </el-radio-group>
+          </el-radio-group> -->
 
-          <div
-            class="update-center"
-            v-if="radio2 == '妫�鏌ユ洿鏂�'"
-            v-loading="upgrading"
-            element-loading-text="鏇存柊涓紝璇风◢鍚�"
-            element-loading-spinner="el-icon-loading"
-          >
-            <span class="icon iconfont spin-bg">&#xe6ee;</span>
-            <div class="desc" v-if="hasNewVersion">
-              妫�鏌ュ埌鏈�鏂扮増鏈細{{ newVersionName }}
+          <div class="button-group">
+            <div class="bottom">
+              <div class="top" :class="{ 'toggle':radio2 !== '妫�鏌ユ洿鏂�' }"></div>
+              <div class="label-left" :class="{ 'toggle':radio2 == '妫�鏌ユ洿鏂�' }" @click="radio2 = '妫�鏌ユ洿鏂�'">妫�鏌ユ洿鏂�</div>
+              <div class="label-right" :class="{ 'toggle':radio2 !== '妫�鏌ユ洿鏂�' }" @click="radio2 = '涓婁紶鏇存柊'">涓婁紶鏇存柊</div>
             </div>
-            <div class="desc desc-suc" v-else>宸叉槸鏈�鏂扮増鏈�</div>
+          </div>
+
+          <div class="update-center" v-if="radio2 == '妫�鏌ユ洿鏂�'">
+            <img v-if="!upgrading&&hasNewVersion||checking"
+              class="spin-bg"
+              src="/images/vindicate/妫�娴嬪姞杞�.png"
+              :class="upgrading || checking ? 'spin-bg-rot' : ''"
+              />
+             <img v-if="upgrading&&hasNewVersion"
+              class="spin-bg"
+              src="/images/vindicate/鍔犺浇.png"
+              /> 
+            <img v-if="!checking&&!hasNewVersion"
+              class="spin-bg"
+              src="/images/vindicate/宸叉槸鏈�鏂扮増鏈�.png"
+              />
+            <div class="desc" v-if="checking && !upgrading">
+              姝e湪妫�娴嬬増鏈洿鏂扳�︹��
+            </div>
+            <div class="desc" v-if="!checking && hasNewVersion">
+              {{ upgrading ? "姝e湪鍗囩骇鑷�" : "妫�鏌ュ埌" }}鏈�鏂扮増鏈細{{
+                newVersionName
+              }}
+            </div>
+            <div class="desc desc-suc" v-if="!checking && !hasNewVersion">
+              褰撳墠宸茬粡鏄渶鏂扮増鏈�
+            </div>
+            
+
+            <div class="text-desc" v-if="hasNewVersion && !checking&& !upgrading">
+              {{verText}}
+            </div>
+
             <el-button
-              v-if="hasNewVersion"
+              v-if="hasNewVersion && !checking&&!upgrading"
+              :loading="upgrading"
               type="primary"
+              style="width: 150px"
               size="small"
               @click="upgradeNewVersion"
               >鏇存柊</el-button
             >
           </div>
+
+
+          
           <div class="upload-center" v-if="radio2 == '涓婁紶鏇存柊'">
+            <div class="upload-info"><img src="/images/vindicate/閾炬帴 1.png" style="width: 14px;"> 涓婁紶瀹夎杞欢</div>
             <div class="upload-top">
-              <!-- <div class="up-text">涓婁紶鏇存柊鏂囦欢锛屽彧鑳戒笂浼犳枃浠�</div> -->
-              <el-upload
+
+              <div class="upload-container">
+               <div class="upload-fail " v-if="upStatus===0">
+                 <i class="icon iconfont upload-icon">
+                &#xe71c;
+               </i>
+               <p>涓婁紶澶辫触锛岃閲嶆柊涓婁紶銆�</p>
+               </div>
+
+               <div class="upload-success"  v-if="upStatus===1">
+               <i class="icon iconfont upload-icon">
+                &#xe71d;
+               </i>
+               <p>涓婁紶鎴愬姛锛岃鐐瑰嚮鏇存柊鎸夐挳寮�濮嬫洿鏂般��</p>
+               </div>
+
+               <el-upload
+                ref="myUpload"
                 class="upload-demo"
                 drag
                 action
+                v-show="!shengjiing&&upStatus===''"
                 :http-request="uploadPkg"
                 :limit="1"
-              >
+               >
                 <i class="el-icon-upload"></i>
                 <div
                   class="el-upload__text"
@@ -63,16 +117,22 @@
                 </div>
                 <div class="el-upload__tip" slot="tip"></div>
               </el-upload>
-              <!-- <fileUploader
-                single
-                url="/version/upload"
-                @complete="onFileUpload"
-                @file-added="onFileAdded"
-              /> -->
+
+              </div>
+            
+              <span
+                class="icon iconfont spin-bg"
+                :class="shengjiing ? 'spin-bg-rot' : ''"
+                v-if="shengjiing"
+                >&#xe6fb;</span
+              >
+              <div class="desc" v-if="shengjiing">姝e湪杩涜鏇存柊鈥︹��</div>
               <el-button
+                v-if="!upgrading"
                 type="primary"
-                style="width: 150px"
+                style="width: 150px; font-size: 15px"
                 @click="upgrade"
+                size="small"
                 class="uploader-btn"
                 :loading="shengjiing"
                 >{{ shengjiing ? "鏇存柊涓�" : "鏇存柊" }}</el-button
@@ -82,7 +142,6 @@
 
           <div class="cur-version">褰撳墠鐗堟湰锛歿{ curVersionName }}</div>
         </div>
-
         <div class="wifi" v-if="activePage == 1">
           <div class="content">
             <div class="title">绯荤粺鏇存柊璁剧疆</div>
@@ -106,6 +165,8 @@
               <div class="name">{{ item.title }}</div>
               <el-switch
                 v-model="item.val"
+                active-value="1"
+                inactive-value="0"
                 active-color="rgba(61, 104, 225, 1)"
                 @change="switchChange(item)"
               >
@@ -121,7 +182,6 @@
 <script>
 import {
   getDevInfo,
-  fileUpload,
   doUpgrade,
   checkNewVersion,
   upgradeNewVersion,
@@ -130,33 +190,24 @@
   getSettings,
   updateSettings,
 } from "@/api/system";
+import { getUrlKey } from "@/api/utils";
 export default {
-  filters: {
-    nameFilter(v) {
-      switch (v) {
-        case value:
-          break;
-
-        default:
-          break;
-      }
-      return;
-    },
-  },
   data() {
     return {
       radio2: "妫�鏌ユ洿鏂�",
       activePage: 0,
       patchUpdateStatus: "",
       probeSum: 0,
-      timer: null,
+      timer: null,verText:"",
       patchFile: {},
       fileAdded: false,
       curVersionName: "",
       shengjiing: false,
       upgrading: false,
+      checking: true,
       newVersionName: "",
-      hasNewVersion: true,
+      hasNewVersion: false,
+      upStatus:'',
       sysSetList: [
         { title: "鑷姩娓呯悊杞欢鍖呯紦瀛�", val: false, name: "sys_auto_clean" },
         { title: "鏇存柊鎻愰啋", val: false, name: "sys_update_notice" },
@@ -169,13 +220,19 @@
       ],
       pkgID: "",
       tabList: [
-        { name: "绯荤粺鏇存柊", icon: "\ue6f2" },
-        { name: "鏇存柊璁剧疆", icon: "\ue6db" },
+        { name: "绯荤粺鏇存柊", icon: "\ue735" },
+        { name: "鏇存柊璁剧疆", icon: "\ue733" },
       ],
     };
   },
   mounted() {
-    this.fetchUpgradInfo();
+    const isAutoUpdate = getUrlKey("autoUpdate");
+    if (isAutoUpdate==1) {
+      this.checking = false
+      this.upgradeNewVersion()
+    }else{
+      this.fetchUpgradInfo();
+    }
     this.fetchSettings();
   },
   methods: {
@@ -196,17 +253,25 @@
       });
     },
     fetchUpgradInfo() {
+      this.checking = true;
       checkNewVersion().then((res) => {
+        setTimeout(() => {
+          this.checking = false;
+        }, 800);
         this.newVersionName = res.data.newVersion;
         this.curVersionName = res.data.curVersion;
         this.hasNewVersion = res.data.hasNewVersion;
+        this.verText=res.data.newVersionInfo
+
+        if (!this.hasNewVersion) {
+          this.upgrading = false;
+        }
       });
     },
     upgradeNewVersion() {
       this.upgrading = true;
       upgradeNewVersion().then((res) => {
-        this.upgrading = false;
-        this.$message.success("鏇存柊鐗堟湰鎴愬姛");
+        this.$notify.success("鏇存柊鐗堟湰鎴愬姛");
         this.fetchUpgradInfo();
       });
     },
@@ -225,7 +290,18 @@
       uploadUpgradePkg(param).then((res) => {
         this.upgrading = false;
         this.pkgID = res.data.id;
-      });
+        this.upStatus = 1
+        setTimeout(() => {
+        this.upStatus =''
+      }, 2000);
+      }).catch(()=>{
+        this.upgrading = false;
+        this.$refs.myUpload.clearFiles()
+        this.upStatus = 0
+        setTimeout(() => {
+        this.upStatus =''
+      }, 2000);
+      })
     },
     upgrade() {
       this.shengjiing = true;
@@ -233,7 +309,7 @@
         id: this.pkgID,
       }).then((res) => {
         this.shengjiing = false;
-        this.$message.success("鏇存柊鐗堟湰鎴愬姛");
+        this.$notify.success("鏇存柊鐗堟湰鎴愬姛");
         this.pkgID = "";
       });
     },
@@ -279,68 +355,78 @@
       this.activePage = typ;
     },
     switchChange(item) {
-      let data = {
+      updateSettings({
         name: item.name,
         value: item.val,
-      };
-      updateSettings(data).then((res) => {
+      }).then((res) => {
         if (res.code == 200) {
-          this.$message.success("鏇存柊鎴愬姛");
+          this.$notify.success("鏇存柊鎴愬姛");
         }
       });
     },
+    
   },
 };
 </script>
 <style lang="scss">
 .all {
   width: 100%;
+  background-color: #FBFAFF;
 }
-
-.cluster-content {
+.update-set-content {
   height: 100%;
   display: flex;
   flex-direction: row;
   flex: 1;
   flex-basis: auto;
   box-sizing: border-box;
+  border-top:4px solid rgb(242, 242, 247) ;
+  border-left:4px solid rgb(242, 242, 247) ;
   .cluster-center {
     height: 100%;
-    width: 280px;
+    width: 300px;
     overflow: auto;
     box-sizing: border-box;
     flex-shrink: 0;
-    padding: 10px;
-    border-right: 5px solid #f8f8f8;
+    padding: 9px 10px 0 10px;
+    border-right: 4px solid rgb(242, 242, 247);
 
     .menu-item {
-      background-color: #f8f8f8;
-      height: 50px;
-      margin-bottom: 10px;
+      height: 56px;
+      margin-bottom: 4px;
       border-radius: 8px;
-      line-height: 50px;
-      box-sizing: border-box;
-      font-size: 14px;
+      line-height: 56px;
+      box-sizing: border-box;   
       cursor: pointer;
-      padding: 0 20px;
+      padding: 0 15px;
       display: flex;
       justify-content: space-between;
       .con {
         .iconfont {
+          font-size: 20px;
+          line-height: 32px;
+          width: 32px;
+          height: 26px;
           margin-right: 10px;
+          color: #333;
         }
         .menu-text {
-          font-size: 15px;
+          font-size: 16px;
+           font-weight: 700;
         }
       }
     }
-    .menu-item-active {
-      color: #fff;
-      background-color: rgba(61, 104, 225, 1);
+    .menu-item-active {     
+      background-color: var(--colorCard) !important;
+       .iconfont {
+          color: #fff !important;
+        }
+        .menu-text {
+           color: #fff;
+        }
     }
-    .menu-item:hover {
-      color: #fff;
-      background-color: rgba(61, 104, 225, 1);
+    .menu-item:hover {   
+      background-color: #F2F2F7;
     }
   }
   .cluster-right {
@@ -349,7 +435,6 @@
     overflow: auto;
     box-sizing: border-box;
     position: relative;
-    padding: 20px 40px;
     .el-form-item.is-required:not(.is-no-asterisk)
       > .el-form-item__label:before,
     .el-form-item.is-required:not(.is-no-asterisk)
@@ -384,37 +469,196 @@
     .net-set {
       display: flex;
       flex-direction: column;
-      justify-content: space-between;
+      justify-content: start;
       height: 95%;
+      padding: 0 30px;
+      /* .el-radio-group {
+        margin-top:33px ;
+        .el-radio-button__inner {
+          font-size: 14px;
+          width: 84px;
+          height: 28px;
+          padding: 0;
+          border-radius: 20px;
+          text-align: center;
+          line-height: 28px;
+          background: #F2F2F7 !important;
+          border: none !important;
+          box-shadow:none !important;
+          &:hover {
+            color: var(--colorCard) !important;
+          }
+          
+        }
+        & label.is-active   .el-radio-button__inner {
+            background: var(--colorCard) !important;
+            border: none !important;
+             &:hover {
+            color: white !important;
+          }
+          }
+      } */
+      .button-group {
+        margin: 0 auto;
+        margin-top: 30px;
+        width: 168px;
+        height: 28px;
+        .bottom {
+          position: relative;
+          height: 100%;
+          background: #F2F2F7;
+          border-radius: 20px;
+          cursor: pointer;
+          .top {
+            position: absolute;
+            top: 0;
+            left: 0;
+            width: 84px;
+            height: 28px;
+            background: #4E94FF;
+            border-radius: 20px;
+            transition: all .2s linear;
+            &.toggle {
+              left: 84px;
+            }
+          }
+          .label-left {
+            position: absolute;
+            width: 84px;
+            height: 28px;
+            top: 0;
+            left: 0;
+            z-index: 1;
+            font-size: 14px;
+            line-height: 28px;
+            font-weight: 700;
+            color: #333333;
+             &.toggle {
+               color: #fff;
+             }
+          }
+          .label-right {
+            position: absolute;
+            width: 84px;
+            height: 28px;
+            top: 0;
+            right: 0;
+            z-index: 1;
+            font-size: 14px;
+            line-height: 28px;
+            font-weight: 700;
+            color: #333333;
+            &.toggle {
+               color: #fff;
+             }
+          }
+        }
+      }
+      @keyframes spin {
+        from {
+          transform: rotate(0deg);
+        }
+        to {
+          transform: rotate(360deg);
+        }
+      }
 
+      .spin-bg {
+       
+       width: 60px;
+        margin-top: 60px;
+        margin-bottom:15px ;
+      }
+      .spin-bg-rot {
+        animation: spin 0.8s linear infinite;
+      }
+      .desc {
+        font-weight: bold;
+        font-size: 16px;
+        color: #333333;
+      }
       .update-center {
         display: flex;
         flex-direction: column;
         align-items: center;
 
-        .spin-bg {
-          color: rgb(206, 205, 205);
-          font-size: 110px;
-          margin-bottom: 5px;
-        }
-
-        .desc {
-          height: 20px;
-          line-height: 20px;
-          font-size: 15px;
-          color: rgb(231, 121, 58);
-          margin-bottom: 20px;
-          font-weight: 600;
-        }
         .desc-suc {
-          color: rgb(58, 231, 58);
+          color: #333;
+          border-radius: 8px;
         }
         .el-button {
-          width: 100px;
+          margin-top: 48px;
+          width: 150px;
+          height: 40px;
+          border-radius: 25px;
           font-size: 15px;
+          background: var(--colorCard) !important;
+          border: none !important;
+          &:hover {
+          color: white !important;
+          }
+        }
+        .text-desc{
+          width: 90%;
+          height: 150px;
+          margin-top: 20px;
+          background-color: #F2F2F7;
+          padding: 20px 30px;
+          color: #333;
+          text-align: left;
+          font-size: 12px;
+          border-radius:8px ;
         }
       }
       .upload-center {
+        margin-top:44px ;
+        .upload-info {
+          margin-bottom:20px ;
+          text-align: left;
+          font-weight: bold;
+          font-size: 14px;
+          color: #333333;
+        }
+        .upload-container {
+          position: relative;
+          width: 412px;
+          height: 174px;
+          background-color: #fff;
+          border-radius: 8px;
+
+          .upload-fail .iconfont{
+            color: rgb(254, 109, 104);
+          }
+
+          .upload-success .iconfont{
+            color: rgb(78, 148, 255);
+          }
+          
+            
+          .upload-success,.upload-fail {
+            position: absolute;
+            z-index: 1;
+            width: 100%;
+            height: 174px;
+            top: 0;
+            left: 0;
+            background-color: #fff;
+            font-weight: bold;
+            font-size: 10px;
+
+            transition: all 1000ms linear 0;
+            -o-transition: all 1000ms linear 0; /*鍏煎parsto鍐呮牳*/
+            -moz-transition: all 1000ms linear 0; /*鍏煎gecko鍐呮牳*/
+            -webkit-transition: all 1000ms linear 0; /*鍏煎webkit鍐呮牳*/
+          }
+          .upload-icon {
+            display: block;
+            margin-top: 32px;
+            margin-bottom:42px ;
+            font-size: 50px;
+          }
+        }
+
         .update-center {
           height: 160px;
 
@@ -433,7 +677,13 @@
             margin-bottom: 10px;
           }
           .el-button {
-            width: 120px;
+            width: 150px;
+            height: 40px;
+            background: var(--colorCard) !important;
+            border: none !important;
+            &:hover {
+            color: white !important;
+          }
           }
           .el-button--small {
             font-size: 14px;
@@ -446,8 +696,47 @@
           box-sizing: border-box;
           flex-direction: column;
 
+          .el-upload {
+          width: 340px !important;
+          height: 117.87px !important;
+          margin: 28px auto;
+          .el-upload-dragger {
+            width: 100% !important;
+            height: 100% !important;
+            i {
+              display: none  !important;
+            }
+            .el-upload__text {
+              color: #828282  !important;
+              margin-top: 52px !important;
+              font-size: 14px !important;
+            }
+            .el-loading-text {
+              font-size: 14px !important;
+              color: #333333 !important;
+            }
+          }
+          }
+
+          .el-upload.el-upload--text .el-upload-dragger:hover {
+            border-color: var(--colorCard) !important;
+          }
+
+          em {
+            color: var(--colorCard) !important;
+          }
+
           .uploader-btn {
-            margin-top: 15px;
+            width: 150px;
+            height: 40px;
+            margin-top: 158px;
+            margin-bottom:25px ;
+            background: var(--colorCard) !important;
+            border: none !important;
+            border-radius: 25px !important;
+            &:hover {
+            color: white !important;
+          }
           }
         }
         .up-text {
@@ -464,35 +753,63 @@
         }
       }
       .cur-version {
+        position: absolute;
+        bottom: 50px;
+        left: 50%;
+        transform: translateX(-50%);
         font-size: 14px;
       }
     }
     .wifi {
-      .content {
-        margin-bottom: 20px;
-      }
+      padding: 10px 10px 0 10px;
       .bar {
         display: flex;
         align-items: center;
         height: 50px;
-        padding: 0 25px;
-        background-color: #f8f8f8;
+        background-color: #F2F2F7;
         justify-content: space-between;
         border-radius: 12px;
-        margin-bottom: 10px;
+        margin-bottom: 4px;
+        padding-left:20px ;
         .name {
-          font-size: 15px;
+          font-size: 14px;
+          font-weight: 700;
         }
       }
       .title {
         text-align: left;
-        padding: 10px;
+        padding: 17px 0 17px 25px;
         font-size: 16px;
+        color:#333;
+        font-weight: 700;
+      }
+      .el-switch{
+        width: 40px;
+        height: 14px;
+        margin-right: 17px;
+      }
+
+      .el-switch__core {
+        width: 30px !important;
+        height: 14px !important;
+        &::after {
+          top: 0px !important;
+          left: 0px !important;
+          width: 12px !important;
+          height: 12px !important;
+        }
+      } 
+
+      .is-checked .el-switch__core{
+       background-color: var(--colorCard)  !important;
+       border: 1px solid var(--colorCard) !important;
+       &::after {
+        margin-left: 16px
+       }
       }
     }
 
     .save-btn {
-      background-color: #3d68e1;
       width: 240px;
       height: 40px;
       margin: 0 auto;
@@ -501,7 +818,14 @@
       line-height: 40px;
       font-size: 14px;
       margin-top: 20px;
+       background: var(--colorCard) !important;
+          border: none !important;
+          &:hover {
+          color: white !important;
+          }
     }
   }
+
 }
+
 </style>

--
Gitblit v1.8.0