From 4a800a8fc83c6bd1f86a8e847b079a51a7532c09 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期三, 20 七月 2022 15:05:58 +0800
Subject: [PATCH] 修复国标配置的bug

---
 src/pages/settings/index/index.vue |  344 ++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 206 insertions(+), 138 deletions(-)

diff --git a/src/pages/settings/index/index.vue b/src/pages/settings/index/index.vue
index 86db67b..e8eaf50 100644
--- a/src/pages/settings/index/index.vue
+++ b/src/pages/settings/index/index.vue
@@ -16,7 +16,12 @@
 
     <div class="container-center" v-if="activeIndex == 0">
       <div class="account-left" v-if="activeIndex == 0">
-        <div class="account-list">
+        <div
+          class="account-list"
+          :class="{ 'account-list-scroll': account_list_scroll }"
+          @mouseenter="account_list_scroll = true"
+          @mouseleave="account_list_scroll = false"
+        >
           <div
             class="account-card"
             :class="activeAccountIndex == index ? 'account-card-active' : ''"
@@ -72,7 +77,6 @@
                 <span class="enable" v-if="!showJPGArr" @click="editHeadPic"
                   >缂栬緫澶村儚</span
                 >
-               
               </div>
             </div>
             <div class="user-desc">
@@ -212,35 +216,6 @@
 
         <div class="permission" v-if="inAccountDetail && isSetPermission">
           <div class="title">鏉冮檺绠$悊</div>
-
-          <!-- <div class="line-wrap" v-for="item in sysMenus" :key="item.id">
-            <div class="line">
-              <div class="name">{{ item.name }}</div>
-              <el-switch
-                v-model="item.selected"
-                active-color="rgba(61, 104, 225, 1)"
-                @change="fatherChange(item)"
-              >
-              </el-switch>
-            </div>
-            <div v-if="item.children">
-              <div
-                class="line"
-                style="margin-left: 55px"
-                v-for="x in item.children"
-                :key="x.id"
-              >
-                <div class="name">{{ x.name }}</div>
-                <el-switch
-                  v-model="x.selected"
-                  active-color="rgba(61, 104, 225, 1)"
-                  @change="childrenChange(item)"
-                >
-                </el-switch>
-              </div>
-            </div>
-          </div> -->
-          <!--    -->
           <div class="tree-window">
             <el-tree
               ref="treeMenus"
@@ -601,8 +576,11 @@
       style="width: 100%"
       ref="view_6"
     ></deviceInfo>
+    <Authorization v-if="activeIndex == 7" style="width: 100%" ref="view_7">
+    </Authorization>
+    <WebManage v-if="activeIndex == 8"></WebManage>
   </div>
-  <div class="welcome-page" v-else ref="curPage">
+  <div class="welcome-page" v-else ref="curPage" @mouseup="mouseDownIndex = ''">
     <div
       class="search-box"
       :class="showRecomand ? 'border-change' : ''"
@@ -614,7 +592,6 @@
         size="mini"
         @focus="showRecomand = true"
         clearable
-        @input="filterRecomand"
         :suffix-icon="showRecomand && searchText.length ? '' : 'el-icon-search'"
         v-model="searchText"
       >
@@ -639,6 +616,8 @@
       <div
         class="nav-child"
         @click="openWelcome(i)"
+        @mousedown="mouseDownIndex = i"
+        :class="mouseDownIndex === i ? 'nav-child-active' : ''"
         v-for="(item, i) in menuArr"
         :key="i"
       >
@@ -671,6 +650,8 @@
 import deviceInfo from "../views/deviceInfo";
 import keyboardLanguage from "../views/keyboardLanguage";
 import generalSettings from "../views/generalSettings";
