From 9229eb2151660ba7e59879f3b9ac2b14d72a9530 Mon Sep 17 00:00:00 2001
From: heyujie <516346543@qq.com>
Date: 星期一, 28 六月 2021 18:49:01 +0800
Subject: [PATCH] 应用中心图标修改
---
src/pages/ai/index/App.vue | 6
src/api/system.ts | 18 +
src/pages/settings/components/BasicSetting.vue | 1
src/pages/systemSettings/views/keyboardLanguage.vue | 100 +++++++--
src/pages/systemSettings/views/generalSettings.vue | 254 +++++++++++++++++++------
src/pages/systemSettings/views/NetSettings.vue | 185 ++++++++++-------
6 files changed, 395 insertions(+), 169 deletions(-)
diff --git a/src/api/system.ts b/src/api/system.ts
index 42866e0..bf9b0c6 100644
--- a/src/api/system.ts
+++ b/src/api/system.ts
@@ -150,6 +150,16 @@
data: query
});
};
+
+
+export const setKeyboardLayout = (query: any) => {
+ return request({
+ url: "/data/api-v/sysset/setKeyboardLayout",
+ method: "post",
+ data: qs.stringify(query)
+ });
+};
+
export const setNetWorkCard = (query: any) => {
return request({
url: "/data/api-v/sysset/setNetWorkCard",
@@ -181,6 +191,14 @@
data: query
});
};
+export const getCurKeyboardLayout = (query: any) => {
+ return request({
+ url: "/data/api-v/sysset/getDefKeyboardLayout",
+ method: "get",
+ data: query
+ });
+};
+
export const setLang = (query: any) => {
return request({
url: "/data/api-v/sysset/setLang",
diff --git a/src/pages/ai/index/App.vue b/src/pages/ai/index/App.vue
index 29fccaf..e8463a3 100644
--- a/src/pages/ai/index/App.vue
+++ b/src/pages/ai/index/App.vue
@@ -134,11 +134,11 @@
</div>
<div class="alg-name">
<div style="padding: 0px 10px 0px 10px">
- <!-- <span class="list-choose-item-left-uninstal">
+ <span class="list-choose-item-left-uninstal">
{{
item.sdk_name
}}
- </span> -->
+ </span>
</div>
</div>
</div>
@@ -2545,7 +2545,7 @@
filter: grayscale(100%);
}
.alg-name {
- color: #ffffff;
+ color: grey;
}
}
}
diff --git a/src/pages/settings/components/BasicSetting.vue b/src/pages/settings/components/BasicSetting.vue
index 604374d..f36761c 100644
--- a/src/pages/settings/components/BasicSetting.vue
+++ b/src/pages/settings/components/BasicSetting.vue
@@ -71,7 +71,6 @@
</el-menu-item-group>
</el-submenu>
- <!-- 璇︾粏淇℃伅 -->
<el-submenu index="1">
<template slot="title">
<b class="tree-font">璇︾粏淇℃伅</b>
diff --git a/src/pages/systemSettings/views/NetSettings.vue b/src/pages/systemSettings/views/NetSettings.vue
index c82ce15..600cf6e 100644
--- a/src/pages/systemSettings/views/NetSettings.vue
+++ b/src/pages/systemSettings/views/NetSettings.vue
@@ -2,21 +2,19 @@
<div class="all">
<div class="cluster-content">
<div class="cluster-center" ref="left">
- <div class="menu-item" @click="openRight('net')">
- <div><span class="icon iconfont"></span>缃戠粶璁剧疆</div>
- <div class="status">宸茶繛鎺�</div>
- </div>
- <div class="menu-item" @click="openRight('wifi')">
- <div><span class="icon iconfont"></span>鏃犵嚎缃戠粶</div>
- <div class="status">宸茶繛鎺�</div>
- </div>
- <div class="menu-item" @click="openRight('wire')">
- <div><span class="icon iconfont"></span>鏈夌嚎缃戠粶</div>
+ <div
+ class="menu-item"
+ v-for="(item, i) in tabList"
+ :key="i"
+ @click="openRight(item, i)"
+ ref="leftbar"
+ >
+ <div><span class="icon iconfont"></span>{{ item.name }}</div>
<div class="status">宸茶繛鎺�</div>
</div>
</div>
<div class="cluster-right">
- <div class="net-set" v-if="activePage == 'net'">
+ <div class="net-set" v-if="activePage == '缃戠粶璁剧疆'">
<div class="title">缃戠粶璁剧疆</div>
<el-form
:model="ruleForm"
@@ -24,7 +22,6 @@
ref="joinForm"
class="join-form"
label-width="150px"
- v-loading="joinLoading"
>
<el-form-item label="璁惧鍚嶇О" prop="deviceName">
<el-input
@@ -41,11 +38,11 @@
size="small"
></el-input>
</el-form-item>
- <div class="save-btn" @click="saveServerName">淇濆瓨</div>
</el-form>
+ <div class="save-btn" @click="saveServerName">淇濆瓨</div>
</div>
- <div class="wifi" v-if="activePage == 'wifi' && !inWifiDetail">
+ <div class="wifi" v-if="activePage == '鏃犵嚎缃戠粶' && !inWifiDetail">
<switchBar
:barName="`鏃犵嚎缃戝崱`"
@switchChange="wifiControl"
@@ -60,16 +57,19 @@
<div class="more-detail">
<span class="icon iconfont"></span>
- <span
+ <span
class="icon iconfont"
- style="margin-left: 10px"
+ style="margin-left:10px;cursor:pointer;"
@click="checkWifi(item)"
></span
>
</div>
</div>
</div>
- <div class="wifi-detail" v-if="activePage == 'wifi' && inWifiDetail">
+ <div
+ class="wifi-detail"
+ v-if="activePage == '鏃犵嚎缃戠粶' && inWifiDetail"
+ >
<div class="btns">
<div class="left">鍒犻櫎</div>
<div class="right">鏂紑杩炴帴</div>
@@ -84,7 +84,6 @@
class="join-form"
label-width="150px"
>
- <!-- v-loading="joinLoading" -->
<el-form-item label="鍚嶇О" prop="name">
<div class="wifi-name">{{ 12123 }}</div>
</el-form-item>
@@ -105,23 +104,6 @@
:value="isHighClass"
></switchBar>
<div class="title">IPV4</div>
-
- <!-- <el-form
- :model="ipv4Form"
- :rules="ipv4FormRules"
- ref="ipv4Form"
- class="join-form"
- label-width="150px"
- >
- <el-form-item label="瀵嗙爜" prop="password">
- <el-input
- v-model="wifiForm.password"
- placeholder="璇疯緭鍏ュ瘑鐮�"
- size="small"
- show-password
- ></el-input>
- </el-form-item>
- </el-form> -->
<el-form
:model="ipv4Form"
@@ -233,14 +215,13 @@
</el-form>
<div class="btns">
- <div class="left">鍙栨秷</div>
+ <div class="left" @click="inWifiDetail = false">鍙栨秷</div>
<div class="right">淇濆瓨</div>
</div>
</div>
- <div class="wire" v-if="activePage == 'wire' && !inWireDetail">
+ <div class="wire" v-if="activePage == '鏈夌嚎缃戠粶' && !inWireDetail">
<div
-
class="wire-bar"
v-for="(item, i) in wireArr"
:key="i"
@@ -260,7 +241,10 @@
</div>
</div>
</div>
- <div class="wire-detail" v-if="activePage == 'wire' && inWireDetail">
+ <div
+ class="wire-detail"
+ v-if="activePage == '鏈夌嚎缃戠粶' && inWireDetail"
+ >
<div class="title">缃戠粶璁剧疆</div>
<el-form
:model="wireForm"
@@ -269,7 +253,7 @@
label-width="150px"
>
<el-form-item label="缃戠粶鍚嶇О" prop="name">
- <div class="wifi-name">{{"缃戠粶" + activeWireItem.index }}</div>
+ <div class="wifi-name">{{ "缃戠粶" + activeWireItem.index }}</div>
</el-form-item>
<el-form-item label="缃戝崱" prop="ifname">
<div class="wifi-name">{{ activeWireItem.name }}</div>
@@ -328,7 +312,13 @@
addESNode,
getEsClusterInfo,
} from "@/api/clusterManage";
-import { setServerName, getWireList, setNetWorkCard,getNetWorkCardInfo } from "@/api/system";
+import {
+ setServerName,
+ getWireList,
+ setNetWorkCard,
+ getNetWorkCardInfo,
+ getDevInfo,
+} from "@/api/system";
import cloudNode from "../components/CloudNode";
import ipInput from "@/components/subComponents/IPInput";
@@ -366,13 +356,13 @@
isOpenWifi: false,
inWireDetail: false,
wireForm: {
- dns:"",
- subMask:"",
- gateway:"",
- ip:"",
+ dns: "",
+ subMask: "",
+ gateway: "",
+ ip: "",
},
wireFormRules: {},
- activePage: "net",
+ activePage: "缃戠粶璁剧疆",
activeWireItem: {},
rules: {
deviceName: [
@@ -382,6 +372,11 @@
ipv4Form: {},
ipv6Form: {},
ipv4FormRules: {},
+ tabList: [
+ { name: "缃戠粶璁剧疆" },
+ { name: "鏃犵嚎缃戠粶" },
+ { name: "鏈夌嚎缃戠粶" },
+ ],
ipv6FormRules: {},
options: [
{
@@ -401,20 +396,32 @@
ipInput,
switchBar,
},
- mounted() {},
+ mounted() {
+ this.getCurServer();
+ this.fetchWireList();
+ },
beforeDestroy() {},
props: ["barName"],
methods: {
+ getCurServer() {
+ getDevInfo().then((res) => {
+ this.ruleForm.deviceName = res.data.server_name;
+ this.ruleForm.port = res.data.server_port;
+ });
+ },
fetchWireList() {
getWireList().then((res) => {
if (res && res.success) {
- console.log(res);
this.wireArr = res.data;
}
});
},
cancelSaveWire() {
this.inWireDetail = false;
+ this.wireForm.ip = '';
+ this.wireForm.gateway = '';
+ this.wireForm.dns = '';
+ this.wireForm.subMask = '';
},
saveServerName() {
setServerName({
@@ -427,28 +434,37 @@
}
});
},
- openRight(typ) {
- this.activePage = typ;
- if (typ == "wire") {
- this.fetchWireList();
+ openRight(item, i) {
+ this.activePage = item.name;
+ if (i == 1) {
+ this.inWifiDetail = false;
}
+ 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";
},
saveWire(ifname) {
- debugger
- let data ={
+ debugger;
+ let data = {
ip: this.wireForm.ip,
gateway: this.wireForm.gateway,
dns: this.wireForm.dns,
subMask: this.wireForm.subMask,
ifname: this.activeWireItem.name,
- }
- setNetWorkCard(data).then((res) => {
- if (res&&res.success) {
- this.$message.success(res.data)
+ };
+ setNetWorkCard(data).then(
+ (res) => {
+ if (res && res.success) {
+ this.$message.success(res.data);
+ }
+ },
+ (err) => {
+ this.$message.error("淇濆瓨澶辫触锛�" + err.msg);
}
- },(err) => {
- this.$message.error("淇濆瓨澶辫触锛�"+ err.msg)
- });
+ );
},
wifiControl(val) {},
checkWifi() {
@@ -458,16 +474,17 @@
this.inWireDetail = true;
this.activeWireItem = item;
getNetWorkCardInfo({
- ifname:item.name
+ ifname: item.name,
}).then((res) => {
- if (res&&res.success) {
- debugger
- this.wireForm.ip = res.data.ip
- this.wireForm.gateway = res.data.gateway
- this.wireForm.dns = res.data.dns
- this.wireForm.subMask = res.data.subMask
+ if (res && res.success) {
+ this.wireForm.ip = res.data.ip;
+ this.wireForm.gateway = res.data.gateway;
+ this.wireForm.dns = res.data.dns;
+ this.wireForm.subMask = res.data.subMask;
}
- })
+ },(err) => {
+ this.$message.error("鏌ユ壘涓嶅埌鏁版嵁: "+err.msg)
+ });
},
},
};
@@ -497,7 +514,21 @@
}
}
}
-
+.net-set {
+ .title {
+ font-size: 16px;
+ margin-bottom: 12px;
+ }
+ .el-input--small .el-input__inner {
+ height: 35px;
+ line-height: 35px;
+ background-color: rgba(240, 240, 240, 1);
+ border: none;
+ }
+ .el-input__inner::placeholder {
+ color: rgba(134, 134, 134, 1);
+ }
+}
.cluster-content {
height: 100%;
display: flex;
@@ -514,7 +545,6 @@
padding: 10px;
border-right: 5px solid #f8f8f8;
- // background-color: lavender;
.menu-item {
background-color: #f8f8f8;
height: 40px;
@@ -549,9 +579,9 @@
}
.el-form-item {
margin-bottom: 10px;
- height: 50px;
+ height: 54px;
+ padding: 6px 20px;
background: #f8f8f8;
- padding: 4px 20px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
border-radius: 10px;
@@ -563,7 +593,7 @@
.el-form-item__content {
line-height: 40px;
position: relative;
- font-size: 14px;
+ font-size: 15px;
}
.ip-input-container {
max-width: none !important;
@@ -620,12 +650,13 @@
.wire {
.wire-bar {
height: 50px;
- background-color: aliceblue;
+ background-color: #f8f8f8;
display: flex;
justify-content: space-between;
+ align-items: center;
box-sizing: border-box;
padding: 0 20px;
- align-items: center;
+ margin-bottom: 10px;
}
.wifi-name {
height: 40px;
@@ -644,7 +675,7 @@
color: #fff;
line-height: 40px;
font-size: 14px;
- margin-top: 20px;
+ margin-top: 30px;
}
}
}
diff --git a/src/pages/systemSettings/views/generalSettings.vue b/src/pages/systemSettings/views/generalSettings.vue
index b584c9d..f2c3a69 100644
--- a/src/pages/systemSettings/views/generalSettings.vue
+++ b/src/pages/systemSettings/views/generalSettings.vue
@@ -11,12 +11,51 @@
<div class="menu-item" @click="openRight('sound')">
<div>浜嬩欢澹伴煶</div>
</div>
+ <div class="menu-item" @click="openRight('personalise')">
+ <div>涓�у寲璁剧疆</div>
+ </div>
</div>
<div class="cluster-right">
<div class="lang" v-if="activePage == 'basic'">
- <div class="bar" v-for="(item, i) in basioInfoList" :key="i">
- <span class="name">{{ item.name }}</span>
- <span class="desc">{{ item.desc }}</span>
+ <div class="bar">
+ <span class="name">璁惧ID</span>
+ <span class="desc">{{ deviceInfo.server_id }}</span>
+ </div>
+ <div class="bar">
+ <span class="name">璁惧鍨嬪彿</span>
+ <span class="desc">{{ deviceInfo.deviceModel }}</span>
+ </div>
+ <div class="bar">
+ <span class="name">璁惧绫诲瀷</span>
+ <span class="desc">{{ deviceInfo.deviceDesc }}</span>
+ </div>
+ <div class="bar">
+ <span class="name">閫氶亾涓暟</span>
+ <span class="desc">{{ deviceInfo.channelCount }}</span>
+ </div>
+ <div class="bar">
+ <span class="name">涓绘帶鐗堟湰</span>
+ <span class="desc">{{ deviceInfo.masterVersion }}</span>
+ </div>
+ <div class="bar">
+ <span class="name">web鐗堟湰</span>
+ <span class="desc">{{ deviceInfo.webVersion }}</span>
+ </div>
+ <div class="bar">
+ <span class="name">纭洏淇℃伅</span>
+ <span class="desc">{{ deviceInfo.disks }}</span>
+ </div>
+ <div class="bar">
+ <span class="name">CPU</span>
+ <span class="desc">{{ deviceInfo.cpu }}</span>
+ </div>
+ <div class="bar">
+ <span class="name">鍐呭瓨</span>
+ <span class="desc">{{ deviceInfo.memory }}</span>
+ </div>
+ <div class="bar">
+ <span class="name">杩愯鏃堕棿</span>
+ <span class="desc">{{ deviceInfo.runningTime }}</span>
</div>
</div>
<div class="lang" v-if="activePage == 'video'">
@@ -39,7 +78,8 @@
:min="0"
:max="100"
size="mini"
- ></el-input-number> s
+ ></el-input-number
+ > s
</div>
</div>
<div class="min-dur">
@@ -61,7 +101,8 @@
:min="0"
:max="100"
size="mini"
- ></el-input-number> s
+ ></el-input-number
+ > s
</div>
</div>
@@ -82,7 +123,7 @@
</div>
<div class="btns">
<span class="icon iconfont"></span>
- <span class="icon iconfont"></span>
+ <span class="icon iconfont" @click="removeSound(item)"></span>
</div>
</div>
<div class="add-group">
@@ -102,7 +143,44 @@
</el-upload>
<div v-show="!showUpload"></div>
<div class="add-btn">
- <span class="icon iconfont" @click="showUpload = !showUpload"></span>
+ <span class="icon iconfont" @click="showUpload = !showUpload"
+ ></span
+ >
+ </div>
+ </div>
+ </div>
+
+ <div class="lang" v-if="activePage == 'personalise'">
+ <div class="title">鍥炬爣涓婚</div>
+
+ <div class="min-dur" style="cursor:pointer;" @click="selectIcons(0)">
+ <div class="title">鎵佸钩鍐欏疄鍥炬爣</div>
+ <div class="entity">
+ <div
+ class="entity-img"
+ v-for="(item, i) in realIconList"
+ :key="i"
+ ></div>
+ </div>
+ </div>
+ <div class="min-dur" style="cursor:pointer;" @click="selectIcons(1)">
+ <div class="title">鎵佸钩鍖栧浘鏍�</div>
+ <div class="entity">
+ <div
+ class="entity-img"
+ v-for="(item, i) in flatIconList"
+ :key="i"
+ ></div>
+ </div>
+ </div>
+ <div class="title">妗岄潰鑳屾櫙涓婚</div>
+ <div class="min-dur" style="padding-top:25px;">
+ <div class="bg-list">
+ <div
+ class="bg-img"
+ v-for="(item, i) in tableBGList"
+ :key="i"
+ ></div>
</div>
</div>
</div>
@@ -112,8 +190,9 @@
</template>
<script>
-import { saveAlarmConfig } from "@/api/system";
+import { saveAlarmConfig, getDevInfo } from "@/api/system";
import { uploadSound, getSoundList } from "@/api/event";
+import config from "../../../../package.json";
import { isIPv4 } from "@/scripts/validate";
@@ -121,92 +200,111 @@
data() {
return {
isHighClass: false,
-
- ruleForm: {
- deviceName: "",
- port: "",
- },
- wifiForm: {
- name: "",
- password: "",
- },
- wireArr: [{ name: "鏈夌嚎缃戠粶1" }, { name: "鏈夌嚎缃戠粶2" }],
inWifiDetail: false,
- wifiList: [{ name: "鏃犵嚎缃戠粶1" }, { name: "鏃犵嚎缃戠粶2" }],
- isOpenWifi: false,
inWireDetail: false,
- wireForm: {},
showUpload: false,
alarmConf: {
- min_video_len: 0,
- max_video_len: 0,
+ min_video_len: 10,
+ max_video_len: 15,
},
- basioInfoList: [
- { name: "绠�浣撲腑鏂�", desc: "fesF" },
- { name: "鑻辨枃", desc: "fesF" },
- { name: "绻佷綋涓枃锛堥娓級", desc: "fesF" },
- ],
- soundList: [{ name: "2.mp3" }, { name: "3.mp3" }],
-
- wireFormRules: {},
+ soundList: [],
activePage: "basic",
- rules: {
- deviceName: [
- { required: true, message: "璇疯緭鍏ヨ澶囧悕绉�", trigger: "change" },
- ],
+ deviceInfo: {
+ cpu: "",
+ runningTime: "",
+ server_id: "",
+ deviceModel: "",
+ deviceDesc: "",
+ masterVersion: "",
+ channelCount: "",
+ webVersion: "",
+ disks: "",
+ memory: "",
},
- ipv4Form: {},
- ipv6Form: {},
- ipv4FormRules: {},
- ipv6FormRules: {},
- options: [
- {
- value: "閫夐」1",
- label: "鎵嬪姩",
- },
- {
- value: "閫夐」2",
- label: "鑷姩",
- },
- ],
- value: "",
+ realIconList: [{}, {}, {}],
+ flatIconList: [{}, {}, {}],
+ tableBGList: [{}, {}, {}],
};
},
mounted() {
- this.getSounds()
+ this.getDeviceInfo();
+ this.getSounds();
},
- beforeDestroy() { },
+ beforeDestroy() {},
props: ["barName"],
methods: {
+ getDeviceInfo() {
+ getDevInfo().then((res) => {
+ let info = res.data.deviceInfo;
+ let basic = res.data;
+ this.deviceInfo.cpu = info.cpu[0].modelName;
+ this.deviceInfo.runningTime = this.secondsFormat(info.host.uptime);
+ this.deviceInfo.server_id = basic.server_id;
+ this.deviceInfo.deviceModel = basic.deviceModel;
+ this.deviceInfo.deviceDesc = basic.deviceDesc;
+ this.deviceInfo.masterVersion = basic.masterVersion;
+ this.deviceInfo.channelCount = basic.channelCount;
+ this.deviceInfo.webVersion = "V" + config.version;
+ this.deviceInfo.disks = "( " + info.disk + ") ";
+ this.deviceInfo.memory =
+ (info.mem.total / 1024 / 1024 / 1024).toFixed(2) + "GB";
+ this.alarmConf.min_video_len = basic.min_video_len
+ this.alarmConf.max_video_len = basic.max_video_len
+ });
+ },
+
getSounds() {
- getSoundList().then(res => {
- if (res.success) {
- this.soundList = res.data.list
- }
- }).catch(
- e => console.log(e)
- )
+ getSoundList()
+ .then((res) => {
+ if (res.success) {
+ this.soundList = res.data;
+ }
+ })
+ .catch((e) => console.log(e));
+ },
+ secondsFormat(s) {
+ var day = (s / (24 * 3600)) | 0;
+ var hour = ((s - day * 24 * 3600) / 3600) | 0;
+ var minute = ((s - day * 24 * 3600 - hour * 3600) / 60) | 0;
+ var second = s - day * 24 * 3600 - hour * 3600 - minute * 60;
+ return day + "澶� " + hour + "灏忔椂 " + minute + "鍒� " + second + "绉�";
},
uploadSound(params) {
let param = new FormData();
param.append("file", params.file);
uploadSound(param).then((res) => {
console.log(res.data);
+ this.getSounds();
});
},
openRight(typ) {
this.activePage = typ;
- if (typ == "sound") {
- this.getSounds()
- }
+ // if (typ == "sound") {
+ // this.getSounds();
+ // }
},
- wifiControl(val) { },
+ wifiControl(val) {},
checkWifi() {
this.inWifiDetail = true;
},
checkWire(item) {
this.inWireDetail = true;
+ },
+ selectIcons(typ){
+
+ },
+ removeSound(){
+ this.$confirm('鎮ㄦ槸鍚︾‘璁ゅ垹闄や簨浠跺0闊�', '鍒犻櫎浜嬩欢澹伴煶', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ this.$message({
+ type: 'success',
+ message: '鍒犻櫎鎴愬姛!'
+ });
+ })
},
clickSound(item, i) {
this.$refs["soundBar"].forEach((x) => {
@@ -371,7 +469,7 @@
box-sizing: border-box;
padding: 0 20px;
background-color: rgba(248, 248, 248, 1);
- height: 95px;
+ height: 105px;
margin-bottom: 20px;
border-radius: 15px;
.title {
@@ -383,6 +481,10 @@
padding: 0 6px;
font-size: 14px;
}
+ }
+
+ .min-dur:hover {
+ background-color: rgba(233, 233, 233, 1);
}
.entity {
@@ -449,5 +551,29 @@
margin-top: 20px;
}
}
+
+ .lang {
+ .min-dur {
+ .bg-list {
+ display: flex;
+ .bg-img {
+ background-color: aquamarine;
+ width: 100px;
+ height: 60px;
+ margin-right: 10px;
+ }
+ }
+ .entity {
+ display: flex;
+
+ .entity-img {
+ background-color: aquamarine;
+ width: 50px;
+ height: 50px;
+ margin-right: 10px;
+ }
+ }
+ }
+ }
}
</style>
diff --git a/src/pages/systemSettings/views/keyboardLanguage.vue b/src/pages/systemSettings/views/keyboardLanguage.vue
index 339ba0d..bdcdf56 100644
--- a/src/pages/systemSettings/views/keyboardLanguage.vue
+++ b/src/pages/systemSettings/views/keyboardLanguage.vue
@@ -2,27 +2,42 @@
<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" @click="pickLang(item, i)">
+ <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> -->
- <span class="icon iconfont" v-show="activeLang == item.Lang">宸查��</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"></span>
+ <span class="icon iconfont" v-show="activeKb == item.id">宸查��</span>
+ <!-- <span class="icon iconfont"></span> -->
</div>
</div>
</div>
@@ -48,18 +63,27 @@
getEsClusterInfo,
} from "@/api/clusterManage";
-import { getLangs, setLang, getLang, getKeyboardLayouts } from "@/api/system";
+import {
+ getLangs,
+ setLang,
+ getLang,
+ getKeyboardLayouts,
+ getCurKeyboardLayout,
+ setKeyboardLayout,
+} from "@/api/system";
import { isIPv4 } from "@/scripts/validate";
export default {
data() {
return {
activeLang: "",
+ activeKb: "",
inWifiDetail: false,
inWireDetail: false,
langList: [],
keyboardList: [],
- activePage: "lang",
+ tabList: [{ name: "绯荤粺璇█" }, { name: "閿洏绠$悊" }],
+ activePage: "绯荤粺璇█",
rules: {
deviceName: [
{ required: true, message: "璇疯緭鍏ヨ澶囧悕绉�", trigger: "change" },
@@ -71,9 +95,17 @@
mounted() {
this.fetchLangList();
this.getCurLang();
+ this.fetchKeyBoardList();
+ this.getCurKb();
},
props: ["barName"],
methods: {
+ getCurKb() {
+ getCurKeyboardLayout().then((res) => {
+ this.activeKb = res.data.keyboard;
+ });
+ },
+
getCurLang() {
getLang().then((res) => {
if (res && res.success) {
@@ -88,11 +120,19 @@
}
});
},
+ 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) => {
@@ -100,17 +140,29 @@
}
);
},
- openRight(typ) {
- this.activePage = typ;
- if (typ == "keyboard") {
- getKeyboardLayouts().then((res) => {
- if (res && res.success) {
- this.keyboardList = res.data.slice(0, 5);
- }
- });
- }
+ pickKb(item) {
+ setKeyboardLayout({
+ layout: item.id,
+ }).then(
+ (res) => {
+ this.getCurKb()
+ this.$message.success(res.data);
+ },
+ (err) => {
+ this.$message.error(err.msg);
+ }
+ );
},
- wifiControl(val) { },
+ 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() {
this.inWifiDetail = true;
},
--
Gitblit v1.8.0