From dff9fb32c1bac52d378a6d196f670b92610c01d3 Mon Sep 17 00:00:00 2001
From: ZZJ <zzjdsg2300@163.com>
Date: 星期四, 16 十二月 2021 17:21:49 +0800
Subject: [PATCH] 自适应2
---
src/pages/settings/views/NetSettings.vue | 141 +++++++++++++++++++++++++++++++++-------------
1 files changed, 100 insertions(+), 41 deletions(-)
diff --git a/src/pages/settings/views/NetSettings.vue b/src/pages/settings/views/NetSettings.vue
index 84a1f90..3080795 100644
--- a/src/pages/settings/views/NetSettings.vue
+++ b/src/pages/settings/views/NetSettings.vue
@@ -79,7 +79,7 @@
</div>
</div>
</div>
- <div class="wifi-detail" v-if="activePage == 1 && inWifiDetail">
+ <div class="wifi-detail" v-if="activePage == 1 && inWifiDetail" ref="ipvHolder">
<div class="title">鏃犵嚎缃戠粶</div>
<div class="btns">
<div class="cancel">鍒犻櫎</div>
@@ -91,7 +91,6 @@
<el-form
:model="wifiForm"
- :rules="wifiFormRules"
ref="wifiForm"
class="join-form"
>
@@ -119,12 +118,14 @@
<switchBar
:barName="`楂樼骇璁剧疆`"
- @switchChange="highClassSetting"
:value="isHighClass"
></switchBar>
- <div class="general-box" style="margin-bottom: 20px">
- <div class="in-title">IPV4</div>
+ <div class="general-box fold" :class="{'hidden':IPV4_hid}" >
+ <div class="in-title">IPV4
+ <span class="icon iconfont icon-fold"
+ @click="toggleFold('IPV4_hid')"></span>
+ </div>
<el-form :model="ipv4Form" :rules="ipv4FormRules" ref="ipv4Form">
<el-form-item>
@@ -178,10 +179,13 @@
</el-form>
</div>
- <div class="general-box" style="margin-bottom: 20px">
- <div class="in-title">IPV6</div>
+ <div class="general-box fold" :class="{'hidden':IPV6_hid}" ref="ipv6Holder">
+ <div class="in-title">IPV6
+ <span class="icon iconfont icon-fold"
+ @click="toggleFold('IPV6_hid')"></span>
+ </div>
- <el-form :model="ipv6Form" :rules="ipv6FormRules" ref="ipv4Form">
+ <el-form :model="ipv6Form" :rules="ipv6FormRules" ref="ipv6Form">
<el-form-item>
<div class="p-title">鏂规硶</div>
<el-select v-model="value" placeholder="璇烽�夋嫨" size="small" :popper-append-to-body="false">
@@ -204,18 +208,18 @@
<div class="p-title">鍓嶇紑</div>
<div style="display: flex; width: 100%">
<el-input
- v-model="wifiForm.password"
+ v-model="ipv6Form.prefix"
placeholder
size="small"
></el-input>
<div class="ad">
- <i class="el-icon-remove-outline"></i>
+ <i class="el-icon-remove-outline" @click="minusPrefix"></i>
</div>
<div class="ad">
- <i class="el-icon-circle-plus-outline"></i>
+ <i class="el-icon-circle-plus-outline" @click="+(ipv6Form.prefix)++"></i>
</div>
- <div class="ad"><i class="el-icon-refresh-left"></i></div>
+ <div class="ad"><i class="el-icon-refresh-left" @click="ipv6Form.prefix=''"></i></div>
</div>
</el-form-item>
@@ -326,6 +330,9 @@
<div class="ok" @click="saveWire">淇濆瓨</div>
</div>
</div>
+ <WifiGateway v-if="activePage == 3"></WifiGateway>
+ <LoraGateway v-if="activePage == 4"></LoraGateway>
+ <MqttGateway v-if="activePage == 5"></MqttGateway>
</div>
</div>
</div>
@@ -345,10 +352,17 @@
import ipInput from "../components/IPInput";
import switchBar from "../components/switchBar";
+import WifiGateway from '../components/WifiGateway'
+import LoraGateway from '../components/LoraGateway'
+import MqttGateway from '../components/MqttGateway'
+
export default {
components: {
ipInput,
switchBar,
+ WifiGateway,
+ LoraGateway,
+ MqttGateway
},
data() {
const checkPwd = (rule, value, callback) => {
@@ -402,6 +416,9 @@
{ name: "缃戠粶璁剧疆", icon: "\ue6dd" },
{ name: "鏃犵嚎缃戠粶", icon: "\uea13" },
{ name: "鏈夌嚎缃戠粶", icon: "\ue73b" },
+ { name: "WiFi缃戝叧", icon: "\ue73b" },
+ { name: "LORA缃戝叧", icon: "\ue73b" },
+ { name: "MQTT缃戝叧", icon: "\ue73b" },
],
ipv6FormRules: {},
options: [
@@ -415,17 +432,19 @@
},
],
value: "",
+ IPV4_hid: false,
+ IPV6_hid: false
};
- },
- components: {
- ipInput,
- switchBar,
},
mounted() {
this.getCurServer();
this.fetchWireList();
},
methods: {
+ minusPrefix(){
+ debugger
+ this.ipv6Form.prefix
+ },
switchNetCard(item) {
if (item.active) {
upNetCard({ ifname: item.name }).then(
@@ -490,10 +509,15 @@
});
},
openRight(i) {
- this.activePage = i;
+ if (i == 0) {
+ this.ruleForm.deviceName = "";
+ this.ruleForm.port = "";
+ this.getCurServer()
+ }
if (i == 1) {
this.inWifiDetail = false;
}
+ this.activePage = i;
},
saveWire(ifname) {
let data = {
@@ -550,6 +574,17 @@
this.openWireDetail(item);
});
},
+ toggleFold(tog) {
+ const demo = this.$refs.ipvHolder
+ if(!(this.IPV4_hid&&!this.IPV6_hid)){
+ setTimeout(() => {
+ demo.scrollIntoView({block: "end", inline: "nearest",behavior: 'smooth'})
+ }, 300);
+ }
+ this[tog] = !this[tog]
+
+
+ }
},
computed: {
showStatus() {
@@ -563,11 +598,11 @@
width: 100%;
}
.wire{
- width: 460px;
+ width: 456px;
margin: 0 auto;
}
.wire-detail {
- width: 460px;
+ width: 456px;
margin: 0 auto;
.title {
font-size: 16px;
@@ -605,7 +640,7 @@
}
}
.net-set {
- max-width: 600px;
+ max-width: 456px;
margin: 0 auto;
.title {
font-size: 16px;
@@ -638,10 +673,11 @@
box-sizing: border-box;
flex-shrink: 0;
padding: 10px;
+ padding-top: 6px;
border-right: 4px solid #f2f2f7;
border-left: 4px solid #f2f2f7;
+ border-top: 4px solid #f2f2f7;
.menu-item {
- background: #f2f2f7;
height: 56px;
margin-bottom: 4px;
border-radius: 8px;
@@ -652,6 +688,11 @@
padding: 0 20px;
display: flex;
justify-content: space-between;
+
+ &:hover {
+ background: #f2f2f7;
+ }
+
.item-left {
display: flex;
align-items: center;
@@ -666,7 +707,7 @@
}
}
.menu-item-active {
- background-color: var(--colorCard);
+ background-color: var(--colorCard) !important;
color: #ffffff;
}
}
@@ -677,14 +718,19 @@
box-sizing: border-box;
position: relative;
padding: 10px;
+ padding-top: 6px;
+ border-top: 4px solid #f2f2f7;
+ overflow-y: overlay;
+ overflow-x: hidden;
+
.title {
height: 48px;
font-size: 16px;
line-height: 48px;
- color: #333333;
+ color: #4F4F4F;
font-weight: bold; background: #F2F2F7;
border-radius: 8px;
- margin-bottom: 10px;
+ margin-bottom: 4px;
}
.el-form-item.is-required:not(.is-no-asterisk)
> .el-form-item__label:before,
@@ -697,7 +743,7 @@
width: 100%;
}
.el-form-item {
- margin-bottom: 16px;
+ margin-bottom: 4px;
}
.el-form-item__content {
line-height: 48px;
@@ -711,7 +757,7 @@
border: 2px solid #409eff !important;
}
.el-select-dropdown__item {
- color: #333333;
+ color: #4F4F4F;
height: 32px;
font-size: 12px;
line-height: 32px;
@@ -760,7 +806,7 @@
width: 100%;
}
.el-select .el-input .el-select__caret {
- color: #333333;
+ color: #4F4F4F;
font-size: 14px;
font-weight: 600;
}
@@ -769,7 +815,7 @@
max-width: none !important;
}
.wifi-set {
- max-width: 600px;
+ max-width: 456px;
margin: 0 auto;
.switch-bar {
background: #f2f2f7;
@@ -777,7 +823,7 @@
}
.switch-bar .name {
font-size: 14px;
- color: #333;
+ color: #4F4F4F;
font-weight: bold;
}
.wifi-option {
@@ -788,12 +834,12 @@
align-items: center;
box-sizing: border-box;
padding: 0 20px;
- margin-bottom: 10px;
+ margin-bottom: 4px;
background: #f2f2f7;
border-radius: 8px;
.name {
font-size: 14px;
- color: #333;
+ color: #4F4F4F;
font-weight: bold;
.icon {
color: #4e94ff;
@@ -822,17 +868,30 @@
.wifi-detail {
max-width: 454px;
margin: 0 auto;
- .title {
- background: #f2f2f7;
- border-radius: 8px;
- height: 48px;
- margin-bottom: 4px;
- }
+ transition: all 0.3s linear 0s;
.general-box {
+ overflow: hidden;
+ transition: all 0.3s linear 0s;
background: #f2f2f7;
border-radius: 8px;
padding-bottom: 10px;
-
+ margin-bottom: 20px;
+ &.fold {
+ height: 342px;
+ .icon-fold {
+ display: inline-block;
+ font-size: 14px;
+ margin-left: 360px;
+ transition: all 0.3s linear 0s;
+ cursor: pointer;
+ }
+ }
+ &.hidden {
+ height: 34px;
+ .icon-fold {
+ transform: rotate(180deg);
+ }
+ }
.el-form-item {
margin-bottom: 0px;
}
@@ -841,7 +900,7 @@
padding: 14px 20px;
font-weight: bold;
font-size: 14px;
- color: #333333;
+ color: #4F4F4F;
}
.ip-input-container {
max-width: none !important;
@@ -901,13 +960,13 @@
align-items: center;
box-sizing: border-box;
padding: 0 20px;
- margin-bottom: 10px;
+ margin-bottom: 4px;
border-radius: 8px;
.name {
font-size: 15px;
font-weight: bold;
font-size: 14px;
- color: #333333;
+ color: #4F4F4F;
}
.right {
display: flex;
--
Gitblit v1.8.0