+import Authorization from "../views/Authorization";
+import WebManage from "@/pages/settings/components/WebManage";
 import { pad0, getUrlKey } from "@/api/utils";
 
 export default {
@@ -683,6 +664,8 @@
     keyboardLanguage,
     generalSettings,
     deviceInfo,
+    Authorization,
+    WebManage,
   },
   data() {
     var v2 = (rule, value, callback) => {
@@ -761,7 +744,6 @@
       selectedPic: null,
       showDayInput: false,
       timestamp: 0,
-      ajustType: "鎵嬪姩鏍℃椂",
       inAccountDetail: false,
       isChangePw: false,
       isSetPermission: false,
@@ -824,6 +806,20 @@
           blackIcon: "/images/settings/榛戣壊涓�绾con/璁惧淇℃伅.png",
           whiteIcon: "/images/settings/鐧借壊涓�绾con/璁惧淇℃伅.png",
         },
+        {
+          name: "鎺堟潈绠$悊",
+          icon: "\ue7e9;",
+          imgUrl: "/images/settings/鎺堟潈绠$悊.png",
+          blackIcon: "/images/settings/榛戣壊涓�绾con/鎺堟潈绠$悊.png",
+          whiteIcon: "/images/settings/鐧借壊涓�绾con/鎺堟潈绠$悊.png",
+        },
+        {
+          name: "鍩熷悕绠$悊",
+          icon: "\ue6db",
+          imgUrl: "/images/settings/閫氱敤璁剧疆.png",
+          blackIcon: "/images/settings/榛戣壊涓�绾con/閫氱敤璁剧疆.png",
+          whiteIcon: "/images/settings/鐧借壊涓�绾con/閫氱敤璁剧疆.png",
+        },
       ],
       accountArr: [],
       jpgArr: [],
@@ -833,6 +829,7 @@
       inputHour: "",
       inputMin: "",
       inputSec: "",
+      mouseDownIndex: "",
       inputYrs: "",
       showInputNickName: false,
       inputMonth: "",
@@ -878,22 +875,26 @@
         ],
         confirmPassword: [{ validator: v4, trigger: "blur" }],
       },
+      account_list_scroll: false,
     };
   },
-  created(){
-  let color = localStorage.getItem('--colorCard')
-    if(color) {
-      document.documentElement.style.setProperty('--colorCard',`${color}`)
-    } 
+  created() {
+    let color = localStorage.getItem("--colorCard");
+    if (color) {
+      document.documentElement.style.setProperty("--colorCard", `${color}`);
+    }
   },
   beforeDestroy() {
     clearTimeout(this.clockTimer);
     clearInterval(this.browserTimer);
-    // if (this.$refs.curPage) {
-    //   this.$refs.curPage.removeEventListener("click");
-    // }
   },
   mounted() {
+    // 杩斿洖鎸夐挳鍥炶皟
+    window.addEventListener("message", (e) => {
+      if (e.data.msg === "杩斿洖绯荤粺璁剧疆") {
+        this.showWelcome = true;
+      }
+    });
     const menu = getUrlKey("menu");
     if (menu) {
       this.showWelcome = false;
@@ -1159,15 +1160,7 @@
         }
       );
     },
-    // flatCheckedArr(arr, res) {
-    //   for (const item of arr) {
-    //     if (item.selected) res.push(item.id);
-    //     if (item.children) this.flatCheckedArr(item.children, res);
-    //   }
-    // },
     saveAuth() {
-      // let arr = [];
-      // this.flatCheckedArr(this.sysMenus, arr);
       updataUser({
         id: this.activeAccountItem.id,
         menuIds: this.$refs.treeMenus.getCheckedKeys(),
@@ -1478,26 +1471,21 @@
       }
     },
     parseTime() {
-      [this.syncYrs, this.syncMonth, this.syncDay] = this.equipmentDate.split(
-        "-"
-      );
-      [this.syncHour, this.syncMin, this.syncSec] = this.equipmentTime.split(
-        ":"
-      );
+      [this.syncYrs, this.syncMonth, this.syncDay] =
+        this.equipmentDate.split("-");
+      [this.syncHour, this.syncMin, this.syncSec] =
+        this.equipmentTime.split(":");
     },
-    // changeSwitch(str) {
-    //   if (str == "isNtp") {
-    //     this.isManual = !this[str];
-    //   } else {
-    //     this.isNtp = !this[str];
-    //   }
-    //   this.syncType = this.isNtp ? "1" : "2";
-    //   if (this.isManual) this.parseTime();
-    // },
   },
   computed: {
     activeUserRole() {
-      return this.activeAccountItem.sysRoles[0].name;
+      if (
+        this.activeAccountItem.sysRoles &&
+        this.activeAccountItem.sysRoles.length
+      ) {
+        return this.activeAccountItem.sysRoles[0].name;
+      }
+      return "鏅�氱敤鎴�";
     },
     curUserRole() {
       const info = JSON.parse(sessionStorage.getItem("userInfo"));
@@ -1516,6 +1504,10 @@
       return false;
     },
     isShowPermitBtn() {
+      // basic 鐢ㄦ埛涓嶅厑璁镐慨鏀规潈闄�
+      if (this.activeUserRole == "瓒呯骇绠$悊鍛�") {
+        return false;
+      }
       if (this.curUserRole == "绠$悊鍛�") {
         return this.activeUserRole == "鏅�氱敤鎴�";
       } else {
@@ -1532,6 +1524,27 @@
       }
     },
   },
