From 0b737708e696c45720499759b5c31aced87fdbb6 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@iotlink.com>
Date: 星期三, 07 七月 2021 14:10:03 +0800
Subject: [PATCH] merge master

---
 src/pages/systemSettings/views/keyboardLanguage.vue |  166 ++++++++++++++++++++++++++++++++----------------------
 1 files changed, 98 insertions(+), 68 deletions(-)

diff --git a/src/pages/systemSettings/views/keyboardLanguage.vue b/src/pages/systemSettings/views/keyboardLanguage.vue
index bbde4e1..e8ee1da 100644
--- a/src/pages/systemSettings/views/keyboardLanguage.vue
+++ b/src/pages/systemSettings/views/keyboardLanguage.vue
@@ -2,26 +2,30 @@
   <div class="all">
     <div class="cluster-content">
       <div class="cluster-center" ref="left">
-        <div class="menu-item" @click="openRight('lang')">
-          <div>绯荤粺璇█</div>
-        </div>
-        <div class="menu-item" @click="openRight('keyboard')">
-          <div>閿洏绠$悊</div>
+        <div
+          class="menu-item"
+          v-for="(item, i) in tabList"
+          :key="i"
+          @click="openRight(item, i)"
+          ref="leftbar"
+        >
+          <div>{{ item.name }}</div>
         </div>
       </div>
       <div class="cluster-right">
-        <div class="lang" v-if="activePage=='lang'">
+        <div class="lang" v-if="activePage == '绯荤粺璇█'">
           <div class="title">璇█鍒楄〃</div>
-          <div class="bar" v-for="(item, i) in langList" :key="i">
-            <span class="name">{{ item.name }}</span>
-            <span class="icon iconfont">&#xe646;</span>
+          <div class="bar" v-for="(item, i) in langList" :key="i" @click="pickLang(item, i)">
+            <span class="name">{{ item.Name }}</span>
+            <span class="icon iconfont" v-show="activeLang == item.Lang">宸查��</span>
           </div>
         </div>
-        <div class="lang" v-if="activePage=='keyboard'">
+        <div class="lang" v-if="activePage == '閿洏绠$悊'">
           <div class="title">閿洏甯冨眬</div>
-          <div class="bar" v-for="(item, i) in keyboardList" :key="i">
+          <div class="bar" v-for="(item, i) in keyboardList" :key="i" @click="pickKb(item, i)">
             <span class="name">{{ item.name }}</span>
-            <span class="icon iconfont">&#xe646;</span>
+            <span class="icon iconfont" v-show="activeKb == item.id">宸查��</span>
+            <!-- <span class="icon iconfont">&#xe646;</span> -->
           </div>
         </div>
       </div>
@@ -46,79 +50,105 @@
   addESNode,
   getEsClusterInfo,
 } from "@/api/clusterManage";
+
+import {
+  getLangs,
+  setLang,
+  getLang,
+  getKeyboardLayouts,
+  getCurKeyboardLayout,
+  setKeyboardLayout,
+} from "@/api/system";
 import { isIPv4 } from "@/scripts/validate";
 
 export default {
   data() {
-    const checkPwd = (rule, value, callback) => {
-      if (!value) {
-        return callback(new Error("瀵嗙爜涓嶈兘涓虹┖"));
-      }
-      setTimeout(() => {
-        if (value.length != 6) {
-          callback(new Error("瀵嗙爜搴斾负6浣�!"));
-        } else {
-          callback();
-        }
-      }, 1000);
-    };
     return {
-      isHighClass: false,
-
-      ruleForm: {
-        deviceName: "",
-        port: "",
-      },
-      wifiForm: {
-        name: "",
-        password: "",
-      },
-      wireArr: [{ name: "鏈夌嚎缃戠粶1" }, { name: "鏈夌嚎缃戠粶2" }],
+      activeLang: "",
+      activeKb: "",
       inWifiDetail: false,
-      wifiList: [{ name: "鏃犵嚎缃戠粶1" }, { name: "鏃犵嚎缃戠粶2" }],
-      isOpenWifi: false,
       inWireDetail: false,
-      wireForm: {},
-      langList: [
-        { name: "绠�浣撲腑鏂�" },
-        { name: "鑻辨枃" },
-        { name: "绻佷綋涓枃锛堥娓級" },
-      ],
-      keyboardList: [
-        { name: "Hanyu Pinyin(algtr)" },
-        { name: "ENG" },
-      ],
-
-      wireFormRules: {},
-      activePage: "lang",
+      langList: [],
+      keyboardList: [],
+      tabList: [{ name: "绯荤粺璇█" }, { name: "閿洏绠$悊" }],
+      activePage: "绯荤粺璇█",
       rules: {
         deviceName: [
           { required: true, message: "璇疯緭鍏ヨ澶囧悕绉�", trigger: "change" },
         ],
       },
-      ipv4Form: {},
-      ipv6Form: {},
-      ipv4FormRules: {},
-      ipv6FormRules: {},
-      options: [
-        {
-          value: "閫夐」1",
-          label: "鎵嬪姩",
-        },
-        {
-          value: "閫夐」2",
-          label: "鑷姩",
-        },
-      ],
       value: "",
     };
   },
-  mounted() { },
-  beforeDestroy() { },
+  mounted() {
+    this.fetchLangList();
+    this.getCurLang();
+    this.fetchKeyBoardList();
+    this.getCurKb();
+  },
   props: ["barName"],
   methods: {
-    openRight(typ) {
-      this.activePage = typ;
+    getCurKb() {
+      getCurKeyboardLayout().then((res) => {
+        this.activeKb = res.data.keyboard;
+      });
+    },
+
+    getCurLang() {
+      getLang().then((res) => {
+        if (res && res.success) {
+          this.activeLang = res.data.lang;
+        }
+      });
+    },
+    fetchLangList() {
+      getLangs().then((res) => {
+        if (res && res.success) {
+          this.langList = res.data;
+        }
+      });
+    },
+    fetchKeyBoardList() {
+      getKeyboardLayouts().then((res) => {
+        if (res && res.success) {
+          this.keyboardList = res.data.slice(0, 5);
+        }
+      });
+    },
+    pickLang(item) {
+      setLang({
+        lang: item.Lang,
+      }).then(
+        (res) => {
+          this.getCurLang();
+          this.$message.success(res.data);
+        },
+        (err) => {
+          this.$message.error(err.msg);
+        }
+      );
+    },
+    pickKb(item) {
+      setKeyboardLayout({
+        layout: item.id,
+      }).then(
+        (res) => {
+          this.getCurKb()
+          this.$message.success(res.data);
+        },
+        (err) => {
+          this.$message.error(err.msg);
+        }
+      );
+    },
+    openRight(item, i) {
+      this.activePage = item.name;
+      this.$refs["leftbar"].forEach((x) => {
+        x.style.backgroundColor = "rgba(248, 248, 248, 1)";
+        x.style.color = "#333";
+      });
+      this.$refs["leftbar"][i].style.backgroundColor = "rgb(61, 104, 225)";
+      this.$refs["leftbar"][i].style.color = "white";
     },
     wifiControl(val) { },
     checkWifi() {

--
Gitblit v1.8.0