+  watch: {
+    showWelcome(newVal) {
+      if (newVal) {
+        // 闅愯棌杩斿洖鎸夋寜閽�
+        window.parent.postMessage(
+          {
+            msg: "hiddenBack",
+          },
+          "*"
+        );
+      } else {
+        //鏄剧ず杩斿洖鎸夐挳
+        window.parent.postMessage(
+          {
+            msg: "showBack",
+          },
+          "*"
+        );
+      }
+    },
+  },
 };
 </script>
 <style lang="scss">
@@ -1544,7 +1557,7 @@
   background-color: rgba(255, 255, 255, 0.9);
   backdrop-filter: blur(4px);
   .border-change {
-    border-radius: 20px !important;
+    border-radius: 15px !important;
   }
   .search-box {
     width: 332px;
@@ -1552,12 +1565,15 @@
     position: fixed;
     left: calc(50% - 166px);
     top: 50px;
-    background: rgba(255, 255, 255, 0.8);
 
     border: 2px solid var(--colorCard);
     box-sizing: border-box;
     backdrop-filter: blur(4px);
     border-radius: 40px;
+
+    .search-res {
+      background-color: rgba(255, 255, 255, 0.5);
+    }
     .search-input {
       font-size: 14px;
       .el-input--mini .el-input__inner {
@@ -1585,6 +1601,31 @@
         transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
         width: 100%;
         font-weight: bold;
+
+        &::-webkit-input-placeholder {
+          /* WebKit browsers */
+          color: #828282;
+          font-weight: normal;
+          font-size: 14px;
+        }
+        &:-moz-placeholder {
+          /* Mozilla Firefox 4 to 18 */
+          color: #828282;
+          font-weight: normal;
+          font-size: 14px;
+        }
+        &::-moz-placeholder {
+          /* Mozilla Firefox 19+ */
+          color: #828282;
+          font-weight: normal;
+          font-size: 14px;
+        }
+        &:-ms-input-placeholder {
+          /* Internet Explorer 10+ */
+          color: #828282;
+          font-weight: normal;
+          font-size: 14px;
+        }
       }
       .el-input__suffix {
         display: flex;
@@ -1613,7 +1654,7 @@
         text-align: left;
         box-sizing: border-box;
         padding: 0 20px;
-        color: #333333;
+        color: #4f4f4f;
         font-size: 14px;
         cursor: pointer;
       }
@@ -1623,7 +1664,7 @@
         text-align: left;
         box-sizing: border-box;
         padding: 0 20px;
-        color: #333333;
+        color: #4f4f4f;
         font-size: 14px;
       }
       .res-bar:hover {
@@ -1634,6 +1675,8 @@
     }
   }
   .nav-items {
+    max-width: 960px;
+    margin: 0 auto;
     .nav-child {
       box-sizing: border-box;
       background-color: rgba(251, 251, 255, 0.1);
@@ -1648,6 +1691,15 @@
       justify-content: center;
       align-items: center;
       cursor: pointer;
+      border: 2px solid #f2f2f7;
+
+      &-active {
+        border: 2px solid #4e94ff;
+      }
+
+      &:hover {
+        background: #f2f2f7;
+      }
 
       .child-info {
         display: flex;
@@ -1659,18 +1711,17 @@
         img {
           width: 64px;
           margin: 0 auto;
-          margin-top: 65px;
+          margin-top: 61px;
           height: 50px;
         }
         .welcome-title {
           font-size: 16px;
           font-weight: bold;
           margin-top: 24px;
-          color: #333333;
+          color: #4f4f4f;
         }
       }
     }
-   
   }
 }
 .container {
@@ -1681,7 +1732,9 @@
   flex-basis: auto;
   box-sizing: border-box;
   background-color: #fff;
-  border-top: 1px solid #e1e0e6;
+  color: #4f4f4f;
+  border-top: 2px solid #e1e0e6;
+  overflow-x: hidden;
   .container-left {
     height: 100%;
     width: 244px;
@@ -1694,22 +1747,22 @@
       height: 56px;
       cursor: pointer;
       border-radius: 8px;
-      margin-bottom: 10px;
+      margin-bottom: 4px;
       display: flex;
       align-items: center;
       padding: 0 20px;
 
       .card-text {
         margin-left: 20px;
-        color: #333333;
+        color: #4f4f4f;
         font-weight: bold;
         font-size: 16px;
         line-height: 22px;
         height: 22px;
       }
       img {
-        height: 40px;
-        width: 40px;
+        height: 30px;
+        width: 30px;
       }
       .w {
         display: none;
@@ -1740,15 +1793,33 @@
     overflow: auto;
     flex-shrink: 0;
     padding: 10px;
-    border-right: 4px solid #f2f2f7;
+    padding-top: 6px;
+    padding-right: 5px;
+    border-top: 4px solid #f2f2f7;
+    border-left: 4px solid #f2f2f7;
     box-sizing: border-box;
     background-color: #fbfaff;
-    border-left: 4px solid #f2f2f7;
     .account-left {
       height: 100%;
       .account-list {
         height: calc(85%);
         overflow: auto;
+        padding-right: 5px;
+        &::-webkit-scrollbar-track,
+        &::-webkit-scrollbar-thumb {
+          visibility: hidden;
+        }
+        &::-webkit-scrollbar {
+          background-color: #fff;
+        }
+
+        &.account-list-scroll::-webkit-scrollbar-thumb,
+        &.account-list-scroll::-webkit-scrollbar-track {
+          visibility: visible;
+        }
+        &.account-list-scroll::-webkit-scrollbar {
+          background-color: #f5f5f5;
+        }
       }
       .add-account {
         color: var(--colorCard);
@@ -1785,7 +1856,7 @@
           height: 19.21px;
           background: #ffffff;
           border-radius: 20px;
-          color: #333333;
+          color: #4f4f4f;
           transform: scale(0.833333);
           line-height: 22.21px;
           span {
@@ -1813,6 +1884,8 @@
     position: relative;
     padding: 30px 40px;
     background: #f2f2f7;
+    border-left: 4px solid #f2f2f7;
+    border-top: 4px solid #f2f2f7;
     .account-right {
       height: 100%;
       .account-content {
@@ -1870,7 +1943,7 @@
             display: flex;
             flex-direction: column;
             align-items: center;
-            color: #333333;
+            color: #4f4f4f;
             min-width: 200px;
             .user-name {
               margin-bottom: 10px;
@@ -1970,13 +2043,13 @@
 
       .change-pw {
         padding: 40px 10px;
-        max-width: 600px;
+        // max-width: 600px;
         margin: 0 auto;
         .title {
           font-weight: bold;
           font-size: 16px;
           line-height: 22px;
-          color: #333333;
+          color: #4f4f4f;
           margin-bottom: 40px;
           height: 28px;
           display: flex;
@@ -1996,7 +2069,7 @@
           border-radius: 8px;
           padding: 0 15px 0 20px;
           .el-select-dropdown__item {
-            color: #333333;
+            color: #4f4f4f;
             height: 32px;
             font-size: 12px;
             line-height: 32px;
@@ -2024,12 +2097,12 @@
             border: 2px solid transparent;
             border-radius: 20px;
             height: 32px;
-          line-height: 32px;
+            line-height: 32px;
             padding: 0 15px;
             font-size: 14px;
             font-weight: bold;
           }
-          .el-input__inner:focus{
+          .el-input__inner:focus {
             border: 2px solid var(--colorCard);
           }
           .el-input__inner::placeholder {
@@ -2041,7 +2114,7 @@
             width: 100%;
           }
           .el-select .el-input .el-select__caret {
-            color: #333333;
+            color: #4f4f4f;
             font-size: 14px;
             font-weight: 600;
           }
@@ -2065,7 +2138,7 @@
           font-size: 15px;
         }
         .el-input__clear {
-          color: #333333;
+          color: #4f4f4f;
           font-size: 16px;
           line-height: 48px;
         }
@@ -2084,7 +2157,7 @@
           line-height: 48px;
           font-size: 16px;
           font-weight: 600;
-          color: #333333;
+          color: #4f4f4f;
           height: 48px;
           background: #fbfaff;
           border-bottom: 2px solid #f2f2f7;
@@ -2194,7 +2267,7 @@
           line-height: 22px;
         }
         .fill-group {
-          max-width: 450px;
+          //  max-width: 450px;
           margin-top: 10px;
 
           margin: 0 auto;
@@ -2206,7 +2279,7 @@
             border-radius: 8px;
             padding: 0 15px 0 20px;
             .el-select-dropdown__item {
-              color: #333333;
+              color: #4f4f4f;
               height: 32px;
               font-size: 12px;
               line-height: 32px;
@@ -2237,18 +2310,18 @@
           }
           .el-form-item {
             .el-input__inner {
-            background-color: #ffffff;
-            border: 2px solid transparent;
-            border-radius: 20px;
-            height: 32px;
-          line-height: 32px;
-            padding: 0 15px;
-            font-size: 14px;
-            font-weight: bold;
-          }
-          .el-input__inner:focus{
-            border: 2px solid var(--colorCard);
-          }
+              background-color: #ffffff;
+              border: 2px solid transparent;
+              border-radius: 20px;
+              height: 32px;
+              line-height: 32px;
+              padding: 0 15px;
+              font-size: 14px;
+              font-weight: bold;
+            }
+            .el-input__inner:focus {
+              border: 2px solid var(--colorCard);
+            }
             .el-input__inner::placeholder {
               color: #c0c4cc;
               font-size: 12px;
@@ -2258,7 +2331,7 @@
               width: 100%;
             }
             .el-select .el-input .el-select__caret {
-              color: #333333;
+              color: #4f4f4f;
               font-size: 14px;
               font-weight: 600;
             }
@@ -2269,7 +2342,7 @@
     .datetime-right {
       .datetime-left {
         .device-time {
-          color: #333333;
+          color: #4f4f4f;
           .title {
             display: flex;
             justify-content: center;
@@ -2555,43 +2628,38 @@
         border: 2px solid transparent;
       }
     }
-
   }
-      .btns {
-      margin: 0 auto;
-      margin-top: 40px;
-      width: fit-content;
-      display: flex;
-      .cancel {
-        width: 188px;
-        height: 40px;
-        cursor: pointer;
-        border-radius: 25px;
-        background-color: #e0e0e0;
-        line-height: 40px;
-        font-weight: bold;
-        font-size: 16px;
-        margin-right: 12px;
-      }
-      .ok {
-        width: 188px;
-        height: 40px;
-        cursor: pointer;
-        border-radius: 25px;
-        background-color: var(--colorCard);
-        color: #fff;
-        line-height: 40px;
-        font-weight: bold;
-        font-size: 16px;
-      }
+  .btns {
+    margin: 0 auto;
+    margin-top: 40px;
+    width: fit-content;
+    display: flex;
+    .cancel {
+      width: 188px;
+      height: 40px;
+      cursor: pointer;
+      border-radius: 25px;
+      background-color: #e0e0e0;
+      line-height: 40px;
+      font-weight: bold;
+      font-size: 16px;
+      margin-right: 12px;
     }
+    .ok {
+      width: 188px;
+      height: 40px;
+      cursor: pointer;
+      border-radius: 25px;
+      background-color: var(--colorCard);
+      color: #fff;
+      line-height: 40px;
+      font-weight: bold;
+      font-size: 16px;
+    }
+  }
   .container-right-for-account {
     background: #fbfaff;
     padding: 0;
   }
 }
-.del-account-message-box {
-}
 </style>
-
-

--
Gitblit v1.8.0